@charset "UTF-8";
/*!
Theme Name: Go+_XYZ
Theme URI: https://dev.xyz-ks.com/dgroup/goplus/theme
Author: XYZ
Author URI: https://xyz-ks.com
Description: Custom WP Theme made for Devolli Group
Version: 1.5.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: goplus-xyz
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

Custom WordPress theme for Go+ (Devolli Group), developed by XYZ Agency - https://xyz-ks.com/. The theme embraces a modular architecture, rich editorial tooling, and performance-minded front-end experiences tailored for Go+'s digital presence.

Go+_XYZ is based on Underscores https://underscores.me/, (C) 2012-2020 Automattic, Inc.
Underscores is distributed under the terms of the GNU GPL v2 or later.
*/
/*--------------------------------------------------------------
>>> TABLE OF CONTENTS:
----------------------------------------------------------------
# Generic
	- Normalize
	- Box sizing
# Base
	- Typography
	- Elements
	- Links
	- Forms
## Layouts
# Components
	- Navigation
	- Posts and pages
	- Comments
	- Widgets
	- Media
	- Captions
	- Galleries
# plugins
	- Jetpack infinite scroll
# Utilities
	- Accessibility
	- Alignments

--------------------------------------------------------------*/
/**
 * Enhanced Heading Outline Mixin
 *
 * Creates text with an outlined effect using text-shadow for better browser compatibility
 *
 * @version 2.0.0
 * @changes Enhanced mixin with multiple outline styles, opacity control, responsive support,
 *          and fill color options. Improved from basic implementation to full-featured solution.
 *
 * @param {Color} $color - The outline color (default: $black)
 * @param {Number} $width - The outline width in pixels (default: 2px)
 * @param {Number} $opacity - The outline opacity from 0-1 (default: 0.5)
 * @param {Color} $fill-color - The text fill color (default: #fff, use 'transparent' for hollow text)
 * @param {String} $style - The outline style: 'shadow' (default), 'stroke', or 'hybrid'
 * @param {Number} $mobile-width - Optional outline width for mobile (default: null, uses $width)
 *
 * @example Basic usage
 *   .heading { @include heading-outline(); }
 *
 * @example Custom color and width
 *   .heading { @include heading-outline($brand-red, 3px); }
 *
 * @example Transparent fill (hollow text)
 *   .heading { @include heading-outline($black, 2px, 0.3, transparent); }
 *
 * @example Responsive outline
 *   .heading { @include heading-outline($black, 3px, 0.5, #fff, 'shadow', 1.5px); }
 */
@import '../../node_modules/basiclightbox/dist/basicLightbox.min.css';
@keyframes fadeIn {
	to {
		opacity: 1;
	}
}
@keyframes slideUp {
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/**
 * GO+ Brand Color Palette
 *
 * Based on GO+ energy drink products:
 * - GO+ Black (Primary)
 * - GO+ Red (Secondary)
 * - GO+ Blue (Tertiary)
 * - GO+ Green (Limited Edition Accent)
 */
.container {
	max-width: 90vw;
	margin: 0 auto;
	padding: 2rem 2.5rem;
	width: 100%;
}
@media (max-width: 968px) {
	.container {
		padding: 2rem 1rem;
	}
}

.container-fluid {
	width: 100%;
	margin: 0 auto;
}

section {
	min-height: 100vh;
	height: 100%;
}
section:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 50%;
	height: 2px;
	background: linear-gradient(90deg, #FFFFFF 0%, rgba(230, 40, 26, 0.25) 50%, #FFFFFF 100%);
	pointer-events: none;
}
section:last-child:after {
	display: none;
}

/*--------------------------------------------------------------
# Breakpoints Mixin System
--------------------------------------------------------------*/
:root {
	--accent-color: #f4f4f4;
	--text-color: #333;
	--bg-color: #fafafa;
	--card-bg: #ffffff;
	--shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
	--shadow-hover: 0 20px 60px rgba(0, 0, 0, 0.15);
}

/*--------------------------------------------------------------
# Generic
--------------------------------------------------------------*/
/* Normalize
--------------------------------------------- */
/*! normalize.css v8.0.1 | MIT License | github.com/necolas/normalize.css */
/* Document
	 ========================================================================== */
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */
html {
	line-height: 1.15;
	-webkit-text-size-adjust: 100%;
}

/* Sections
	 ========================================================================== */
/**
 * Remove the margin in all browsers.
 */
body {
	margin: 0;
	padding: 0;
}

/**
 * Render the `main` element consistently in IE.
 */
main {
	display: block;
}

/**
 * Correct the font size and margin on `h1` elements within `section` and
 * `article` contexts in Chrome, Firefox, and Safari.
 */
h1 {
	font-size: 2em;
	margin: 0.67em 0;
}

/* Grouping content
	 ========================================================================== */
/**
 * 1. Add the correct box sizing in Firefox.
 * 2. Show the overflow in Edge and IE.
 */
hr {
	box-sizing: content-box;
	height: 0;
	overflow: visible;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
pre {
	font-family: monospace, monospace;
	font-size: 1em;
}

/* Text-level semantics
	 ========================================================================== */
/**
 * Remove the gray background on active links in IE 10.
 */
a {
	background-color: transparent;
}

/**
 * 1. Remove the bottom border in Chrome 57-
 * 2. Add the correct text decoration in Chrome, Edge, IE, Opera, and Safari.
 */
abbr[title] {
	border-bottom: none;
	text-decoration: underline;
	-webkit-text-decoration: underline dotted;
	text-decoration: underline dotted;
}

/**
 * Add the correct font weight in Chrome, Edge, and Safari.
 */
b,
strong {
	font-weight: bolder;
}

/**
 * 1. Correct the inheritance and scaling of font size in all browsers.
 * 2. Correct the odd `em` font sizing in all browsers.
 */
code,
kbd,
samp {
	font-family: monospace, monospace;
	font-size: 1em;
}

/**
 * Add the correct font size in all browsers.
 */
small {
	font-size: 80%;
}

/**
 * Prevent `sub` and `sup` elements from affecting the line height in
 * all browsers.
 */
sub,
sup {
	font-size: 75%;
	line-height: 0;
	position: relative;
	vertical-align: baseline;
}

sub {
	bottom: -0.25em;
}

sup {
	top: -0.5em;
}

/* Embedded content
	 ========================================================================== */
/**
 * Remove the border on images inside links in IE 10.
 */
img {
	border-style: none;
}

/* Forms
	 ========================================================================== */
/**
 * 1. Change the font styles in all browsers.
 * 2. Remove the margin in Firefox and Safari.
 */
button,
input,
optgroup,
select,
textarea {
	font-family: inherit;
	font-size: 100%;
	line-height: 1.15;
	margin: 0;
}

/**
 * Show the overflow in IE.
 * 1. Show the overflow in Edge.
 */
button,
input {
	overflow: visible;
}

/**
 * Remove the inheritance of text transform in Edge, Firefox, and IE.
 * 1. Remove the inheritance of text transform in Firefox.
 */
button,
select {
	text-transform: none;
}

/**
 * Correct the inability to style clickable types in iOS and Safari.
 */
button,
[type=button],
[type=reset],
[type=submit] {
	-webkit-appearance: button;
}

/**
 * Remove the inner border and padding in Firefox.
 */
button::-moz-focus-inner,
[type=button]::-moz-focus-inner,
[type=reset]::-moz-focus-inner,
[type=submit]::-moz-focus-inner {
	border-style: none;
	padding: 0;
}

/**
 * Restore the focus styles unset by the previous rule.
 */
button:-moz-focusring,
[type=button]:-moz-focusring,
[type=reset]:-moz-focusring,
[type=submit]:-moz-focusring {
	outline: 1px dotted ButtonText;
}

/**
 * Correct the padding in Firefox.
 */
fieldset {
	padding: 0.35em 0.75em 0.625em;
}

/**
 * 1. Correct the text wrapping in Edge and IE.
 * 2. Correct the color inheritance from `fieldset` elements in IE.
 * 3. Remove the padding so developers are not caught out when they zero out
 *		`fieldset` elements in all browsers.
 */
legend {
	box-sizing: border-box;
	color: inherit;
	display: table;
	max-width: 100%;
	padding: 0;
	white-space: normal;
}

/**
 * Add the correct vertical alignment in Chrome, Firefox, and Opera.
 */
progress {
	vertical-align: baseline;
}

/**
 * Remove the default vertical scrollbar in IE 10+.
 */
textarea {
	overflow: auto;
}

/**
 * 1. Add the correct box sizing in IE 10.
 * 2. Remove the padding in IE 10.
 */
[type=checkbox],
[type=radio] {
	box-sizing: border-box;
	padding: 0;
}

/**
 * Correct the cursor style of increment and decrement buttons in Chrome.
 */
[type=number]::-webkit-inner-spin-button,
[type=number]::-webkit-outer-spin-button {
	height: auto;
}

/**
 * 1. Correct the odd appearance in Chrome and Safari.
 * 2. Correct the outline style in Safari.
 */
[type=search] {
	-webkit-appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type=search]::-webkit-search-decoration {
	-webkit-appearance: none;
}

/**
 * 1. Correct the inability to style clickable types in iOS and Safari.
 * 2. Change font properties to `inherit` in Safari.
 */
::-webkit-file-upload-button {
	-webkit-appearance: button;
	font: inherit;
}

/* Interactive
	 ========================================================================== */
/*
 * Add the correct display in Edge, IE 10+, and Firefox.
 */
details {
	display: block;
}

/*
 * Add the correct display in all browsers.
 */
summary {
	display: list-item;
}

/* Misc
	 ========================================================================== */
/**
 * Add the correct display in IE 10+.
 */
template {
	display: none;
}

/**
 * Add the correct display in IE 10.
 */
[hidden] {
	display: none;
}

/* Box sizing
--------------------------------------------- */
/* Inherit box-sizing to more easily change it's value on a component level.
@link http://css-tricks.com/inheriting-box-sizing-probably-slightly-better-best-practice/ */
*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/
/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #1b1b1b;
	font-family: "museosans300", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
	text-decoration: none;
}

h1 {
	font-size: clamp(3rem, 6vw, 4.5rem);
	font-family: "museosans700", sans-serif;
}

h2 {
	font-size: clamp(2rem, 5vw, 4rem);
	font-family: "museosansrounded900", sans-serif;
}

h3 {
	font-size: clamp(1.75rem, 4vw, 2.5rem);
	font-family: "museosansrounded900", sans-serif;
}

h4 {
	font-size: clamp(1.5rem, 3vw, 2rem);
	font-family: "museosansrounded300", sans-serif;
}

h5 {
	font-size: clamp(1.125rem, 2.5vw, 1.75rem);
	font-family: "museosansrounded300", sans-serif;
}

h6 {
	font-size: clamp(1rem, 2vw, 1.5rem);
	font-family: "museosansrounded300", sans-serif;
}

p {
	margin-bottom: 0;
}
p:last-child {
	margin-bottom: 0;
}

.brand-goplus {
	font-weight: 900;
	color: #E6281A;
	font-family: "museosansrounded900", sans-serif;
}

/* Elements
--------------------------------------------- */
body {
	background: #ffffff;
}

hr {
	background-color: #cbd5e0;
	border: 0;
	height: 1px;
	margin-bottom: 1.5em;
}

ul,
ol {
	margin: 0 0 1.5em 3em;
}

ul {
	list-style: disc;
}

ol {
	list-style: decimal;
}

li > ul,
li > ol {
	margin-bottom: 0;
	margin-left: 1.5em;
}

dt {
	font-weight: 700;
}

dd {
	margin: 0 1.5em 1.5em;
}

/* Make sure embeds and iframes fit their containers. */
embed,
iframe,
object {
	max-width: 100%;
}

img {
	height: auto;
	max-width: 100%;
}

figure {
	margin: 1em 0;
}

table {
	margin: 0 0 1.5em;
	width: 100%;
}

/* Links
--------------------------------------------- */
a {
	color: #E6281A;
	text-decoration: none;
}
a:hover, a:focus, a:active {
	color: #E6281A;
}
a:focus {
	outline: 0;
}
a:hover, a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type=button],
input[type=reset],
input[type=submit] {
	border: 1px solid;
	border-color: #cbd5e0 #cbd5e0 #a0aec0;
	border-radius: 3px;
	background: #E6281A;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1;
	padding: 0.6em 1em 0.4em;
}
button:hover,
input[type=button]:hover,
input[type=reset]:hover,
input[type=submit]:hover {
	border-color: #e2e8f0 #e2e8f0 #cbd5e0;
}
button:active, button:focus,
input[type=button]:active,
input[type=button]:focus,
input[type=reset]:active,
input[type=reset]:focus,
input[type=submit]:active,
input[type=submit]:focus {
	border-color: #2b77e7 #2b77e7 #2b77e7;
}

input[type=text],
input[type=email],
input[type=url],
input[type=password],
input[type=search],
input[type=number],
input[type=tel],
input[type=range],
input[type=date],
input[type=month],
input[type=week],
input[type=time],
input[type=datetime],
input[type=datetime-local],
input[type=color],
textarea {
	color: #4a5568;
	border: 1px solid #e2e8f0;
	border-radius: 3px;
	padding: 3px;
}
input[type=text]:focus,
input[type=email]:focus,
input[type=url]:focus,
input[type=password]:focus,
input[type=search]:focus,
input[type=number]:focus,
input[type=tel]:focus,
input[type=range]:focus,
input[type=date]:focus,
input[type=month]:focus,
input[type=week]:focus,
input[type=time]:focus,
input[type=datetime]:focus,
input[type=datetime-local]:focus,
input[type=color]:focus,
textarea:focus {
	color: #2b77e7;
}

select {
	border: 1px solid #e2e8f0;
}

textarea {
	width: 100%;
}

/*--------------------------------------------------------------
# Layouts
--------------------------------------------------------------*/
/*--------------------------------------------------------------
# Components
--------------------------------------------------------------*/
/* Navigation
--------------------------------------------- */
.main-navigation {
	display: block;
	width: 100%;
}
.main-navigation ul {
	display: none;
	list-style: none;
	margin: 0;
	padding-left: 0;
}
.main-navigation ul ul {
	box-shadow: 0 3px 3px rgba(0, 0, 0, 0.2);
	float: left;
	position: absolute;
	top: 100%;
	left: -999em;
	z-index: 99999;
}
.main-navigation ul ul ul {
	left: -999em;
	top: 0;
}
.main-navigation ul ul li:hover > ul, .main-navigation ul ul li.focus > ul {
	display: block;
	left: auto;
}
.main-navigation ul ul a {
	width: 200px;
}
.main-navigation ul li:hover > ul,
.main-navigation ul li.focus > ul {
	left: auto;
}
.main-navigation li {
	position: relative;
}
.main-navigation a {
	display: block;
	text-decoration: none;
}
/* Small menu. */
.menu-toggle,
.main-navigation.toggled ul {
	display: block;
}

@media screen and (min-width: 37.5em) {
	.menu-toggle {
		display: none;
	}
	.main-navigation ul {
		display: flex;
	}
}
.site-main .comment-navigation,
.site-main .posts-navigation,
.site-main .post-navigation {
	margin: 0 0 1.5em;
}
.comment-navigation .nav-links,
.posts-navigation .nav-links,
.post-navigation .nav-links {
	display: flex;
}
.comment-navigation .nav-previous,
.posts-navigation .nav-previous,
.post-navigation .nav-previous {
	flex: 1 0 50%;
}
.comment-navigation .nav-next,
.posts-navigation .nav-next,
.post-navigation .nav-next {
	text-align: end;
	flex: 1 0 50%;
}

/* Modern Header
--------------------------------------------- */
/**
 * Modern Header Styles
 *
 * Styles for the modern sticky header with mobile menu
 * based on the design inspiration from the provided images.
 *
 * @package Go+_XYZ
 * @version 1.5.0
 *
 * Changelog:
 * v1.5.0 - 2025-10-31
 * - Enhanced hamburger menu visibility (larger size, thicker lines)
 * - Increased hamburger toggle size from 30px to 40px
 * - Increased line thickness from 2px to 3px and width from 25px to 28px
 * - Added white color to hamburger lines when menu is active
 * - Added explicit display: block to hamburger lines
 *
 * v1.4.0 - 2025-10-31
 * - CRITICAL FIX: Increased mobile menu overlay z-index from 999 to 9999
 * - Fixed mobile toggle and logo z-index to 10000 (above overlay)
 * - Added flex display to mobile menu overlay for better centering
 * - Mobile menu now properly appears above all content
 *
 * v1.3.0 - 2025-10-31
 * - Fixed mobile menu overlay visibility and pointer events
 * - Improved mobile menu content width and overflow handling
 * - Enhanced mobile navigation width constraints
 * - Added proper gap spacing for mobile menu items
 *
 * v1.2.0 - 2025-10-30
 * - Changed dropdown indicators from CSS pseudo-elements to inline HTML
 * - Added inline + indicator next to menu items with submenus
 * - Styled dropdown indicator with brand red color and bold weight
 *
 * v1.1.0 - 2025-10-27
 * - Fixed submenu styling for level 2+ navigation
 * - Improved submenu positioning and visibility
 * - Enhanced hover states and transitions
 * - Added proper z-index layering for nested menus
 * - Fixed submenu list styling (bullets, spacing)
 */
.site-header-modern {
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	z-index: 1000;
	background: rgba(255, 255, 255, 0.05);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	transition: all 0.3s ease;
	border-bottom: 1px solid rgba(0, 0, 0, 0.1);
}
.site-header-modern.scrolled {
	background: rgba(255, 255, 255, 0.05);
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
}
.site-header-modern .header-container {
	display: flex;
	align-items: center;
	justify-content: space-between;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
	height: 80px;
	position: relative;
}
.site-header-modern .header-logo {
	display: flex;
	align-items: center;
	z-index: 10000;
}
.site-header-modern .header-logo .custom-logo-link {
	display: block;
	line-height: 1;
}
.site-header-modern .header-logo .custom-logo-link img {
	max-height: 40px;
	width: auto;
	transition: transform 0.3s ease;
}
.site-header-modern .header-logo .custom-logo-link:hover img {
	transform: scale(1.05);
}
.site-header-modern .header-logo .logo-text {
	font-size: 1.8rem;
	font-weight: 700;
	color: #000;
	text-decoration: none;
	letter-spacing: -0.02em;
}
.site-header-modern .main-navigation-desktop {
	display: none;
}
@media (min-width: 768px) {
	.site-header-modern .main-navigation-desktop {
		display: block;
	}
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop {
	display: flex;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 2rem;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li {
	position: relative;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li a {
	display: block;
	padding: 0.5rem 0;
	color: #000;
	text-decoration: none;
	font-weight: 500;
	font-size: 0.95rem;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	transition: color 0.3s ease;
	position: relative;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li a::after {
	content: "";
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 2px;
	background: #E6281A;
	transition: width 0.3s ease;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li a:hover {
	color: rgb(184.8228346457, 31.4763779528, 20.1771653543);
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li a:hover::after {
	width: 100%;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .dropdown-indicator {
	color: #E6281A;
	font-weight: 700;
	margin-left: 0.25rem;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu {
	position: absolute;
	top: 100%;
	left: 0;
	background: #fff;
	box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
	border-radius: 8px;
	border: 1px solid rgba(0, 0, 0, 0.08);
	padding: 0.5rem 0;
	min-width: 220px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-10px);
	transition: all 0.3s ease;
	z-index: 1000;
	list-style: none;
	margin: 0;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li {
	position: relative;
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li a {
	padding: 0.75rem 1.5rem;
	color: #333;
	text-transform: none;
	font-size: 0.9rem;
	font-weight: 500;
	display: block;
	transition: all 0.3s ease;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li a::after {
	display: none !important;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li a:hover {
	background: rgba(230, 40, 26, 0.1);
	color: #E6281A;
	padding-left: 2rem;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li.menu-item-has-children .dropdown-indicator {
	position: absolute;
	right: 1rem;
	margin-left: 0;
	font-size: 0.7rem;
	font-size: 0;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li.menu-item-has-children .dropdown-indicator::before {
	content: "▶";
	font-size: 0.7rem;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li .sub-menu {
	left: 100%;
	top: -0.5rem;
	margin-left: 0;
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li:hover > .sub-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.site-header-modern .main-navigation-desktop .nav-menu-desktop li:hover > .sub-menu,
.site-header-modern .main-navigation-desktop .nav-menu-desktop li .sub-menu:hover {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}
.site-header-modern .mobile-menu-toggle {
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: center;
	width: 40px;
	height: 40px;
	background: none;
	border: none;
	cursor: pointer;
	z-index: 10000;
	transition: transform 0.3s ease;
	position: relative;
	padding: 5px;
}
@media (min-width: 768px) {
	.site-header-modern .mobile-menu-toggle {
		display: none;
	}
}
.site-header-modern .mobile-menu-toggle:hover {
	transform: scale(1.1);
}
.site-header-modern .mobile-menu-toggle .hamburger-line {
	width: 28px;
	height: 3px;
	background: #000;
	margin: 4px 0;
	transition: all 0.3s ease;
	border-radius: 2px;
	display: block;
}
.site-header-modern .mobile-menu-toggle.active .hamburger-line {
	background: #fff;
}
.site-header-modern .mobile-menu-toggle.active .hamburger-line:nth-child(1) {
	transform: rotate(45deg) translate(7px, 7px);
}
.site-header-modern .mobile-menu-toggle.active .hamburger-line:nth-child(2) {
	opacity: 0;
}
.site-header-modern .mobile-menu-toggle.active .hamburger-line:nth-child(3) {
	transform: rotate(-45deg) translate(7px, -7px);
}
.site-header-modern .mobile-menu-overlay {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	height: 100vh;
	background: rgba(0, 0, 0, 0.98);
	z-index: 9999;
	opacity: 0;
	visibility: hidden;
	transition: all 0.3s ease;
	pointer-events: none;
	display: flex;
	align-items: center;
	justify-content: center;
}
.site-header-modern .mobile-menu-overlay.active {
	opacity: 1;
	visibility: visible;
	pointer-events: all;
}
.site-header-modern .mobile-menu-overlay .mobile-menu-content {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	height: 100%;
	width: 100%;
	padding: 2rem;
	position: relative;
	overflow-y: auto;
}
.site-header-modern .mobile-menu-overlay .mobile-menu-close {
	position: absolute;
	top: 2rem;
	right: 2rem;
	background: none;
	border: none;
	color: #fff;
	font-size: 2rem;
	cursor: pointer;
	transition: transform 0.3s ease;
}
.site-header-modern .mobile-menu-overlay .mobile-menu-close:hover {
	transform: rotate(90deg);
}
.site-header-modern .mobile-menu-overlay .mobile-menu-close .close-icon {
	line-height: 1;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation {
	width: 100%;
	max-width: 500px;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile {
	display: flex;
	flex-direction: column;
	align-items: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 0.5rem;
	width: 100%;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li {
	position: relative;
	width: 100%;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li > a {
	color: #fff;
	text-decoration: none;
	font-size: 1.2rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	padding: 1rem;
	display: block;
	transition: color 0.3s ease;
	text-align: center;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li > a:hover {
	color: #E6281A;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu {
	display: none;
	position: static;
	background: rgba(255, 255, 255, 0.1);
	border-radius: 8px;
	padding: 0.5rem 0;
	margin-top: 0.5rem;
	box-shadow: none;
	opacity: 1;
	visibility: visible;
	transform: none;
	list-style: none;
	width: 100%;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li {
	margin: 0;
	padding: 0;
	list-style: none;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li a {
	font-size: 1rem;
	text-transform: none;
	letter-spacing: 0.05em;
	padding: 0.75rem 1.5rem;
	text-align: center;
	color: #E6281A;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li a:hover {
	color: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	background: rgba(255, 255, 255, 0.05);
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li .sub-menu {
	background: rgba(255, 255, 255, 0.08);
	padding: 0.5rem 0;
	margin-top: 0.25rem;
	margin-bottom: 0.25rem;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li .sub-menu a {
	font-size: 0.9rem;
	padding: 0.5rem 2rem;
	color: rgba(255, 255, 255, 0.8);
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li.menu-item-has-children .dropdown-indicator {
	color: #E6281A;
	font-weight: 700;
	margin-left: 0.5rem;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li.menu-item-has-children.active .dropdown-indicator::before {
	content: "−";
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li.menu-item-has-children.active .dropdown-indicator {
	display: none;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li.menu-item-has-children.active::after {
	content: " −";
	color: #E6281A;
	font-weight: 700;
	margin-left: 0.5rem;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li .sub-menu li.menu-item-has-children.active > .sub-menu {
	display: block;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li.menu-item-has-children .dropdown-indicator {
	color: #E6281A;
	font-weight: 700;
	margin-left: 0.5rem;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li.menu-item-has-children.active .dropdown-indicator {
	display: none;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li.menu-item-has-children.active > a::after {
	content: " −";
	color: #E6281A;
	font-weight: 700;
	margin-left: 0.5rem;
}
.site-header-modern .mobile-menu-overlay .mobile-navigation .nav-menu-mobile > li.menu-item-has-children.active > .sub-menu {
	display: block;
	animation: slideDown 0.3s ease;
}

@keyframes slideDown {
	from {
		opacity: 0;
		max-height: 0;
		transform: translateY(-10px);
	}
	to {
		opacity: 1;
		max-height: 500px;
		transform: translateY(0);
	}
}
@keyframes fadeIn {
	from {
		opacity: 0;
	}
	to {
		opacity: 1;
	}
}
@media (max-width: 767px) {
	.site-header-modern .header-container {
		padding: 0 1rem;
	}
	.site-header-modern {
		height: 60px;
	}
	.site-header-modern .header-container {
		height: 60px;
	}
	.site-header-modern .header-logo .custom-logo-link img {
		max-height: 30px;
	}
	.site-header-modern .header-logo .logo-text {
		font-size: 1.4rem;
	}
}
/* Hero Sections
--------------------------------------------- */
/**
 * Hero Slider Styles
 *
 * @package GoPlus_XYZ
 * @since 1.0.0
 */
.goplus-hero-slider {
	position: relative;
	width: 100%;
	height: 100vh;
	overflow: hidden;
}

.hero-slider-wrapper {
	width: 100%;
	height: 100%;
}

.hero-slide {
	position: relative;
	width: 100%;
	height: 100%;
	--hero-slide-text-color: $color__text-inverse;
	background-image: var(--hero-slide-bg, none);
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
}

.slide-media {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	overflow: hidden;
	z-index: 0;
}

.hero-video,
.hero-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
}

.slide-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: linear-gradient(to bottom, rgba(26, 26, 26, 0.3) 0%, rgba(26, 26, 26, 0.1) 100%);
	z-index: 1;
}

.slide-content {
	position: relative;
	z-index: 2;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	padding: 0 1rem;
	color: var(--hero-slide-text-color, #ffffff);
}

.hero-title {
	color: inherit;
	font-size: clamp(2.5rem, 6vw, 5rem);
	font-weight: 300;
	line-height: 1.2;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	margin: 0;
	text-shadow: 2px 2px 10px rgba(26, 26, 26, 0.3);
}
.hero-title p {
	margin: 0;
	display: block;
	animation: fadeInUp 0.8s ease-out forwards;
	opacity: 0;
}
.hero-title p:nth-child(1) {
	animation-delay: 0.2s;
}
.hero-title p:nth-child(2) {
	animation-delay: 0.4s;
}
.hero-title p:nth-child(3) {
	animation-delay: 0.6s;
}
.hero-title strong {
	font-weight: 700;
	color: #ff4757;
}

.hero-slider-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	z-index: 10;
	width: 100%;
	padding: 0 clamp(1.15rem, 2vw, 1.25rem);
}

.slider-nav-btn {
	opacity: 0;
	animation: fadeIn 0.75s ease 0.55s forwards;
	background: rgba(26, 26, 26, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.01);
	color: #1a1a1a;
	cursor: pointer;
	transition: 0.5s cubic-bezier(0.29, 0.18, 0.26, 0.83);
	pointer-events: all;
	padding: 0;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
}
.slider-nav-btn svg {
	transition: 0.5s cubic-bezier(0.29, 0.18, 0.26, 0.83);
}
.slider-nav-btn svg path {
	transition: 0.5s cubic-bezier(0.29, 0.18, 0.26, 0.83);
}
.slider-nav-btn:hover {
	transform: scale(1.05) translateX(0);
	background: #E6281A;
	border-color: rgba(255, 255, 255, 0.01);
}
.slider-nav-btn:active {
	transform: scale(0.98);
}
.slider-prev svg {
	transform: translateX(25px);
}
.slider-prev svg:hover {
	transform: translateX(15px);
}

.slider-next svg {
	transform: translateX(-25px);
}
.slider-next svg:hover {
	transform: translateX(-15px);
}

.hero-slide__inner {
	max-width: clamp(420px, 58vw, 720px);
	display: flex;
	flex-direction: column;
	gap: 1rem;
	color: inherit;
}

.hero-slide__badge {
	display: inline-flex;
	align-self: flex-start;
	padding: 0.75rem;
	border: 1px solid rgba(255, 255, 255, 0.45);
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: inherit;
	background: rgba(26, 26, 26, 0.2);
}

.hero-slide__eyebrow {
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.3em;
	text-transform: uppercase;
	color: #ff4757;
	margin-top: 0.5rem;
}

.hero-slide__description {
	display: flex;
	flex-direction: column;
	gap: 0.5rem;
	font-size: 1.55rem;
	line-height: 1.45;
	max-width: 48ch;
	color: inherit;
}
.hero-slide__description p {
	margin: 0;
}

.hero-slide__subtitle {
	font-size: clamp(1.125rem, 2.2vw, 1.75rem);
	font-weight: 500;
	color: inherit;
}

.hero-slide__cta {
	display: flex;
	flex-wrap: wrap;
	gap: 0.75rem;
	margin-top: 1rem;
}

.hero-slide__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.5rem;
	padding: 0.75rem 1.5rem;
	background: #E6281A;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
	text-decoration: none;
	transition: 0.3s ease-in-out;
}
.hero-slide__button:hover, .hero-slide__button:focus-visible {
	transform: translateY(-2px);
	box-shadow: 0 12px 35px rgba(26, 26, 26, 0.25);
}
.hero-slide__button:focus-visible {
	outline: 2px solid rgba(255, 255, 255, 0.8);
	outline-offset: 3px;
}

.hero-slide__figure {
	position: absolute;
	bottom: clamp(1.5rem, 8vh, 4rem);
	right: clamp(1.5rem, 6vw, 5rem);
	z-index: 3;
	width: clamp(160px, 22vw, 320px);
	pointer-events: none;
}
.hero-slide__figure img {
	width: 100%;
	height: auto;
	display: block;
	filter: drop-shadow(0 25px 45px rgba(26, 26, 26, 0.35));
}

.hero-slide--align-center .slide-content {
	text-align: center;
}
.hero-slide--align-center .hero-slide__inner {
	margin: 0 auto;
	align-items: center;
	text-align: center;
}
.hero-slide--align-center .hero-slide__badge {
	align-self: center;
}

.hero-slide--align-right .slide-content {
	text-align: right;
}
.hero-slide--align-right .hero-slide__inner {
	margin-left: auto;
	align-items: flex-end;
	text-align: right;
}
.hero-slide--align-right .hero-slide__badge {
	align-self: flex-end;
}

.hero-slider-pagination {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	z-index: 1000;
	display: flex;
	gap: 0.75rem;
}
.hero-slider-pagination :global(.swiper-pagination-bullet) {
	width: 12px;
	height: 12px;
	background: rgba(255, 255, 255, 0.5);
	opacity: 1;
	border-radius: 50%;
	transition: 0.3s ease-in-out;
	cursor: pointer;
}
.hero-slider-pagination :global(.swiper-pagination-bullet):hover {
	background: rgba(255, 255, 255, 0.8);
}
.hero-slider-pagination :global(.swiper-pagination-bullet-active) {
	width: 40px;
	border-radius: 6px;
	background: #ff4757;
}

.scroll-indicator {
	position: absolute;
	bottom: 2rem;
	right: 2rem;
	z-index: 1000;
	display: flex;
	align-items: center;
	gap: 0.5rem;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	animation: bounce 2s infinite;
	cursor: pointer;
}
.scroll-indicator:hover .scroll-icon {
	transform: translateY(5px);
}

.scroll-icon {
	display: flex;
	align-items: center;
	justify-content: center;
	transition: 0.3s ease-in-out;
}
.scroll-icon svg {
	width: 24px;
	height: 24px;
}
.scroll-icon svg path {
	stroke: #ffffff;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-10px);
	}
	60% {
		transform: translateY(-5px);
	}
}
@media (max-width: 1024px) {
	.hero-title {
		font-size: clamp(2rem, 8vw, 3rem);
	}
	.hero-slide__inner {
		align-items: center;
		text-align: center;
	}
	.hero-slide__description {
		font-size: 1.25rem;
		max-width: 100%;
	}
	.hero-slide__figure {
		position: static;
		width: clamp(180px, 55vw, 260px);
		margin: 1.25rem auto 0;
	}
}
@media (max-width: 768px) {
	.slider-nav-btn {
		width: 40px;
		height: 40px;
	}
	.slider-nav-btn svg {
		width: 35px;
		height: 35px;
	}
	.slider-prev svg {
		transform: translateX(15px);
	}
	.slider-prev svg:hover {
		transform: translateX(10px);
	}
	.slider-next svg {
		transform: translateX(-15px);
	}
	.slider-next svg:hover {
		transform: translateX(-10px);
	}
	.slider-prev {
		left: 0.5rem;
	}
	.slider-next {
		right: 0.5rem;
	}
	.scroll-indicator {
		bottom: 1rem;
		right: 1rem;
	}
	.hero-slider-pagination {
		bottom: 1rem;
	}
	.slide-content {
		padding: 0 0.5rem;
	}
	.hero-slide__cta {
		justify-content: center;
	}
	.hero-slide__button {
		width: 100%;
	}
}
@media (prefers-reduced-motion: reduce) {
	.hero-title p {
		animation: none;
		opacity: 1;
	}
	.scroll-indicator {
		animation: none;
	}
}
/* Advanced Animations
--------------------------------------------- */
/**
 * Advanced Animations Styles
 *
 * Styles for advanced animation features including
 * SplitText animations, scroll effects, and more.
 *
 * @package Go+_XYZ
 */
.split-char,
.split-word,
.split-line {
	display: inline-block;
	opacity: 1;
}

[data-animate-on-scroll] {
	opacity: 0;
	transition: opacity 0.3s ease;
}
[data-animate-on-scroll].animate {
	opacity: 1;
}

[data-text-fade] {
	will-change: opacity, transform;
}

.reveal-on-scroll {
	opacity: 0;
	transform: translateY(24px);
	will-change: opacity, transform;
}

html.no-js .reveal-on-scroll,
.reveal-on-scroll.reveal-visible {
	opacity: 1;
	transform: none;
}

html.js .is-split-preparing {
	visibility: hidden !important;
}

[data-parallax] {
	will-change: transform;
}

[data-counter] {
	font-family: monospace;
	font-weight: 600;
	display: inline-block;
}

[data-progress] {
	height: 4px;
	background: #e0e0e0;
	border-radius: 2px;
	overflow: hidden;
	position: relative;
}
[data-progress]::after {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	height: 100%;
	background: #E6281A;
	width: 0;
	transition: width 0.3s ease;
}

.floating {
	position: relative;
}

.pulsing {
	transform-origin: center;
}

.magnetic {
	transition: transform 0.3s ease;
	cursor: pointer;
}

.stagger-list li {
	opacity: 0;
	transform: translateY(20px);
	transition: all 0.3s ease;
}
.stagger-list li.animate {
	opacity: 1;
	transform: translateY(0);
}

.typewriter {
	overflow: hidden;
	border-right: 2px solid #E6281A;
	white-space: nowrap;
	animation: blink-caret 1s step-end infinite;
}
@keyframes blink-caret {
	from, to {
		border-color: transparent;
	}
	50% {
		border-color: #E6281A;
	}
}

.morphing {
	transition: all 0.5s ease;
	transform-origin: center;
}

.social-icon {
	display: inline-block;
	width: 20px;
	height: 20px;
	background: #333;
	transition: all 0.3s ease;
}
.social-icon.social-icon-facebook {
	background: #1877f2;
}
.social-icon.social-icon-twitter {
	background: #1da1f2;
}
.social-icon.social-icon-instagram {
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.social-icon.social-icon-linkedin {
	background: #0077b5;
}
.social-icon.social-icon-youtube {
	background: #ff0000;
}
.social-icon.social-icon-tiktok {
	background: #000;
}

.contact-info .contact-name {
	font-weight: 600;
	margin-bottom: 0.5rem;
}
.contact-info .contact-address,
.contact-info .contact-phone,
.contact-info .contact-email,
.contact-info .contact-hours {
	margin-bottom: 0.5rem;
	line-height: 1.6;
}
.contact-info .contact-phone a,
.contact-info .contact-email a {
	color: #E6281A;
	text-decoration: none;
	transition: color 0.3s ease;
}
.contact-info .contact-phone a:hover,
.contact-info .contact-email a:hover {
	color: rgb(184.8228346457, 31.4763779528, 20.1771653543);
}

.social-media-links {
	display: flex;
	gap: 1rem;
	align-items: center;
}
.social-media-links .social-link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: #333;
	color: #fff;
	text-decoration: none;
	transition: all 0.3s ease;
}
.social-media-links .social-link:hover {
	background: #E6281A;
	transform: translateY(-2px);
}
.social-media-links .social-link.social-link-facebook {
	background: #1877f2;
}
.social-media-links .social-link.social-link-twitter {
	background: #1da1f2;
}
.social-media-links .social-link.social-link-instagram {
	background: linear-gradient(45deg, #f09433 0%, #e6683c 25%, #dc2743 50%, #cc2366 75%, #bc1888 100%);
}
.social-media-links .social-link.social-link-linkedin {
	background: #0077b5;
}
.social-media-links .social-link.social-link-youtube {
	background: #ff0000;
}
.social-media-links .social-link.social-link-tiktok {
	background: #000;
}
.social-media-links .social-link .social-icon {
	width: 20px;
	height: 20px;
}
.social-media-links .social-link .social-label {
	margin-left: 0.5rem;
	font-size: 0.9rem;
}

.copyright-text {
	text-align: center;
	padding: 1rem;
	background: rgba(0, 0, 0, 0.05);
	margin-top: 2rem;
	font-size: 0.9rem;
	color: #666;
}

@media (max-width: 768px) {
	.social-media-links {
		justify-content: center;
		gap: 0.75rem;
	}
	.social-media-links .social-link {
		width: 35px;
		height: 35px;
	}
	.social-media-links .social-link .social-icon {
		width: 18px;
		height: 18px;
	}
	.social-media-links .social-link .social-label {
		display: none;
	}
	.contact-info {
		text-align: center;
	}
}
@media (prefers-reduced-motion: reduce) {
	.split-char,
	.split-word,
	.split-line,
	[data-animate-on-scroll],
	[data-parallax],
	.floating,
	.pulsing,
	.magnetic,
	.typewriter,
	.morphing {
		animation: none !important;
		transition: none !important;
		transform: none !important;
	}
	.social-link:hover {
		transform: none;
	}
}
@media (prefers-contrast: high) {
	.social-media-links .social-link {
		border: 2px solid currentColor;
	}
	.social-media-links .social-link:hover {
		border-color: #E6281A;
	}
	.contact-info .contact-phone a,
	.contact-info .contact-email a {
		text-decoration: underline;
	}
}
/* Homepage Sections
--------------------------------------------- */
/**
 * Homepage Styles
 *
 * Styles for homepage-specific sections and layouts
 *
 * @package Go+_XYZ
 */
.site-main.homepage .homepage-hero {
	position: relative;
}
.site-main.homepage .homepage-hero .hero-fullwidth {
	margin-bottom: 0;
}
.site-main.homepage .homepage-featured-products {
	padding: 4rem 0;
	background: #f8f9fa;
}
.site-main.homepage .homepage-featured-products .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
}
.site-main.homepage .homepage-featured-products h2 {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1rem;
	color: #1a1a1a;
}
.site-main.homepage .homepage-featured-products p {
	font-size: 1.1rem;
	text-align: center;
	margin-bottom: 3rem;
	color: #4e4e4e;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}
.site-main.homepage .homepage-featured-products .featured-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(280px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-featured-products .featured-products-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
.site-main.homepage .homepage-featured-products .featured-product-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.site-main.homepage .homepage-featured-products .featured-product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.site-main.homepage .homepage-featured-products .featured-product-card a {
	text-decoration: none;
	color: inherit;
	display: block;
}
.site-main.homepage .homepage-featured-products .featured-product-card a img {
	width: 100%;
	height: 200px;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.site-main.homepage .homepage-featured-products .featured-product-card a:hover img {
	transform: scale(1.05);
}
.site-main.homepage .homepage-featured-products .featured-product-card h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin: 1rem;
	color: #1a1a1a;
	line-height: 1.4;
}
.site-main.homepage .homepage-featured-products .featured-product-card .price {
	margin: 0 1rem 1.5rem;
	font-size: 1.1rem;
	font-weight: 700;
	color: #E6281A;
}
.site-main.homepage .homepage-latest-news {
	padding: 4rem 0;
	background: #ffffff;
}
.site-main.homepage .homepage-latest-news .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
}
.site-main.homepage .homepage-latest-news h2 {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 1rem;
	color: #1a1a1a;
}
.site-main.homepage .homepage-latest-news .news-grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));
	gap: 2rem;
	margin-top: 2rem;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-latest-news .news-grid {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
.site-main.homepage .homepage-latest-news .news-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease, box-shadow 0.3s ease;
}
.site-main.homepage .homepage-latest-news .news-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 8px 30px rgba(0, 0, 0, 0.15);
}
.site-main.homepage .homepage-latest-news .news-card .news-image {
	position: relative;
	overflow: hidden;
}
.site-main.homepage .homepage-latest-news .news-card .news-image img {
	width: 100%;
	height: 200px;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.site-main.homepage .homepage-latest-news .news-card .news-image:hover img {
	transform: scale(1.05);
}
.site-main.homepage .homepage-latest-news .news-card .news-content {
	padding: 1.5rem;
}
.site-main.homepage .homepage-latest-news .news-card .news-content h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	line-height: 1.4;
}
.site-main.homepage .homepage-latest-news .news-card .news-content h3 a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.3s ease;
}
.site-main.homepage .homepage-latest-news .news-card .news-content h3 a:hover {
	color: #E6281A;
}
.site-main.homepage .homepage-latest-news .news-card .news-content .news-meta {
	margin-bottom: 1rem;
	font-size: 0.9rem;
	color: #718096;
}
.site-main.homepage .homepage-latest-news .news-card .news-content .news-meta time {
	font-weight: 500;
}
.site-main.homepage .homepage-latest-news .news-card .news-content .news-excerpt {
	margin-bottom: 1rem;
	color: #4e4e4e;
	line-height: 1.6;
}
.site-main.homepage .homepage-latest-news .news-card .news-content .read-more {
	color: #2b77e7;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color 0.3s ease;
}
.site-main.homepage .homepage-latest-news .news-card .news-content .read-more:hover {
	color: #E6281A;
}
.site-main.homepage .homepage-newsletter {
	padding: 4rem 0;
	background: linear-gradient(135deg, #E6281A 0%, #2b77e7 100%);
	color: #ffffff;
}
.site-main.homepage .homepage-newsletter .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
	text-align: center;
}
.site-main.homepage .homepage-newsletter h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #ffffff;
}
.site-main.homepage .homepage-newsletter p {
	font-size: 1.1rem;
	margin-bottom: 2rem;
	opacity: 0.9;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}
.site-main.homepage .homepage-newsletter .newsletter-form {
	max-width: 500px;
	margin: 0 auto;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group {
	display: flex;
	gap: 1rem;
	align-items: center;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-newsletter .newsletter-form .form-group {
		flex-direction: column;
		gap: 1rem;
	}
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group input[type=email] {
	flex: 1;
	padding: 0.8rem 1rem;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	background: rgba(255, 255, 255, 0.9);
	color: #1a1a1a;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group input[type=email]::-moz-placeholder {
	color: #a0aec0;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group input[type=email]::placeholder {
	color: #a0aec0;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group input[type=email]:focus {
	outline: none;
	background: #ffffff;
	box-shadow: 0 0 0 3px rgba(255, 255, 255, 0.3);
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group .btn {
	padding: 0.8rem 2rem;
	border: none;
	border-radius: 50px;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all 0.3s ease;
	white-space: nowrap;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group .btn.btn-primary {
	background: #ffffff;
	color: #E6281A;
}
.site-main.homepage .homepage-newsletter .newsletter-form .form-group .btn.btn-primary:hover {
	background: rgb(229.5, 229.5, 229.5);
	transform: translateY(-2px);
}
.site-main.homepage .homepage-social-media {
	padding: 4rem 0;
	background: #1a1a1a;
	color: #ffffff;
}
.site-main.homepage .homepage-social-media .container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 1rem;
	text-align: center;
}
.site-main.homepage .homepage-social-media h2 {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #ffffff;
}
.site-main.homepage .homepage-social-media p {
	font-size: 1.1rem;
	margin-bottom: 2rem;
	opacity: 0.8;
}
.site-main.homepage .homepage-social-media .homepage-social-links {
	justify-content: center;
	gap: 1.5rem;
}
.site-main.homepage .homepage-social-media .homepage-social-links .social-link {
	width: 50px;
	height: 50px;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-social-media .homepage-social-links .social-link {
		width: 45px;
		height: 45px;
	}
}
.site-main.homepage .homepage-social-media .homepage-social-links .social-link .social-icon {
	width: 24px;
	height: 24px;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-social-media .homepage-social-links .social-link .social-icon {
		width: 20px;
		height: 20px;
	}
}
.site-main.homepage .homepage-social-media .homepage-social-links .social-link .social-label {
	font-size: 1rem;
	margin-left: 0.75rem;
}
@media (max-width: 768px) {
	.site-main.homepage .homepage-social-media .homepage-social-links .social-link .social-label {
		display: none;
	}
}

@media (max-width: 768px) {
	.site-main.homepage .homepage-featured-products,
	.site-main.homepage .homepage-latest-news {
		padding: 3rem 0;
	}
	.site-main.homepage .homepage-featured-products h2,
	.site-main.homepage .homepage-latest-news h2 {
		font-size: 2rem;
	}
	.site-main.homepage .homepage-featured-products p,
	.site-main.homepage .homepage-latest-news p {
		font-size: 1rem;
	}
	.site-main.homepage .homepage-newsletter {
		padding: 3rem 0;
	}
	.site-main.homepage .homepage-newsletter h2 {
		font-size: 2rem;
	}
	.site-main.homepage .homepage-social-media {
		padding: 3rem 0;
	}
	.site-main.homepage .homepage-social-media h2 {
		font-size: 2rem;
	}
}
@media (max-width: 480px) {
	.site-main.homepage .homepage-featured-products,
	.site-main.homepage .homepage-latest-news,
	.site-main.homepage .homepage-newsletter,
	.site-main.homepage .homepage-social-media {
		padding: 2rem 0;
	}
}
@media (prefers-reduced-motion: reduce) {
	.site-main.homepage .featured-product-card,
	.site-main.homepage .news-card {
		transition: none;
	}
	.site-main.homepage .featured-product-card:hover,
	.site-main.homepage .news-card:hover {
		transform: none;
	}
	.site-main.homepage .featured-product-card a img,
	.site-main.homepage .news-card a img {
		transition: none;
	}
	.site-main.homepage .featured-product-card a img:hover,
	.site-main.homepage .news-card a img:hover {
		transform: none;
	}
	.site-main.homepage .newsletter-form .btn:hover {
		transform: none;
	}
}
@media (prefers-contrast: high) {
	.site-main.homepage .featured-product-card,
	.site-main.homepage .news-card {
		border: 2px solid #4a5568;
	}
	.site-main.homepage .newsletter-form input[type=email] {
		border: 2px solid #4a5568;
	}
}
/**
 * Product Carousel Styles - CORRECTED VERSION
 *
 * @package GoPlus_XYZ
 * @since 1.0.0
 * @version 1.2.0
 *
 * Changelog:
 * v1.2.0 - 2025-11-02
 * - Added staggered animation system with .carousel-animate-item class
 * - Elements hidden by default, animate in on slide change with delays
 * - No changes to ACF structure or data handling
 *
 * v1.1.0 - 2025-10-31
 * - Fixed responsive styling for tabs (padding, gaps, font sizes)
 * - Reduced letter spacing for better readability on small screens
 * - Improved mobile tab button sizing and spacing
 * - Enhanced responsive breakpoint adjustments
 */
.goplus-product-carousel {
	background: #ffffff;
	overflow: hidden;
	position: relative;
	display: flex;
	flex-direction: column;
	min-height: 100vh;
	opacity: 0;
	transition: opacity 0.8s ease-out;
}
.goplus-product-carousel.carousel-revealed {
	opacity: 1;
}

.product-tabs {
	padding: 1rem 1rem;
	width: 100%;
	display: flex;
	justify-content: center;
	flex: 0 0 auto;
}

.tabs-nav {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 2rem;
	flex-wrap: wrap;
}

.tab-btn {
	background: none;
	border: none;
	color: #718096;
	font-size: 1rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	cursor: pointer;
	transition: 0.5s ease;
	position: relative;
	text-transform: uppercase;
}
.tab-btn::after {
	content: "";
	position: absolute;
	bottom: -5px;
	left: 50%;
	transform: translateX(-50%);
	width: 0;
	height: 5px;
	background: #E6281A;
	transition: 0.5s ease;
}
.tab-btn:hover, .tab-btn:focus-visible {
	color: #E6281A;
}
.tab-btn:focus-visible {
	outline: 2px solid #2b77e7;
	outline-offset: 4px;
}
.tab-btn.active {
	color: #E6281A;
}
.tab-btn.active::after {
	width: 120%;
}

.product-carousel-section {
	padding: 1.5rem 0;
	position: relative;
	flex: 1 1 auto;
	display: flex;
	flex-direction: column;
}

.carousel-header {
	text-align: left;
	padding: 0 2rem;
	max-width: 90vw;
}

.section-label {
	font-size: 0.694rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	color: #718096;
	text-transform: uppercase;
	margin: 0;
}

.product-carousel-wrapper {
	position: relative;
	width: 100%;
	max-width: 90vw;
	margin: 0 auto;
	padding: 0 1rem;
	overflow: hidden;
	flex: 1 1 auto;
	display: flex;
	align-items: center;
}

.product-carousel-wrapper.swiper {
	overflow: hidden;
}

.product-carousel-wrapper .swiper-wrapper {
	height: 100%;
	align-items: stretch;
}

.product-slide {
	position: relative;
	padding: 2rem 0;
	z-index: 1;
	height: 100%;
	display: flex;
	overflow: visible;
	width: 100% !important;
}

.carousel-animate-item {
	opacity: 0;
	transition: opacity 0.6s ease-out;
}
.carousel-animate-item.is-visible {
	opacity: 1;
}

.product-slide__grid {
	position: relative;
	display: grid;
	grid-template-columns: 0.85fr 1.1fr 0.65fr;
	grid-template-rows: 1fr;
	gap: 0.5rem;
	grid-auto-flow: row;
	grid-template-areas: "text product lifestyle";
	align-items: center;
	min-height: clamp(520px, 62vh, 720px);
	z-index: 2;
	padding: 30px 20px;
	height: 100%;
	margin: 0 auto;
}

.product-info-left {
	grid-area: text;
	padding: 1.5rem 0;
	display: flex;
	flex-direction: column;
	justify-content: center;
	align-items: flex-start;
	z-index: 3;
	gap: 0.5rem;
	max-width: 430px;
}

.product-subtitle {
	opacity: 0;
	animation: fadeIn 0.6s ease 0.15s forwards;
	font-size: 2rem;
	font-weight: 700;
	color: #E6281A;
	text-transform: lowercase;
	margin-bottom: 0;
	display: block;
}

.product-pill-group {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	margin-bottom: 0.5rem;
}

.product-pill {
	width: clamp(32px, 4.5vw, 56px);
	height: 10px;
	border-radius: 999px;
	background: #E6281A;
	opacity: 0.65;
}
.product-pill:nth-child(2) {
	opacity: 0.35;
	background: #2b77e7;
}

.product-title {
	opacity: 0;
	animation: fadeIn 0.6s ease 0.25s forwards;
	font-size: clamp(2.5rem, 5vw, 4rem);
	font-weight: 900;
	color: #1a1a1a;
	text-transform: uppercase;
	margin: 0 0 15px 0;
	line-height: 0.95;
	letter-spacing: 0.05em;
}

.product-description {
	opacity: 0;
	animation: fadeIn 0.6s ease 0.5s forwards;
	font-size: 1.35rem;
	line-height: 1.8;
	color: #4e4e4e;
	margin: 0;
	max-width: 550px;
	margin: 0 0 1.5rem 0;
}
@media (max-width: 768px) {
	.product-description {
		font-size: 1rem;
		line-height: 1.5;
		padding: 0 1rem;
	}
}

.btn-learn-more {
	opacity: 0;
	animation: fadeIn 0.6s ease 0.65s forwards;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 0.75rem;
	background: #E6281A;
	color: #ffffff;
	font-size: 1rem;
	font-weight: 700;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	text-decoration: none;
	padding: 1rem 2rem;
	border: none;
	cursor: pointer;
	transition: 0.3s ease-in-out;
	position: relative;
	overflow: hidden;
}
.btn-learn-more::before {
	content: "";
	position: absolute;
	top: 0;
	left: -100%;
	width: 100%;
	height: 100%;
	background: rgba(255, 255, 255, 0.2);
	transition: 0.3s ease-in-out;
}
.btn-learn-more:hover {
	color: #ffffff;
	transform: translateY(-3px);
}
.btn-learn-more:hover::before {
	left: 100%;
}
.btn-learn-more:hover .btn-icon {
	transform: translateX(5px);
}
.btn-learn-more:active {
	transform: translateY(-1px);
}
.btn-learn-more:focus-visible {
	outline: 2px solid #2b77e7;
	outline-offset: 3px;
}
@media (max-width: 768px) {
	.btn-learn-more {
		width: 100%;
	}
}
@media (max-width: 480px) {
	.btn-learn-more {
		width: 100%;
	}
}

.btn-icon {
	font-size: 1.2rem;
	transition: 0.3s ease-in-out;
}

.product-center {
	grid-area: product;
	position: relative;
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
	max-height: clamp(550px, 65vh, 680px);
	min-height: 550px;
	z-index: 2;
	padding: 0;
	overflow: visible;
}

.product-bg-text {
	color: #ffffff;
	text-shadow: -2px -2px 0 rgba(230, 40, 26, 0.5), 2px -2px 0 rgba(230, 40, 26, 0.5), -2px 2px 0 rgba(230, 40, 26, 0.5), 2px 2px 0 rgba(230, 40, 26, 0.5), -2px 0 0 rgba(230, 40, 26, 0.5), 2px 0 0 rgba(230, 40, 26, 0.5), 0 -2px 0 rgba(230, 40, 26, 0.5), 0 2px 0 rgba(230, 40, 26, 0.5);
}
@media (max-width: 768px) {
	.product-bg-text {
		text-shadow: -1px -1px 0 rgba(230, 40, 26, 0.5), 1px -1px 0 rgba(230, 40, 26, 0.5), -1px 1px 0 rgba(230, 40, 26, 0.5), 1px 1px 0 rgba(230, 40, 26, 0.5), -1px 0 0 rgba(230, 40, 26, 0.5), 1px 0 0 rgba(230, 40, 26, 0.5), 0 -1px 0 rgba(230, 40, 26, 0.5), 0 1px 0 rgba(230, 40, 26, 0.5);
	}
}
.product-bg-text {
	font-family: "museosansrounded900", sans-serif;
	position: absolute;
	top: -15%;
	left: 50%;
	transform: translate(-50%, 0);
	font-size: clamp(6rem, 15vw, 12rem);
	font-weight: 900;
	text-transform: uppercase;
	white-space: nowrap;
	z-index: 1;
	pointer-events: none;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	letter-spacing: 0.05em;
}

.product-image-wrapper {
	position: relative;
	z-index: 3;
	max-height: 750px;
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	animation: float 4s ease-in-out infinite;
	aspect-ratio: 4/5;
}
@media (max-width: 648px) {
	.product-image-wrapper {
		aspect-ratio: 1;
	}
}

.product-image {
	opacity: 0;
	transform: translateY(50px);
	animation: slideUp 1.25s ease 0.55s forwards;
	width: 100%;
	height: 100%;
	filter: drop-shadow(0 10px 40px rgba(26, 26, 26, 0.2));
	-o-object-fit: contain;
	object-fit: contain;
	aspect-ratio: 4/5;
}
@media (max-width: 648px) {
	.product-image {
		aspect-ratio: 1;
	}
}

.product-360-wrapper {
	position: relative;
}
.product-360-wrapper .product-360-canvas {
	width: 100%;
	height: 100%;
	filter: drop-shadow(0 10px 40px rgba(26, 26, 26, 0.2));
	-o-object-fit: contain;
	object-fit: contain;
	opacity: 0;
	transform: scale(0.95);
	transition: opacity 0.5s ease-out, transform 0.5s ease-out;
	aspect-ratio: 4/5;
}
@media (max-width: 648px) {
	.product-360-wrapper .product-360-canvas {
		aspect-ratio: 1;
	}
}
.product-360-wrapper .product-360-loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 0.5rem;
	z-index: 10;
	pointer-events: none;
}
.product-360-wrapper .product-360-loading span {
	color: #718096;
	font-size: 0.694rem;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	opacity: 0.8;
}
.product-360-wrapper .product-360-spinner {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(230, 40, 26, 0.15);
	border-top-color: #E6281A;
	border-radius: 50%;
	animation: spin360 0.8s linear infinite;
}

@keyframes spin360 {
	from {
		transform: rotate(0deg);
	}
	to {
		transform: rotate(360deg);
	}
}
.dot-grid {
	position: absolute;
	top: 60%;
	right: -1rem;
	transform: translateY(-60%) scale(1.5);
	display: grid;
	grid-template-columns: repeat(12, 6px);
	grid-template-rows: repeat(6, 6px);
	gap: 0.5rem;
	opacity: 0.5;
	z-index: 0;
}

.dot {
	width: 6px;
	height: 6px;
	background: #a0aec0;
	border-radius: 50%;
	transition: 0.2s ease;
}
.product-slide:hover .dot:nth-child(7n) {
	background: #E6281A;
	transform: scale(1.4);
}

.product-lifestyle {
	grid-area: lifestyle;
	position: relative;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	z-index: 4;
	margin-left: -2rem;
	min-height: 100%;
	gap: 1rem;
}

.lifestyle-image-wrapper {
	width: 100%;
	max-width: 500px;
	border-radius: 35%;
	overflow: hidden;
	aspect-ratio: 1;
	position: relative;
	border: 8px solid #ffffff;
	transition: 0.5s ease;
}
.lifestyle-image-wrapper::after {
	content: "";
	position: absolute;
	inset: -8px;
	border-radius: 50%;
	border: 2px solid rgba(230, 40, 26, 0.15);
	opacity: 0;
	transition: 0.3s ease-in-out;
}
.product-slide:hover .lifestyle-image-wrapper {
	border-radius: 50%;
}
.lifestyle-image-wrapper:hover::after {
	opacity: 1;
}

.lifestyle-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: 0.5s ease;
}
.product-slide:hover .lifestyle-image {
	transform: scale(1.08);
}

.product-lifestyle--empty {
	justify-content: center;
}
.product-lifestyle--empty .lifestyle-image-wrapper {
	display: none;
}

.lifestyle-placeholder {
	width: clamp(260px, 32vw, 420px);
	aspect-ratio: 1;
	border-radius: 50%;
	background: radial-gradient(circle at 30% 30%, rgba(43, 119, 231, 0.12), transparent 65%), linear-gradient(135deg, rgba(230, 40, 26, 0.15), rgba(43, 119, 231, 0.05));
	border: 2px dashed rgba(43, 119, 231, 0.2);
}

.slide-counter {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	color: rgba(26, 26, 26, 0.6);
	margin-bottom: 0.5rem;
	align-self: flex-end;
}

.slide-counter--mobile {
	display: none !important;
}

.counter-current {
	font-size: 2rem;
	color: #1a1a1a;
	line-height: 1;
	font-weight: 900;
}

.counter-separator {
	font-size: 0.694rem;
	color: #718096;
	letter-spacing: 0.15em;
	font-weight: 700;
}

.counter-total {
	font-size: 2rem;
	color: #718096;
	line-height: 1;
	font-weight: 700;
}

.carousel-navigation {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	z-index: 10;
	width: 100%;
	padding: 0 clamp(1.15rem, 2vw, 1.25rem);
	opacity: 0;
	visibility: hidden;
}

.carousel-nav-btn {
	background: rgba(26, 26, 26, 0.15);
	border: 1px solid rgba(255, 255, 255, 0.1);
	color: #1a1a1a;
	cursor: pointer;
	transition: 0.3s ease-in-out;
	pointer-events: all;
	padding: 0;
	width: 60px;
	height: 60px;
	display: flex;
	align-items: center;
	justify-content: center;
	opacity: 0;
	visibility: hidden;
}
.carousel-nav-btn svg {
	transition: 0.3s ease-in-out;
}
.carousel-nav-btn svg path {
	transition: 0.3s ease-in-out;
}
.carousel-nav-btn:hover {
	transform: scale(1.05) translateX(0);
	background: #E6281A;
}
.carousel-nav-btn:active {
	transform: scale(0.98);
}

.carousel-prev svg {
	transform: translateX(25px);
}
.carousel-prev svg:hover {
	transform: translateX(15px);
}

.carousel-next svg {
	transform: translateX(-25px);
}
.carousel-next svg:hover {
	transform: translateX(-15px);
}

@keyframes float {
	0%, 100% {
		transform: translateY(0);
	}
	50% {
		transform: translateY(-25px);
	}
}
@media (max-width: 1024px) {
	.goplus-product-carousel {
		max-height: none;
	}
	.product-carousel-section {
		padding: 1rem 0;
		flex: none;
	}
	.product-carousel-wrapper {
		flex: none;
		display: block;
	}
	.product-carousel-wrapper .swiper-wrapper {
		height: auto;
	}
	.product-slide {
		padding: 4rem 0;
		height: auto;
		display: block;
		overflow: hidden;
	}
	.product-slide__grid {
		grid-template-columns: 1fr;
		grid-template-areas: "product" "text";
		gap: 1.25rem;
		min-height: auto;
		padding: 0 1rem;
		height: auto;
	}
	.product-info-left {
		text-align: center;
		align-items: center;
		padding: 0;
		max-width: none;
		width: 100%;
	}
	.product-description {
		margin-bottom: 0.75rem;
	}
	.product-center {
		flex-direction: column;
		gap: 1rem;
		height: 500px;
		max-height: none;
		min-height: auto;
		padding-top: 0.5rem;
	}
	.slide-counter {
		position: static;
		justify-content: center;
		align-self: center;
		margin-bottom: 0.5rem;
	}
	.slide-counter--mobile {
		display: inline-flex;
	}
	.slide-counter--desktop {
		display: none;
	}
	.dot-grid {
		display: none;
	}
	.product-lifestyle {
		display: none;
	}
}
@media (max-width: 1024px) {
	.product-tabs {
		padding: 0.75rem 0.75rem;
	}
	.tabs-nav {
		gap: 1rem;
	}
	.tab-btn {
		letter-spacing: 0.05em;
	}
	.carousel-header {
		padding: 0 1rem;
	}
	.product-carousel-wrapper {
		padding: 0 0.75rem;
	}
	.product-center {
		height: 440px;
	}
}
@media (max-width: 768px) {
	.product-tabs {
		padding: 0.5rem 0.5rem;
	}
	.tabs-nav {
		gap: 0.5rem;
	}
	.tab-btn {
		padding: 0.25rem 0;
		letter-spacing: 0.05em;
	}
	.product-title {
		font-size: 2.5rem;
	}
	.product-center {
		height: 400px;
	}
	.product-info-left {
		gap: 0.75rem;
	}
	.carousel-navigation {
		padding: 0 0.5rem;
	}
	.product-carousel-wrapper {
		padding: 0 0.5rem;
	}
	.product-slide__grid {
		gap: 1rem;
		padding: 0;
	}
	.counter-current {
		font-size: 2.5rem;
	}
	.counter-total {
		font-size: 1.5rem;
	}
}
@media (prefers-reduced-motion: reduce) {
	.product-image-wrapper {
		animation: none;
	}
	.btn-learn-more,
	.carousel-nav-btn,
	.dot {
		transition: none;
	}
}
.goplus-clinical-studies {
	padding-top: 40px;
	padding-bottom: 40px;
}
@media (max-width: 768px) {
	.goplus-clinical-studies {
		padding-top: 20px;
		padding-bottom: 20px;
	}
}
.goplus-clinical-studies {
	background: #FFFFFF;
}
@media (max-width: 768px) {
	.goplus-clinical-studies {
		overflow: hidden;
	}
}

.clinical-studies__title-row {
	/* text-align: center; */
	margin-bottom: -7%;
	z-index: 1000;
	position: relative;
}
@media (max-width: 768px) {
	.clinical-studies__title-row {
		margin-bottom: 10px;
	}
}

.clinical-studies__eyebrow {
	font-size: clamp(2.25rem, 6vw, 3rem);
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1rem;
	color: #000000;
	margin-bottom: 0;
	margin-top: 0;
}
@media (max-width: 1024px) {
	.clinical-studies__eyebrow {
		letter-spacing: 0.5rem;
	}
}
@media (max-width: 768px) {
	.clinical-studies__eyebrow {
		letter-spacing: 0.3rem;
	}
}
@media (max-width: 480px) {
	.clinical-studies__eyebrow {
		letter-spacing: 0.2rem;
	}
}

.clinical-studies__heading {
	font-size: clamp(2.5rem, 6vw, 5rem);
	font-weight: 900;
	line-height: 1.1;
	text-transform: uppercase;
	letter-spacing: 1rem;
	display: flex;
	flex-wrap: wrap;
	justify-content: flex-start;
	gap: 0.3em;
	margin: 0;
}
.clinical-studies__heading .heading-outline {
	color: #fff;
	text-shadow: -2px -2px 0 rgba(0, 0, 0, 0.5), 2px -2px 0 rgba(0, 0, 0, 0.5), -2px 2px 0 rgba(0, 0, 0, 0.5), 2px 2px 0 rgba(0, 0, 0, 0.5), -2px 0 0 rgba(0, 0, 0, 0.5), 2px 0 0 rgba(0, 0, 0, 0.5), 0 -2px 0 rgba(0, 0, 0, 0.5), 0 2px 0 rgba(0, 0, 0, 0.5);
}
.clinical-studies__heading .heading-solid {
	color: #000000;
}

.clinical-studies__content-wrapper .swiper {
	overflow: visible;
}

.study-slide__grid {
	display: grid;
	grid-template-columns: 1fr 1.5fr;
	gap: 40px;
	align-items: flex-start;
}
@media (max-width: 768px) {
	.study-slide__grid {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

.study-content-column {
	margin-top: 25%;
	display: flex;
	flex-direction: column;
}
@media (max-width: 768px) {
	.study-content-column {
		margin-top: 5px;
	}
}

.clinical-studies__divider {
	height: 2px;
	background: #E6281A;
	width: 100%;
	margin: 0px 0;
}
@media (max-width: 768px) {
	.clinical-studies__divider {
		margin: 1s0px 0;
	}
}

.clinical-studies__icons {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	gap: 20px;
	flex-wrap: wrap;
	padding: 0 0.5rem;
	margin: 10px 0;
}
@media (max-width: 1024px) {
	.clinical-studies__icons {
		gap: 2rem;
		padding: 0 0.5rem;
	}
}
@media (max-width: 768px) {
	.clinical-studies__icons {
		gap: 2rem;
		padding: 0 0.25rem;
	}
}
@media (max-width: 480px) {
	.clinical-studies__icons {
		gap: 2rem;
		padding: 0;
	}
}

.study-icon-btn {
	width: 50px;
	height: 50px;
	border-radius: 50%;
	border: 2px solid #E0E0E0;
	background: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	cursor: pointer;
	transition: all 0.3s ease;
	padding: 0;
}
.study-icon-btn:focus {
	outline: 2px solid #E6281A;
	outline-offset: 3px;
}
.study-icon-btn:focus:not(:focus-visible) {
	outline: none;
}
.study-icon-btn .icon-wrapper {
	color: #000000;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-direction: row;
	transition-property: color;
	transition-duration: 0.3s;
	transition-timing-function: ease;
}
.study-icon-btn:hover {
	border-color: #E6281A;
	transform: scale(1.1);
}
.study-icon-btn.active {
	border-color: #E6281A;
	background: #E6281A;
}
.study-icon-btn.active .icon-wrapper {
	color: #fff;
}
@media (max-width: 1024px) {
	.study-icon-btn {
		width: 40px;
		height: 40px;
		border-radius: 50%;
		border: 2px solid #E0E0E0;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		cursor: pointer;
		transition: all 0.3s ease;
		padding: 0;
	}
}
@media (max-width: 768px) {
	.study-icon-btn {
		width: 45px;
		height: 45px;
		border-radius: 50%;
		border: 2px solid #E0E0E0;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		cursor: pointer;
		transition: all 0.3s ease;
		padding: 0;
	}
}
@media (max-width: 480px) {
	.study-icon-btn {
		width: 45px;
		height: 45px;
		border-radius: 50%;
		border: 2px solid #E0E0E0;
		background: #fff;
		display: flex;
		align-items: center;
		justify-content: center;
		flex-direction: row;
		cursor: pointer;
		transition: all 0.3s ease;
		padding: 0;
	}
	.study-icon-btn svg {
		width: 24px;
		height: 24px;
	}
}

.study-text-content {
	margin-top: 10px;
}
@media (max-width: 768px) {
	.study-text-content {
		text-align: center;
		margin-top: 10px;
	}
}

.study-title {
	font-family: "museosansrounded700", sans-serif;
	font-size: 1.15rem;
	font-weight: 700;
	letter-spacing: 1px;
	text-transform: uppercase;
	color: #000000;
	margin-bottom: 0px;
}
@media (max-width: 1024px) {
	.study-title {
		font-size: 0.9775rem;
		letter-spacing: 0.05em;
	}
}
@media (max-width: 768px) {
	.study-title {
		font-size: 1rem;
		letter-spacing: 0.03em;
	}
}

.study-description {
	font-size: 1.35rem;
	line-height: 1.8;
	color: #333333;
	margin-bottom: 0px;
}
@media (max-width: 768px) {
	.study-description {
		font-size: 1rem;
		line-height: 1.5;
	}
}

.btn-view-study {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 16px 32px;
	font-weight: 700;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	text-decoration: none;
	border: none;
	cursor: pointer;
	transition: all 0.3s ease;
	background: #000;
	color: #fff;
}
.btn-view-study:hover {
	background: #E6281A;
	transform: translateY(-2px);
}
.btn-view-study:focus {
	outline: 2px solid #E6281A;
	outline-offset: 3px;
}
.btn-view-study {
	gap: 12px;
}
.btn-view-study .btn-icon {
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
}
.btn-view-study:hover .btn-icon {
	transform: rotate(90deg);
}
@media (max-width: 768px) {
	.btn-view-study {
		width: 100%;
	}
}

.study-image-column {
	position: relative;
	height: 100%;
}
@media (max-width: 768px) {
	.study-image-column {
		margin-top: 40px;
	}
}

.study-image-container {
	position: relative;
	width: 100%;
	aspect-ratio: 1/1;
	max-height: 550px;
	overflow: visible;
	padding: 0 25px 25px 0;
}

.study-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	display: block;
	box-shadow: 21px 19px 0px 0px rgb(230, 40, 26);
	-webkit-box-shadow: 21px 19px 0px 0px rgb(230, 40, 26);
	-moz-box-shadow: 21px 19px 0px 0px rgb(230, 40, 26);
}

.image-overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	pointer-events: none;
}

.overlay-box {
	position: absolute;
	top: 50%;
	right: 15%;
	width: 50%;
	height: 40%;
	background: rgba(91, 192, 222, 0.5);
	transform: translateY(-50%);
	z-index: 1;
}
@media (max-width: 768px) {
	.overlay-box {
		width: 60%;
		height: 35%;
	}
}

.overlay-accent {
	position: absolute;
	top: 0;
	right: 0;
	width: 30px;
	height: 100%;
	background: #E6281A;
	z-index: 2;
}

@media print {
	.clinical-studies__icons,
	.btn-view-study {
		display: none !important;
	}
}

@media print {
	.study-slide__grid {
		page-break-inside: avoid;
		-moz-column-break-inside: avoid;
		break-inside: avoid;
	}
}

@media print {
	.goplus-clinical-studies {
		padding: 20px 0;
	}
}
@media (prefers-contrast: high) {
	.study-icon-btn {
		border-width: 3px;
	}
	.study-icon-btn:focus {
		outline-width: 3px;
	}
	.clinical-studies__divider {
		height: 3px;
	}
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
	.study-icon-btn:hover,
	.btn-view-study:hover {
		transform: none;
	}
}
.goplus-two-column-content {
	background: #FFFFFF;
	margin: 0 auto;
}
@media (max-width: 768px) {
	.goplus-two-column-content {
		padding: 40px 0;
	}
}

.container-fluid {
	max-width: 100%;
	padding: 0;
	margin: 0 auto;
}

.two-column__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 0;
	align-items: center;
	min-height: 600px;
	height: 100%;
}
@media (max-width: 968px) {
	.two-column__grid {
		grid-template-columns: 1fr;
		min-height: auto;
	}
}

@media (min-width: 969px) {
	.goplus-two-column-content.image-right .two-column__grid {
		grid-template-columns: 1fr 1fr;
		height: 100%;
	}
	.goplus-two-column-content.image-right .two-column__grid .two-column__image-column {
		order: 2;
		height: 100%;
	}
	.goplus-two-column-content.image-right .two-column__grid .two-column__content-column {
		order: 1;
		height: 100%;
		padding: 40px 60px 40px 0px;
	}
	.goplus-two-column-content.image-right .two-column__grid .two-column__content-column .content-title-copy {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
}
@media (max-width: 968px) {
	.goplus-two-column-content.image-right .two-column__grid .two-column__content-column .content-title-copy {
		display: none !important;
		visibility: hidden !important;
		opacity: 0 !important;
	}
}

@media (min-width: 969px) {
	.goplus-two-column-content.image-left .two-column__grid {
		grid-template-columns: 1fr 1fr;
	}
	.goplus-two-column-content.image-left .two-column__grid .two-column__content-column {
		padding: 40px 0px 40px 60px;
	}
	.goplus-two-column-content.image-left .two-column__grid .two-column__content-column .content-title {
		position: absolute;
		top: 5%;
		left: 25%;
		transform: translate(-5%, -25%);
		z-index: -1000;
	}
	.goplus-two-column-content.image-left .two-column__grid .two-column__content-column .content-title-copy {
		position: absolute;
		top: 5%;
		left: 25%;
		transform: translate(-5%, -25%);
		-webkit-text-stroke: 2px white;
		color: transparent !important;
	}
}
@media (max-width: 968px) {
	.goplus-two-column-content.image-left .two-column__grid .two-column__content-column .content-title {
		position: relative;
	}
	.goplus-two-column-content.image-left .two-column__grid .two-column__content-column .content-title-copy {
		display: none;
	}
}

.forward {
	z-index: 1000 !important;
}

.two-column__image-column {
	position: relative;
	overflow: hidden;
	height: 100%;
}

.image-wrapper {
	width: 100%;
	height: 100%;
	min-height: 90vh;
	text-align: right;
}
@media (max-width: 968px) {
	.image-wrapper {
		min-height: 400px;
	}
}
@media (max-width: 640px) {
	.image-wrapper {
		min-height: 350px;
	}
}

.content-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	-o-object-position: center;
	object-position: center;
	display: block;
}

.two-column__content-column {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 40px 60px 40px 60px;
}
@media (max-width: 1200px) {
	.two-column__content-column {
		padding: 20px 10px;
	}
}
@media (max-width: 968px) {
	.two-column__content-column {
		padding: 20px 10px;
	}
}
@media (max-width: 640px) {
	.two-column__content-column {
		padding: 10px 20px;
	}
}

.content-wrapper {
	width: 100%;
}
@media (max-width: 968px) {
	.content-wrapper {
		max-width: 100%;
	}
}

.content-subtitle {
	font-weight: 700;
	letter-spacing: 3px;
	text-transform: uppercase;
	color: #E6281A;
	margin-bottom: 30px;
}
@media (max-width: 640px) {
	.content-subtitle {
		margin-bottom: 20px;
	}
}

.content-title {
	font-family: "museosansrounded900", sans-serif;
	font-weight: 700;
	line-height: 1.1;
	text-transform: uppercase;
	display: flex;
	flex-wrap: wrap;
	gap: 0.25em;
	color: #000000;
}
.content-title .title-outline {
	color: transparent;
	-webkit-text-fill-color: transparent;
	-webkit-text-stroke: 2px black;
	text-stroke: 2px black;
}
@media (max-width: 768px) {
	.content-title .title-outline {
		-webkit-text-stroke: 1px black;
		text-stroke: 1px black;
	}
}
.content-title .title-solid {
	font-weight: 900;
}
.content-title .title-highlight {
	padding: 0.1em 0.6em;
	color: #fff;
	--g: #0000 .5em,#E6281A calc(.5em + 1px);
	background: linear-gradient(115deg, var(--g)) left, linear-gradient(-65deg, var(--g)) right;
	background-size: 51% 100%; /* use 51% instead of 50% to avoid gaps */
	background-repeat: no-repeat;
}
.content-title .title-conjunction {
	padding: 0;
	background: none;
	color: #000000;
	font-weight: 700;
}

.content-body {
	font-size: 1.35rem;
	line-height: 1.8;
	color: #4e4e4e;
}
@media (max-width: 768px) {
	.content-body {
		font-size: 1rem;
		line-height: 1.5;
	}
}
.content-body p {
	margin-bottom: 1em;
}
.content-body p:last-child {
	margin-bottom: 0;
}
.content-body strong {
	font-weight: 700;
	color: #000000;
}
.content-body a {
	color: #E6281A;
	text-decoration: none;
	transition: all 0.3s ease;
}
.content-body a:hover {
	color: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	text-decoration: underline;
}

@media (max-width: 968px) {
	.two-column__grid .two-column__image-column {
		order: 1 !important;
	}
	.two-column__grid .two-column__content-column {
		order: 2 !important;
	}
}
@media print {
	.goplus-two-column-content {
		padding: 20px 0;
	}
	.two-column__grid {
		display: block;
	}
	.two-column__image-column,
	.two-column__content-column {
		page-break-inside: avoid;
	}
	.content-image {
		max-height: 400px;
		-o-object-fit: contain;
		object-fit: contain;
	}
}
@media (prefers-reduced-motion: reduce) {
	* {
		animation-duration: 0.01ms !important;
		animation-iteration-count: 1 !important;
		transition-duration: 0.01ms !important;
	}
}
/* Product Experiences
--------------------------------------------- */
.products-archive {
	background-color: #fff;
}
.products-archive__nav {
	position: sticky;
	top: 0;
	z-index: 5;
	background-color: rgba(255, 255, 255, 0.15);
	backdrop-filter: blur(8px);
	border-bottom: 1px solid rgba(0, 0, 0, 0.06);
}
.products-archive__nav .container {
	padding: 2rem;
}
.products-archive__tabs {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 1rem;
}
.products-archive__tab {
	position: relative;
	padding: 0.75rem 1.75rem;
	border: none;
	background: transparent;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.16em;
	color: #000;
	cursor: pointer;
	transition: color 0.3s ease;
}
.products-archive__tab::after {
	content: "";
	position: absolute;
	left: 0;
	bottom: -0.5rem;
	width: 100%;
	height: 2px;
	background-color: #E6281A;
	transform: scaleX(0);
	transform-origin: center;
	transition: transform 0.3s ease;
}
.products-archive__tab:hover, .products-archive__tab.is-active {
	color: #E6281A;
}
.products-archive__tab:hover::after, .products-archive__tab.is-active::after {
	transform: scaleX(1);
}
.products-archive__section {
	position: relative;
	padding: 1rem 0;
	overflow: hidden;
}
.products-archive__section:after {
	content: "";
	position: absolute;
	left: 50%;
	transform: translateX(-50%);
	bottom: 0;
	width: 50%;
	height: 2px;
	background: linear-gradient(90deg, #fff 0%, rgba(230, 40, 26, 0.25) 50%, #fff 100%);
	pointer-events: none;
}
.products-archive__content {
	font-family: "museosans300", sans-serif;
	position: relative;
	text-align: center;
	padding-top: 5rem;
}
.products-archive__content .container {
	padding: 0 2rem;
}
.products-archive__background-word {
	font-family: "museosansrounded900", sans-serif;
	position: absolute;
	top: 0;
	left: 50%;
	transform: translate(-50%, 0);
	pointer-events: none;
	text-transform: uppercase;
	line-height: 1;
	font-size: clamp(6rem, 13vw, 12rem);
	font-weight: 800;
	opacity: 0.75;
	width: 100%;
}
.products-archive__background-word span {
	display: inline-block;
	color: #fff;
	text-shadow: -1px -1px 0 #e6281a, 1px -1px 0 #e6281a, -1px 1px 0 #e6281a, 1px 1px 0 #e6281a, -1px 0 0 #e6281a, 1px 0 0 #e6281a, 0 -1px 0 #e6281a, 0 1px 0 #e6281a;
}
@media (max-width: 768px) {
	.products-archive__background-word span {
		text-shadow: -0.75px -0.75px 0 #e6281a, 0.75px -0.75px 0 #e6281a, -0.75px 0.75px 0 #e6281a, 0.75px 0.75px 0 #e6281a, -0.75px 0 0 #e6281a, 0.75px 0 0 #e6281a, 0 -0.75px 0 #e6281a, 0 0.75px 0 #e6281a;
	}
}
.products-archive__carousel {
	position: relative;
	padding: 2rem 0 0 0;
}
.products-archive__carousel-track {
	display: flex;
	align-items: flex-end;
	will-change: transform;
	align-content: flex-end;
	flex-wrap: nowrap;
	justify-content: center;
}
.products-archive__item {
	text-align: center;
	margin: 0 -50px;
}
@media (max-width: 1024px) {
	.products-archive__item {
		margin: 0 -45px;
	}
}
@media (max-width: 768px) {
	.products-archive__item {
		margin: 0 -35px;
	}
}
@media (max-width: 640px) {
	.products-archive__item {
		margin: 0 -25px;
	}
}
@media (max-width: 480px) {
	.products-archive__item {
		margin: 0 -15px;
	}
}
.products-archive__figure {
	position: relative;
	margin: 0;
	display: flex;
	align-items: flex-end;
	justify-content: center;
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.12));
	transition: all 0.3s ease-in-out;
}
.products-archive__figure img {
	display: block;
	max-height: 520px;
	width: auto;
	height: auto;
	-o-object-fit: contain;
	object-fit: contain;
}
.products-archive__item-title {
	margin-top: 1.5rem;
	font-size: 1.05rem;
	text-transform: uppercase;
}
.products-archive__subtitle {
	margin: 1.25rem auto 0.75rem;
	text-transform: uppercase;
	color: #E6281A;
}
.products-archive__description {
	margin: 0 auto 1.75rem;
}
.products-archive__description p {
	text-align: center;
	margin-bottom: 1.25rem;
	line-height: 1.7;
}
.products-archive__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 0.85rem 1.85rem;
	border: 1px solid #E6281A;
	color: #E6281A;
	text-transform: uppercase;
	font-weight: 600;
	transition: background-color 0.3s ease, color 0.3s ease;
}
.products-archive__cta svg {
	width: 1.1rem;
	height: 1.1rem;
}
.products-archive__cta:hover {
	background-color: #E6281A;
	color: #fff;
}
.products-archive__fallback {
	padding: 5rem 0;
}
.products-archive__grid {
	display: grid;
	gap: 2rem;
	grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
}
.products-archive__card {
	padding: 1.5rem;
	background-color: #fff;
	border: 1px solid rgba(0, 0, 0, 0.08);
	text-align: center;
	transition: box-shadow 0.3s ease, transform 0.3s ease;
}
.products-archive__card:hover {
	transform: translateY(-6px);
}
.products-archive__card-image {
	margin-bottom: 1rem;
}
.products-archive__card-image img {
	display: block;
	margin: 0 auto;
}
.products-archive__card-title {
	margin: 0;
	font-size: 1.1rem;
	text-transform: uppercase;
}

body.admin-bar .products-archive__nav {
	top: 32px;
}
@media (max-width: 782px) {
	body.admin-bar .products-archive__nav {
		top: 46px;
	}
}

/**
 * Single Product Template Styles
 *
 * @package goplus-xyz
 * @version 2.2.0
 *
 * Changelog:
 * v2.2.0 - 2025-10-26
 * - Made 360 viewer sticky to allow rotation while scrolling past content.
 * - Corrected horizontal gallery implementation to prevent layout breaking.
 * - Added styles for draggable functionality and fixed lightbox issues.
 * v2.1.0 - 2025-10-26
 * - Added styles for horizontal gallery pinning and item links
 * - Added styles for empty spacer div
 * v2.0.0 - 2025-10-26
 * - Redesigned to three-column layout: Description | 360° Image | Related Products
 * - Updated ingredients section to three-column layout with center product image
 * - Added 360° rotation viewer with canvas rendering
 * - Improved background outlined text using heading-outline mixin
 * - Enhanced responsive breakpoints and mobile layout
 */
.single-product__scroll-container::after {
	display: none;
}
.single-product {
	background-color: #fff;
}
.single-product__header {
	position: relative;
	padding: 2rem 0 1rem;
}
@media (max-width: 992px) {
	.single-product__header {
		padding: 1rem 0 1rem;
	}
}
.single-product__header-background {
	font-family: "museosansrounded900", sans-serif;
	position: absolute;
	top: 1rem;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
	width: 100%;
	text-align: center;
	z-index: 0;
}
.single-product__header-background span {
	display: inline-block;
	font-size: clamp(4rem, 12vw, 10rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	text-shadow: -2px -2px 0 #e6281a, 2px -2px 0 #e6281a, -2px 2px 0 #e6281a, 2px 2px 0 #e6281a, -2px 0 0 #e6281a, 2px 0 0 #e6281a, 0 -2px 0 #e6281a, 0 2px 0 #e6281a;
}
.single-product__header-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 0.875fr 1.25fr 0.875fr;
	gap: 3rem;
	align-items: start;
	margin-top: 5%;
}
@media (max-width: 1024px) {
	.single-product__header-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}
.single-product__description {
	position: sticky;
	top: 8vh;
	align-self: start;
	padding-top: 2rem;
}
@media (max-width: 1024px) {
	.single-product__description {
		text-align: center;
		order: 1;
	}
}
.single-product__title {
	font-family: "museosansrounded900", sans-serif;
	font-weight: 900;
	margin: 0 0 1.5rem;
	color: #000;
	line-height: 1.2;
}
.single-product__description-text {
	margin-bottom: 2rem;
	color: rgba(0, 0, 0, 0.8);
	line-height: 1.7;
}
.single-product__description-text p {
	margin-bottom: 1rem;
	font-size: 1.05rem;
}
.single-product__cta {
	display: inline-flex;
	align-items: center;
	gap: 0.75rem;
	padding: 1rem 2rem;
	background-color: #E6281A;
	color: #fff;
	text-transform: uppercase;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-decoration: none;
	transition: all 0.3s ease;
	border: 2px solid #E6281A;
}
.single-product__cta svg {
	width: 18px;
	height: 18px;
	transition: transform 0.3s ease;
}
.single-product__cta:hover {
	background-color: transparent;
	color: #E6281A;
}
.single-product__cta:hover svg {
	transform: translateX(4px);
}
.single-product__360-viewer {
	display: flex;
	align-items: flex-start;
	justify-content: center;
	min-height: 100vh;
	position: sticky;
	top: 4vh;
	z-index: 5;
}
@media (max-width: 1024px) {
	.single-product__360-viewer {
		order: 2;
		height: auto;
		padding: 2rem 0;
		min-height: auto;
		position: relative;
	}
}
.single-product__360-container {
	position: relative;
	width: 100%;
	max-width: 600px;
	aspect-ratio: 4/5;
}
@media (max-width: 648px) {
	.single-product__360-container {
		aspect-ratio: 1;
	}
}
.single-product__360-canvas {
	width: 100%;
	height: 100%;
	display: block;
	-o-object-fit: contain;
	object-fit: contain;
	filter: drop-shadow(0 0 10px rgba(215, 32, 39, 0.25)) drop-shadow(0 0 20px rgba(215, 32, 39, 0.15)) drop-shadow(0 2px 10px rgba(0, 0, 0, 0.2));
}
.single-product__360-loading {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: 1rem;
	color: #E6281A;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.single-product__360-spinner {
	width: 40px;
	height: 40px;
	border: 3px solid rgba(230, 40, 26, 0.2);
	border-top-color: #E6281A;
	border-radius: 50%;
	animation: spin 1s linear infinite;
}
.single-product__static-image {
	margin: 0;
}
.single-product__static-image img {
	display: block;
	width: 100%;
	max-width: 500px;
	height: auto;
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.15));
}
.single-product__related {
	position: sticky;
	top: 8vh;
	align-self: start;
	padding-top: 2rem;
}
@media (max-width: 1024px) {
	.single-product__related {
		order: 3;
	}
}
.single-product__related-heading {
	font-weight: 600;
	margin: 0 0 1.5rem;
	color: #000;
}
@media (max-width: 1024px) {
	.single-product__related-heading {
		text-align: center;
	}
}
.single-product__related-list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 0.5rem;
}
@media (max-width: 1024px) {
	.single-product__related-list {
		max-width: 600px;
		margin: 0 auto;
	}
}
@media (max-width: 640px) {
	.single-product__related-list {
		grid-template-columns: 1fr;
	}
}
.single-product__related-item {
	font-family: "museosansrounded300", sans-serif;
}
.single-product__related-item a,
.single-product__related-item span {
	display: block;
	padding: 0.75rem 1rem;
	color: rgba(0, 0, 0, 0.7);
	text-decoration: none;
	transition: all 0.2s ease;
	border-left: 2px solid transparent;
}
.single-product__related-item a:hover {
	color: #E6281A;
	border-left-color: #E6281A;
	background-color: rgba(230, 40, 26, 0.05);
}
.single-product__related-item.is-current span {
	color: #E6281A;
	font-family: "museosansrounded700", sans-serif;
	font-weight: 700;
	border-left-color: #E6281A;
	background-color: rgba(230, 40, 26, 0.1);
}
.single-product__related-empty {
	color: rgba(0, 0, 0, 0.5);
	font-style: italic;
	text-align: center;
}
.single-product__ingredients {
	position: relative;
	padding: 4rem 0;
	overflow: hidden;
}
@media (max-width: 768px) {
	.single-product__ingredients {
		padding: 2.5rem 0;
	}
}
.single-product__ingredients-background {
	font-family: "museosansrounded900", sans-serif;
	position: absolute;
	top: 2rem;
	left: 50%;
	transform: translateX(-50%);
	pointer-events: none;
	width: 100%;
	text-align: center;
	z-index: 0;
}
.single-product__ingredients-background span {
	display: inline-block;
	font-size: clamp(4rem, 12vw, 10rem);
	font-weight: 800;
	text-transform: uppercase;
	line-height: 1;
	color: #fff;
	text-shadow: -2px -2px 0 #e6281a, 2px -2px 0 #e6281a, -2px 2px 0 #e6281a, 2px 2px 0 #e6281a, -2px 0 0 #e6281a, 2px 0 0 #e6281a, 0 -2px 0 #e6281a, 0 2px 0 #e6281a;
}
.single-product__ingredients-grid {
	position: relative;
	z-index: 1;
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 4rem;
	align-items: center;
	margin: 5% 0;
}
@media (max-width: 1024px) {
	.single-product__ingredients-grid {
		grid-template-columns: 1fr;
		gap: 3rem;
		margin: 0 auto;
	}
}
.single-product__ingredients-left, .single-product__ingredients-right {
	display: flex;
	flex-direction: column;
	gap: 5rem;
}
@media (max-width: 1024px) {
	.single-product__ingredients-left, .single-product__ingredients-right {
		max-width: 500px;
		margin: 0 auto;
		width: 100%;
		gap: 2rem;
	}
}
.single-product__ingredient {
	display: grid;
	grid-template-columns: 1fr auto;
	gap: 1.5rem;
	align-items: center;
}
@media (max-width: 640px) {
	.single-product__ingredient {
		grid-template-columns: 1fr;
		text-align: center;
	}
}
.single-product__ingredients-right .single-product__ingredient {
	grid-template-columns: auto 1fr;
}
@media (max-width: 640px) {
	.single-product__ingredients-right .single-product__ingredient {
		grid-template-columns: 1fr;
	}
}
.single-product__ingredients-left {
	text-align: right;
}
.single-product__ingredient-icon {
	width: 80px;
	height: 80px;
	-o-object-fit: contain;
	object-fit: contain;
}
@media (max-width: 640px) {
	.single-product__ingredient-icon {
		margin: 0 auto;
	}
}
.single-product__ingredient-content {
	flex: 1;
}
.single-product__ingredient-title {
	font-size: 1.25rem;
	font-weight: 700;
	text-transform: uppercase;
	color: #E6281A;
}
.single-product__ingredient-text {
	color: rgba(0, 0, 0, 0.75);
	line-height: 1.6;
	font-size: 0.95rem;
}
.single-product__ingredient-text p {
	margin-bottom: 0.5rem;
}
.single-product__ingredients-center {
	display: flex;
	align-items: flex-start;
	justify-content: center;
}
@media (min-width: 1025px) {
	.single-product__ingredients-center {
		opacity: 0;
		pointer-events: none;
	}
}
@media (max-width: 1024px) {
	.single-product__ingredients-center {
		order: -1;
		align-items: center;
	}
}
.single-product__ingredients-image {
	margin: 0;
}
.single-product__ingredients-image img {
	display: block;
	width: 100%;
	max-width: 350px;
	height: auto;
	filter: drop-shadow(0 20px 40px rgba(0, 0, 0, 0.12));
	opacity: 0;
	transform: rotate(-90deg) scale(0.8);
	will-change: transform, opacity;
}
.single-product__ingredients-image.is-visible img {
	opacity: 1;
	transform: rotate(0deg) scale(1);
	transition: all 1s cubic-bezier(0.34, 1.56, 0.64, 1);
}
.single-product__gallery {
	position: relative;
	z-index: 2;
	padding: 5rem 0 6rem;
	overflow: hidden;
}
.single-product__gallery-track {
	display: flex;
	gap: 2rem;
	padding-bottom: 1.5rem;
	width: -moz-max-content;
	width: max-content;
	cursor: grab;
}
.single-product__gallery-track:active {
	cursor: grabbing;
}
.single-product__gallery-item {
	display: block;
	flex: 0 0 auto;
	max-width: 350px;
	max-height: 500px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 12px rgba(0, 0, 0, 0.11);
	transition: all 0.3s ease-in-out;
	cursor: pointer;
}
.single-product__gallery-item:hover {
	transform: translateY(-8px);
	box-shadow: 0 12px 16px rgba(0, 0, 0, 0.16);
}
.single-product__gallery-item img {
	display: block;
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	pointer-events: none;
}

@keyframes spin {
	to {
		transform: rotate(360deg);
	}
}
.basicLightbox__placeholder img {
	max-width: 90vw;
	max-height: 90vh;
	border-radius: 8px;
}

/* Campaigns
--------------------------------------------- */
/**
 * Campaigns Component Styles
 *
 * Main styles for campaigns post type including archive, single, and carousel layouts
 *
 * @package Go+_XYZ
 * @version 1.0.0
 */
.campaign-card {
	position: relative;
	display: block;
	background: var(--color-white, #fff);
	border-radius: 8px;
	overflow: hidden;
	transition: transform 0.3s ease, box-shadow 0.3s ease;
	box-shadow: 0 6px 12px rgba(0, 0, 0, 0.1);
}
.campaign-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 24px rgba(0, 0, 0, 0.12);
}
.campaign-card:hover .campaign-card__image {
	transform: scale(1.05);
}
.campaign-card:hover .campaign-card__video {
	opacity: 0.9;
}
.campaign-card__link {
	display: block;
	text-decoration: none;
	color: inherit;
}
.campaign-card__wrapper {
	display: flex;
	flex-direction: row;
}
@media (max-width: 768px) {
	.campaign-card__wrapper {
		flex-direction: column;
	}
}
.campaign-card__media {
	position: relative;
	flex: 0 0 56.25%;
	background: var(--color-gray-100, #f5f5f5);
	overflow: hidden;
}
@media (max-width: 768px) {
	.campaign-card__media {
		flex: 0 0 auto;
		aspect-ratio: 16/9;
	}
}
.campaign-card__image-wrapper, .campaign-card__video-wrapper {
	width: 100%;
	height: 100%;
	position: relative;
	overflow: hidden;
}
.campaign-card__image, .campaign-card__video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.4s ease;
}
.campaign-card__play-icon {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%);
	pointer-events: none;
	opacity: 0.8;
	transition: opacity 0.3s ease;
}
.campaign-card__play-icon svg {
	filter: drop-shadow(0 2px 8px rgba(0, 0, 0, 0.2));
}
.campaign-card__year {
	position: absolute;
	top: 16px;
	right: 16px;
	background: rgba(0, 0, 0, 0.8);
	color: var(--color-white, #fff);
	padding: 6px 12px;
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	backdrop-filter: blur(8px);
}
.campaign-card__content {
	flex: 1;
	padding: 24px;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (max-width: 768px) {
	.campaign-card__content {
		padding: 20px;
	}
}
.campaign-card__subtitle {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-primary, #E6281A);
	margin-bottom: 8px;
}
.campaign-card__title {
	font-size: clamp(1.5rem, 5vw, 2.5rem);
	font-weight: 700;
	line-height: 1.3;
	margin: 0 0 12px;
	color: var(--color-text-dark, #1a1a1a);
}
.campaign-card__description {
	line-height: 1.6;
	color: var(--color-text, #666);
	margin-bottom: 16px;
	display: -webkit-box;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}
.campaign-card__cta {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-primary, #E6281A);
	text-transform: uppercase;
	letter-spacing: 0.5px;
	margin-top: auto;
	transition: gap 0.3s ease;
}
.campaign-card:hover .campaign-card__cta {
	gap: 12px;
}
.campaign-card__arrow {
	transition: transform 0.3s ease;
}
.campaign-card:hover .campaign-card__arrow {
	transform: translateX(4px);
}
.campaign-card__image-wrapper--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	background: linear-gradient(135deg, #f5f5f5 0%, #e0e0e0 100%);
}
.campaign-card__image-wrapper--placeholder span {
	color: #999;
	font-size: 14px;
	text-transform: uppercase;
	letter-spacing: 1px;
}

/**
 * Campaigns Archive Styles
 *
 * Styles for campaigns archive page
 *
 * @package Go+_XYZ
 * @version 1.0.0
 */
.campaigns-archive {
	padding: 60px 0;
}
@media (min-width: 768px) {
	.campaigns-archive {
		padding: 80px 0;
	}
}
.campaigns-archive__container {
	max-width: 90vw;
	margin: 0 auto;
}
.campaigns-archive__header {
	text-align: center;
	padding: 0 20px;
}
.campaigns-archive__title {
	font-size: clamp(2rem, 4vw, 3rem);
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--color-text-dark, #1a1a1a);
}
.campaigns-archive__description {
	font-size: 16px;
	line-height: 1.6;
	color: var(--color-text, #666);
	max-width: 600px;
	margin: 0 auto;
}
.campaigns-archive__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(750px, 1fr));
	gap: 32px;
	padding: 0 20px;
}
@media (min-width: 768px) {
	.campaigns-archive__grid {
		gap: 40px;
	}
}
@media (min-width: 1024px) {
	.campaigns-archive__grid {
		gap: 48px;
	}
}
.campaigns-archive__pagination {
	margin-top: 64px;
	padding: 0 20px;
}
.campaigns-archive__pagination .nav-links {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 16px;
	flex-wrap: wrap;
}
.campaigns-archive__pagination .page-numbers {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 44px;
	height: 44px;
	padding: 0 12px;
	border: 1px solid var(--color-gray-300, #ddd);
	border-radius: 4px;
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text, #666);
	text-decoration: none;
	transition: all 0.3s ease;
}
.campaigns-archive__pagination .page-numbers:hover, .campaigns-archive__pagination .page-numbers.current {
	background: var(--color-primary, #E6281A);
	color: var(--color-white, #fff);
	border-color: var(--color-primary, #E6281A);
}
.campaigns-archive__pagination .page-numbers.dots {
	border: none;
	pointer-events: none;
}
.campaigns-archive__pagination .page-numbers.dots:hover {
	background: transparent;
	color: var(--color-text, #666);
}
.campaigns-archive__pagination .page-numbers .pagination__icon {
	display: block;
}
.campaigns-archive__empty {
	text-align: center;
	padding: 80px 20px;
}

/**
 * Single Campaign Styles
 *
 * Styles for individual campaign pages
 *
 * @package Go+_XYZ
 * @version 1.2.0
 *
 * Version History:
 * 1.2.0 - Added poster fallback styles for embedded videos
 *       - Poster image now always visible behind embedded video (z-index layering)
 *       - Ensures hero section never appears blank
 * 1.1.0 - Added styles for oEmbed videos (YouTube, Vimeo, etc.)
 * 1.0.0 - Initial release
 */
.single-campaign__hero {
	position: relative;
	margin-bottom: 60px;
}
@media (min-width: 768px) {
	.single-campaign__hero {
		margin-bottom: 80px;
	}
}
.single-campaign__hero-media {
	position: relative;
	width: 100%;
	height: 100%;
	overflow: hidden;
}
.single-campaign__image-wrapper, .single-campaign__video-wrapper {
	width: 100%;
	height: 100%;
	min-height: 400px;
}
@media (min-width: 768px) {
	.single-campaign__image-wrapper, .single-campaign__video-wrapper {
		min-height: 500px;
	}
}
.single-campaign__image-wrapper--embed, .single-campaign__video-wrapper--embed {
	position: relative;
	padding-bottom: 56.25%;
	min-height: 0;
	height: 0;
	overflow: hidden;
}
.single-campaign__video-poster {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 1;
}
.single-campaign__poster-image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.single-campaign__video-embed-container {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 2;
}
.single-campaign__video-embed-container iframe,
.single-campaign__video-embed-container object,
.single-campaign__video-embed-container embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
}
.single-campaign__image, .single-campaign__video {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.single-campaign__year-badge {
	position: absolute;
	top: 24px;
	right: 24px;
	background: rgba(0, 0, 0, 0.8);
	color: var(--color-white, #fff);
	padding: 12px 24px;
	border-radius: 8px;
	font-size: 18px;
	font-weight: 700;
	backdrop-filter: blur(8px);
	z-index: 2;
}
@media (max-width: 768px) {
	.single-campaign__year-badge {
		top: 16px;
		right: 16px;
		padding: 8px 16px;
		font-size: 16px;
	}
}
.single-campaign__hero-content {
	padding: 40px 20px;
}
@media (min-width: 768px) {
	.single-campaign__hero-content {
		padding: 60px 20px;
	}
}
@media (min-width: 1024px) {
	.single-campaign__hero-content {
		max-width: 900px;
		margin: 0 auto;
	}
}
.single-campaign__subtitle {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-primary, #E6281A);
	margin-bottom: 16px;
}
.single-campaign__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0 0 24px;
	color: var(--color-text-dark, #1a1a1a);
}
.single-campaign__description {
	font-size: 18px;
	line-height: 1.7;
	color: var(--color-text, #666);
	margin-bottom: 32px;
}
.single-campaign__description p:last-child {
	margin-bottom: 0;
}
.single-campaign__categories {
	display: flex;
	flex-wrap: wrap;
	gap: 12px;
}
.single-campaign__category {
	display: inline-block;
	padding: 8px 16px;
	color: var(--color-text, #666);
	border-radius: 20px;
	font-size: 14px;
	font-weight: 600;
	text-decoration: none;
	transition: all 0.3s ease;
}
.single-campaign__category:hover {
	background: var(--color-primary, #E6281A);
	color: var(--color-white, #fff);
}
.single-campaign__promo-content {
	padding: 60px 0;
}
@media (min-width: 768px) {
	.single-campaign__promo-content {
		padding: 80px 0;
	}
}
.single-campaign__section-title {
	font-size: clamp(1.75rem, 3vw, 2.5rem);
	font-weight: 700;
	text-align: center;
	margin: 0 0 48px;
	color: var(--color-text-dark, #1a1a1a);
}
@media (min-width: 768px) {
	.single-campaign__section-title {
		margin-bottom: 64px;
	}
}
.single-campaign__promo-grid {
	display: grid;
	gap: 48px;
	padding: 0 20px;
}
@media (min-width: 768px) {
	.single-campaign__promo-grid {
		gap: 64px;
	}
}
.single-campaign__promo-item {
	display: grid;
	gap: 32px;
	align-items: center;
}
@media (min-width: 768px) {
	.single-campaign__promo-item {
		grid-template-columns: 1fr 1fr;
		gap: 48px;
	}
}
@media (min-width: 768px) {
	.single-campaign__promo-item:nth-child(even) .single-campaign__promo-media {
		order: 2;
	}
	.single-campaign__promo-item:nth-child(even) .single-campaign__promo-text {
		order: 1;
	}
}
.single-campaign__promo-media {
	position: relative;
	border-radius: 8px;
	overflow: hidden;
}
.single-campaign__promo-embed {
	position: relative;
	padding-bottom: 56.25%;
	height: 0;
	overflow: hidden;
}
.single-campaign__promo-embed iframe,
.single-campaign__promo-embed object,
.single-campaign__promo-embed embed {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	border-radius: 8px;
}
.single-campaign__promo-image, .single-campaign__promo-video {
	width: 100%;
	height: auto;
	display: block;
}
.single-campaign__promo-video {
	max-height: 500px;
	-o-object-fit: cover;
	object-fit: cover;
}
.single-campaign__promo-title {
	font-size: clamp(1.5rem, 2.5vw, 2rem);
	font-weight: 700;
	margin: 0 0 16px;
	color: var(--color-text-dark, #1a1a1a);
}
.single-campaign__promo-description {
	font-size: 16px;
	line-height: 1.7;
	color: var(--color-text, #666);
	margin: 0;
}
.single-campaign__additional-content {
	padding: 60px 0;
}
@media (min-width: 768px) {
	.single-campaign__additional-content {
		padding: 80px 0;
	}
}
.single-campaign__content {
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
	font-size: 16px;
	line-height: 1.7;
	color: var(--color-text, #666);
}
.single-campaign__navigation {
	border-top: 1px solid var(--color-gray-200, #e5e5e5);
	padding: 40px 0;
	margin-top: 60px;
}
@media (min-width: 768px) {
	.single-campaign__navigation {
		padding: 60px 0;
	}
}
.single-campaign__nav-links {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	gap: 16px;
	align-items: center;
	padding: 0 20px;
}
@media (max-width: 768px) {
	.single-campaign__nav-links {
		grid-template-columns: 1fr;
		gap: 24px;
	}
}
.single-campaign__nav-link {
	display: flex;
	flex-direction: column;
	gap: 8px;
	padding: 16px;
	border: 1px solid var(--color-gray-200, #e5e5e5);
	border-radius: 8px;
	text-decoration: none;
	color: var(--color-text, #666);
	transition: all 0.3s ease;
}
.single-campaign__nav-link:hover {
	border-color: var(--color-primary, #E6281A);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.08);
}
.single-campaign__nav-link--prev {
	text-align: left;
}
.single-campaign__nav-link--next {
	text-align: right;
	grid-column: 3;
}
@media (max-width: 768px) {
	.single-campaign__nav-link--next {
		grid-column: 1;
	}
}
.single-campaign__nav-link--archive {
	display: inline-flex;
	flex-direction: row;
	align-items: center;
	justify-content: center;
	gap: 8px;
	padding: 16px 24px;
	background: #E6281A;
	color: var(--color-white, #fff);
	border: none;
	font-weight: 600;
}
.single-campaign__nav-link--archive:hover {
	background: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	color: #fff;
	box-shadow: 0 4px 12px rgba(184.8228346457, 31.4763779528, 20.1771653543, 0.3);
}
@media (max-width: 768px) {
	.single-campaign__nav-link--archive {
		order: -1;
	}
}
.single-campaign__nav-label {
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1px;
	color: var(--color-primary, #E6281A);
}
.single-campaign__nav-thumb {
	width: 60px;
	height: 60px;
	border-radius: 4px;
	overflow: hidden;
	margin-bottom: 8px;
}
.single-campaign__nav-thumb img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.single-campaign__nav-title {
	font-size: 14px;
	font-weight: 600;
	color: var(--color-text-dark, #1a1a1a);
}

/**
 * Campaigns Carousel Styles
 *
 * Styles for campaigns carousel component used in flexible content
 *
 * @package Go+_XYZ
 * @version 1.0.0
 */
.campaigns-carousel {
	padding: 20px 0;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.campaigns-carousel {
		padding: 20px 0;
	}
}
.campaigns-carousel .container {
	margin: 0 auto;
	padding: 0 10px;
}
.campaigns-carousel__header {
	text-align: center;
	margin-bottom: 48px;
	padding: 0 20px;
}
@media (min-width: 768px) {
	.campaigns-carousel__header {
		margin-bottom: 64px;
	}
}
.campaigns-carousel__subtitle {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 2px;
	color: var(--color-primary, #E6281A);
	margin-bottom: 2px;
}
.campaigns-carousel__title {
	margin: 0;
	text-transform: uppercase;
	color: #1b1b1b;
}
.campaigns-carousel__wrapper {
	position: relative;
	padding: 0 10px;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.campaigns-carousel__wrapper {
		padding: 0 10px;
	}
}
.campaigns-carousel__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(280px, 1fr));
	gap: 32px;
}
@media (min-width: 768px) {
	.campaigns-carousel__grid {
		gap: 40px;
	}
}
@media (min-width: 1024px) {
	.campaigns-carousel__grid {
		gap: 48px;
	}
}
.campaigns-carousel__slides {
	display: flex;
	overflow: hidden;
	gap: 10px;
}
@media (min-width: 768px) {
	.campaigns-carousel__slides {
		gap: 25px;
	}
}
.campaigns-carousel__slides.swiper {
	width: 100%;
	margin: 0 auto;
}
@media (min-width: 768px) {
	.campaigns-carousel__slides.swiper {
		height: 320px;
	}
}
.campaigns-carousel__slides.swiper .swiper-wrapper {
	display: flex;
	margin: 0 auto;
	align-items: center;
}
.campaigns-carousel__slides.swiper .swiper-slide {
	height: auto;
}
.campaigns-carousel__item {
	height: 100%;
}
.campaigns-carousel__slides .campaigns-carousel__item {
	flex: 0 0 100%;
}
@media (min-width: 768px) {
	.campaigns-carousel__slides .campaigns-carousel__item {
		flex: 0 0 calc(50% - 20px);
	}
}
@media (min-width: 1024px) {
	.campaigns-carousel__slides .campaigns-carousel__item {
		flex: 0 0 calc(70% - 5px);
	}
}
.campaigns-carousel__controls {
	display: flex;
	justify-content: center;
	gap: 16px;
	margin-top: 32px;
	z-index: 10;
}
@media (min-width: 768px) {
	.campaigns-carousel__controls {
		position: absolute;
		top: 50%;
		left: 0;
		right: 0;
		transform: translateY(-50%);
		justify-content: space-between;
		margin-top: 0;
		padding: 0 20px;
		pointer-events: none;
	}
}
.campaigns-carousel__prev, .campaigns-carousel__next {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 48px;
	height: 48px;
	background: var(--color-white, #fff);
	border: 1px solid var(--color-gray-300, #ddd);
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
	pointer-events: all;
}
.campaigns-carousel__prev:hover:not(:disabled), .campaigns-carousel__next:hover:not(:disabled) {
	background: var(--color-primary, #E6281A);
	border-color: var(--color-primary, #E6281A);
	color: var(--color-white, #fff);
	box-shadow: 0 4px 12px rgba(186, 173, 106, 0.3);
}
.campaigns-carousel__prev:disabled, .campaigns-carousel__next:disabled {
	opacity: 0.3;
	cursor: not-allowed;
}
@media (min-width: 768px) {
	.campaigns-carousel__prev, .campaigns-carousel__next {
		width: 56px;
		height: 56px;
	}
}
.campaigns-carousel__pagination {
	display: flex;
	justify-content: center;
	gap: 8px;
	margin-top: 24px;
}
@media (min-width: 768px) {
	.campaigns-carousel__pagination {
		margin-top: 32px;
	}
}
.campaigns-carousel .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: var(--color-gray-300, #ddd);
	border-radius: 50%;
	cursor: pointer;
	transition: all 0.3s ease;
}
.campaigns-carousel .swiper-pagination-bullet:hover, .campaigns-carousel .swiper-pagination-bullet-active {
	background: var(--color-primary, #E6281A);
}
.campaigns-carousel .swiper-pagination-bullet-active {
	width: 32px;
	border-radius: 6px;
}
.campaigns-carousel__cta {
	text-align: center;
	margin-top: 48px;
	padding: 0 20px;
}
@media (min-width: 768px) {
	.campaigns-carousel__cta {
		margin-top: 64px;
	}
}
.campaigns-carousel__cta-button {
	display: inline-flex;
	align-items: center;
	gap: 12px;
	padding: 16px 32px;
	background: #E6281A;
	color: var(--color-white, #fff);
	border-radius: 8px;
	font-size: 16px;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1px;
	transition: all 0.3s ease;
}
.campaigns-carousel__cta-button:hover {
	background: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	color: #fff;
	box-shadow: 0 8px 24px rgba(184.8228346457, 31.4763779528, 20.1771653543, 0.3);
	gap: 16px;
}
.campaigns-carousel__cta-button:hover svg {
	transform: translateX(4px);
}
.campaigns-carousel__cta-button svg {
	transition: transform 0.3s ease;
}
.campaigns-carousel--grid .campaigns-carousel__wrapper {
	padding: 0 20px;
}
.campaigns-carousel--grid .campaigns-carousel__controls,
.campaigns-carousel--grid .campaigns-carousel__pagination {
	display: none;
}

/* Page Templates
--------------------------------------------- */
/**
 * Contact Page Template Styles
 *
 * @package GoPlus_XYZ
 * @since 1.0.0
 * @version 1.2.0
 *
 * Changelog:
 * v1.2.0 - 2025-10-27
 * - Updated to use theme variables from _colors.scss, _variables.scss, _typography.scss
 * - Replaced generic CSS custom properties with theme-specific variables
 * - Applied brand colors and spacing system
 * - Using color.adjust() instead of darken()/lighten() functions
 *
 * v1.1.0 - 2025-10-27
 * - Updated icon styling for SVG icons instead of images
 * - SVG icons now use currentColor for better theming
 *
 * v1.0.0 - 2025-10-27
 * - Initial creation
 * - Two-column layout with contact details and form
 * - Responsive design with mobile-first approach
 */
.contact-page {
	padding: 40px 0;
}
@media (max-width: 768px) {
	.contact-page {
		padding: 20px 0;
	}
}
.contact-page__header {
	text-align: center;
	margin-bottom: 20px;
	max-width: 1100px;
	margin-left: auto;
	margin-right: auto;
}
@media (max-width: 768px) {
	.contact-page__header {
		margin-bottom: 10px;
	}
}
.contact-page__title {
	font-size: clamp(2.5rem, 5vw, 5rem);
	font-weight: 700;
	color: #fff;
	text-shadow: -1px -1px 0 #e6281a, 1px -1px 0 #e6281a, -1px 1px 0 #e6281a, 1px 1px 0 #e6281a, -1px 0 0 #e6281a, 1px 0 0 #e6281a, 0 -1px 0 #e6281a, 0 1px 0 #e6281a;
	margin-bottom: 1.5rem;
	line-height: 1.1;
}
@media (max-width: 768px) {
	.contact-page__title {
		font-size: 1rem;
	}
}
.contact-page__intro {
	font-size: 1rem;
	color: #4e4e4e;
	line-height: 1.5;
}
.contact-page__intro p {
	margin-bottom: 0;
}
.contact-page__content {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 2rem;
	align-items: start;
	border-radius: 12px;
	border: 2px solid #e2e8f0;
}
@media (max-width: 1024px) {
	.contact-page__content {
		grid-template-columns: 1fr;
		gap: 1.5rem;
	}
}
@media (max-width: 768px) {
	.contact-page__content {
		gap: 1rem;
	}
}
@media (min-width: 1025px) {
	.contact-page__details {
		position: sticky;
		top: 2rem;
	}
}
.contact-details {
	padding: 3rem 2rem;
}
@media (max-width: 768px) {
	.contact-details {
		padding: 2rem;
	}
}
.contact-details__title {
	color: #1a1a1a;
	line-height: 1.5;
}
.contact-details__list {
	list-style: none;
	padding: 0;
	margin: 0;
}
.contact-details__item {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	padding: 1.5rem 0;
	border-bottom: 2px solid #e2e8f0;
}
.contact-details__item:first-child {
	padding-top: 0;
}
.contact-details__item:last-child {
	border-bottom: none;
	padding-bottom: 0;
}
.contact-details__icon {
	flex-shrink: 0;
	width: 45px;
	height: 45px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #E6281A;
	border-radius: 8px;
	padding: 0.5rem;
	color: #fff;
	transition: 0.3s ease-in-out;
}
.contact-details__icon svg {
	width: 24px;
	height: 24px;
	stroke: currentColor;
}
.contact-details__content {
	flex: 1;
	min-width: 0;
}
.contact-details__link {
	color: #1a1a1a;
	text-decoration: none;
	font-size: 1rem;
	line-height: 1.5;
	display: inline-block;
	transition: 0.3s ease-in-out;
}
.contact-details__link:hover, .contact-details__link:focus {
	color: #E6281A;
}
.contact-details__text {
	color: #1a1a1a;
	font-size: 1rem;
	line-height: 1.5;
	display: block;
}

.contact-form {
	padding: 3rem;
}
@media (max-width: 768px) {
	.contact-form {
		padding: 2rem;
	}
}
.contact-form__title {
	color: #1a1a1a;
	line-height: 1.5;
}
.contact-form__notice {
	padding: 1.5rem;
	background: rgb(253.7671232877, 246.9178082192, 241.2328767123);
	color: rgb(126.6575342466, 63.6438356164, 11.3424657534);
	border-radius: 8px;
	border: 2px solid #ed8936;
	margin: 0;
	text-align: center;
	font-size: 1rem;
}

/* Flexible Content Sections
--------------------------------------------- */
/**
 * Flexible Content Styles
 *
 * Styles for ACF flexible content sections and layouts
 *
 * @package Go+_XYZ
 */
.section-hero-section,
.section-intro-section,
.section-brands-slider-section,
.section-horizontal-gallery,
.section-contact-section,
.section-google-maps,
.section-svg-divider {
	position: relative;
	padding: 4rem 0;
}
.section-hero-section .container,
.section-intro-section .container,
.section-brands-slider-section .container,
.section-horizontal-gallery .container,
.section-contact-section .container,
.section-google-maps .container,
.section-svg-divider .container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
}

.section-hero-section {
	position: relative;
	min-height: 60vh;
	display: flex;
	align-items: center;
	justify-content: center;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	color: #ffffff;
}
.section-hero-section .hero-background {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	z-index: 0;
}
.section-hero-section .hero-overlay {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	background: rgba(0, 0, 0, 0.4);
	z-index: 1;
}
.section-hero-section .container {
	position: relative;
	z-index: 2;
	text-align: center;
}
.section-hero-section .hero-content {
	max-width: 800px;
	margin: 0 auto;
}
.section-hero-section .hero-title {
	font-size: clamp(2rem, 6vw, 4rem);
	font-weight: 900;
	margin-bottom: 1rem;
	text-transform: uppercase;
	letter-spacing: -0.02em;
	text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
}
.section-hero-section .hero-subtitle {
	font-size: clamp(1rem, 2.5vw, 1.5rem);
	margin-bottom: 2rem;
	opacity: 0.9;
	text-shadow: 1px 1px 2px rgba(0, 0, 0, 0.5);
}
.section-hero-section .hero-cta .btn {
	padding: 1rem 2rem;
	background: #E6281A;
	color: #ffffff;
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
}
.section-hero-section .hero-cta .btn:hover {
	background: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	transform: translateY(-2px);
}
.section-hero-section .hero-scroll-indicator {
	position: absolute;
	bottom: 2rem;
	left: 50%;
	transform: translateX(-50%);
	display: flex;
	flex-direction: column;
	align-items: center;
	color: #ffffff;
	cursor: pointer;
}
.section-hero-section .hero-scroll-indicator .scroll-arrow {
	width: 40px;
	height: 40px;
	border: 2px solid currentColor;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	margin-bottom: 0.5rem;
	animation: bounce 2s infinite;
}
.section-hero-section .hero-scroll-indicator .scroll-text {
	font-size: 0.8rem;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	opacity: 0.8;
}

.section-intro-section .intro-content {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}
.section-intro-section .intro-section-title {
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #E6281A;
	margin-bottom: 1rem;
}
.section-intro-section .intro-main-heading {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	margin-bottom: 1.5rem;
	color: #1a1a1a;
	line-height: 1.2;
}
.section-intro-section .intro-description {
	font-size: 1.1rem;
	line-height: 1.7;
	color: #4e4e4e;
	margin-bottom: 2rem;
}
.section-intro-section .intro-cta .btn {
	padding: 1rem 2rem;
	background: #2b77e7;
	color: #ffffff;
	text-decoration: none;
	border-radius: 50px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: all 0.3s ease;
}
.section-intro-section .intro-cta .btn:hover {
	background: rgb(22.6779661017, 94.4915254237, 200.3220338983);
	transform: translateY(-2px);
}

.section-brands-slider-section .brands-section-title {
	font-size: 2.5rem;
	font-weight: 700;
	text-align: center;
	margin-bottom: 2rem;
	color: #1a1a1a;
}
.section-brands-slider-section .brands-filter {
	display: flex;
	justify-content: center;
	gap: 1rem;
	margin-bottom: 3rem;
	flex-wrap: wrap;
}
.section-brands-slider-section .brands-filter .filter-btn {
	padding: 0.5rem 1rem;
	border: 2px solid #2b77e7;
	background: transparent;
	color: #2b77e7;
	border-radius: 25px;
	font-weight: 500;
	cursor: pointer;
	transition: all 0.3s ease;
}
.section-brands-slider-section .brands-filter .filter-btn:hover, .section-brands-slider-section .brands-filter .filter-btn.active {
	background: #2b77e7;
	color: #ffffff;
}
.section-brands-slider-section .brands-slider-container {
	position: relative;
}
.section-brands-slider-section .brands-slider-container .brands-slider {
	display: flex;
	gap: 2rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding-bottom: 1rem;
}
.section-brands-slider-section .brands-slider-container .brands-slider::-webkit-scrollbar {
	height: 8px;
}
.section-brands-slider-section .brands-slider-container .brands-slider::-webkit-scrollbar-track {
	background: #f8f9fa;
	border-radius: 4px;
}
.section-brands-slider-section .brands-slider-container .brands-slider::-webkit-scrollbar-thumb {
	background: #2b77e7;
	border-radius: 4px;
}
.section-brands-slider-section .brands-slider-container .brand-slide {
	flex: 0 0 auto;
	width: 300px;
	scroll-snap-align: start;
}
@media (max-width: 768px) {
	.section-brands-slider-section .brands-slider-container .brand-slide {
		width: 250px;
	}
}
.section-brands-slider-section .brands-slider-container .brand-card {
	background: #ffffff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}
.section-brands-slider-section .brands-slider-container .brand-card:hover {
	transform: translateY(-5px);
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-image {
	height: 200px;
	overflow: hidden;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-image img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-image:hover img {
	transform: scale(1.05);
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-image .no-image {
	width: 100%;
	height: 100%;
	background: #f8f9fa;
	display: flex;
	align-items: center;
	justify-content: center;
	color: #718096;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info {
	padding: 1.5rem;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info .brand-name {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: #1a1a1a;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info .brand-type {
	display: inline-block;
	margin-bottom: 1rem;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info .brand-description {
	color: #4e4e4e;
	margin-bottom: 1rem;
	line-height: 1.5;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info .brand-link {
	color: #2b77e7;
	text-decoration: none;
	font-weight: 600;
	font-size: 0.9rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	transition: color 0.3s ease;
}
.section-brands-slider-section .brands-slider-container .brand-card .brand-info .brand-link:hover {
	color: #E6281A;
}
.section-brands-slider-section .brands-slider-container .slider-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #ffffff;
	border: 2px solid #e2e8f0;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
}
.section-brands-slider-section .brands-slider-container .slider-nav:hover {
	background: #2b77e7;
	color: #ffffff;
	border-color: #2b77e7;
}
.section-brands-slider-section .brands-slider-container .slider-nav.slider-prev {
	left: -25px;
}
.section-brands-slider-section .brands-slider-container .slider-nav.slider-next {
	right: -25px;
}
@media (max-width: 768px) {
	.section-brands-slider-section .brands-slider-container .slider-nav {
		display: none;
	}
}
.section-brands-slider-section .no-products {
	text-align: center;
	color: #718096;
	font-size: 1.1rem;
	padding: 2rem;
}

@media (max-width: 768px) {
	.section-hero-section,
	.section-intro-section,
	.section-brands-slider-section {
		padding: 3rem 0;
	}
	.section-hero-section .container,
	.section-intro-section .container,
	.section-brands-slider-section .container {
		padding: 0 1rem;
	}
	.section-hero-section {
		min-height: 50vh;
	}
	.section-hero-section .hero-title {
		font-size: clamp(1.5rem, 8vw, 2.5rem);
	}
	.section-hero-section .hero-subtitle {
		font-size: clamp(0.9rem, 4vw, 1.1rem);
	}
	.section-intro-section .intro-main-heading {
		font-size: clamp(1.5rem, 6vw, 2.5rem);
	}
	.section-brands-slider-section .brands-section-title {
		font-size: 2rem;
	}
	.section-brands-slider-section .brands-filter {
		gap: 0.5rem;
	}
	.section-brands-slider-section .brands-filter .filter-btn {
		padding: 0.4rem 0.8rem;
		font-size: 0.9rem;
	}
}
@media (max-width: 480px) {
	.section-hero-section,
	.section-intro-section,
	.section-brands-slider-section {
		padding: 2rem 0;
	}
}
@keyframes bounce {
	0%, 20%, 50%, 80%, 100% {
		transform: translateY(0);
	}
	40% {
		transform: translateY(-10px);
	}
	60% {
		transform: translateY(-5px);
	}
}
@media (prefers-reduced-motion: reduce) {
	.section-hero-section .hero-scroll-indicator .scroll-arrow,
	.section-hero-section .brand-card,
	.section-hero-section .slider-nav,
	.section-intro-section .hero-scroll-indicator .scroll-arrow,
	.section-intro-section .brand-card,
	.section-intro-section .slider-nav,
	.section-brands-slider-section .hero-scroll-indicator .scroll-arrow,
	.section-brands-slider-section .brand-card,
	.section-brands-slider-section .slider-nav {
		animation: none !important;
		transition: none !important;
	}
	.section-hero-section .brand-card:hover,
	.section-intro-section .brand-card:hover,
	.section-brands-slider-section .brand-card:hover {
		transform: none;
	}
	.section-hero-section .slider-nav:hover,
	.section-intro-section .slider-nav:hover,
	.section-brands-slider-section .slider-nav:hover {
		transform: none;
	}
}
.section-horizontal-gallery .gallery-header {
	text-align: center;
	margin-bottom: 3rem;
}
.section-horizontal-gallery .gallery-header .gallery-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #1a1a1a;
}
.section-horizontal-gallery .gallery-header .gallery-subtitle {
	font-size: 1.1rem;
	color: #4e4e4e;
	max-width: 600px;
	margin: 0 auto;
}
.section-horizontal-gallery .horizontal-gallery {
	position: relative;
}
.section-horizontal-gallery .horizontal-gallery .gallery-track {
	display: flex;
	gap: 2rem;
	overflow-x: auto;
	scroll-snap-type: x mandatory;
	padding: 1rem 0;
	transition: transform 0.5s ease-in-out;
}
.section-horizontal-gallery .horizontal-gallery .gallery-track::-webkit-scrollbar {
	height: 8px;
}
.section-horizontal-gallery .horizontal-gallery .gallery-track::-webkit-scrollbar-track {
	background: #f8f9fa;
	border-radius: 4px;
}
.section-horizontal-gallery .horizontal-gallery .gallery-track::-webkit-scrollbar-thumb {
	background: #2b77e7;
	border-radius: 4px;
}
.section-horizontal-gallery .horizontal-gallery .gallery-item {
	flex: 0 0 auto;
	width: 400px;
	scroll-snap-align: start;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: transform 0.3s ease;
}
.section-horizontal-gallery .horizontal-gallery .gallery-item:hover {
	transform: translateY(-5px);
}
@media (max-width: 768px) {
	.section-horizontal-gallery .horizontal-gallery .gallery-item {
		width: 300px;
	}
}
.section-horizontal-gallery .horizontal-gallery .gallery-item img {
	width: 100%;
	height: 250px;
	-o-object-fit: cover;
	object-fit: cover;
	transition: transform 0.3s ease;
}
.section-horizontal-gallery .horizontal-gallery .gallery-item img:hover {
	transform: scale(1.05);
}
.section-horizontal-gallery .horizontal-gallery .gallery-item .gallery-caption {
	padding: 1rem;
	background: #ffffff;
	text-align: center;
}
.section-horizontal-gallery .horizontal-gallery .gallery-item .gallery-caption p {
	margin: 0;
	color: #4e4e4e;
	font-size: 0.9rem;
}
.section-horizontal-gallery .horizontal-gallery .gallery-nav {
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	background: #ffffff;
	border: 2px solid #e2e8f0;
	border-radius: 50%;
	width: 50px;
	height: 50px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	z-index: 10;
}
.section-horizontal-gallery .horizontal-gallery .gallery-nav:hover {
	background: #2b77e7;
	color: #ffffff;
	border-color: #2b77e7;
}
.section-horizontal-gallery .horizontal-gallery .gallery-nav.gallery-prev {
	left: -25px;
}
.section-horizontal-gallery .horizontal-gallery .gallery-nav.gallery-next {
	right: -25px;
}
@media (max-width: 768px) {
	.section-horizontal-gallery .horizontal-gallery .gallery-nav {
		display: none;
	}
}
.section-horizontal-gallery .horizontal-gallery .gallery-dots {
	display: flex;
	justify-content: center;
	gap: 0.5rem;
	margin-top: 2rem;
}
.section-horizontal-gallery .horizontal-gallery .gallery-dots .gallery-dot {
	width: 12px;
	height: 12px;
	border-radius: 50%;
	border: 2px solid #2b77e7;
	background: transparent;
	cursor: pointer;
	transition: all 0.3s ease;
}
.section-horizontal-gallery .horizontal-gallery .gallery-dots .gallery-dot:hover, .section-horizontal-gallery .horizontal-gallery .gallery-dots .gallery-dot.active {
	background: #2b77e7;
}
.section-horizontal-gallery .no-gallery {
	text-align: center;
	color: #718096;
	font-size: 1.1rem;
	padding: 2rem;
}

.section-contact-section .contact-header {
	text-align: center;
	margin-bottom: 3rem;
}
.section-contact-section .contact-header .contact-section-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #1a1a1a;
}
.section-contact-section .contact-header .contact-section-subtitle {
	font-size: 1.1rem;
	color: #4e4e4e;
	max-width: 600px;
	margin: 0 auto;
}
.section-contact-section .contact-content-wrapper {
	display: grid;
	grid-template-columns: 0.75fr 1.25fr;
	gap: 2rem;
	align-items: start;
}
@media (max-width: 768px) {
	.section-contact-section .contact-content-wrapper {
		grid-template-columns: 1fr;
		gap: 3rem;
	}
}
.section-contact-section .contact-info-section .contact-info-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 2rem;
	color: #1a1a1a;
}
.section-contact-section .contact-info-section .contact-details .contact-item {
	margin-bottom: 2rem;
}
.section-contact-section .contact-info-section .contact-details .contact-item .contact-label {
	font-size: 1rem;
	font-weight: 600;
	color: #E6281A;
	margin-bottom: 0.5rem;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.section-contact-section .contact-info-section .contact-details .contact-item .contact-value {
	font-size: 1rem;
	line-height: 1.25;
	color: #4e4e4e;
	display: flex;
	align-items: center;
	gap: 1.5rem;
}
.section-contact-section .contact-info-section .contact-details .contact-item .contact-value a {
	color: #1a1a1a;
	text-decoration: none;
	transition: color 0.3s ease;
}
.section-contact-section .contact-info-section .contact-details .contact-item .contact-value a:hover {
	color: #E6281A;
}
.section-contact-section .contact-form-section .contact-form-title {
	font-size: 1.5rem;
	font-weight: 600;
	margin-bottom: 2rem;
	color: #1a1a1a;
}
.section-contact-section .contact-form-section .contact-form {
	background: #f8f9fa;
	padding: 2rem;
	border-radius: 12px;
}
@media (max-width: 768px) {
	.section-contact-section .contact-form-section .contact-form {
		padding: 1.5rem;
	}
}
.section-contact-section .contact-form-section .contact-form-fallback .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 1rem;
	margin-bottom: 1.5rem;
}
@media (max-width: 768px) {
	.section-contact-section .contact-form-section .contact-form-fallback .form-row {
		grid-template-columns: 1fr;
	}
}
.section-contact-section .contact-form-section .contact-form-fallback .form-group {
	margin-bottom: 1.5rem;
}
.section-contact-section .contact-form-section .contact-form-fallback .form-group label {
	display: block;
	margin-bottom: 0.5rem;
	font-weight: 600;
	color: #1a1a1a;
}
.section-contact-section .contact-form-section .contact-form-fallback .form-group input,
.section-contact-section .contact-form-section .contact-form-fallback .form-group textarea {
	width: 100%;
	padding: 0.8rem;
	border: 2px solid #e2e8f0;
	border-radius: 8px;
	font-size: 1rem;
	transition: border-color 0.3s ease;
}
.section-contact-section .contact-form-section .contact-form-fallback .form-group input:focus,
.section-contact-section .contact-form-section .contact-form-fallback .form-group textarea:focus {
	outline: none;
	border-color: #2b77e7;
}
.section-contact-section .contact-form-section .contact-form-fallback .form-group textarea {
	resize: vertical;
	min-height: 120px;
}
.section-contact-section .contact-form-section .contact-form-fallback .btn {
	padding: 1rem 2rem;
	background: #E6281A;
	color: #ffffff;
	border: none;
	border-radius: 8px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	cursor: pointer;
	transition: all 0.3s ease;
}
.section-contact-section .contact-form-section .contact-form-fallback .btn:hover {
	background: rgb(184.8228346457, 31.4763779528, 20.1771653543);
	transform: translateY(-2px);
}

.section-google-maps .maps-header {
	text-align: center;
	margin-bottom: 3rem;
}
.section-google-maps .maps-header .maps-section-title {
	font-size: 2.5rem;
	font-weight: 700;
	margin-bottom: 1rem;
	color: #1a1a1a;
}
.section-google-maps .maps-header .maps-section-subtitle {
	font-size: 1.1rem;
	color: #4e4e4e;
	max-width: 600px;
	margin: 0 auto;
}
.section-google-maps .maps-content .map-address {
	text-align: center;
	margin-bottom: 2rem;
}
.section-google-maps .maps-content .map-address h3 {
	font-size: 1.2rem;
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: #1a1a1a;
}
.section-google-maps .maps-content .map-address p {
	color: #4e4e4e;
	margin: 0;
}
.section-google-maps .maps-content .map-container {
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
}
.section-google-maps .maps-content .map-container .google-map {
	background: #f8f9fa;
	position: relative;
}
.section-google-maps .maps-content .map-container .map-fallback {
	padding: 2rem;
	text-align: center;
	background: #f8f9fa;
}
.section-google-maps .maps-content .map-container .map-fallback p {
	color: #718096;
	margin-bottom: 1rem;
}
.section-google-maps .maps-content .map-container .map-fallback address {
	font-size: 1rem;
	color: #4e4e4e;
	line-height: 1.6;
}
.section-google-maps .maps-content .map-container .map-fallback .map-info-window {
	margin-top: 1rem;
	padding: 1rem;
	background: #ffffff;
	border-radius: 8px;
}
.section-google-maps .maps-content .map-container .map-fallback .map-info-window h4 {
	margin-bottom: 0.5rem;
	color: #1a1a1a;
}
.section-google-maps .maps-content .map-container .map-fallback .map-info-window p {
	margin: 0;
	color: #4e4e4e;
}
.section-google-maps .no-map {
	text-align: center;
	color: #718096;
	font-size: 1.1rem;
	padding: 2rem;
}

.section-svg-divider {
	padding: 0;
	line-height: 0;
}
.section-svg-divider .svg-divider-container {
	display: block;
	width: 100%;
	height: 120px;
	overflow: hidden;
}
@media (max-width: 768px) {
	.section-svg-divider .svg-divider-container {
		height: 80px;
	}
}
.section-svg-divider .svg-divider-container .svg-divider {
	width: 100%;
	height: 100%;
	display: block;
}

@media (prefers-contrast: high) {
	.section-hero-section .hero-overlay {
		background: rgba(0, 0, 0, 0.7);
	}
	.section-brands-slider-section .brand-card {
		border: 2px solid #4a5568;
	}
	.section-brands-slider-section .brands-filter .filter-btn {
		border-width: 3px;
	}
	.section-horizontal-gallery .gallery-item {
		border: 2px solid #4a5568;
	}
	.section-contact-section .contact-form {
		border: 2px solid #4a5568;
	}
	.section-contact-section .contact-form-fallback input,
	.section-contact-section .contact-form-fallback textarea {
		border-width: 3px;
	}
	.section-google-maps .map-container {
		border: 2px solid #4a5568;
	}
}
/**
 * One Column Content Component
 *
 * @package GoPlus_XYZ
 * @since 1.3.0
 * @version 1.0.0
 *
 * Changelog:
 * v1.0.0 - 2025-10-30
 * - Initial creation
 * - Responsive typography and spacing
 * - Support for narrow/medium/wide widths
 * - Support for left/center/right text alignment
 * - Support for small/medium/large spacing
 */
.one-column-content {
	padding: 2rem 0;
	position: relative;
}
.one-column-content__container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 40px 60px 40px 60px;
}
@media (max-width: 768px) {
	.one-column-content__container {
		padding: 0 1.5rem;
	}
}
.one-column-content__inner {
	margin: 0 auto;
	transition: all 0.3s ease;
}
.one-column-content__subtitle {
	font-family: "museosansrounded700", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-primary, #E6281A);
	line-height: 1.4;
}
.one-column-content__title {
	font-size: clamp(2rem, 5vw, 3.5rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 1.5rem;
	margin-top: 0.25rem;
	color: var(--color-text-dark, #1a1a1a);
}
@media (max-width: 768px) {
	.one-column-content__title {
		margin-bottom: 1rem;
	}
}
.one-column-content__content {
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--color-text, #333);
	margin-top: 2rem;
}
@media (max-width: 768px) {
	.one-column-content__content {
		font-size: 1rem;
	}
}
.one-column-content__content p {
	margin-bottom: 1.5rem;
}
.one-column-content__content p:last-child {
	margin-bottom: 0;
}
.one-column-content__content h3,
.one-column-content__content h4,
.one-column-content__content h5,
.one-column-content__content h6 {
	margin: 2rem 0 1rem;
	line-height: 1.3;
}
.one-column-content__content h3 {
	font-size: 1.75rem;
}
.one-column-content__content h4 {
	font-size: 1.5rem;
}
.one-column-content__content ul,
.one-column-content__content ol {
	margin: 1.5rem 0;
	padding-left: 2rem;
}
.one-column-content__content ul li,
.one-column-content__content ol li {
	margin-bottom: 0.75rem;
	line-height: 1.6;
}
.one-column-content__content ul li:last-child,
.one-column-content__content ol li:last-child {
	margin-bottom: 0;
}
.one-column-content__content a {
	color: var(--color-primary, #E6281A);
	text-decoration: underline;
	transition: color 0.3s ease;
}
.one-column-content__content a:hover {
	color: var(--color-primary-dark, #e55a28);
}
.one-column-content__content strong,
.one-column-content__content b {
	font-weight: 600;
}
.one-column-content__content blockquote {
	margin: 2rem 0;
	padding: 1.5rem 2rem;
	border-left: 4px solid var(--color-primary, #E6281A);
	background: #f8f9fa;
	font-style: italic;
}
.one-column-content__content img {
	max-width: 100%;
	height: auto;
	border-radius: 8px;
	margin: 2rem 0;
}
.one-column-content--align-left {
	text-align: left;
}
.one-column-content--align-center {
	text-align: center;
}
.one-column-content--align-right {
	text-align: right;
}
.one-column-content--spacing-small {
	padding: 2rem 0;
}
@media (max-width: 768px) {
	.one-column-content--spacing-small {
		padding: 1.5rem 0;
	}
}
.one-column-content--spacing-medium {
	padding: 4rem 0;
}
@media (max-width: 768px) {
	.one-column-content--spacing-medium {
		padding: 3rem 0;
	}
}
.one-column-content--spacing-large {
	padding: 6rem 0;
}
@media (max-width: 768px) {
	.one-column-content--spacing-large {
		padding: 4rem 0;
	}
}

/**
 * Three Column Content Component
 *
 * @package GoPlus_XYZ
 * @since 1.3.0
 * @version 1.2.0
 *
 * Changelog:
 * v1.2.0 - 2025-11-07
 * - Added shining light animation effect on icon hover
 * - Implemented animated gradient sweep across SVG icons
 * - Created @keyframes shine animation for smooth left-to-right light movement
 * - Enhanced visual feedback with 0.8s shine duration
 *
 * v1.1.0 - 2025-11-07
 * - Applied skewed rectangular background to column cards
 * - Background uses skewY(-3deg) transform for energy drink packaging aesthetic
 * - Content remains straight and readable while background is skewed
 * - Reverted icon styles to clean circle/square shapes
 *
 * v1.0.0 - 2025-10-30
 * - Initial creation
 * - Flexible 2-6 column layouts
 * - Icon styles (circle, square, none)
 * - Hover effects and animations
 * - Responsive design
 */
.three-column-content {
	padding: 0 0 5rem 0;
	position: relative;
	overflow: hidden;
}
@media (max-width: 768px) {
	.three-column-content {
		padding: 0 0 2rem 0;
	}
}
.three-column-content__container {
	border: 1px solid #E6281A;
	max-width: 90vw;
	margin: 0 auto;
	padding: 2rem;
	border-radius: 25px;
}
@media (max-width: 768px) {
	.three-column-content__container {
		padding: 0 1.5rem;
	}
}
.three-column-content__header {
	text-align: center;
	margin: 0 auto 4rem;
}
@media (max-width: 768px) {
	.three-column-content__header {
		margin-bottom: 3rem;
	}
}
.three-column-content__subtitle {
	font-family: "museosansrounded700", sans-serif;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #E6281A;
	margin-bottom: 0.25rem;
}
.three-column-content__title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
	margin-bottom: 0.25rem;
	margin-top: 0.5rem;
	color: #1a1a1a;
}
.three-column-content__description {
	font-size: 1.35rem;
	line-height: 1.7;
	color: var(--color-text, #666);
	margin: 0;
}
.three-column-content__grid {
	display: grid;
	gap: 2.5rem;
	margin: 0;
}
@media (max-width: 992px) {
	.three-column-content__grid {
		gap: 2rem;
	}
}
@media (max-width: 768px) {
	.three-column-content__grid {
		gap: 1.5rem;
	}
}
.three-column-content__column {
	background: #fff;
	padding: 2.5rem;
	border-radius: 12px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	position: relative;
}
@media (max-width: 768px) {
	.three-column-content__column {
		padding: 2rem 1.5rem;
	}
}
.three-column-content__column:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}
.three-column-content__column-link {
	text-decoration: none;
	color: inherit;
	display: block;
}
.three-column-content__column-link:hover .three-column-content__column-title {
	color: #E6281A;
}
.three-column-content__column-link:hover .three-column-content__column-arrow {
	transform: translateX(5px);
}
.three-column-content__icon {
	width: 120px;
	height: 120px;
	display: flex;
	align-items: center;
	justify-content: center;
	margin: 0 auto 1.5rem;
	transition: transform 0.3s ease;
	position: relative;
	overflow: hidden;
}
@media (max-width: 768px) {
	.three-column-content__icon {
		width: 60px;
		height: 60px;
		margin-bottom: 0.25rem;
	}
}
.three-column-content__icon img, .three-column-content__icon svg {
	max-width: 100%;
	height: auto;
	display: block;
	position: relative;
	z-index: 2;
}
.three-column-content__icon::after {
	content: "";
	position: absolute;
	top: -50%;
	left: -150%;
	width: 100%;
	height: 200%;
	background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgba(255, 255, 255, 0.5) 25%, rgb(255, 255, 255) 50%, rgba(255, 255, 255, 0.5) 75%, rgba(255, 255, 255, 0) 100%);
	transform: skewX(-20deg);
	z-index: 3;
	pointer-events: none;
	opacity: 0;
	transition: opacity 0.3s ease;
}
.three-column-content__column:hover .three-column-content__icon::after {
	opacity: 1;
	animation: shine 0.8s ease-in-out;
}
.three-column-content__column-title {
	font-size: 1.5rem;
	font-weight: 600;
	line-height: 1.3;
	margin-bottom: 0.25rem;
	color: var(--color-text-dark, #1a1a1a);
	transition: color 0.3s ease;
	text-align: center;
}
@media (max-width: 768px) {
	.three-column-content__column-title {
		font-size: 1.25rem;
	}
}
.three-column-content__column-content {
	font-size: 1rem;
	line-height: 1.6;
	color: var(--color-text, #666);
	text-align: center;
}
.three-column-content__column-content p {
	margin: 0 0 1rem;
}
.three-column-content__column-content p:last-child {
	margin-bottom: 0;
}
.three-column-content__column-arrow {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 1rem;
	color: #E6281A;
	transition: transform 0.3s ease;
}
.three-column-content--cols-2 .three-column-content__grid {
	grid-template-columns: repeat(2, 1fr);
}
@media (max-width: 768px) {
	.three-column-content--cols-2 .three-column-content__grid {
		grid-template-columns: 1fr;
	}
}
.three-column-content--cols-3 .three-column-content__grid {
	grid-template-columns: repeat(3, 1fr);
}
@media (max-width: 992px) {
	.three-column-content--cols-3 .three-column-content__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.three-column-content--cols-3 .three-column-content__grid {
		grid-template-columns: 1fr;
	}
}
.three-column-content--cols-4 .three-column-content__grid {
	grid-template-columns: repeat(4, 1fr);
}
@media (max-width: 1200px) {
	.three-column-content--cols-4 .three-column-content__grid {
		grid-template-columns: repeat(3, 1fr);
	}
}
@media (max-width: 992px) {
	.three-column-content--cols-4 .three-column-content__grid {
		grid-template-columns: repeat(2, 1fr);
	}
}
@media (max-width: 640px) {
	.three-column-content--cols-4 .three-column-content__grid {
		grid-template-columns: 1fr;
	}
}
.three-column-content--icon-circle .three-column-content__icon {
	background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
	border-radius: 50%;
	border: 2px solid #e9ecef;
}
.three-column-content__column:hover .three-column-content--icon-circle .three-column-content__icon {
	background: linear-gradient(135deg, var(--color-primary, #E6281A) 0%, #e55a28 100%);
	border-color: var(--color-primary, #E6281A);
	transform: scale(1.1);
}
.three-column-content__column:hover .three-column-content--icon-circle .three-column-content__icon img {
	filter: brightness(0) invert(1);
}
.three-column-content--icon-square .three-column-content__icon {
	background: linear-gradient(135deg, #fff 0%, #f8f9fa 100%);
	border-radius: 12px;
	border: 2px solid #e9ecef;
}
.three-column-content__column:hover .three-column-content--icon-square .three-column-content__icon {
	background: linear-gradient(135deg, var(--color-primary, #E6281A) 0%, #e55a28 100%);
	border-color: var(--color-primary, #E6281A);
	transform: scale(1.1);
}
.three-column-content__column:hover .three-column-content--icon-square .three-column-content__icon img {
	filter: brightness(0) invert(1);
}
.three-column-content--icon-none .three-column-content__icon {
	background: transparent;
	border: none;
}
.three-column-content__column:hover .three-column-content--icon-none .three-column-content__icon {
	transform: scale(1.1);
}
.three-column-content__column {
	opacity: 0;
	animation: fadeInUp 0.6s ease forwards;
}
.three-column-content__column:nth-child(1) {
	animation-delay: 0.1s;
}
.three-column-content__column:nth-child(2) {
	animation-delay: 0.2s;
}
.three-column-content__column:nth-child(3) {
	animation-delay: 0.3s;
}
.three-column-content__column:nth-child(4) {
	animation-delay: 0.4s;
}
.three-column-content__column:nth-child(5) {
	animation-delay: 0.5s;
}
.three-column-content__column:nth-child(6) {
	animation-delay: 0.6s;
}

@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes shine {
	0% {
		left: -150%;
	}
	100% {
		left: 150%;
	}
}
/**
 * CTA Section Component
 *
 * @package GoPlus_XYZ
 * @since 1.3.0
 * @version 1.0.0
 *
 * Changelog:
 * v1.0.0 - 2025-10-30
 * - Initial creation
 * - Support for color, gradient, and image backgrounds
 * - Multiple button styles (primary, secondary, outline)
 * - Responsive design with overlay options
 */
.cta-section {
	min-height: 50vh !important;
	padding: 6rem 0;
	position: relative;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	overflow: hidden;
	display: flex;
	align-items: center;
	justify-content: center;
}
@media (max-width: 768px) {
	.cta-section {
		padding: 4rem 0;
	}
}
.cta-section__overlay {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.1);
	z-index: 1;
	transition: background 0.3s ease;
}
.cta-section__container {
	max-width: 1200px;
	margin: 0 auto;
	padding: 0 2rem;
	position: relative;
	z-index: 2;
}
@media (max-width: 768px) {
	.cta-section__container {
		padding: 0 1.5rem;
	}
}
.cta-section__inner {
	text-align: center;
	max-width: 800px;
	margin: 0 auto;
}
.cta-section__subtitle {
	font-size: 1.25rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.15em;
	color: var(--color-primary, #E6281A);
	margin-bottom: 1rem;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
	.cta-section__subtitle {
		font-size: 0.75rem;
	}
}
.cta-section__title {
	font-size: clamp(2.5rem, 6vw, 4rem);
	font-weight: 700;
	line-height: 1.1;
	margin: 1.5rem auto;
	color: #1a1a1a;
	text-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
	.cta-section__title {
		margin: 1rem auto;
	}
}
.cta-section__description {
	font-size: 1.25rem;
	line-height: 1.6;
	color: var(--color-text, #444);
	margin: 0 0 2.5rem;
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.1);
}
@media (max-width: 768px) {
	.cta-section__description {
		font-size: 1.125rem;
		margin-bottom: 2rem;
	}
}
.cta-section__buttons {
	display: flex;
	gap: 1.5rem;
	justify-content: center;
	flex-wrap: wrap;
}
@media (max-width: 640px) {
	.cta-section__buttons {
		gap: 1rem;
		flex-direction: column;
	}
}
.cta-section__button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 1rem 2.5rem;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 50px;
	transition: all 0.3s ease;
	cursor: pointer;
	border: 2px solid transparent;
	white-space: nowrap;
	min-width: 180px;
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
@media (max-width: 640px) {
	.cta-section__button {
		width: 100%;
		padding: 1rem 2rem;
	}
}
.cta-section__button--primary {
	background: linear-gradient(135deg, #E6281A 0%, #ff4757 100%);
	color: #fff;
	box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
}
.cta-section__button--primary:hover {
	background: linear-gradient(315deg, rgb(207.812992126, 35.3917322835, 22.687007874) 0%, #E6281A 100%);
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
	color: #fff;
}
.cta-section__button--primary:active {
	transform: translateY(0);
}
.cta-section__button--secondary {
	background: linear-gradient(135deg, #ffffff 0%, #f7fafc 100%);
	color: #E6281A;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.cta-section__button--secondary:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
	color: #E6281A;
}
.cta-section__button--secondary:active {
	transform: translateY(0);
}
.cta-section__button--outline {
	background: transparent;
	color: #E6281A;
	border-color: #ff4757;
}
.cta-section__button--outline:hover {
	background: #ff4757;
	color: #fff;
	transform: translateY(-2px);
}
.cta-section__button--outline:active {
	transform: translateY(0);
}
.cta-section--bg-gradient {
	background: linear-gradient(135deg, #f8f9fa 0%, #e9ecef 100%);
}
.cta-section--bg-gradient .cta-section__overlay {
	display: none;
}
.cta-section--bg-color .cta-section__overlay {
	display: none;
}
.cta-section--bg-image .cta-section__overlay {
	background: rgba(255, 71, 87, 0.25);
	mix-blend-mode: overlay;
}
.cta-section--bg-image .cta-section__title,
.cta-section--bg-image .cta-section__description {
	color: #fff;
	text-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
}
.cta-section--bg-image .cta-section__subtitle {
	color: #ff4757;
}
.cta-section--bg-image .cta-section__button--outline {
	border-color: #fff;
	color: #fff;
}
.cta-section--bg-image .cta-section__button--outline:hover {
	background: #fff;
	color: #E6281A;
}
.cta-section::before, .cta-section::after {
	content: " ";
	position: absolute;
	border-radius: 50%;
	opacity: 0.05;
	z-index: 1;
}
.cta-section::before {
	width: 400px;
	height: 400px;
	background: var(--color-primary, #E6281A);
	top: -40%;
	left: -10%;
}
@media (max-width: 768px) {
	.cta-section::before {
		width: 300px;
		height: 300px;
	}
}
.cta-section::after {
	width: 200px;
	height: 200px;
	background: var(--color-primary, #E6281A);
	bottom: -50%;
	right: -10%;
}
@media (max-width: 768px) {
	.cta-section::after {
		width: 200px;
		height: 200px;
	}
}

/**
 * Stats Grid Component
 *
 * @package GoPlus_XYZ
 * @since 1.3.0
 * @version 1.0.0
 *
 * Changelog:
 * v1.0.0 - 2025-10-30
 * - Initial creation
 * - Horizontal and grid layouts
 * - Animated counter support
 * - Responsive design
 */
.stats-grid {
	padding: 5rem 0;
	background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
	position: relative;
	overflow: hidden;
}
@media (max-width: 768px) {
	.stats-grid {
		padding: 3rem 0;
	}
}
.stats-grid__container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
}
@media (max-width: 768px) {
	.stats-grid__container {
		padding: 0 1.5rem;
	}
}
.stats-grid__header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 4rem;
}
@media (max-width: 768px) {
	.stats-grid__header {
		margin-bottom: 3rem;
	}
}
.stats-grid__subtitle {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-primary, #E6281A);
	margin-bottom: 1rem;
}
.stats-grid__title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	color: var(--color-text-dark, #1a1a1a);
}
.stats-grid__items {
	display: flex;
	justify-content: center;
	align-items: stretch;
	gap: 3rem;
}
@media (max-width: 992px) {
	.stats-grid__items {
		gap: 2rem;
	}
}
@media (max-width: 768px) {
	.stats-grid__items {
		gap: 1.5rem;
	}
}
.stats-grid__item {
	flex: 1;
	text-align: center;
	padding: 2.5rem 2rem;
	background: #fff;
	border-radius: 12px;
	box-shadow: 0 4px 6px rgba(0, 0, 0, 0.05);
	transition: all 0.3s ease;
	position: relative;
	overflow: hidden;
}
@media (max-width: 768px) {
	.stats-grid__item {
		padding: 2rem 1.5rem;
	}
}
.stats-grid__item:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 24px rgba(0, 0, 0, 0.1);
}
.stats-grid__item::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--color-primary, #E6281A) 0%, #e55a28 100%);
	transform: scaleX(0);
	transition: transform 0.3s ease;
}
.stats-grid__item:hover::before {
	transform: scaleX(1);
}
.stats-grid__number {
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	font-weight: 700;
	line-height: 1;
	margin-bottom: 0.75rem;
	color: var(--color-primary, #E6281A);
	display: flex;
	align-items: baseline;
	justify-content: center;
	gap: 0.25rem;
}
.stats-grid__number-value {
	display: inline-block;
}
.stats-grid__number-suffix {
	font-size: 0.6em;
	font-weight: 600;
	opacity: 0.8;
}
.stats-grid__label {
	font-size: 1.125rem;
	font-weight: 500;
	line-height: 1.4;
	color: var(--color-text, #666);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
@media (max-width: 768px) {
	.stats-grid__label {
		font-size: 1rem;
	}
}
.stats-grid--layout-horizontal .stats-grid__items {
	flex-direction: row;
}
@media (max-width: 768px) {
	.stats-grid--layout-horizontal .stats-grid__items {
		flex-direction: column;
	}
}
.stats-grid--layout-grid .stats-grid__items {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(250px, 1fr));
	gap: 2rem;
}
@media (max-width: 640px) {
	.stats-grid--layout-grid .stats-grid__items {
		grid-template-columns: 1fr;
	}
}
.stats-grid--animated .stats-grid__number-value {
	opacity: 0;
	animation: fadeInNumber 0.6s ease forwards;
}
.stats-grid__item {
	opacity: 0;
	animation: fadeInUp 0.6s ease forwards;
}
.stats-grid__item:nth-child(1) {
	animation-delay: 0.15s;
}
.stats-grid__item:nth-child(2) {
	animation-delay: 0.3s;
}
.stats-grid__item:nth-child(3) {
	animation-delay: 0.45s;
}
.stats-grid__item:nth-child(4) {
	animation-delay: 0.6s;
}
.stats-grid__item:nth-child(5) {
	animation-delay: 0.75s;
}
.stats-grid__item:nth-child(6) {
	animation-delay: 0.9s;
}
.stats-grid::before, .stats-grid::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	opacity: 0.03;
	pointer-events: none;
}
.stats-grid::before {
	width: 500px;
	height: 500px;
	background: var(--color-primary, #E6281A);
	top: -250px;
	right: -250px;
}
@media (max-width: 768px) {
	.stats-grid::before {
		width: 300px;
		height: 300px;
		top: -150px;
		right: -150px;
	}
}
.stats-grid::after {
	width: 400px;
	height: 400px;
	background: var(--color-primary, #E6281A);
	bottom: -200px;
	left: -200px;
}
@media (max-width: 768px) {
	.stats-grid::after {
		width: 250px;
		height: 250px;
		bottom: -125px;
		left: -125px;
	}
}

@keyframes fadeInNumber {
	from {
		opacity: 0;
		transform: translateY(20px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(30px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}
/**
 * Testimonials Section Component
 *
 * @package GoPlus_XYZ
 * @since 1.3.0
 * @version 1.0.0
 *
 * Changelog:
 * v1.0.0 - 2025-10-30
 * - Initial creation
 * - Carousel and grid layout support
 * - Star ratings
 * - Customer photos
 * - Swiper integration
 */
.testimonials-section {
	padding: 5rem 0;
	background: #fff;
	position: relative;
	overflow: hidden;
}
@media (max-width: 768px) {
	.testimonials-section {
		padding: 3rem 0;
	}
}
.testimonials-section__container {
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
}
@media (max-width: 768px) {
	.testimonials-section__container {
		padding: 0 1.5rem;
	}
}
.testimonials-section__header {
	text-align: center;
	max-width: 800px;
	margin: 0 auto 4rem;
}
@media (max-width: 768px) {
	.testimonials-section__header {
		margin-bottom: 3rem;
	}
}
.testimonials-section__subtitle {
	font-size: 0.875rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: var(--color-primary, #E6281A);
	margin-bottom: 1rem;
}
.testimonials-section__title {
	font-size: clamp(2rem, 5vw, 3rem);
	font-weight: 700;
	line-height: 1.2;
	margin: 0;
	color: var(--color-text-dark, #1a1a1a);
}
.testimonials-section__wrapper {
	position: relative;
	padding: 0 3rem;
}
@media (max-width: 768px) {
	.testimonials-section__wrapper {
		padding: 0;
	}
}
.testimonials-section__carousel {
	overflow: hidden;
	padding: 2rem 0;
}
@media (max-width: 768px) {
	.testimonials-section__carousel {
		padding: 1rem 0;
	}
}
.testimonials-section__card {
	background: #fff;
	padding: 3rem;
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.08);
	height: 100%;
	display: flex;
	flex-direction: column;
	transition: all 0.3s ease;
	position: relative;
}
@media (max-width: 768px) {
	.testimonials-section__card {
		padding: 2rem 1.5rem;
	}
}
.testimonials-section__card:hover {
	transform: translateY(-5px);
	box-shadow: 0 12px 30px rgba(0, 0, 0, 0.12);
}
.testimonials-section__card::before {
	content: '"';
	position: absolute;
	top: -20px;
	left: 30px;
	font-size: 120px;
	font-weight: 700;
	color: var(--color-primary, #E6281A);
	opacity: 0.1;
	line-height: 1;
}
@media (max-width: 768px) {
	.testimonials-section__card::before {
		font-size: 80px;
		top: -10px;
		left: 20px;
	}
}
.testimonials-section__rating {
	display: flex;
	gap: 0.25rem;
	margin-bottom: 1.5rem;
	justify-content: center;
}
@media (max-width: 768px) {
	.testimonials-section__rating {
		margin-bottom: 1rem;
	}
}
.testimonials-section__star {
	color: #e0e0e0;
	transition: color 0.3s ease;
}
.testimonials-section__star--filled {
	color: #ffc107;
}
.testimonials-section__star svg {
	width: 20px;
	height: 20px;
	display: block;
}
@media (max-width: 768px) {
	.testimonials-section__star svg {
		width: 16px;
		height: 16px;
	}
}
.testimonials-section__content {
	flex: 1;
	margin: 0 0 2rem;
	text-align: center;
}
.testimonials-section__content p {
	font-size: 1.125rem;
	line-height: 1.7;
	color: var(--color-text, #555);
	margin: 0;
	font-style: italic;
	position: relative;
	z-index: 1;
}
@media (max-width: 768px) {
	.testimonials-section__content p {
		font-size: 1rem;
	}
}
.testimonials-section__author {
	display: flex;
	align-items: center;
	gap: 1rem;
	justify-content: center;
	padding-top: 1.5rem;
	border-top: 1px solid #e9ecef;
}
@media (max-width: 768px) {
	.testimonials-section__author {
		gap: 0.75rem;
		padding-top: 1rem;
	}
}
.testimonials-section__photo {
	width: 60px;
	height: 60px;
	border-radius: 50%;
	overflow: hidden;
	flex-shrink: 0;
	border: 3px solid var(--color-primary, #E6281A);
}
@media (max-width: 768px) {
	.testimonials-section__photo {
		width: 50px;
		height: 50px;
	}
}
.testimonials-section__photo img {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
}
.testimonials-section__author-info {
	text-align: left;
}
.testimonials-section__name {
	font-size: 1rem;
	font-weight: 600;
	color: var(--color-text-dark, #1a1a1a);
	margin-bottom: 0.25rem;
	line-height: 1.3;
}
.testimonials-section__title-text {
	font-size: 0.875rem;
	color: var(--color-text, #888);
	line-height: 1.3;
}
.testimonials-section__nav {
	width: 50px;
	height: 50px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.1);
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	transition: all 0.3s ease;
	position: absolute;
	top: 50%;
	transform: translateY(-50%);
	z-index: 10;
}
@media (max-width: 768px) {
	.testimonials-section__nav {
		display: none;
	}
}
.testimonials-section__nav:hover {
	background: var(--color-primary, #E6281A);
	color: #fff;
	transform: translateY(-50%) scale(1.1);
}
.testimonials-section__nav--prev {
	left: 0;
}
.testimonials-section__nav--next {
	right: 0;
}
.testimonials-section__nav::after {
	font-size: 20px;
	font-weight: 700;
}
.testimonials-section__pagination {
	margin-top: 2rem;
	text-align: center;
}
@media (max-width: 768px) {
	.testimonials-section__pagination {
		margin-top: 1.5rem;
	}
}
.testimonials-section__pagination .swiper-pagination-bullet {
	width: 12px;
	height: 12px;
	background: #e0e0e0;
	opacity: 1;
	transition: all 0.3s ease;
}
.testimonials-section__pagination .swiper-pagination-bullet-active {
	background: var(--color-primary, #E6281A);
	width: 30px;
	border-radius: 6px;
}
.testimonials-section--layout-grid .testimonials-section__carousel {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 2rem;
	padding: 0;
}
@media (max-width: 768px) {
	.testimonials-section--layout-grid .testimonials-section__carousel {
		grid-template-columns: 1fr;
	}
}
.testimonials-section--layout-grid .swiper-wrapper {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(350px, 1fr));
	gap: 2rem;
}
@media (max-width: 768px) {
	.testimonials-section--layout-grid .swiper-wrapper {
		grid-template-columns: 1fr;
	}
}
.testimonials-section--layout-grid .swiper-slide {
	height: auto;
}
.testimonials-section--layout-grid .testimonials-section__nav,
.testimonials-section--layout-grid .testimonials-section__pagination {
	display: none;
}
.testimonials-section::before {
	content: "";
	position: absolute;
	width: 600px;
	height: 600px;
	background: radial-gradient(circle, var(--color-primary, #E6281A) 0%, transparent 70%);
	opacity: 0.03;
	top: -300px;
	left: -300px;
	pointer-events: none;
}
@media (max-width: 768px) {
	.testimonials-section::before {
		width: 400px;
		height: 400px;
		top: -200px;
		left: -200px;
	}
}

.testimonials-section__carousel.swiper .swiper-button-prev,
.testimonials-section__carousel.swiper .swiper-button-next {
	display: none;
}

/**
 * Overlapped Title Component
 *
 * @package GoPlus_XYZ
 * @since 1.4.0
 * @version 1.0.0
 *
 * Changelog:
 * v1.0.0 - 2025-10-31
 * - Initial creation
 * - CSS Grid-based overlap layout
 * - Improved grid structure with body text section
 * - Title overlaps image, body text does not
 * - Configurable image position and text color
 * - Responsive design with mobile adjustments
 */
.overlapped-title {
	padding: 0;
	position: relative;
	overflow: hidden;
	min-height: 90vh;
	display: flex;
	align-items: center;
}
@media (max-width: 768px) {
	.overlapped-title {
		min-height: auto;
		padding: 3rem 0;
	}
}
.overlapped-title__grid-container {
	display: grid;
	grid-template: repeat(8, [row] 1fr)/repeat(12, [col] 1fr);
	grid-gap: 20px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 0 2rem;
	width: 100%;
	min-height: 80vh;
}
@media (max-width: 992px) {
	.overlapped-title__grid-container {
		grid-gap: 15px;
	}
}
@media (max-width: 768px) {
	.overlapped-title__grid-container {
		grid-gap: 10px;
		padding: 0 1.5rem;
		min-height: auto;
		display: flex;
		flex-direction: column;
	}
}
.overlapped-title__item {
	align-items: center;
	justify-items: center;
	display: flex;
	flex-direction: column;
	justify-content: center;
}
@media (max-width: 768px) {
	.overlapped-title__item {
		width: 100%;
	}
}
.overlapped-title__item--title {
	grid-column: col 1/span 9;
	grid-row: row 2/span 4;
	z-index: 2;
	align-items: flex-start;
	justify-content: center;
	padding-right: 2rem;
}
@media (max-width: 992px) {
	.overlapped-title__item--title {
		grid-column: col 1/span 10;
		grid-row: row 2/span 4;
	}
}
@media (max-width: 768px) {
	.overlapped-title__item--title {
		order: 1;
		margin-bottom: 1rem;
		padding-right: 0;
	}
}
.overlapped-title__item--image {
	grid-column: col 6/span 7;
	grid-row: row 1/span 8;
	z-index: 1;
}
@media (max-width: 992px) {
	.overlapped-title__item--image {
		grid-column: col 5/span 8;
	}
}
@media (max-width: 768px) {
	.overlapped-title__item--image {
		order: 2;
		margin-bottom: 2rem;
	}
}
.overlapped-title__item--body {
	grid-column: col 1/span 5;
	grid-row: row 6/span 4;
	z-index: 2;
	align-items: flex-start;
	justify-content: flex-start;
}
@media (max-width: 992px) {
	.overlapped-title__item--body {
		grid-column: col 1/span 7;
		grid-row: row 7/span 2;
	}
}
@media (max-width: 768px) {
	.overlapped-title__item--body {
		order: 3;
	}
}
.overlapped-title__heading {
	font-size: clamp(2.5rem, 6vw, 5rem);
	font-weight: 700;
	text-transform: lowercase;
	line-height: 1.1;
	margin: 0;
	width: 100%;
	display: block;
	overflow: hidden;
}
@media (max-width: 768px) {
	.overlapped-title__heading {
		font-size: 2.5rem;
	}
}
.overlapped-title__heading > .line {
	display: block;
	overflow: hidden;
	visibility: hidden;
}
.overlapped-title__heading .word {
	display: inline-block;
	white-space: pre-wrap;
}
.overlapped-title__image {
	width: 100%;
	height: 100%;
	-o-object-fit: cover;
	object-fit: cover;
	filter: brightness(0.95);
	visibility: hidden;
	max-height: calc(90vh - 40px);
	border-radius: 12px;
	box-shadow: 0 20px 60px rgba(0, 0, 0, 0.15);
}
@media (max-width: 768px) {
	.overlapped-title__image {
		max-height: 400px;
		border-radius: 8px;
	}
}
.overlapped-title__body-text {
	font-size: 1.125rem;
	line-height: 1.7;
	margin-bottom: 2rem;
}
@media (max-width: 768px) {
	.overlapped-title__body-text {
		font-size: 1rem;
		margin-bottom: 1.5rem;
	}
}
.overlapped-title__body-text p {
	margin: 0 0 1rem;
}
.overlapped-title__body-text p:last-child {
	margin-bottom: 0;
}
.overlapped-title__button {
	display: inline-flex;
	align-items: center;
	gap: 0.5rem;
	padding: 1rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 50px;
	transition: all 0.3s ease;
	background: var(--color-primary, #E6281A);
	color: #fff;
	box-shadow: 0 4px 15px rgba(255, 107, 53, 0.3);
	text-transform: uppercase;
	letter-spacing: 0.05em;
}
.overlapped-title__button:hover {
	transform: translateY(-2px);
	box-shadow: 0 6px 20px rgba(255, 107, 53, 0.4);
}
.overlapped-title__button:hover .overlapped-title__button-arrow {
	transform: translateX(5px);
}
.overlapped-title__button:active {
	transform: translateY(0);
}
.overlapped-title__button-arrow {
	transition: transform 0.3s ease;
}
.overlapped-title--light .overlapped-title__heading {
	color: #fff;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.25), 2px 2px 8px rgba(0, 0, 0, 0.2);
}
.overlapped-title--light .overlapped-title__body-text {
	color: #fff;
	text-shadow: 1px 1px 4px rgba(0, 0, 0, 0.15), 2px 2px 8px rgba(0, 0, 0, 0.1);
}
.overlapped-title--light .overlapped-title__body-text p {
	background: rgba(0, 0, 0, 0.1);
	padding: 0.5rem 1rem;
	border-radius: 4px;
	backdrop-filter: blur(4px);
}
.overlapped-title--light .overlapped-title__button {
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.3);
}
.overlapped-title--dark .overlapped-title__heading {
	color: #1a1a1a;
	text-shadow: 1px 1px 3px rgba(255, 255, 255, 0.8), 2px 2px 6px rgba(255, 255, 255, 0.6);
}
.overlapped-title--dark .overlapped-title__body-text {
	color: #1a1a1a;
	text-shadow: 1px 1px 2px rgba(255, 255, 255, 0.5);
}
.overlapped-title--dark .overlapped-title__body-text p {
	background: rgba(255, 255, 255, 0.85);
	padding: 0.5rem 1rem;
	border-radius: 4px;
	backdrop-filter: blur(4px);
}
.overlapped-title--dark .overlapped-title__button {
	background: #1a1a1a;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
}
.overlapped-title--dark .overlapped-title__button:hover {
	box-shadow: 0 6px 20px rgba(0, 0, 0, 0.3);
}
.overlapped-title--image-left .overlapped-title__item--title {
	grid-column: col 5/span 7;
	align-items: flex-end;
	text-align: right;
}
@media (max-width: 992px) {
	.overlapped-title--image-left .overlapped-title__item--title {
		grid-column: col 5/span 8;
	}
}
@media (max-width: 768px) {
	.overlapped-title--image-left .overlapped-title__item--title {
		align-items: flex-start;
		text-align: left;
	}
}
.overlapped-title--image-left .overlapped-title__item--image {
	grid-column: col 1/span 8;
}
@media (max-width: 992px) {
	.overlapped-title--image-left .overlapped-title__item--image {
		grid-column: col 1/span 9;
	}
}
.overlapped-title--image-left .overlapped-title__item--body {
	grid-column: col 6/span 5;
	align-items: flex-end;
	text-align: right;
}
@media (max-width: 992px) {
	.overlapped-title--image-left .overlapped-title__item--body {
		grid-column: col 7/span 6;
	}
}
@media (max-width: 768px) {
	.overlapped-title--image-left .overlapped-title__item--body {
		align-items: flex-start;
		text-align: left;
	}
}

/* Section Color Preview Tool */
/* Section Color Preview Tool Styles
 * Provides UI for frontend section color preview for editors.
 */
.goplus-color-tool-toggle {
	position: fixed;
	bottom: 1rem;
	left: 1rem;
	z-index: 10000;
	background: #1a1a1a;
	color: #ffffff;
	border: none;
	padding: 0.6rem 0.9rem;
	font-size: 0.85rem;
	letter-spacing: 0.5px;
	border-radius: 4px;
	cursor: pointer;
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
}

.goplus-color-tool-toggle:hover,
.goplus-color-tool-toggle:focus {
	background: #E6281A;
	outline: none;
}

.goplus-section-color-tool {
	position: fixed;
	bottom: 3.5rem;
	left: 1rem;
	width: 260px;
	max-height: 70vh;
	background: #ffffff;
	border: 1px solid #e2e8f0;
	border-radius: 6px;
	box-shadow: 0 10px 30px -5px rgba(0, 0, 0, 0.35);
	font-size: 13px;
	display: flex;
	flex-direction: column;
	overflow: hidden;
	z-index: 10000;
}

/* Force hidden state by default; JS toggles wrapper .is-open */
.goplus-section-color-tool[hidden] {
	display: none !important;
}

.goplus-color-tool-wrapper:not(.is-open) .goplus-section-color-tool {
	display: none !important;
}

.goplus-sct-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	background: #1a1a1a;
	color: #ffffff;
	padding: 0.5rem 0.75rem;
	font-size: 12px;
}

.goplus-sct-header .goplus-sct-close {
	background: transparent;
	border: none;
	color: #ffffff;
	font-size: 18px;
	line-height: 1;
	cursor: pointer;
	padding: 0 4px;
}

.goplus-sct-instructions {
	padding: 0.5rem 0.75rem 0.25rem;
	color: #4a5568;
}

.goplus-sct-palette {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	padding: 0.5rem 0.75rem 0.75rem;
}

.goplus-color-swatch {
	--size: 28px;
	width: var(--size);
	height: var(--size);
	border-radius: 4px;
	border: 1px solid #cbd5e0;
	background: var(--swatch);
	cursor: pointer;
	position: relative;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
}

.goplus-color-swatch:focus {
	outline: 2px solid #2b77e7;
	outline-offset: 2px;
}

.goplus-color-swatch__tooltip {
	position: absolute;
	bottom: calc(100% + 4px);
	left: 50%;
	transform: translateX(-50%);
	background: #1a1a1a;
	color: #ffffff;
	padding: 2px 6px;
	font-size: 10px;
	line-height: 1.2;
	border-radius: 3px;
	opacity: 0;
	pointer-events: none;
	transition: opacity 0.15s ease;
	white-space: nowrap;
}

.goplus-color-swatch:hover .goplus-color-swatch__tooltip {
	opacity: 1;
}

.goplus-sct-actions {
	margin-top: auto;
	padding: 0.5rem 0.75rem;
	border-top: 1px solid #e2e8f0;
	background: #f8f9fa;
	display: flex;
	justify-content: flex-end;
	gap: 0.5rem;
}

.goplus-sct-reset {
	background: #2b77e7;
	color: #ffffff;
	border: none;
	padding: 0.45rem 0.7rem;
	font-size: 11px;
	letter-spacing: 0.5px;
	border-radius: 4px;
	cursor: pointer;
}

.goplus-sct-reset:hover {
	background: #1a56ad;
}

/* Active edit mode */
body.goplus-color-edit-mode section {
	position: relative;
}

body.goplus-color-edit-mode section:hover {
	outline: 2px dashed rgba(230, 40, 26, 0.6);
	outline-offset: 2px;
}

section.goplus-section-active {
	outline: 3px solid #E6281A !important;
	outline-offset: 0;
}

/* Full-width wrapper created dynamically for constrained container sections */
.goplus-section-fw {
	width: 100%;
	position: relative;
}

.goplus-section-fw > section.container {
	margin-left: auto;
	margin-right: auto;
}

/* Preview-mode: soften or remove overlays/gradients that hide section background */
body.goplus-color-edit-mode section.goplus-section-active::before,
body.goplus-color-edit-mode section.goplus-section-active::after {
	background: none !important;
	background-image: none !important;
	opacity: 0 !important;
}

body.goplus-color-edit-mode .goplus-row-active::before,
body.goplus-color-edit-mode .goplus-row-active::after {
	background: none !important;
	background-image: none !important;
	opacity: 0 !important;
}

body.goplus-color-edit-mode section.goplus-section-active [class*=overlay],
body.goplus-color-edit-mode section.goplus-section-active [class*=decor],
body.goplus-color-edit-mode section.goplus-section-active [class*=decoration],
body.goplus-color-edit-mode section.goplus-section-active [class*=mask],
body.goplus-color-edit-mode section.goplus-section-active [class*=gradient],
body.goplus-color-edit-mode section.goplus-section-active [class*=background],
body.goplus-color-edit-mode section.goplus-section-active [class*=bg-] {
	background: transparent !important;
	background-image: none !important;
	box-shadow: none !important;
	filter: none !important;
}

/* Small helper badge (optional, hidden by default) */
.goplus-section-color-badge {
	position: absolute;
	top: 4px;
	right: 6px;
	background: rgba(0, 0, 0, 0.6);
	color: #ffffff;
	font-size: 10px;
	padding: 2px 4px;
	border-radius: 3px;
	pointer-events: none;
}

@media (max-width: 680px) {
	.goplus-section-color-tool {
		width: 200px;
	}
	.goplus-color-tool-toggle {
		font-size: 0.75rem;
	}
}
/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.updated:not(.published) {
	display: none;
}

.page-content,
.entry-content,
.entry-summary {
	margin: 1.5em 0 0;
}

.page-links {
	clear: both;
	margin: 0 0 1.5em;
}

/* Modern Footer
--------------------------------------------- */
/**
 * Modern Footer Styles
 *
 * Professional footer design with social media and navigation
 *
 * @package Go+_XYZ
 * @version 2.0.0
 *
 * Version History:
 * 2.0.0 - Restructured footer layout to CSS Grid (2-column)
 *       - Added footer-branding section with logo, description, and social icons
 *       - Changed footer-links to vertical column layout, left-aligned
 *       - Footer-bottom and footer-cookie span full width using grid-column: 1 / -1
 *       - Social icons moved under footer-branding, left-aligned
 *       - Added responsive max-width for footer logo (180px desktop, 140px mobile)
 */
/* ========================================
   FOOTER BASE STYLES
======================================== */
.site-footer-modern {
	background-color: #000000;
	color: #ffffff;
	padding: 60px 20px 40px;
}
@media (max-width: 768px) {
	.site-footer-modern {
		padding: 40px 20px 30px;
	}
}

.footer-container {
	max-width: 1400px;
	margin: 0 auto;
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: start;
}
@media (max-width: 768px) {
	.footer-container {
		grid-template-columns: 1fr;
		gap: 40px;
	}
}

/* ========================================
   FOOTER BRANDING SECTION
======================================== */
.footer-branding {
	display: flex;
	flex-direction: column;
	gap: 20px;
	align-items: flex-start;
}
.footer-branding .footer-logo img {
	max-width: 180px;
	height: auto;
	display: block;
}
@media (max-width: 768px) {
	.footer-branding .footer-logo img {
		max-width: 140px;
	}
}
.footer-branding .footer-description {
	font-size: 14px;
	line-height: 1.6;
	color: rgba(255, 255, 255, 0.8);
	max-width: 400px;
}
@media (max-width: 768px) {
	.footer-branding .footer-description {
		font-size: 13px;
	}
}

/* ========================================
   SOCIAL MEDIA SECTION
======================================== */
.footer-social {
	display: flex;
	gap: 15px;
	justify-content: flex-start;
	align-items: center;
	margin-top: 10px;
}
@media (max-width: 768px) {
	.footer-social {
		gap: 12px;
	}
}

.social-link {
	color: #ffffff;
	width: 44px;
	height: 44px;
	display: flex;
	align-items: center;
	justify-content: center;
	border: 1px solid rgba(255, 255, 255, 0.2);
	border-radius: 0;
	transition: all 0.3s ease;
	background-color: transparent;
}
.social-link svg {
	width: 20px;
	height: 20px;
	transition: transform 0.3s ease;
}
.social-link:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.4);
	transform: translateY(-2px);
}
.social-link:hover svg {
	transform: scale(1.1);
}
.social-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}
@media (max-width: 768px) {
	.social-link {
		width: 40px;
		height: 40px;
	}
	.social-link svg {
		width: 18px;
		height: 18px;
	}
}

/* ========================================
   FOOTER LINKS
======================================== */
.footer-links {
	display: flex;
	flex-direction: column;
	gap: 16px;
	justify-content: flex-start;
	align-items: flex-start;
	list-style: none;
	margin: 0;
	padding: 0;
}
.footer-links li {
	list-style: none;
}
@media (max-width: 768px) {
	.footer-links {
		gap: 14px;
	}
}

.footer-link {
	color: #ffffff;
	text-decoration: none;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.5px;
	text-transform: uppercase;
	transition: all 0.3s ease;
	position: relative;
}
.footer-link::after {
	content: "";
	position: absolute;
	bottom: -3px;
	left: 0;
	width: 0;
	height: 1px;
	background-color: #ffffff;
	transition: width 0.3s ease;
}
.footer-link:hover {
	color: #cccccc;
}
.footer-link:hover::after {
	width: 100%;
}
.footer-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 4px;
}
@media (max-width: 768px) {
	.footer-link {
		font-size: 12px;
		letter-spacing: 1.2px;
	}
}

/* ========================================
   COOKIE SETTINGS
======================================== */
.footer-cookie {
	grid-column: 1/-1;
	display: flex;
	justify-content: center;
	margin-top: 20px;
	padding-top: 30px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 768px) {
	.footer-cookie {
		margin-top: 10px;
		padding-top: 20px;
	}
}

.cookie-settings-btn {
	background-color: transparent;
	color: #ffffff;
	border: 1px solid rgba(255, 255, 255, 0.3);
	padding: 12px 30px;
	font-size: 13px;
	font-weight: 500;
	letter-spacing: 1.2px;
	text-transform: uppercase;
	cursor: pointer;
	transition: all 0.3s ease;
	font-family: inherit;
}
.cookie-settings-btn:hover {
	background-color: rgba(255, 255, 255, 0.1);
	border-color: rgba(255, 255, 255, 0.5);
	transform: translateY(-2px);
}
.cookie-settings-btn:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}
.cookie-settings-btn:active {
	transform: translateY(0);
}
@media (max-width: 768px) {
	.cookie-settings-btn {
		padding: 10px 24px;
		font-size: 12px;
	}
}

/* ========================================
   FOOTER BOTTOM SECTION
======================================== */
.footer-bottom {
	grid-column: 1/-1;
	display: grid;
	grid-template-columns: 1fr 2fr 1fr;
	align-items: center;
	padding-top: 30px;
	margin-top: 20px;
	border-top: 1px solid rgba(255, 255, 255, 0.1);
}
@media (max-width: 1024px) {
	.footer-bottom {
		grid-template-columns: 1fr;
		gap: 20px;
		text-align: center;
	}
}
@media (max-width: 768px) {
	.footer-bottom {
		padding-top: 20px;
		gap: 15px;
		margin-top: 10px;
	}
}
.footer-bottom .footer-middle {
	display: flex;
	justify-content: center;
	align-items: center;
}

.footer-copyright {
	font-size: 12px;
	color: rgba(255, 255, 255, 0.7);
	letter-spacing: 0.5px;
}
@media (max-width: 768px) {
	.footer-copyright {
		font-size: 11px;
	}
}

.footer-secondary-links {
	display: flex;
	align-items: center;
	gap: 15px;
	flex-wrap: wrap;
	justify-content: center;
}
@media (max-width: 768px) {
	.footer-secondary-links {
		gap: 10px;
	}
}

.footer-secondary-link {
	color: rgba(255, 255, 255, 0.7);
	text-decoration: none;
	font-size: 12px;
	font-weight: 400;
	letter-spacing: 1px;
	text-transform: uppercase;
	transition: color 0.3s ease;
}
.footer-secondary-link:hover {
	color: #ffffff;
}
.footer-secondary-link:focus {
	outline: 2px solid #ffffff;
	outline-offset: 2px;
}
@media (max-width: 768px) {
	.footer-secondary-link {
		font-size: 11px;
	}
}

.separator {
	color: rgba(255, 255, 255, 0.3);
	font-size: 12px;
}
@media (max-width: 768px) {
	.separator {
		font-size: 11px;
	}
}

/* ========================================
   ACCESSIBILITY IMPROVEMENTS
======================================== */
@media (prefers-reduced-motion: reduce) {
	.social-link,
	.footer-link,
	.cookie-settings-btn {
		transition: none;
	}
	.footer-link::after {
		transition: none;
	}
}
/* High contrast mode support */
@media (prefers-contrast: high) {
	.site-footer-modern {
		border-top: 2px solid #ffffff;
	}
	.social-link,
	.cookie-settings-btn {
		border-width: 2px;
	}
}
/* ========================================
   PRINT STYLES
======================================== */
@media print {
	.site-footer-modern {
		background-color: transparent;
		color: #000000;
	}
	.site-footer-modern .social-link,
	.site-footer-modern .cookie-settings-btn {
		display: none;
	}
	.site-footer-modern .footer-link,
	.site-footer-modern .footer-secondary-link {
		color: #000000;
	}
}
/* XYZ Logo Animation Styles */
:root {
	--footSize: min(5vw, 35px);
}

.wrap {
	padding-top: 0;
	display: grid;
	place-items: center;
	-webkit-user-select: none;
	-moz-user-select: none;
	user-select: none;
	margin: 0 auto;
	width: 100%;
	max-width: 750px;
}
.wrap .xyz-logo {
	width: var(--footSize);
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}
.wrap .xyz-logo:hover {
	transform: scale(1.05);
}

/* Comments
--------------------------------------------- */
.comment-content a {
	word-wrap: break-word;
}

.bypostauthor {
	display: block;
}

/* Widgets
--------------------------------------------- */
.widget {
	margin: 0 0 1.5em;
}
.widget select {
	max-width: 100%;
}

/* Media
--------------------------------------------- */
.page-content .wp-smiley,
.entry-content .wp-smiley,
.comment-content .wp-smiley {
	border: none;
	margin-bottom: 0;
	margin-top: 0;
	padding: 0;
}

/* Make sure logo link wraps around logo image. */
.custom-logo-link {
	display: inline-block;
}

/* Captions
--------------------------------------------- */
.wp-caption {
	margin-bottom: 1.5em;
	max-width: 100%;
}
.wp-caption img[class*=wp-image-] {
	display: block;
	margin-left: auto;
	margin-right: auto;
}
.wp-caption .wp-caption-text {
	margin: 0.8075em 0;
}

.wp-caption-text {
	text-align: center;
}

/* Galleries
--------------------------------------------- */
.gallery {
	margin-bottom: 1.5em;
	display: grid;
	grid-gap: 1.5em;
}

.gallery-item {
	display: inline-block;
	text-align: center;
	width: 100%;
}

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

.gallery-columns-3 {
	grid-template-columns: repeat(3, 1fr);
}

.gallery-columns-4 {
	grid-template-columns: repeat(4, 1fr);
}

.gallery-columns-5 {
	grid-template-columns: repeat(5, 1fr);
}

.gallery-columns-6 {
	grid-template-columns: repeat(6, 1fr);
}

.gallery-columns-7 {
	grid-template-columns: repeat(7, 1fr);
}

.gallery-columns-8 {
	grid-template-columns: repeat(8, 1fr);
}

.gallery-columns-9 {
	grid-template-columns: repeat(9, 1fr);
}

.gallery-caption {
	display: block;
}

/* Forms
--------------------------------------------- */
.xyz-contact-form-grid {
	display: grid;
	grid-template-columns: 1fr;
	gap: 1.5rem;
}
@media (min-width: 768px) {
	.xyz-contact-form-grid {
		grid-template-columns: 1fr 1fr;
	}
}

.xyz-form-group {
	display: flex;
	margin-bottom: 1.5rem;
	flex-direction: column;
}
.xyz-form-group label {
	font-weight: 600;
	margin-bottom: 0.5rem;
	color: #333;
}
.xyz-form-group .required {
	color: #d9534f;
	margin-left: 0.25rem;
}
.xyz-form-group input[type=text],
.xyz-form-group input[type=email],
.xyz-form-group input[type=tel],
.xyz-form-group textarea,
.xyz-form-group select {
	width: 100%;
	padding: 0.75rem 1rem;
	border: 1px solid #ccc;
	border-radius: 4px;
	font-size: 1rem;
	transition: border-color 0.3s ease;
}
.xyz-form-group input[type=text]:focus,
.xyz-form-group input[type=email]:focus,
.xyz-form-group input[type=tel]:focus,
.xyz-form-group textarea:focus,
.xyz-form-group select:focus {
	outline: none;
	border-color: #005a9c;
	box-shadow: 0 0 0 2px rgba(0, 90, 156, 0.2);
}
.xyz-form-group textarea {
	resize: vertical;
	min-height: 120px;
}
.xyz-form-group.acceptance {
	display: flex;
	align-items: left;
	font-size: 0.9rem;
}
.xyz-form-group.acceptance input[type=checkbox] {
	margin-right: 0.75rem;
}
.xyz-form-group.acceptance a {
	color: #2b77e7;
}
.xyz-form-group.submit {
	text-align: right;
}
.xyz-form-group.submit input[type=submit],
.xyz-form-group.submit .wpcf7-submit {
	background-color: #E6281A;
	color: #fff;
	border: none;
	padding: 0.85rem 2rem;
	font-size: 1rem;
	font-weight: 600;
	border-radius: 4px;
	cursor: pointer;
	transition: background-color 0.3s ease;
}
.xyz-form-group.submit input[type=submit]:hover,
.xyz-form-group.submit .wpcf7-submit:hover {
	background-color: rgb(184.8228346457, 31.4763779528, 20.1771653543);
}
@media (max-width: 768px) {
	.xyz-form-group.submit input[type=submit],
	.xyz-form-group.submit .wpcf7-submit {
		width: 100%;
	}
}

span.wpcf7-not-valid-tip {
	color: #d9534f;
	font-size: 0.9em;
	margin-top: 0.25rem;
}

div.wpcf7-validation-errors {
	border: 1px solid #fbe2e2;
	background-color: #f9eaea;
	color: #c00;
	padding: 1rem;
	margin-bottom: 1.5rem;
	border-radius: 4px;
}

/* Custom Cursor
--------------------------------------------- */
/**
 * Custom GO+ Cursor Styles
 *
 * Styles for the GSAP-powered custom cursor with "go+" text
 * and precision dot. Includes interactive hover states.
 *
 * @package Go+_XYZ
 * @version 1.0.0
 * @since 1.1.0
 */
@media (hover: hover) and (pointer: fine) {
	*,
	html,
	body {
		cursor: none !important;
	}
	* {
		-webkit-user-select: text;
		-moz-user-select: text;
		user-select: text;
	}
}
.cursor-goplus {
	--cursor-text-color: rgb(215, 32, 39);
	--cursor-text-size: 1.5rem;
	position: fixed;
	top: 0;
	left: 0;
	font-family: "museosansrounded900", sans-serif;
	font-size: var(--cursor-text-size);
	font-weight: 700;
	color: var(--cursor-text-color);
	pointer-events: none;
	transform: translate(15px, -50%);
	will-change: transform;
	z-index: 10000;
	opacity: 0;
	transition: opacity 0.2s ease;
	text-shadow: 0 0 5px color-mix(in srgb, var(--cursor-text-color) 15%, transparent), 0 0 10px color-mix(in srgb, var(--cursor-text-color) 13%, transparent), 0 2px 5px rgba(0, 0, 0, 0.12);
}
.cursor-goplus--hover {
	text-shadow: 0 0 5px color-mix(in srgb, var(--cursor-text-color) 14%, transparent), 0 0 10px color-mix(in srgb, var(--cursor-text-color) 10%, transparent), 0 2px 8px rgba(0, 0, 0, 0.15);
}
@media (hover: none) or (pointer: coarse) {
	.cursor-goplus {
		display: none;
	}
}

.cursor-goplus__dot {
	--cursor-dot-color: rgb(215, 32, 39);
	--cursor-dot-size: 8px;
	position: fixed;
	top: 0;
	left: 0;
	width: var(--cursor-dot-size);
	height: var(--cursor-dot-size);
	background: var(--cursor-dot-color);
	border-radius: 50%;
	pointer-events: none;
	z-index: 10001;
	transform: translate(-50%, -50%);
	opacity: 0;
	will-change: transform, scale;
	transition: opacity 0.2s ease;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.12);
}
@media (hover: none) or (pointer: coarse) {
	.cursor-goplus__dot {
		display: none;
	}
}

@media (hover: hover) and (pointer: fine) {
	input:focus ~ .cursor-goplus, input:focus ~ .cursor-goplus__dot,
	textarea:focus ~ .cursor-goplus,
	textarea:focus ~ .cursor-goplus__dot,
	select:focus ~ .cursor-goplus,
	select:focus ~ .cursor-goplus__dot {
		opacity: 0.3;
	}
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/
/* Jetpack infinite scroll
--------------------------------------------- */
/*--------------------------------------------------------------
# Utilities
--------------------------------------------------------------*/
/* Accessibility
--------------------------------------------- */
/* Text meant only for screen readers. */
.screen-reader-text {
	border: 0;
	clip: rect(1px, 1px, 1px, 1px);
	clip-path: inset(50%);
	height: 1px;
	margin: -1px;
	overflow: hidden;
	padding: 0;
	position: absolute !important;
	width: 1px;
	word-wrap: normal !important;
}
.screen-reader-text:focus {
	background-color: #f7fafc;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #2b77e7;
	display: block;
	font-size: 0.875rem;
	font-weight: 700;
	height: auto;
	left: 5px;
	line-height: normal;
	padding: 15px 23px 14px;
	text-decoration: none;
	top: 5px;
	width: auto;
	z-index: 100000;
}

/* Do not show the outline on the skip link target. */
#primary[tabindex="-1"]:focus {
	outline: 0;
}

/* Alignments
--------------------------------------------- */
.alignleft {
	/*rtl:ignore*/
	float: left;
	/*rtl:ignore*/
	margin-right: 1.5em;
	margin-bottom: 1.5em;
}

.alignright {
	/*rtl:ignore*/
	float: right;
	/*rtl:ignore*/
	margin-left: 1.5em;
	margin-bottom: 1.5em;
}

.aligncenter {
	clear: both;
	display: block;
	margin-left: auto;
	margin-right: auto;
	margin-bottom: 1.5em;
}