/*!
Theme Name: MyTheme
Theme URI: http://underscores.me/
Author: Underscores.me
Author URI: http://underscores.me/
Description: Description
Version: 1.0.0
Tested up to: 5.4
Requires PHP: 5.6
License: GNU General Public License v2 or later
License URI: LICENSE
Text Domain: mytheme
Tags: custom-background, custom-logo, custom-menu, featured-images, threaded-comments, translation-ready

This theme, like WordPress, is licensed under the GPL.
Use it to make something cool, have fun, and share what you've learned.

MyTheme 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.

Normalizing styles have been helped along thanks to the fine work of
Nicolas Gallagher and Jonathan Neal https://necolas.github.io/normalize.css/
*/

/*--------------------------------------------------------------
>>> 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

--------------------------------------------------------------*/

/*--------------------------------------------------------------
# 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;
}

/**
 * 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;
	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;
	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;
	appearance: textfield;
	outline-offset: -2px;
}

/**
 * Remove the inner padding in Chrome and Safari on macOS.
 */
[type="search"]::-webkit-search-decoration {
	-webkit-appearance: none;
	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: #404040;
	font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Oxygen-Sans, Ubuntu, Cantarell, "Helvetica Neue", sans-serif;
	font-size: 1rem;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
}

p {
	margin-bottom: 1.5em;
}

dfn,
cite,
em,
i {
	font-style: italic;
}

blockquote {
	margin: 0 1.5em;
}

address {
	margin: 0 0 1.5em;
}

pre {
	background: #eee;
	font-family: "Courier 10 Pitch", courier, monospace;
	line-height: 1.6;
	margin-bottom: 1.6em;
	max-width: 100%;
	overflow: auto;
	padding: 1.6em;
}

code,
kbd,
tt,
var {
	font-family: monaco, consolas, "Andale Mono", "DejaVu Sans Mono", monospace;
}

abbr,
acronym {
	border-bottom: 1px dotted #666;
	cursor: help;
}

mark,
ins {
	background: #fff9c0;
	text-decoration: none;
}

big {
	font-size: 125%;
}

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

hr {
	background-color: #ccc;
	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: #4169e1;
}

a:visited {
	color: #800080;
}

a:hover,
a:focus,
a:active {
	color: #191970;
}

a:focus {
	outline: thin dotted;
}

a:hover,
a:active {
	outline: 0;
}

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	border: 1px solid;
	border-color: #ccc #ccc #bbb;
	border-radius: 3px;
	background: #e6e6e6;
	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: #ccc #bbb #aaa;
}

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: #aaa #bbb #bbb;
}

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: #666;
	border: 1px solid #ccc;
	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: #111;
}

select {
	border: 1px solid #ccc;
}

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%;
}

/* Posts and pages
--------------------------------------------- */
.sticky {
	display: block;
}

.post,
.page {
	margin: 0 0 1.5em;
}

.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;
}

/* 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;
}

/*--------------------------------------------------------------
# Plugins
--------------------------------------------------------------*/

/* Jetpack infinite scroll
--------------------------------------------- */

/* Hide the Posts Navigation and the Footer when Infinite Scroll is in use. */
.infinite-scroll .posts-navigation,
.infinite-scroll.neverending .site-footer {
	display: none;
}

/* Re-display the Theme Footer when Infinite Scroll has reached its end. */
.infinity-end.neverending .site-footer {
	display: block;
}

/*--------------------------------------------------------------
# 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: #f1f1f1;
	border-radius: 3px;
	box-shadow: 0 0 2px 2px rgba(0, 0, 0, 0.6);
	clip: auto !important;
	clip-path: none;
	color: #21759b;
	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;
}

/*--------------------------------------------------------------
# Luxury Theme Styles
--------------------------------------------------------------*/
:root {
	--primary-blue: #001a71;
	--text-dark: #222222;
	--bg-light: #f7f7f7;
	--font-main: 'Inter', sans-serif;
}

body {
	font-family: var(--font-main);
	color: var(--text-dark);
}

.container {
	max-width: 1600px;
	margin: 0 auto;
	padding: 0 40px;
}

/* Announcement Bar */
.announcement-bar {
	background: #fff;
	color: #666;
	text-align: center;
	padding: 12px 0;
	font-size: 11px;
	letter-spacing: 0.5px;
	font-weight: 500;
	border-bottom: 1px solid #eee;
	text-transform: uppercase;
}

.floating-chat {
	position: fixed;
	bottom: 25px;
	left: 20px;
	width: 50px;
	height: 50px;
	background: #001271;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.2);
	z-index: 9999;
	cursor: pointer;
}

.floating-chat svg {
	width: 26px;
	height: 26px;
}

.announcement-bar .container {
	display: flex;
	justify-content: center;
	align-items: center;
	gap: 15px;
	position: relative;
}

.ann-wrapper {
	width: 100%;
	max-width: 600px;
	overflow: hidden;
}

.ann-list {
	display: flex;
	transition: transform 0.5s ease-in-out;
	width: 100%;
	/* Will depend on number of items if not using js to cycle properly, but assuming standard slider structure */
	margin: 0;
	padding: 0;
	list-style: none;
}

.ann-item {
	min-width: 100%;
	text-align: center;
	padding: 0 10px;
	box-sizing: border-box;
	white-space: normal;
	font-size: 10px;
	line-height: 1.2;
}

.ann-arrow {
	background: none;
	border: none;
	color: #999;
	cursor: pointer;
	padding: 0 10px;
}

/* Header */
.site-header {
	background: #fff;
	border-bottom: 1px solid #eee;
}

.header-top {
	padding: 20px 0;
}

.header-flex {
	display: flex;
	justify-content: space-between;
	align-items: center;
}

.header-left,
.header-right {
	flex: 1;
	display: flex;
	align-items: center;
	gap: 15px;
}

.header-right {
	justify-content: flex-end;
}

.header-link {
	font-size: 12px;
	text-decoration: none;
	color: #555;
	font-weight: 500;
}

.header-link:hover {
	color: #000;
}

.sep {
	color: #ccc;
}

.site-branding {
	text-align: center;
}

.site-title {
	font-size: 28px;
	font-weight: 700;
	letter-spacing: 2px;
	margin: 0;
}

.site-title a {
	color: var(--primary-blue);
	text-decoration: none;
}

.header-icon {
	font-size: 18px;
	color: var(--primary-blue);
	text-decoration: none;
	display: flex;
	align-items: center;
}

.mobile-menu-toggle {
	background: none;
	border: none;
	color: var(--primary-blue);
	padding: 0;
	cursor: pointer;
	display: none;
}

/* Horizontal Nav */
.horizontal-nav {
	border-bottom: 1px solid #eee;
	padding: 10px 0;
}

.h-nav-wrapper {
	display: flex;
	overflow-x: auto;
	gap: 20px;
	scrollbar-width: none;
	/* Firefox */
	-ms-overflow-style: none;
	/* IE and Edge */
}

.h-nav-wrapper::-webkit-scrollbar {
	display: none;
	/* Chrome, Safari, Opera */
}

.h-nav-item {
	white-space: nowrap;
	font-size: 12px;
	font-weight: 500;
	color: var(--primary-blue);
	text-decoration: none;
}

/* Navigation */
.main-navigation {
	padding: 15px 0;
}

.main-navigation ul {
	display: flex;
	justify-content: center;
	list-style: none;
	margin: 0;
	padding: 0;
	gap: 25px;
}

.main-navigation a {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	color: #333;
	text-decoration: none;
	letter-spacing: 0.5px;
}

.main-navigation a:hover {
	color: var(--primary-blue);
}

/* Slider */
.main-slider {
	height: 700px;
	background: #f0f0f0;
}

.slide-inner {
	height: 100%;
	background-size: cover;
	background-position: center;
	display: flex;
	align-items: center;
}

.slide-content {
	max-width: 900px;
	margin-left: 50%;
	/* Position text on the right as in image */
	padding-left: 60px;
}

.slide-intro {
	font-size: 11px;
	font-weight: 400;
	color: var(--primary-blue);
	text-transform: uppercase;
	margin-bottom: 25px;
	letter-spacing: 2.5px;
}

.slide-title {
	font-size: 52px;
	font-weight: 300;
	line-height: 1.1;
	color: var(--primary-blue);
	margin-bottom: 30px;
	letter-spacing: 0.5px;
}

.slide-desc {
	font-size: 14px;
	font-weight: 400;
	color: #444;
	line-height: 1.8;
	margin-bottom: 50px;
	max-width: 550px;
}

.slide-btns {
	display: flex;
	gap: 12px;
}

.btn {
	display: inline-block;
	padding: 15px 25px;
	font-size: 11px;
	font-weight: 600;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	transition: all 0.3s ease;
	border-radius: 0;
	white-space: nowrap;
}

.btn-primary {
	background: #001271;
	color: #fff !important;
	border: none;
}

.btn-primary:hover,
.btn-primary:focus,
.btn-primary:active,
.btn-primary:visited {
	background: #001a71;
	color: #fff !important;
	opacity: 0.9;
}

/* Swiper Customization */
.swiper-button-next,
.swiper-button-prev {
	color: #999 !important;
}

.swiper-pagination-bullet-active {
	background: var(--primary-blue) !important;
}

/* Slider Responsive - Mobile */
@media (max-width: 992px) {
	.main-slider {
		height: auto;
		aspect-ratio: 4/5;
		/* Better for mobile vertical space */
		min-height: 500px;
	}

	.slide-inner {
		align-items: flex-end;
		padding: 40px 20px 60px;
		background-position: center center;
		position: relative;
	}

	/* Gradient overlay for better text readability on mobile background */
	.slide-inner::after {
		content: '';
		position: absolute;
		bottom: 0;
		left: 0;
		right: 0;
		height: 60%;
		background: linear-gradient(to top, rgba(255, 255, 255, 0.95) 0%, rgba(255, 255, 255, 0.7) 40%, transparent 100%);
		z-index: 1;
	}

	.slide-content-wrapper {
		position: relative !important;
		z-index: 2;
		height: auto !important;
		top: auto !important;
		left: auto !important;
		transform: none !important;
		width: 100% !important;
		margin-top: auto;
	}

	.slide-content {
		width: 100% !important;
		max-width: 100% !important;
		margin: 0 !important;
		padding: 0 15px !important;
		text-align: center !important;
		box-sizing: border-box !important;
	}

	.slide-intro {
		font-size: 10px;
		margin-bottom: 15px;
		letter-spacing: 2px;
	}

	.slide-title {
		font-size: 24px !important;
		margin-bottom: 15px !important;
		font-weight: 700 !important;
		white-space: normal !important;
		display: block !important;
		overflow-wrap: break-word !important;
		word-wrap: break-word !important;
		line-height: 1.2 !important;
		width: 100% !important;
		color: inherit;
	}

	.slide-desc {
		font-size: 13px !important;
		line-height: 1.5 !important;
		margin-bottom: 25px !important;
		max-width: 100% !important;
		color: #333 !important;
		white-space: normal !important;
		display: block !important;
		overflow-wrap: break-word !important;
		word-wrap: break-word !important;
		width: 100% !important;
	}

	.slide-btns {
		justify-content: center;
		gap: 10px;
	}

	.slide-btns .btn {
		padding: 12px 20px;
		font-size: 10px;
		flex: 1;
	}
}

@media (max-width: 576px) {
	.main-slider {
		aspect-ratio: 3/4;
		min-height: 480px;
	}

	.slide-title {
		font-size: 24px;
	}

	.slide-btns {
		flex-direction: column;
	}

	.slide-btns .btn {
		width: 100%;
	}
}

/* Icons Fallback (Simple placeholders since we don't have font awesome) */
.icon-location::before {
	content: "📍";
	margin-right: 5px;
}

.icon-search::before {
	content: "🔍";
}

.icon-user::before {
	content: "👤";
}

.icon-cart::before {
	content: "🛒";
}

/* Promo Section Styles */
.promo-section {
	background: #fff;
	overflow: hidden;
}

.promo-section .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
}

.promo-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0;
}

.promo-image img {
	width: 100%;
	height: auto;
	display: block;
}

.promo-text-col {
	background: #001271;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 80px 0;
}

.promo-content {
	padding: 0 15%;
	text-align: center;
	width: 100%;
}

.promo-title {
	font-size: 36px;
	color: #fff;
	font-weight: 300;
	margin-bottom: 25px;
	letter-spacing: 0.5px;
	line-height: 1.2;
}

.promo-desc {
	font-size: 15px;
	color: rgba(255, 255, 255, 0.9);
	line-height: 1.8;
	margin-bottom: 40px;
	max-width: 500px;
	margin-left: auto;
	margin-right: auto;
}

.promo-text-col .promo-title,
.promo-text-col .promo-desc {
	color: #fff;
}

.promo-text-col .btn-primary {
	background: #fff;
	color: #001271 !important;
	border: none;
}

.promo-text-col .btn-primary:hover {
	background: #eee;
	color: #001271 !important;
}

/* Slide 1 - Right Side */
.slide-1 .slide-content {
	margin-left: auto;
	margin-right: 0;
	width: 50%;
	padding-left: 40px;
	text-align: left;
}

/* Slide 2 Specific Style (Dark Theme) - Left Side */
.slide-2 .slide-content {
	margin-left: 0;
	margin-right: auto;
	width: 50%;
	/* Constrain to left half */
	padding-left: 0;
	padding-right: 40px;
	text-align: left;
}

.slide-2 .slide-title,
.slide-2 .slide-intro,
.slide-2 .slide-desc {
	color: #fff;
}

.slide-2 .btn-primary {
	background: #fff;
	color: #001271 !important;
	border: none;
}

.slide-2 .btn-primary:hover {
	background: #eee;
	color: #001271 !important;
}

@media (max-width: 768px) {
	.promo-section .col-md-6 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.promo-content {
		padding: 50px 20px;
	}
}

/* Products Slider Styles - Modern Premium Design */
.products-slider-section {
	padding: 100px 0;
	background: linear-gradient(180deg, #ffffff 0%, #f8fafc 100%);
	position: relative;
}

.products-slider-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 1px;
	background: linear-gradient(90deg, transparent, rgba(0, 26, 113, 0.1), transparent);
}

.products-slider-section .section-title {
	font-size: 36px;
	margin-bottom: 20px;
	font-weight: 600;
	color: var(--primary-blue);
	letter-spacing: -0.5px;
	position: relative;
}

.products-slider-section .section-title::after {
	content: '';
	display: block;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, var(--primary-blue), #3b5998);
	margin: 20px auto 0;
	border-radius: 2px;
}

/* Modern Filter Tabs - Underline Style */
.product-filter-tabs {
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	gap: 0;
	margin-bottom: 0;
	position: relative;
	padding: 0 20px;
}

.product-filter-tabs::after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%);
	width: 100%;
	max-width: 800px;
	height: 2px;
	background: #eef1f5;
	border-radius: 1px;
}

.filter-tab {
	background: transparent;
	border: none;
	color: #6b7280;
	padding: 16px 28px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	cursor: pointer;
	transition: all 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	border-radius: 0;
	position: relative;
	white-space: nowrap;
}

.filter-tab::before {
	content: '';
	position: absolute;
	bottom: 0;
	left: 50%;
	transform: translateX(-50%) scaleX(0);
	width: calc(100% - 20px);
	height: 3px;
	background: linear-gradient(90deg, var(--primary-blue), #3b5998);
	border-radius: 3px 3px 0 0;
	transition: transform 0.35s cubic-bezier(0.4, 0, 0.2, 1);
	z-index: 1;
}

.filter-tab:hover {
	color: var(--primary-blue);
	background: rgba(0, 26, 113, 0.03);
}

.filter-tab.active {
	background: transparent;
	color: var(--primary-blue);
	font-weight: 700;
}

.filter-tab.active::before {
	transform: translateX(-50%) scaleX(1);
}

/* Product Cards - Premium Modern Style */
.product-card {
	text-align: center;
	padding: 15px;
	transition: all 0.3s ease;
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 4px;
	position: relative;
	overflow: hidden;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	height: 100%;
	display: flex;
	flex-direction: column;
}

.product-card::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	height: 4px;
	background: linear-gradient(90deg, var(--primary-blue), #3b5998);
	opacity: 0;
	transition: opacity 0.3s ease;
}

.product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	border-color: #e8e8e8;
}

.product-card:hover::before {
	opacity: 1;
}

.product-link {
	text-decoration: none;
	display: block;
	color: inherit;
}

.product-image {
	position: relative;
	background: #fff;
	margin-bottom: 24px;
	overflow: hidden;
	aspect-ratio: 3/4;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 12px;
}

.product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
	padding: 15px;
}

.product-card:hover .product-image img {
	transform: scale(1.08);
}

.product-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: var(--primary-blue);
	color: #fff;
	padding: 6px 14px;
	font-size: 10px;
	font-weight: 700;
	letter-spacing: 1.2px;
	border-radius: 20px;
	box-shadow: 0 4px 12px rgba(0, 26, 113, 0.25);
}

/* sale-badge uses default .product-badge style */

.new-badge {
	background: #0d9488;
	box-shadow: 0 4px 12px rgba(13, 148, 136, 0.25);
}

.product-info {
	padding: 0 5px;
}

.product-title {
	font-size: 16px;
	font-weight: 600;
	margin-bottom: 12px;
	color: var(--primary-blue);
	transition: color 0.3s ease;
	line-height: 1.4;
	min-height: 44px;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.product-card:hover .product-title {
	color: #1e3a8a;
}

.product-price {
	font-size: 15px;
	color: #374151;
	margin-bottom: 0;
	font-weight: 700;
}

.product-price ins {
	text-decoration: none;
	margin-left: 8px;
	color: var(--primary-blue);
}

.product-price del {
	opacity: 0.5;
	font-weight: 400;
	font-size: 13px;
}

.product-price .woocommerce-Price-amount {
	font-size: 16px;
}

.star-rating {
	margin: 0 auto 15px;
	font-size: 12px;
	color: #f59e0b;
}

.btn-outline {
	background: #fff;
	color: var(--primary-blue);
	border: 2px solid var(--primary-blue);
	width: 100%;
	padding: 14px;
	border-radius: 8px;
	font-weight: 600;
	transition: all 0.3s ease;
}

.btn-outline:hover {
	background: var(--primary-blue);
	color: #fff;
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 26, 113, 0.25);
}

.products-swiper {
	padding-bottom: 60px;
	padding-left: 10px;
	padding-right: 10px;
}

.products-slider-loader {
	height: 100px;
	display: flex;
	align-items: center;
	justify-content: center;
}

.products-slider-loader .spinner-border {
	width: 40px;
	height: 40px;
	border-width: 3px;
	color: var(--primary-blue) !important;
}

#ajax-products-container {
	transition: opacity 0.4s ease;
}

/* Swiper Navigation Buttons - Modern Style */
.products-swiper .swiper-button-next,
.products-swiper .swiper-button-prev,
.personalized-swiper .swiper-button-next,
.personalized-swiper .swiper-button-prev {
	top: 40%;
	width: 48px;
	height: 48px;
	background: #fff;
	border-radius: 50%;
	box-shadow: 0 4px 20px rgba(0, 0, 0, 0.1);
	transition: all 0.3s ease;
}

.products-swiper .swiper-button-next::after,
.products-swiper .swiper-button-prev::after,
.personalized-swiper .swiper-button-next::after,
.personalized-swiper .swiper-button-prev::after {
	font-size: 18px;
	font-weight: 700;
	color: var(--primary-blue);
}

.products-swiper .swiper-button-next:hover,
.products-swiper .swiper-button-prev:hover,
.personalized-swiper .swiper-button-next:hover,
.personalized-swiper .swiper-button-prev:hover {
	background: var(--primary-blue);
	transform: scale(1.1);
}

.products-swiper .swiper-button-next:hover::after,
.products-swiper .swiper-button-prev:hover::after,
.personalized-swiper .swiper-button-next:hover::after,
.personalized-swiper .swiper-button-prev:hover::after {
	color: #fff;
}

/* Filter Tabs Responsive */
@media (max-width: 768px) {
	.products-slider-section {
		padding: 60px 0;
	}

	.products-slider-section .section-title {
		font-size: 26px;
	}

	.product-filter-tabs {
		gap: 0;
		overflow-x: auto;
		flex-wrap: nowrap;
		justify-content: flex-start;
		padding-bottom: 10px;
		margin-bottom: 30px;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
	}

	.product-filter-tabs::-webkit-scrollbar {
		display: none;
	}

	.filter-tab {
		padding: 12px 20px;
		font-size: 11px;
		flex-shrink: 0;
	}

	.product-card {
		padding: 15px;
		border-radius: 12px;
	}

	.product-title {
		font-size: 14px;
		min-height: 40px;
	}

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

/* Shop By Skin Concern Styles */
.concern-section {
	padding: 80px 0;
	background: #fff;
}

.concern-grid {
	display: grid;
	grid-template-columns: repeat(2, 1fr);
	gap: 20px;
}

@media (min-width: 768px) {
	.concern-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (min-width: 1200px) {
	.concern-grid {
		grid-template-columns: repeat(6, 1fr);
	}
}

.concern-item a {
	text-decoration: none;
	display: block;
	transition: transform 0.3s ease;
}

.concern-item a:hover {
	transform: translateY(-5px);
}

.concern-image {
	background: #f9f9f9;
	margin-bottom: 15px;
}

.concern-image img {
	width: 100%;
	height: auto;
	display: block;
}

.concern-label {
	display: block;
	border: 1px solid var(--primary-blue);
	color: var(--primary-blue);
	background-color: #fff;
	text-align: center;
	padding: 12px 5px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 1px;
	text-transform: uppercase;
	position: relative;
	z-index: 2;
}

.concern-item a:hover .concern-label {
	background: var(--primary-blue);
	color: #fff;
}

/* Founder Section Styles */
.founder-section {
	background: #f7f7f7;
	overflow: hidden;
	padding: 80px 0;
}

.founder-section .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	align-items: center;
}

.founder-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0;
}

.founder-content {
	padding: 60px 10%;
	text-align: center;
}

.founder-title {
	font-size: 42px;
	color: var(--primary-blue);
	font-weight: 500;
	margin-bottom: 25px;
	text-align: center;
}

.founder-desc {
	font-size: 16px;
	color: #333;
	line-height: 1.6;
	margin-bottom: 40px;
	max-width: 550px;
	margin-left: auto;
	margin-right: auto;
}

.founder-btns {
	display: flex;
	justify-content: center;
	gap: 20px;
	margin-bottom: 40px;
}

.founder-btns .btn {
	flex: 1;
	max-width: 220px;
	background-color: #000080 !important;
	/* Darker navy from mockup */
	color: #fff !important;
	border: none;
	font-weight: 700;
	letter-spacing: 1px;
	padding: 15px 10px;
}

.founder-source {
	font-size: 10px;
	color: #666;
	line-height: 1.5;
	max-width: 450px;
	margin-left: auto;
	margin-right: auto;
	text-transform: none;
}

.founder-image {
	padding: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
}

.founder-image img {
	max-width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 992px) {
	.founder-section {
		padding: 0;
		background: #f7f7f7;
	}

	.founder-section .col-md-6 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.order-1 {
		order: 1 !important;
	}

	.order-2 {
		order: 2 !important;
	}

	.founder-image {
		padding: 0;
		margin-top: 0;
	}

	.founder-content {
		padding: 40px 20px 60px !important;
	}

	.founder-title {
		font-size: 32px;
	}

	.founder-btns {
		gap: 15px;
		padding: 0 10px;
	}

	.founder-btns .btn {
		padding: 15px 0;
		font-size: 11px;
	}
}

/* Getting Skin Ready Section Styles */
.gsr-section {
	padding: 80px 0;
	background: #fff;
}

.gsr-header {
	margin-bottom: 40px;
}

.gsr-header .section-title {
	font-size: 32px;
	margin: 0;
	color: #000;
}

.section-subtitle {
	font-size: 14px;
	color: #666;
	margin-top: 5px;
}

.gsr-section .row.no-gutters {
	display: flex;
	flex-wrap: wrap;
}

.gsr-featured-card {
	height: 100%;
}

.gsr-feat-inner {
	background-size: cover;
	background-position: center;
	height: 100%;
	min-height: 600px;
	display: flex;
	align-items: flex-end;
	padding: 50px 40px;
	position: relative;
	background-color: var(--primary-blue);
}

.gsr-feat-inner::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: linear-gradient(to top, rgba(0, 0, 0, 0.4), transparent);
}

.gsr-feat-content {
	position: relative;
	z-index: 1;
	color: #fff;
}

.gsr-feat-content h3 {
	font-size: 24px;
	margin-bottom: 10px;
}

.gsr-feat-content p {
	font-size: 13px;
	margin-bottom: 20px;
}

.btn-white {
	background: #fff;
	color: var(--primary-blue);
	border: 1px solid #fff;
}

.btn-white:hover {
	background: transparent;
	color: #fff;
}


.gsr-product-card .product-title {
	font-size: 14px;
	margin-top: 15px;
}

.gsr-product-card {
	background: #fff;
	border: 1px solid #f0f0f0;
	padding: 15px;
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	border-radius: 4px;
}

.gsr-product-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
	border-color: #e8e8e8;
}

.gsr-product-card .product-image {
	aspect-ratio: 3/5;
	/* Taller ratio */
	background: #fff;
	overflow: hidden;
}

.gsr-product-card .product-image img {
	transition: transform 0.6s cubic-bezier(0.165, 0.84, 0.44, 1);
}

.gsr-product-card:hover .product-image img {
	transform: scale(1.05);
}

.step-badge {
	position: absolute;
	bottom: 0;
	left: 0;
	background: #fff;
	color: var(--primary-blue);
	padding: 8px 12px;
	font-size: 10px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

@media (min-width: 992px) {
	.gsr-section .col-lg-3 {
		flex: 0 0 25% !important;
		max-width: 25% !important;
	}
}

@media (max-width: 992px) {
	.gsr-section .col-lg-3 {
		flex: 0 0 50% !important;
		max-width: 50% !important;
		margin-bottom: 30px;
	}
}

@media (max-width: 576px) {
	.gsr-section .col-lg-3 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

/* Subscribe Section Styles */
.subscribe-section {
	background: #f9f9f9;
	overflow: hidden;
}

.subscribe-section .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0;
	align-items: stretch;
}

.subscribe-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
}

.subscribe-content {
	padding: 60px 10%;
	text-align: left;
	width: 100%;
	max-width: 600px;
}

.subscribe-content .section-title {
	font-size: 34px;
	color: var(--primary-blue);
	font-weight: 400;
	margin-bottom: 25px;
	letter-spacing: -0.5px;
}

.subscribe-content .section-desc {
	font-size: 15px;
	color: #333;
	line-height: 1.6;
	margin-bottom: 40px;
	max-width: 440px;
	font-weight: 400;
}

/* Specific button style for this section to match sample's deep navy */
.subscribe-section .btn-primary {
	background: #000c2a;
	/* Very deep navy */
	color: #fff;
	border: none;
	padding: 15px 40px;
	border-radius: 0;
	font-size: 11px;
	letter-spacing: 1.5px;
}

.subscribe-section .btn-primary:hover {
	background: #001271;
	color: #fff;
}

.subscribe-image img {
	width: 100%;
	height: auto;
	display: block;
}

/* Regimen Section Styles */
.regimen-section {
	background-size: cover;
	background-position: center center;
	padding: 120px 0;
	position: relative;
	color: #fff;
	background-repeat: no-repeat;
}

.regimen-section::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.3);
}

.regimen-content {
	position: relative;
	z-index: 10;
	text-align: center;
}

.regimen-content .section-title {
	font-size: 36px;
	color: #fff;
	margin-bottom: 20px;
	font-weight: 300;
}

.regimen-content .section-desc {
	font-size: 16px;
	color: #fff;
	margin-bottom: 40px;
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
	line-height: 1.6;
}

.regimen-content .btn-white {
	display: inline-block;
	margin-left: auto;
	margin-right: auto;
}

@media (max-width: 768px) {
	.subscribe-section .col-md-6 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.subscribe-content {
		padding: 50px 20px;
	}

	.regimen-section {
		padding: 80px 0;
	}

	.regimen-content .section-title {
		font-size: 28px;
	}
}

/* News Section Styles */
.news-section {
	padding: 80px 0;
	background: #fff;
}

.news-header {
	display: flex;
	justify-content: space-between;
	align-items: flex-end;
	margin-bottom: 30px;
}

.news-header .section-title {
	font-size: 28px;
	margin: 0;
	font-weight: 400;
	color: #000;
	letter-spacing: -0.5px;
}

.view-all {
	font-size: 12px;
	color: #333;
	text-decoration: underline;
	font-weight: 500;
}

.news-section .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
}

.news-section .col-md-3 {
	flex: 0 0 25% !important;
	max-width: 25% !important;
	padding: 0 15px;
}

.news-card {
	margin-bottom: 40px;
	width: 100%;
}

.news-image {
	aspect-ratio: 16 / 9;
	overflow: hidden;
	margin-bottom: 20px;
	background: #f4f4f4;
	width: 100%;
}

.news-image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.3s ease;
}

.news-title {
	font-size: 15px;
	line-height: 1.3;
	margin-bottom: 12px;
	font-weight: 600;
	color: #000;
	min-height: 40px;
	display: -webkit-box;
	line-clamp: 2;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.news-desc {
	font-size: 13.5px;
	color: #333;
	line-height: 1.5;
	margin-bottom: 15px;
	display: -webkit-box;
	line-clamp: 3;
	-webkit-line-clamp: 3;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

.read-more {
	font-size: 11px;
	font-weight: 500;
	color: #000;
	text-decoration: underline;
	display: inline-block;
	text-transform: capitalize;
}

/* Customer Service Bar Styles */
.cs-bar {
	border-top: 1px solid #eee;
	padding: 30px 0;
	background: #fff;
}

.flex-bar {
	display: flex;
	justify-content: space-between;
	align-items: center;
	font-size: 13px;
	color: #333;
}

.cs-left {
	font-weight: 600;
}

@media (max-width: 768px) {
	.cs-bar {
		padding: 20px 0;
	}

	.flex-bar {
		flex-direction: column;
		gap: 10px;
		text-align: center;
		font-size: 14px;
	}

	.cs-right {
		line-height: 1.6;
		padding: 0 15px;
	}
}

/* Footer Styles */
.site-footer {
	background: #fff;
	color: #333;
	font-size: 13px;
	border-top: 1px solid #eee;
}

.footer-top {
	padding: 80px 0;
}

.footer-top .row {
	display: flex;
	flex-wrap: wrap;
	margin: 0 -15px;
	justify-content: space-between;
}

.footer-top .col-lg-4 {
	flex: 0 0 30%;
	max-width: 30%;
	padding: 0 15px;
}

.footer-top .col-lg-2 {
	flex: 0 0 15%;
	max-width: 15%;
	padding: 0 15px;
	margin-left: auto;
}

.footer-top .col-lg-3 {
	flex: 0 0 20%;
	max-width: 20%;
	padding: 0 15px;
}

.footer-title {
	font-size: 13px;
	font-weight: 600;
	color: #001e61;
	margin-bottom: 25px;
	text-transform: capitalize;
	letter-spacing: 0.5px;
}

.footer-top p {
	font-size: 13px;
	color: #444;
	margin-bottom: 20px;
	line-height: 1.6;
}

.footer-newsletter-form {
	display: flex;
	margin-bottom: 20px;
	border-bottom: 1px solid #ccc;
	position: relative;
	max-width: 400px;
}

.footer-newsletter-form input {
	flex: 1;
	border: none;
	padding: 12px 0;
	font-size: 13px;
	outline: none;
	background: transparent;
	color: #000;
}

.footer-newsletter-form button {
	background: #001e61;
	color: #fff;
	border: none;
	padding: 10px 20px;
	font-size: 11px;
	font-weight: 700;
	cursor: pointer;
	letter-spacing: 1px;
	margin-left: 10px;
}

.footer-small-text {
	font-size: 11px;
	color: #777;
	line-height: 1.4;
}

.footer-social {
	margin-top: 40px;
}

.footer-tagline {
	font-style: italic;
	font-size: 12px !important;
	color: #001e61 !important;
	margin-bottom: 15px !important;
}

.social-icons {
	display: flex;
	gap: 20px;
}

.social-icons a {
	color: #001e61;
	text-decoration: none;
	font-size: 18px;
}

.footer-links {
	list-style: none;
	padding: 0;
	margin: 0;
}

.footer-links li {
	margin-bottom: 10px;
}

.footer-links a {
	text-decoration: none;
	color: #444;
	transition: color 0.3s ease;
}

.footer-links a:hover {
	color: #001e61;
}

.footer-bottom {
	background: #f4f4f4;
	padding: 40px 0;
	border-top: 1px solid #eee;
}

.footer-region {
	font-weight: 600;
	color: #001e61;
	font-size: 12px;
}

.footer-bottom .row {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	margin: 0 -15px;
}

.footer-bottom .col-lg-4 {
	flex: 0 0 33.333%;
	max-width: 33.333%;
	padding: 0 15px;
}

.footer-secure {
	display: flex;
	justify-content: flex-end;
	align-items: center;
	gap: 15px;
	margin-bottom: 10px;
	color: #333;
	font-size: 11px;
	text-transform: uppercase;
}

.payment-icons {
	display: flex;
	gap: 10px;
}

.payment-icons img {
	height: 18px;
	opacity: 0.8;
}

.footer-legal {
	font-size: 11px;
}

.footer-legal a {
	color: #666;
	text-decoration: none;
	margin: 0 10px;
}

@media (max-width: 991px) {

	.footer-top .col-lg-4,
	.footer-top .col-lg-3,
	.footer-top .col-lg-2 {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 40px;
	}

	.footer-top .col-lg-2 {
		margin-left: 0;
	}

	.footer-bottom {
		text-align: center;
		padding: 30px 0;
	}

	.footer-bottom .col-lg-4 {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 25px;
	}

	.footer-bottom .col-lg-4:last-child {
		margin-bottom: 0;
	}

	.footer-bottom .text-right {
		text-align: center !important;
	}

	.footer-secure {
		justify-content: center;
	}

	.footer-newsletter-form {
		max-width: 100%;
	}
}

@media (max-width: 768px) {
	.footer-top {
		padding: 50px 0;
	}
}

@media (max-width: 576px) {
	.footer-newsletter-form {
		flex-direction: column;
		border-bottom: none;
	}

	.footer-newsletter-form input {
		border-bottom: 1px solid #ccc;
		margin-bottom: 15px;
		width: 100%;
		padding: 12px 10px;
	}

	.footer-newsletter-form button {
		margin-left: 0;
		width: 100%;
		padding: 12px;
	}
}

/* Back to Top Button */
#back-to-top {
	position: fixed;
	bottom: 30px;
	right: 30px;
	width: 45px;
	height: 45px;
	background-color: #001e61;
	color: #fff;
	border: none;
	border-radius: 5px;
	cursor: pointer;
	display: none;
	/* Hidden by default */
	z-index: 1000;
	font-size: 18px;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.2);
	transition: background-color 0.3s, opacity 0.3s;
}

#back-to-top:hover {
	background-color: #000c2a;
}

/* About Page Styles */
.breadcrumb-section {
	padding: 30px 0;
	border-bottom: 1px solid #eee;
}

.breadcrumb {
	font-size: 11px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.breadcrumb a {
	color: #333;
	text-decoration: underline;
}

.breadcrumb .sep {
	margin: 0 10px;
}

.breadcrumb .current {
	color: #999;
}

.about-hero {
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	padding: 150px 0;
	min-height: 500px;
	display: flex;
	align-items: center;
	position: relative;
}

.about-hero-inner {
	width: 100%;
}

.about-hero .container {
	margin-left: 0;
	padding-left: 5%;
	max-width: 100%;
}

.about-hero-content {
	background: transparent;
	padding: 0;
	backdrop-filter: none;
	text-align: left;
}

.about-title {
	font-size: 36px;
	color: #000;
	margin-bottom: 20px;
	font-weight: 500;
	letter-spacing: 1px;
	text-transform: capitalize;
	line-height: 1.2;
	white-space: nowrap;
}

.about-subtitle {
	font-size: 18px;
	color: #333;
	line-height: 1.5;
	font-weight: 500;
	white-space: nowrap;
}

.about-founder-section {
	padding: 100px 0;
	background: #f9f9f9;
}

.founder-image-wrap img {
	width: 100%;
	box-shadow: 20px 20px 0 #001e61;
}

.founder-info-content {
	padding-left: 50px;
}

.founder-info-content .section-title {
	font-size: 36px;
	color: #001e61;
	margin-bottom: 30px;
}

.founder-info-content p {
	font-size: 16px;
	line-height: 1.8;
	color: #444;
	margin-bottom: 25px;
}

.about-philosophy-section {
	padding: 100px 0;
}

.philosophy-grid {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 50px;
}

.philosophy-item .item-title {
	font-size: 14px;
	letter-spacing: 2px;
	color: #001e61;
	margin-bottom: 20px;
	border-bottom: 2px solid #001e61;
	display: inline-block;
	padding-bottom: 5px;
}

.philosophy-item p {
	font-size: 14px;
	line-height: 1.7;
	color: #666;
}

@media (max-width: 768px) {
	.about-hero-inner {
		flex-direction: column;
		text-align: center;
	}

	.about-hero-content,
	.about-hero-image {
		max-width: 100%;
		flex: 0 0 100%;
	}

	.about-hero-content {
		margin-bottom: 40px;
	}

	.philosophy-grid {
		grid-template-columns: 1fr;
	}
}

/* About Info Section */
.about-info-section {
	padding: 0;
	background: #fff;
}

.about-info-section .row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.about-info-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
}

.about-info-image-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

.about-info-content {
	background: #001e61;
	color: #fff;
	padding: 80px 60px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.about-info-content .section-title {
	font-size: 24px;
	color: #fff;
	margin-bottom: 30px;
	font-weight: 400;
	letter-spacing: 0.5px;
	text-transform: none;
}

.info-desc p {
	font-size: 14px;
	line-height: 1.8;
	color: #fff;
	margin-bottom: 25px;
}

.btn-white {
	background: #fff;
	color: #001e61;
	padding: 12px 35px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	display: inline-block;
	text-decoration: none;
	border-radius: 0;
	transition: all 0.3s ease;
}

.btn-white:hover {
	background: #eee;
	color: #000c2a;
}

.btn-navy {
	background: #001e61;
	color: #fff !important;
	padding: 12px 35px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	display: inline-block;
	text-decoration: none;
	border-radius: 0;
	transition: background 0.3s ease;
}

.btn-navy:hover,
.btn-navy:focus,
.btn-navy:active,
.btn-navy:visited {
	background: #000c2a;
	color: #fff !important;
}

@media (max-width: 768px) {
	.about-info-content {
		padding-left: 0;
		padding-top: 40px;
	}
}

/* Detailed Founder Section */
.about-founder-detail-section {
	padding: 0;
	background: #fff;
}

.about-founder-detail-section .row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.about-founder-detail-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
}

.founder-detail-content {
	padding-top: 100px;
	padding-bottom: 100px;
}

.founder-section-title {
	font-size: 24px;
	color: #001e61;
	margin-bottom: 40px;
	font-weight: 400;
	letter-spacing: 0.5px;
	text-transform: none;
}

.founder-heading {
	font-size: 16px;
	color: #000;
	margin-bottom: 25px;
	font-weight: 700;
}

.founder-bullets p {
	font-size: 14px;
	color: #333;
	margin-bottom: 12px;
	line-height: 1.8;
	position: relative;
}

.founder-more-link {
	margin-top: 50px;
	border-top: 1px solid #eee;
	padding-top: 25px;
	max-width: 100%;
}

.founder-more-link a {
	display: flex;
	align-items: center;
	gap: 15px;
	text-decoration: none;
	color: #000;
	font-size: 13px;
	font-weight: 500;
	transition: color 0.3s ease;
}

.founder-more-link a span {
	font-size: 24px;
	color: #001e61;
	font-weight: 300;
	line-height: 1;
}

.founder-more-link a:hover {
	color: #001e61;
}

.founder-photo-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

@media (max-width: 768px) {
	.founder-detail-content {
		padding-bottom: 40px;
	}

	.about-founder-detail-section .row {
		flex-direction: column-reverse;
	}
}

/* Innovation & Specialists Sections */
.about-innovation-section {
	padding: 0;
	background: #fff;
}

.about-innovation-section .innovation-content {
	background: #001e61;
	color: #fff;
	padding: 80px 60px;
	height: 100%;
	display: flex;
	flex-direction: column;
	justify-content: center;
}

.about-innovation-section .section-title-navy {
	color: #fff;
}

.about-innovation-section .innovation-desc p {
	color: #fff;
}

.about-innovation-section .innovation-step-item {
	color: #fff;
	border-bottom: 1px solid rgba(255, 255, 255, 0.2);
	border-top: 1px solid rgba(255, 255, 255, 0.2);
	margin-top: -1px;
	/* Overlap borders */
}

.about-innovation-section .innovation-step-item .plus-icon {
	color: #fff;
	font-weight: 300;
	position: relative;
	width: 14px;
	height: 14px;
	display: flex;
	align-items: center;
	justify-content: center;
}

/* Custom CSS Plus/Minus */
.about-innovation-section .plus-icon::before,
.about-innovation-section .plus-icon::after {
	content: "";
	position: absolute;
	background: currentColor;
	transition: transform 0.3s ease;
}

.about-innovation-section .plus-icon::before {
	width: 100%;
	height: 1px;
	/* Horizontal line */
}

.about-innovation-section .plus-icon::after {
	width: 1px;
	height: 100%;
	/* Vertical line */
}

.about-innovation-section .accordion-item.active .plus-icon::after {
	transform: rotate(90deg);
	opacity: 0;
}

.about-innovation-section .step-header span {
	font-size: 16px;
	letter-spacing: 0.3px;
	font-weight: 400;
}

.about-innovation-section .row,
.about-specialists-section .row {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
}

.about-innovation-section .col-md-6,
.about-specialists-section .col-md-6 {
	flex: 0 0 50%;
	max-width: 50%;
}

.innovation-image-wrap img,
.specialists-image-wrap img {
	width: 100%;
	height: auto;
	display: block;
}

.section-title-navy {
	font-size: 24px;
	color: #001e61;
	margin-bottom: 30px;
	font-weight: 400;
	letter-spacing: 0.5px;
	text-transform: none;
}

.innovation-content,
.specialists-content {
	padding: 100px 40px;
}

.about-specialists-section .specialists-content {
	padding: 100px 40px;
}

.innovation-desc p,
.specialists-desc p {
	font-size: 14px;
	line-height: 1.8;
	color: #333;
	margin-bottom: 20px;
}

.innovation-steps {
	margin: 30px 0;
}

.innovation-step-item {
	display: block;
	padding: 20px 0;
	font-size: 14px;
	color: #000;
}

.innovation-step-item .plus-icon {
	font-size: 0;
	/* Hide the text + */
}

.about-specialists-section {
	padding: 0;
	background: #fff;
}

@media (max-width: 768px) {

	.innovation-content,
	.specialists-content {
		padding: 40px 0 0;
	}

	.about-specialists-section .row {
		flex-direction: column-reverse;
	}
}

/* Accordion Styles */
.accordion-content {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out, padding 0.3s ease;
	font-size: 14px;
	line-height: 1.6;
}

.accordion-item.active .accordion-content {
	max-height: 500px;
	/* Large enough to fit content */
	padding-top: 15px;
	padding-bottom: 10px;
}

.plus-icon {
	transition: transform 0.3s ease;
	display: inline-block;
}

.accordion-item.active .plus-icon {
	transform: none;
	/* We use pseudo-element animation instead */
}

.step-header {
	display: flex;
	justify-content: space-between;
	align-items: center;
	cursor: pointer;
	width: 100%;
}

.founder-more-link .plus-icon {
	margin-right: 15px;
}

/* Awards Banner Section */
.about-awards-banner {
	height: 550px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
}

.h-100 {
	height: 100%;
}

.align-items-center {
	display: flex;
	align-items: center;
}

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

.awards-content {
	max-width: 500px;
}

.awards-desc {
	font-size: 14px;
	line-height: 1.8;
	color: #333;
	margin-top: 25px;
	margin-bottom: 35px;
}

.awards-btns {
	display: flex;
	gap: 15px;
}

.btn-navy-outline {
	background: transparent;
	border: 1px solid #001e61;
	color: #001e61;
	padding: 12px 35px;
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 1.5px;
	display: inline-block;
	text-decoration: none;
	border-radius: 0;
	transition: all 0.3s ease;
}

.btn-navy-outline:hover,
.btn-navy-outline:visited:hover {
	background: #001e61;
	color: #fff !important;
}

/* Milestones Section */
.about-milestones-section {
	padding: 80px 0;
	background: #fff;
}

.milestones-desc {
	max-width: 800px;
	margin: 0 auto;
	font-size: 14px;
	line-height: 1.8;
	color: #333;
}

@media (max-width: 768px) {
	.about-awards-banner {
		height: auto;
		padding: 80px 0;
		background-image: none !important;
		background: #f9f9f9;
	}

	.awards-btns {
		flex-direction: column;
	}
}

/* Shop Hero Banner */
.shop-hero-banner {
	height: 350px;
	background-size: cover;
	background-position: center;
	background-repeat: no-repeat;
	position: relative;
	margin-bottom: 60px;
}

.shop-hero-content {
	padding-left: 20px;
}

.shop-page-title {
	font-size: 32px;
	color: #000;
	margin-bottom: 20px;
	font-weight: 400;
	letter-spacing: 0.5px;
}

.shop-hero-links {
	display: flex;
	gap: 25px;
}

.shop-hero-links a {
	font-size: 13px;
	color: #000;
	text-decoration: underline;
	font-weight: 500;
	letter-spacing: 0.3px;
	transition: color 0.3s ease;
}

.shop-hero-links a:hover {
	color: #001e61;
}

.shop-container {
	padding-bottom: 80px;
}

/* Shop Toolbar & Filters */
/* Shop Toolbar & Filters */
/* Shop Toolbar & Filters */
/* Refined Shop Toolbar */
.shop-toolbar-refined {
	border-bottom: 1px solid #eee;
	padding-bottom: 15px;
	margin-top: 30px;
}

.toolbar-left,
.toolbar-right {
	font-size: 14px;
	color: #000;
}

.toolbar-center .btn-filter-toggle {
	background: transparent;
	border: none;
	font-size: 14px;
	color: #000;
	cursor: pointer;
	padding: 5px 15px;
	display: flex;
	align-items: center;
	transition: opacity 0.3s;
}

.toolbar-center .btn-filter-toggle:hover {
	opacity: 0.7;
}

/* Style the WooCommerce Sort Select to look like "Sort: Relevance" */
.shop-toolbar-refined .woocommerce-ordering {
	margin: 0;
}

.shop-toolbar-refined .woocommerce-ordering select {
	border: none;
	background: transparent;
	font-size: 14px;
	color: #000;
	cursor: pointer;
	padding-right: 20px;
	appearance: none;
	-webkit-appearance: none;
	background-image: url("data:image/svg+xml;charset=UTF-8,%3csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 24 24' fill='none' stroke='currentColor' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3e%3cpolyline points='6 9 12 15 18 9'%3e%3c/polyline%3e%3c/svg%3e");
	background-repeat: no-repeat;
	background-position: right center;
	outline: none;
}

/* Shop Grid System */
.shop-container .row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
	justify-content: center;
}

.shop-container .col-md-4 {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 768px) {
	.shop-container .col-md-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
}

.shop-container .col-12 {
	padding-right: 15px;
	padding-left: 15px;
}

/* Shop Card Styles */
.shop-card {
	background: #fff;
	height: 100%;
	display: flex;
	flex-direction: column;
	border: none;
	padding-bottom: 15px;
}

.shop-card-image-wrapper {
	position: relative;
	background-color: #f9f9f9;
	aspect-ratio: 1;
	/* Square for consistency */
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
	padding: 30px;
}

.shop-card-image-wrapper img {
	max-width: 100%;
	max-height: 100%;
	width: auto;
	height: auto;
	object-fit: contain;
	transition: transform 0.5s ease;
}

.shop-card:hover .shop-card-image-wrapper img {
	transform: scale(1.05);
}

/* Circular Badge */
.badge-new-circle {
	position: absolute;
	top: 20px;
	left: 20px;
	width: 50px;
	height: 50px;
	border-radius: 50%;
	background: #fff;
	border: 1px solid #001e61;
	display: flex;
	align-items: center;
	justify-content: center;
	z-index: 5;
}

.badge-new-circle span {
	font-size: 10px;
	font-weight: 700;
	color: #001e61;
	letter-spacing: 0.5px;
}

.shop-card-title {
	font-size: 18px;
	font-weight: 400;
	margin-bottom: 8px;
	line-height: 1.3;
	min-height: 48px;
}

.shop-card-title a {
	color: #001e61;
	text-decoration: none;
}

.shop-card-meta {
	font-size: 13px;
	color: #000;
	margin-bottom: 12px;
	letter-spacing: 0.3px;
}

.shop-card-price {
	font-size: 15px;
	font-weight: 400;
	color: #000;
}

.shop-card-rating {
	font-size: 11px;
	color: #001e61;
}

.shop-card-rating .star-rating {
	color: #001e61;
	margin-right: 5px;
	font-size: 11px;
	width: 5.4em;
}

.shop-card-rating .star-rating:before {
	color: #ccc;
}

.shop-card-rating .star-rating span:before {
	color: #001e61;
}


/* Refinement styles */
.quick-view-bar {
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	background: #fff;
	padding: 10px;
	border-top: 1px solid #eee;
	opacity: 0;
	transition: opacity 0.3s;
}

.shop-card:hover .quick-view-bar {
	opacity: 1;
}

.quick-view-bar span {
	font-size: 11px;
	font-weight: 400;
	color: #001e61;
	text-decoration: underline;
	letter-spacing: 1px;
}



/* Single Product Page Styles */
/* Single Product Page Styles */
.single-product-container {
	padding: 50px 0;
}

/* Fix Grid for Single Product */
.single-product-container .row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}


.single-product-container .col-md-7 {
	position: relative;
	width: 100%;
	padding-right: 10px;
	/* Reduced padding */
	padding-left: 15px;
	flex: 0 0 40%;
	/* Reduced for image section */
	max-width: 40%;
}

.single-product-container .col-md-5 {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 10px;
	/* Reduced padding */
	flex: 0 0 60%;
	/* Increased for info section */
	max-width: 60%;
}


/* Responsive adjustment */
@media (max-width: 768px) {

	.single-product-container .col-md-7,
	.single-product-container .col-md-5 {
		flex: 0 0 100%;
		max-width: 100%;
	}
}

.custom-product-gallery {
	display: flex;
	gap: 20px;
	align-items: flex-start;
	/* Prevent stretching */
}

.gallery-thumbs-col {
	width: 70px;
	display: flex;
	flex-direction: column;
	gap: 15px;
	flex-shrink: 0;
}

.thumb-item {
	width: 100%;
	aspect-ratio: 1;
	border: 1px solid #eee;
	overflow: hidden;
	cursor: pointer;
	transition: border-color 0.3s;
}

.thumb-item.active,
.thumb-item:hover {
	border-color: #001e61;
}

.thumb-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.gallery-main-area {
	flex: 1;
	position: relative;
}

.main-image-wrapper {
	width: 100%;
	max-width: 500px;
	margin: 0;
	/* Align left */
	background: #f9f9f9;
	text-align: center;
	position: relative;
	overflow: hidden;
	/* For Zoom */
	cursor: crosshair;
}

.main-image-wrapper img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.2s ease-out;
	/* Smooth Zoom */
}

.badge-single {
	top: 20px;
	left: 20px;
}

/* Product Info */
.product-info-wrapper {
	padding-left: 0;
	/* Removed extra padding */
}

.woocommerce-breadcrumb {
	font-size: 13px;
	color: #777;
	margin-bottom: 15px;
}

.woocommerce-breadcrumb a {
	color: #555;
	text-decoration: underline;
}

.product-title-single {
	font-size: 32px;
	font-weight: 300;
	color: #001e61;
	margin-bottom: 10px;
}

.product-price-single {
	font-size: 18px;
	color: #001e61;
	font-weight: 600;
}

.product-short-desc {
	font-size: 14px;
	line-height: 1.6;
	color: #333;
}

.attr-row {
	font-size: 14px;
	color: #333;
}

.attr-label {
	font-weight: 600;
	margin-right: 5px;
}

/* Button */
.btn-consultation,
a.btn-consultation,
a.btn-consultation:visited,
a.btn-consultation:active {
	display: block;
	width: 100%;
	background: #dc3545;
	color: #fff !important;
	padding: 15px;
	border: none;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 1px;
	margin-top: 20px;
	cursor: pointer;
	transition: background 0.3s;
	text-align: center;
	text-decoration: none;
}

.btn-consultation:hover,
a.btn-consultation:hover {
	background: #c82333;
	color: #fff !important;
}

.shipping-note {
	font-size: 12px;
	color: #666;
	text-align: center;
}

/* Accordions */
.accordion-item-single {
	border-bottom: 1px solid #eee;
}

.accordion-header-single {
	padding: 15px 0;
	cursor: pointer;
	font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center;
	color: #001e61;
}

.accordion-content-single {
	max-height: 0;
	overflow: hidden;
	transition: max-height 0.3s ease-out;
}

.accordion-item-single.active .accordion-content-single {
	max-height: 500px;
	padding-bottom: 15px;
}

.plus-icon-single::after {
	content: '+';
	font-size: 18px;
	font-weight: 300;
}

.accordion-item-single.active .plus-icon-single::after {
	content: '-';
}

/* Modal */
.consult-modal {
	display: none;
	position: fixed;
	z-index: 9999;
	left: 0;
	top: 0;
	width: 100%;
	height: 100%;
	background-color: rgba(0, 0, 0, 0.5);
	align-items: center;
	justify-content: center;
}

.consult-modal-content {
	background-color: #fff;
	padding: 40px;
	border: none;
	width: 90%;
	max-width: 500px;
	position: relative;
	box-shadow: 0 5px 15px rgba(0, 0, 0, 0.2);
}

.close-modal {
	position: absolute;
	top: 10px;
	right: 20px;
	font-size: 28px;
	font-weight: bold;
	cursor: pointer;
	color: #999;
}

.close-modal:hover {
	color: #000;
}

.modal-header h3 {
	color: #001e61;
	margin-bottom: 10px;
}

.form-group {
	margin-bottom: 15px;
}

.form-control {
	width: 100%;
	padding: 12px;
	border: 1px solid #ccc;
	border-radius: 0;
	font-size: 14px;
}

.btn-submit-consult {
	width: 100%;
	background: #001e61;
	color: #fff;
	border: none;
	padding: 15px;
	font-weight: 600;
	text-transform: uppercase;
	cursor: pointer;
	transition: background 0.3s;
}

.btn-submit-consult:hover {
	background: #000c2a;
}

@media (max-width: 768px) {
	/* Consolidated into main Single Product Responsive Section at bottom */
}

/* Blog Grid System */
.blog-container .row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}

.blog-container .col-md-4 {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	flex: 0 0 100%;
	max-width: 100%;
}

@media (min-width: 768px) {
	.blog-container .col-md-4 {
		flex: 0 0 33.333333%;
		max-width: 33.333333%;
	}
}

/* Blog Page Styles */
.blog-card {
	background: #fff;
	border: 1px solid transparent;
	padding: 0 !important;
	/* Force edge-to-edge */
	transition: all 0.3s ease;
	height: 100%;
	display: flex;
	flex-direction: column;
}

.blog-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
}

.blog-card-image-wrapper {
	position: relative;
	overflow: hidden;
	margin-bottom: 20px;
	width: 100% !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

.blog-card:hover .img-zoom-container img {
	transform: scale(1.08);
	/* Zoom effect */
}

.img-zoom-container img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	/* Crop square images to fit container */
	display: block;
	transition: transform 0.8s cubic-bezier(0.25, 0.46, 0.45, 0.94);
}

.blog-card-content {
	padding: 0 10px 20px;
	display: flex;
	flex-direction: column;
	flex-grow: 1;
}

.blog-meta {
	font-size: 10px;
	color: #999;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	font-weight: 600;
	margin-bottom: 10px;
}

.blog-meta a {
	color: #999;
	text-decoration: none;
	transition: color 0.3s;
}

.blog-meta a:hover {
	color: #001e61;
}

.blog-card-title {
	font-size: 22px;
	font-weight: 400;
	line-height: 1.3;
	min-height: auto;
	margin-bottom: 15px;
}

.blog-card-title a {
	color: #0d0d0d;
	text-decoration: none;
	transition: color 0.3s;
	background-image: linear-gradient(currentColor, currentColor);
	background-position: 0% 100%;
	background-repeat: no-repeat;
	background-size: 0% 1px;
	transition: background-size .3s, color .3s;
}

.blog-card:hover .blog-card-title a {
	color: #001e61;
	background-size: 100% 1px;
}

.blog-excerpt {
	font-size: 14px;
	color: #666;
	line-height: 1.7;
	margin-bottom: 25px;
	flex-grow: 1;
}

.btn-read-more {
	display: inline-flex;
	align-items: center;
	color: #001e61;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	letter-spacing: 2px;
	transition: all 0.3s ease;
	padding-bottom: 3px;
	border-bottom: 1px solid rgba(0, 30, 97, 0.2);
}

.btn-read-more:hover {
	border-bottom-color: #001e61;
}

.btn-read-more::after {
	content: '→';
	margin-left: 8px;
	transition: transform 0.3s;
}

.btn-read-more:hover::after {
	transform: translateX(5px);
}

/* Pagination */
.pagination {
	display: flex;
	justify-content: center;
	gap: 10px;
}

.nav-links {
	display: flex;
	gap: 10px;
}

.nav-links a,
.nav-links span {
	padding: 10px 15px;
	border: 1px solid #ddd;
	color: #001e61;
	text-decoration: none;
	font-size: 14px;
	transition: all 0.3s;
}

.nav-links a:hover,
.nav-links span.current {
	background: #001e61;
	color: #fff;
	border-color: #001e61;
}

/* =========================================
   RESPONSIVE STYLES
   ========================================= */

@media (max-width: 992px) {

	/* General Typography */
	h1 {
		font-size: 28px;
	}

	h2 {
		font-size: 24px;
	}

	.section-title {
		font-size: 26px !important;
	}

	.mobile-menu-toggle {
		display: block;
		background: transparent;
		border: none;
		padding: 0;
		margin-left: -20px;
		/* Pull closer to edge */
	}

	.desktop-only {
		display: none !important;
	}

	/* Header */
	.header-top {
		padding: 15px 0;
	}

	.header-flex {
		flex-wrap: nowrap;
		gap: 0;
	}

	.header-left {
		flex: 1;
	}

	.header-right {
		display: none !important;
	}

	.header-center {
		flex: 2;
	}

	.site-title {
		font-size: 16px;
		/* Reduced to fit long name on one line */
		white-space: nowrap;
		overflow: hidden;
		text-overflow: ellipsis;
		margin: 0;
		line-height: 1;
	}

	/* Navigation - Mobile Menu */
	.menu-toggle {
		display: block;
		margin: 0 auto;
		background: transparent;
		color: #333;
		border: 1px solid #ccc;
		padding: 8px 15px;
		border-radius: 4px;
		cursor: pointer;
	}

	.main-navigation ul {
		display: none;
		flex-direction: column;
		background: #fff;
		position: absolute;
		top: 100%;
		left: 0;
		right: 0;
		z-index: 1000;
		box-shadow: 0 4px 6px rgba(0, 0, 0, 0.1);
		padding: 20px;
		text-align: center;
		gap: 15px;
	}

	.main-navigation.toggled ul {
		display: flex;
	}

	.main-navigation {
		position: relative;
	}

	/* Main Slider */
	.slide-inner {
		height: 80vh;
		min-height: 600px;
		background-position: center bottom;
		display: flex;
		align-items: flex-end;
		padding: 0;
	}

	/* Remove container padding on mobile for the slider to go full width/flush */
	.main-slider .container {
		padding-left: 0 !important;
		padding-right: 0 !important;
		width: 100% !important;
		max-width: none !important;
	}

	.slide-content,
	.slide-1 .slide-content,
	.slide-2 .slide-content {
		width: 100%;
		margin: 0 !important;
		padding: 40px 30px 60px !important;
		/* Reduced side padding to 30px */
		text-align: left !important;
		background: linear-gradient(to top, rgba(0, 0, 0, 0.7) 0%, rgba(0, 0, 0, 0) 100%);
		box-shadow: none;
	}

	.slide-content .slide-title,
	.slide-content .slide-intro,
	.slide-content .slide-desc {
		color: #fff !important;
	}

	.slide-intro {
		font-size: 14px;
		margin-bottom: 15px;
		letter-spacing: 1px;
	}

	.slide-title {
		font-size: 28px;
		/* Reduced from 32px to fit better */
		white-space: normal !important;
		/* Force wrap */
		word-wrap: break-word;
		/* legacy */
		overflow-wrap: break-word;
		/* standard */
		margin-bottom: 20px;
		font-weight: 400;
		line-height: 1.3;
		width: 100%;
		/* Ensure it knows bounds */
	}

	.slide-desc {
		font-size: 15px;
		margin-bottom: 30px;
		opacity: 0.9;
	}

	.slide-btns {
		display: block;
	}

	.slide-btns .btn {
		width: auto;
		min-width: 160px;
		display: inline-block;
		margin: 0;
		background: #fff;
		color: var(--primary-blue) !important;
		font-size: 12px;
		padding: 12px 30px;
	}

	.slide-btns .btn:last-child {
		display: none;
		/* Hide second button on mobile if it clutters */
	}

	.main-slider .swiper-pagination {
		bottom: 20px !important;
	}

	.main-slider .swiper-pagination-bullet {
		background: #fff !important;
		opacity: 0.5;
	}

	.main-slider .swiper-pagination-bullet-active {
		opacity: 1;
	}

	/* Navigation arrows adjustments for mobile */
	.swiper-button-next,
	.swiper-button-prev {
		display: none;
		/* Hide arrows on mobile, rely on swipe/dots */
	}

	/* Sections Stacking */
	.promo-section .col-md-6,
	.founder-section .col-md-6,
	.subscribe-section .col-md-6,
	.about-info-section .col-md-6,
	.about-founder-detail-section .col-md-6,
	.about-innovation-section .col-md-6,
	.about-specialists-section .col-md-6,
	.about-awards-banner .col-md-5 {
		flex: 0 0 100%;
		max-width: 100%;
	}

	.subscribe-image,
	.promo-image {
		width: 100%;
		margin-top: 20px;
	}

	.order-2 {
		order: 2;
	}

	.order-md-1 {
		order: 1;
	}

	.order-md-2 {
		order: 2;
	}

	/* Promo Section Specifics */
	.promo-text-col,
	.subscribe-content {
		padding: 40px 20px !important;
	}

	/* Getting Skin Ready */
	.gsr-section .col-lg-3 {
		flex: 0 0 85%;
		max-width: 85%;
		margin-right: 15px;
		scroll-snap-align: start;
		display: flex;
		/* Make this a flex container */
		flex-direction: column;
		padding-left: 0 !important;
		/* Remove column padding so card is flush */
		padding-right: 0 !important;
	}

	/* Reduce padding for banner overlays on mobile to be closer to edge */
	/* Reduce padding for banner overlays on mobile */
	.gsr-feat-inner,
	.promo-text-col,
	.slide-content,
	.slide-1 .slide-content,
	.slide-2 .slide-content {
		padding-left: 30px !important;
		padding-right: 30px !important;
	}

	.gsr-feat-inner {
		min-height: 500px;
	}

	/* News Section Flush Fix */
	.news-section .col-md-3 {
		padding-left: 0 !important;
		padding-right: 0 !important;
	}

	/* Footer */
	.footer-top .col-lg-4,
	.footer-top .col-lg-3,
	.footer-top .col-lg-2 {
		flex: 0 0 100%;
		max-width: 100%;
		margin-bottom: 30px;
		text-align: center;
	}

	.footer-newsletter-form {
		margin: 0 auto 20px;
	}

	.social-icons {
		justify-content: center;
	}

	/* Misc */
	.cs-right {
		text-align: center;
		font-size: 11px;
		margin-top: 5px;
	}

	/* Shop Page Responsive */
	/* FORCE 2-COLUMN GRID ON MOBILE - CENTERING FIX */
	.product-grid-row {
		margin-left: -5px !important;
		margin-right: -5px !important;
		display: flex;
		flex-wrap: wrap;
		justify-content: center;
	}

	.shop-container .col-6 {
		flex: 0 0 50%;
		max-width: 50%;
		padding-left: 5px !important;
		padding-right: 5px !important;
		width: 50% !important;
		float: left;
	}

	/* Ensure outer row is handled or ignored */
	.shop-container>.row {
		margin-left: -15px;
		margin-right: -15px;
	}

	.shop-card {
		margin-bottom: 20px;
		height: 100%;
		text-align: center;
		/* Ensure content is centered in card */
	}

	.shop-card-image-wrapper {
		display: flex;
		justify-content: center;
		/* Center image horizontally */
		align-items: center;
	}

	.shop-card-image-wrapper img {
		margin: 0 auto;
		/* Force image center */
	}

	/* Clear float if using float fallback */
	.product-grid-row::after {
		content: "";
		display: table;
		clear: both;
	}

	.shop-hero-banner {
		min-height: 200px;
		/* Reduced specific height */
		padding: 30px 0;
	}

	.shop-page-title {
		font-size: 28px;
		text-align: center;
		margin-bottom: 15px;
	}

	.shop-hero-links {
		justify-content: center;
		flex-direction: column;
		gap: 10px;
		align-items: center;
	}

	.shop-hero-links a {
		font-size: 13px;
		width: auto;
	}

	.shop-toolbar-container {
		flex-direction: column;
		align-items: flex-start;
	}

	.shop-filters-row {
		flex-direction: column;
		align-items: stretch !important;
		gap: 15px;
	}

	/* Mobile Filter Toggle Styles */
	.shop-filter-content {
		display: none;
		/* Hidden by default on mobile */
	}

	.shop-filter-content.active {
		display: block;
		animation: slideDown 0.3s ease-out;
	}

	@keyframes slideDown {
		from {
			opacity: 0;
			transform: translateY(-10px);
		}

		to {
			opacity: 1;
			transform: translateY(0);
		}
	}

	.d-md-block {
		display: block !important;
	}

	.d-md-none {
		display: block !important;
	}

	/* Fix Result Count Display */
	.products-count-row {
		margin-bottom: 20px;
		text-align: left;
		/* Or center if preferred */
		width: 100%;
		display: block;
		clear: both;
		font-size: 13px;
		color: #777;
		border-top: 1px solid #eee;
		padding-top: 15px;
	}

	/* 2-Column Filters Grid */
	.filters-left {
		flex-direction: row;
		flex-wrap: wrap;
		width: 100%;
		gap: 10px !important;
	}

	.custom-select-wrapper {
		width: calc(50% - 5px) !important;
		margin-bottom: 0;
	}

	.clean-select {
		width: 100%;
		font-size: 12px;
		padding: 8px;
	}

	/* Product Cards in 2-Col Grid */
	.shop-card {
		margin-bottom: 20px;
	}

	.shop-card-title {
		font-size: 14px;
		/* Smaller title */
		min-height: 35px;
		/* Prevent misalignment */
	}

	.shop-card-price {
		font-size: 13px;
	}

	.badge-new-circle {
		width: 35px;
		height: 35px;
		font-size: 9px;
		top: 5px;
		left: 5px;
	}

	@media (min-width: 768px) {
		.d-md-none {
			display: none !important;
		}

		.shop-filter-content {
			display: block !important;
		}
	}

	/* Single Product Page */
	/* Consolidated into main Single Product Responsive Section at bottom */

	.thumb-item {
		width: 60px;
		height: 60px;
		flex-shrink: 0;
	}

	.gallery-main-area {
		width: 100%;
	}

	.product-info-wrapper {
		margin-top: 30px;
		padding: 0 10px;
	}

	.product-title-single {
		font-size: 24px;
	}

	.product-price-single {
		font-size: 20px;
	}

	.btn-consultation {
		width: 100%;
	}

	/* About Us Page */
	.about-hero {
		min-height: 300px;
		display: flex;
		align-items: center;
	}

	.about-title {
		font-size: 32px;
		text-align: center;
	}

	.about-subtitle {
		text-align: center;
		font-size: 16px;
	}

	.about-info-image-wrap,
	.founder-photo-wrap,
	.innovation-image-wrap,
	.specialists-image-wrap {
		margin-bottom: 30px;
		width: 100%;
	}

	.about-info-content,
	.founder-detail-content,
	.innovation-content,
	.specialists-content {
		padding: 0 15px;
		text-align: center;
	}

	.philosophy-grid {
		grid-template-columns: 1fr;
		/* Stack philosophy items */
		gap: 30px;
	}

	.about-awards-banner {
		padding: 60px 0;
		background-position: center left;
	}

	.awards-content {
		text-align: center;
		padding: 20px;
		background: rgba(255, 255, 255, 0.9);
	}

	.awards-btns {
		justify-content: center;
	}
}

@media (max-width: 576px) {

	/* Phone Specifics */
	.gsr-section .col-lg-3 {
		flex: 0 0 100%;
		max-width: 100%;
	}

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

	.slide-title {
		font-size: 24px;
		white-space: normal !important;
		word-wrap: break-word;
		overflow-wrap: break-word;
		line-height: 1.3;
	}

	.promo-title,
	.founder-title,
	.section-title {
		font-size: 22px;
		white-space: normal !important;
		word-wrap: break-word;
		line-height: 1.3;
	}

	.header-top {
		padding: 10px 0;
	}

	.announcement-bar {
		font-size: 9px;
	}
}

/* Personalized Picks & Product Card Styles */


.product-card {
	/* Standardized to match shop style */
	background: #fff;
	border: 1px solid #f0f0f0;
	padding: 15px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	border-radius: 4px;
}

.product-image {
	background: #fff;
	margin-bottom: 15px;
	position: relative;
}

/* Hide default WooCommerce sale badge */
span.onsale {
	display: none !important;
}

/* Custom Badges */
.product-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	background: transparent;
	color: #000080;
	border: 1px solid #000080;
	border-radius: 50%;
	width: 48px;
	height: 48px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 700;
	line-height: 1;
	z-index: 10;
	text-transform: uppercase;
}

.sale-badge {
	/* Use same styles as new badge but ensuring overrides if needed */
	color: #000080;
	border-color: #000080;
}

/* Ensure Swiper Horizontal Layout */
.personalized-swiper {
	overflow: hidden;
	position: relative;
	padding: 10px 0 30px;
	/* Add bottom padding for pagination/shadow */
}

.personalized-swiper .swiper-wrapper {
	display: flex;
	align-items: stretch;
	/* Ensure cards are same height */
}

.personalized-swiper .swiper-slide {
	height: auto;
	box-sizing: border-box;
}

/* Ensure image takes up space */
.product-image img {
	width: 100%;
	height: auto;
	display: block;
}



.product-title {
	font-size: 15px;
	color: #000080;
	/* Navy blue */
	font-weight: 400;
	margin-bottom: 5px;
	line-height: 1.3;
	text-align: center;
	min-height: 40px;
	/* Ensure alignment */
}

.product-price {
	font-size: 14px;
	color: #000;
	font-weight: 400;
	margin-bottom: 15px;
	text-align: center;
}

.add-to-cart-wrap {
	margin-top: 10px;
}

.btn-add-to-bag {
	display: block;
	width: 100%;
	text-align: center;
	border: 1px solid #000080;
	color: #000080;
	background: #fff;
	padding: 12px 10px;
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	text-decoration: none;
	transition: all 0.3s;
	letter-spacing: 0.5px;
}

.btn-add-to-bag:hover {
	background: #000080;
	color: #fff;
}

/* Getting Skin Ready Mobile Layout - Horizontal Scroll */
@media (max-width: 991px) {
	.gsr-section .row.no-gutters {
		display: flex;
		flex-wrap: nowrap;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		scroll-snap-type: x mandatory;
		padding-bottom: 20px;
		margin-right: -15px;
		margin-left: -15px;
		padding-left: 15px;
		scrollbar-width: none;
		/* Firefox */
	}

	.gsr-section .row.no-gutters::-webkit-scrollbar {
		display: none;
		/* Chrome/Safari */
	}

	/* Force flush with edge */
	.gsr-section .row.no-gutters,
	.news-section .row {
		margin-left: -15px !important;
		margin-right: -15px !important;
		padding-left: 15px !important;
		/* Keep start padding if we want first item offset, but user said 'not close enough' so maybe remove? */
		/* Actually keep padding-left: 0 if we want it to TOUCH the edge. */
		/* Let's try 0 + item margin adjustment */
	}

	.gsr-section .row.no-gutters,
	.news-section .row {
		margin-left: -15px !important;
		margin-right: -15px !important;
		padding-left: 0 !important;
		/* Start flush */
		padding-right: 0 !important;
	}

	/* Add left margin to first item only so it doesn't stick to edge initially if desired, 
       but "sát mép" usually means flush. 
       However, if container is 15px, margin-left -15px makes it touch edge. 
       If previous valid code had padding-left: 15px, it inset the start. 
       Removing it makes it start at edge. */

	.gsr-section .row.no-gutters>.col-lg-3,
	.news-section .col-md-3 {
		margin-left: 0 !important;
	}


	.gsr-section .row.no-gutters>.col-lg-3 {
		flex: 0 0 85%;
		max-width: 85%;
		margin-right: 15px;
		scroll-snap-align: start;
		display: flex;
		/* Make this a flex container */
		flex-direction: column;
	}

	.gsr-section .row.no-gutters>.col-lg-3:last-child {
		margin-right: 15px;
		padding-right: 15px;
	}

	/* Featured Card Styling for Mobile */
	.gsr-section .gsr-featured-card {
		height: 100%;
	}

	.gsr-section .gsr-feat-inner {
		min-height: 500px;
		/* Ensure tall enough to show bg image + content */
		display: flex;
		flex-direction: column;
		justify-content: flex-end;
		/* Push content to bottom */
		padding: 40px 20px;
		background-position: center top;
		background-size: cover;
	}

	.gsr-section .gsr-feat-content {
		text-align: center;
		width: 100%;
		margin-top: auto;
	}

	.gsr-section .gsr-feat-content h3 {
		color: #fff;
		font-size: 26px;
		font-weight: 700;
		margin-bottom: 15px;
		line-height: 1.2;
	}

	.gsr-section .gsr-feat-content p {
		color: #fff;
		font-size: 16px;
		margin-bottom: 30px;
		line-height: 1.5;
	}

	.gsr-section .gsr-feat-content .btn {
		width: 100%;
		display: block;
		background-color: #fff;
		color: #001e61;
		letter-spacing: 1px;
		padding: 15px;
		border-radius: 0;
	}

	.gsr-section .gsr-product-card {
		height: 100%;
		display: flex;
		flex-direction: column;
		background-color: #fff;
		border: 1px solid #f0f0f0;
		box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
		padding: 15px;
	}

	.gsr-section .gsr-product-card .product-link {
		width: 100%;
		height: 100%;
		display: flex;
		flex-direction: column;
	}

	.gsr-section .gsr-product-card .product-image {
		flex: 1;
		/* Image area takes available space */
		display: flex;
		align-items: center;
		justify-content: center;
		background-color: #fff;
		/* Optional: distinct bg for image area */
		min-height: 250px;
	}

	.gsr-section .gsr-product-card .product-info {
		margin-top: auto;
		padding: 20px;
	}

	/* Subscribe Section Mobile Fixes */
	.subscribe-section .row.no-gutters {
		display: flex;
		flex-direction: column-reverse;
		/* Swap image and content */
	}

	.subscribe-section .subscribe-content {
		text-align: center !important;
		/* Force center text */
		padding: 40px 20px;
	}

	.subscribe-section .subscribe-content .btn {
		display: inline-block;
		/* Allow it to be centered */
		margin: 0 auto;
	}

	/* News Section Mobile Horizontal Scroll - FORCED */
	.news-section .row {
		display: flex !important;
		flex-wrap: nowrap !important;
		overflow-x: auto !important;
		-webkit-overflow-scrolling: touch !important;
		scroll-snap-type: x mandatory !important;
		padding-bottom: 20px !important;
		margin-right: -15px !important;
		margin-left: -15px !important;
		padding-left: 15px !important;
		/* Add padding to align first item */
		scrollbar-width: none !important;
		/* Firefox */
	}

	.news-section .row::-webkit-scrollbar {
		display: none !important;
		/* Chrome/Safari */
	}

	.news-section .col-md-3 {
		flex: 0 0 70% !important;
		/* Show roughly 1.5 items (100% / 1.4 ~ 70%) */
		max-width: 70% !important;
		min-width: 70% !important;
		width: 70% !important;
		/* Explicit width */
		margin-right: 15px !important;
		scroll-snap-align: start !important;
	}

	.news-section .col-md-3:last-child {
		margin-right: 15px !important;
		padding-right: 15px !important;
		/* Ensure end spacing */
	}

	/* Announcement Bar Mobile */
	.ann-item {
		white-space: nowrap !important;
		font-size: 10px !important;
		/* Smaller font to fit */
		padding: 0 5px;
		overflow: hidden;
		text-overflow: ellipsis;
	}

	.announcement-bar .container {
		padding: 0 5px;
		/* Maximize space */
	}
}

/* =========================================
   FIXED SINGLE PRODUCT RESPONSIVENESS
   ========================================= */
@media (max-width: 991px) {

	/* Container & Layout */
	.single-product-container {
		padding-top: 20px;
		padding-bottom: 40px;
	}

	.custom-product-gallery {
		display: flex;
		flex-direction: column-reverse;
		/* Thumbs below main image */
		gap: 20px;
		margin-bottom: 30px;
	}

	/* Main Image */
	.gallery-main-area {
		width: 100%;
	}

	.main-image-wrapper {
		max-width: 100%;
		/* Ensure it fills container */
		margin: 0 auto;
	}

	/* Thumbnails - Horizontal Scroll */
	.gallery-thumbs-col {
		width: 100%;
		display: flex;
		flex-direction: row;
		overflow-x: auto;
		gap: 10px;
		padding-bottom: 10px;
		/* Space for scrollbar if any */
		justify-content: flex-start;
		-webkit-overflow-scrolling: touch;
		scrollbar-width: none;
		/* Hide scrollbar Firefox */
	}

	.gallery-thumbs-col::-webkit-scrollbar {
		display: none;
		/* Hide scrollbar Chrome/Safari */
	}

	.thumb-item {
		width: 70px !important;
		/* Slightly larger targets, force override */
		height: 70px !important;
		flex-shrink: 0;
		border-width: 1px;
	}

	/* Product Info */
	.product-info-wrapper {
		padding: 0 15px;
		/* Ensure gutter */
		margin-top: 0;
	}

	.product-title-single {
		font-size: 26px;
		line-height: 1.3;
		margin-top: 10px;
		/* Add space from gallery */
	}

	.product-price-single {
		font-size: 20px;
		margin-bottom: 20px;
	}

	/* Consult Modal Mobile */
	.consult-modal-content {
		width: 95%;
		padding: 25px;
		margin: 0 10px;
		max-height: 90vh;
		overflow-y: auto;
	}

	/* Ensure shoppers loved aligns */
	.shoppers-loved-section {
		padding-top: 40px !important;
		padding-bottom: 40px !important;
	}
}



/* GSR Slider Styles */
.gsr-swiper {
	overflow: hidden;
	padding-bottom: 40px;
	/* Space for pagination */
}



/* =========================================
   Modern Shop Toolbar Styles
   ========================================= */
.shop-toolbar-modern {
	background: #fff;
	border-bottom: 2px solid #f5f5f5;
	padding: 15px 0;
	margin-bottom: 30px;
}

.toolbar-wrapper {
	display: flex;
	justify-content: space-between;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
}

.toolbar-filters {
	display: flex;
	gap: 15px;
	align-items: center;
}

.custom-dropdown {
	position: relative;
}

/* Base style for selects */
.clean-select,
.woocommerce-ordering select {
	appearance: none;
	-webkit-appearance: none;
	background: transparent;
	border: 1px solid #e5e7eb;
	border-radius: 4px;
	padding: 10px 40px 10px 15px;
	font-size: 14px;
	color: #374151;
	cursor: pointer;
	min-width: 200px;
	transition: all 0.3s ease;
	font-family: inherit;
	font-weight: 500;
	height: 42px;
	/* Fixed height alignment */
}

.clean-select:focus,
.woocommerce-ordering select:focus {
	outline: none;
	border-color: var(--primary-blue);
	box-shadow: 0 0 0 3px rgba(0, 26, 113, 0.1);
}

/* Custom Arrow for Dropdowns */
.custom-dropdown::after {
	content: '';
	position: absolute;
	right: 15px;
	top: 50%;
	width: 8px;
	height: 8px;
	border-right: 2px solid #6b7280;
	border-bottom: 2px solid #6b7280;
	transform: translateY(-70%) rotate(45deg);
	/* Arrow Down */
	pointer-events: none;
	z-index: 1;
}

.btn-filter-icon {
	position: absolute;
	right: 0;
	top: 0;
	height: 100%;
	width: 40px;
	background: transparent;
	border: none;
	display: none;
	/* Hidden as styling is done via ::after */
}

/* Right Actions */
.toolbar-actions {
	display: flex;
	align-items: center;
	gap: 20px;
}

.result-count {
	font-size: 14px;
	color: #6b7280;
	margin: 0;
}

/* Sort Specific Overrides to ensure fit */
.woocommerce-ordering {
	margin: 0 !important;
}

/* Mobile Filter Toggle Button */
.mobile-filter-toggle-wrapper {
	display: none;
	/* Hidden by default on Desktop */
}

.btn-mobile-filter {
	width: 100%;
	background: #fff;
	border: 1px solid #e5e7eb;
	padding: 12px;
	font-weight: 600;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
	color: var(--primary-blue);
	cursor: pointer;
}

/* Responsive */
@media (max-width: 768px) {
	.toolbar-wrapper {
		flex-direction: column;
		align-items: stretch;
		gap: 15px;
	}

	.toolbar-filters {
		display: none;
		/* Hidden on mobile initially */
		flex-direction: column;
		background: #f9fafb;
		padding: 15px;
		border-radius: 8px;
		margin-bottom: 10px;
	}

	.shop-toolbar-modern {
		border: none;
		padding-bottom: 0;
	}

	.mobile-filter-toggle-wrapper {
		display: block;
		/* Visible on Mobile */
	}

	.clean-select,
	.woocommerce-ordering select {
		width: 100%;
		background: #fff;
	}

	.toolbar-actions {
		justify-content: space-between;
		width: 100%;
		border-top: 1px solid #f5f5f5;
		padding-top: 10px;
		margin-top: 10px;
	}

	.result-count {
		font-size: 13px;
	}
}

/* Fix Product Grid Alignment */
.product-grid-row {
	justify-content: flex-start !important;
}

/* Shop Card Product Images - Subtle border + light shadow (Option 2) */
.shop-card-image-wrapper {
	background: #fff;
	border: 1px solid #f0f0f0;
	padding: 12px;
	border-radius: 4px;
	box-shadow: 0 1px 3px rgba(0, 0, 0, 0.08);
	transition: all 0.3s ease;
}

.shop-card-image-wrapper:hover {
	border-color: #e8e8e8;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.12);
	transform: translateY(-2px);
}

.shop-card-image-wrapper img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Single Product Main Image - Elegant border + subtle shadow */
.main-image-wrapper {
	background: #fff;
	border: 1px solid #f0f0f0;
	border-radius: 6px;
	padding: 20px;
	box-shadow: 0 2px 6px rgba(0, 0, 0, 0.06);
	overflow: hidden;
	position: relative;
}

.main-image-wrapper img {
	width: 100%;
	height: auto;
	object-fit: contain;
	transition: transform 0.3s ease;
}

/* Gallery Thumbnails - Clean minimal style */
.gallery-thumbs-col .thumb-item {
	background: #fff;
	border: 1px solid #e8e8e8;
	border-radius: 4px;
	padding: 6px;
	cursor: pointer;
	transition: all 0.3s ease;
	box-shadow: 0 1px 2px rgba(0, 0, 0, 0.05);
}

.gallery-thumbs-col .thumb-item:hover {
	border-color: #ccc;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.gallery-thumbs-col .thumb-item.active {
	border-color: var(--primary-blue);
	background: #fff;
	box-shadow: 0 2px 6px rgba(0, 26, 113, 0.15);
}

.gallery-thumbs-col .thumb-item img {
	width: 100%;
	height: auto;
	object-fit: contain;
}

/* Contact Page Styles */
.contact-content-section {
	background-color: #f8fafc;
}

.contact-info-box {
	background: #fff;
	padding: 40px;
	border-radius: 8px;
	box-shadow: 0 5px 20px rgba(0, 0, 0, 0.05);
	height: 100%;
}

.contact-detail-item strong {
	color: #001e61;
	font-size: 16px;
	margin-bottom: 5px;
	display: block;
}

.contact-detail-item {
	color: #555;
	font-size: 14px;
	line-height: 1.6;
	border-bottom: 1px solid #f0f0f0;
	padding-bottom: 15px;
	margin-bottom: 15px !important;
}

.contact-detail-item:last-child {
	border-bottom: none;
}

/* Form Styles */
.contact-form-wrapper {
	background: #fff;
	padding: 40px;
	box-shadow: 0 5px 30px rgba(0, 0, 0, 0.08) !important;
	border-radius: 8px;
	border: 1px solid #f0f0f0;
}

.form-group label {
	display: block;
	margin-bottom: 8px;
	font-weight: 600;
	color: #333;
	font-size: 13px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.form-control {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #e0e0e0;
	border-radius: 4px;
	font-size: 14px;
	transition: all 0.3s ease;
	background-color: #fafafa;
}

.form-control:focus {
	border-color: #001e61;
	background-color: #fff;
	box-shadow: 0 0 0 3px rgba(0, 30, 97, 0.1);
	outline: none;
}

textarea.form-control {
	resize: vertical;
	min-height: 120px;
}

.btn-navy {
	background-color: #001e61;
	color: #fff;
	padding: 12px 30px;
	border: none;
	font-weight: 700;
	text-transform: uppercase;
	font-size: 13px;
	letter-spacing: 1px;
	width: 100%;
	cursor: pointer;
	transition: background 0.3s ease;
}

.btn-navy:hover {
	background-color: #000c2a;
}

/* Slider Pause/Play Button */
.slider-pause-btn {
	position: absolute;
	bottom: 20px;
	right: 20px;
	z-index: 20;
	width: 40px;
	height: 40px;
	border-radius: 50%;
	background: rgba(255, 255, 255, 0.9);
	border: none;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	box-shadow: 0 2px 8px rgba(0, 0, 0, 0.15);
	transition: all 0.3s ease;
	color: #001e61;
}

.slider-pause-btn:hover {
	background: #fff;
	transform: scale(1.1);
	box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2);
}

.slider-pause-btn svg {
	width: 16px;
	height: 16px;
}

@media (max-width: 768px) {
	.slider-pause-btn {
		bottom: 15px;
		right: 15px;
		width: 36px;
		height: 36px;
	}
}

/* Slide Content Wrapper - Positioning */
.slide-content-wrapper {
	position: absolute;
	top: var(--top-pos, 50%);
	left: var(--left-pos, 10%);
	transform: translateY(-50%);
	width: var(--content-width, 40%);
	text-align: var(--text-align, left);
}

.slide-content-wrapper .slide-btns {
	display: flex;
	gap: 10px;
	justify-content: var(--text-align, left);
}

/* Simplified mobile wrapper handled in header media query now */
@media (max-width: 992px) {
	.slide-content-wrapper .slide-btns {
		justify-content: center;
	}
}

/* Product Quick Links Styles - Premium Vertical Upgrade */
.gallery-layout-flex {
	display: flex;
	gap: 15px;
	align-items: stretch;
}

.gallery-main-area {
	flex: 1;
	min-width: 0;
}

.product-quick-links {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 100px;
	flex-shrink: 0;
}

.q-link {
	flex: 1;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	gap: 5px;
	padding: 10px 5px;
	border-radius: 8px;
	text-decoration: none !important;
	font-size: 12px;
	font-weight: 600;
	transition: all 0.3s ease;
	border: 1px solid transparent;
	text-align: center;
}

.q-icon {
	width: 24px;
	height: 24px;
	margin-bottom: 2px;
}

.q-shopee {
	background: #ee4d2d;
	color: #fff !important;
}

.q-phone {
	background: #fff;
	color: var(--primary-blue) !important;
	border-color: #e5e7eb;
}

.q-zalo {
	background: #0068ff;
	color: #fff !important;
}

@media (max-width: 768px) {
	.gallery-layout-flex {
		flex-direction: column;
	}

	.product-quick-links {
		flex-direction: row;
		width: 100%;
		height: auto;
		gap: 8px;
	}

	.q-link {
		flex-direction: row;
		padding: 12px;
	}

	.q-icon {
		margin-bottom: 0;
		margin-right: 5px;
	}
}

/* Product Quick Links (Shopee, Zalo, Phone) - Fixed Layout */
.product-quick-links-row {
	display: flex;
	gap: 10px;
	margin-top: 20px;
	width: 100%;
	clear: both;
	/* Ensure it clears floats inside gallery if any */
}

.pql-btn {
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 12px 5px;
	border-radius: 8px;
	text-decoration: none !important;
	font-weight: 600;
	font-size: 13px;
	transition: all 0.2s;
	width: 32%;
	/* 3 buttons evenly */
	text-align: center;
	box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1);
}

.pql-btn:hover {
	transform: translateY(-2px);
	box-shadow: 0 4px 8px rgba(0, 0, 0, 0.15);
}

.pql-shopee {
	background: #ee4d2d;
	color: #fff !important;
	border: 1px solid #ee4d2d;
}

.pql-phone {
	background: #fff;
	border: 1px solid #e0e0e0;
	color: #333 !important;
}

.pql-zalo {
	background: #0068ff;
	color: #fff !important;
	border: 1px solid #0068ff;
}

.pql-icon {
	display: block;
	margin-bottom: 6px;
	line-height: 1;
}

.pql-icon svg {
	width: 24px;
	height: 24px;
	fill: currentColor;
}

/* Fix Single Product Layout for Mobile/Desktop */
.single-product .woocommerce-product-gallery {
	margin-bottom: 30px;
}


/* Product Quick Links Below Gallery - Horizontal Row */
.product-quick-links-below {
	display: flex;
	gap: 12px;
	margin-top: 20px;
	width: 100%;
}

.product-quick-links-below .q-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 45px;
	height: 45px;
	border-radius: 50%;
	text-decoration: none !important;
	transition: all 0.25s ease;
	flex: 0 0 auto;
	box-shadow: 0 4px 10px rgba(0, 0, 0, 0.15);
	padding: 0;
	margin-right: 15px;
	/* Spacing between buttons */
}

.product-quick-links-below .q-link:last-child {
	margin-right: 0;
}

.product-quick-links-below .q-link:hover {
	transform: translateY(-3px) scale(1.05);
	box-shadow: 0 6px 15px rgba(0, 0, 0, 0.2);
}

.product-quick-links-below .q-link svg {
	width: 22px;
	height: 22px;
}

.product-quick-links-below .q-shopee {
	background: linear-gradient(135deg, #ee4d2d 0%, #ff6633 100%);
	color: #fff !important;
}

.product-quick-links-below .q-phone {
	background: #fff;
	border: 1px solid #001e61;
	color: #001e61 !important;
}

.product-quick-links-below .q-phone:hover {
	background: #001e61;
	color: #fff !important;
}

.product-quick-links-below .q-zalo {
	background: linear-gradient(135deg, #0068ff 0%, #0095ff 100%);
	color: #fff !important;
}


/* ================================================
   SINGLE PRODUCT PAGE - GALLERY & QUICK LINKS
   ================================================ */

/* Single Product Container */
.single-product-container {
	padding-top: 40px;
	padding-bottom: 40px;
}

/* Gallery Container - Flexbox Layout */
.custom-product-gallery {
	display: flex;
	gap: 15px;
}

/* Thumbnails Column - Vertical on left */
.gallery-thumbs-col {
	display: flex;
	flex-direction: column;
	gap: 10px;
	width: 80px;
	flex-shrink: 0;
}

.thumb-item {
	width: 70px;
	height: 70px;
	border: 2px solid #e0e0e0;
	border-radius: 4px;
	cursor: pointer;
	overflow: hidden;
	transition: all 0.2s;
}

.thumb-item:hover,
.thumb-item.active {
	border-color: #001e61;
}

.thumb-item img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Main Image Area */
.gallery-main-area {
	flex: 1;
	min-width: 0;
	/* Prevent flex overflow */
}

.main-image-wrapper {
	position: relative;
	background: #fff;
	border-radius: 8px;
	overflow: hidden;
	width: 100%;
	aspect-ratio: 1 / 1;
	/* Make it square */
	display: flex;
	align-items: center;
	justify-content: center;
}

.main-image-wrapper img {
	width: 100%;
	height: 100%;
	/* Fill the square */
	object-fit: contain;
	/* Show full image */
	display: block;
	transition: transform 0.3s ease;
	padding: 20px;
	/* Nice spacing */
}

.main-image-wrapper:hover img {
	cursor: zoom-in;
}

/* Badge NEW */
.badge-single {
	position: absolute;
	top: 15px;
	left: 15px;
}

/* Removed redundant Quick Links CSS */

/* Mobile Responsive */
@media (max-width: 768px) {
	.custom-product-gallery {
		flex-direction: column;
	}

	.gallery-thumbs-col {
		flex-direction: row;
		width: 100%;
		order: 2;
		overflow-x: auto;
		padding-bottom: 10px;
	}

	.thumb-item {
		width: 60px;
		height: 60px;
		flex-shrink: 0;
	}

	.gallery-main-area {
		order: 1;
	}

	.main-image-wrapper {
		min-height: 280px;
	}

	.product-quick-links-below .q-link span:not(.q-icon) {
		display: none;
	}

	.product-quick-links-below .q-link {
		padding: 12px;
	}

	.product-quick-links-below .q-icon svg {
		width: 24px;
		height: 24px;
	}
}

/* Desktop Alignment Fix */
@media (min-width: 769px) {
	.product-quick-links-below {
		padding-left: 95px;
		/* 80px thumb col + 15px gap */
	}
}

/* Contact Page Styles */
.contact-hero {
	background-size: cover;
	background-position: center;
	padding: 120px 0;
	position: relative;
	background-color: #f4f4f4;
}

.contact-hero::before {
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(255, 255, 255, 0.4);
}

.contact-hero.no-image::before {
	background: #f8f9fa;
}

.contact-hero .container {
	position: relative;
	z-index: 2;
}

.contact-hero-content {
	max-width: 600px;
}

.contact-title {
	font-size: 42px;
	color: #001e61;
	font-weight: 600;
	margin-bottom: 15px;
	text-transform: uppercase;
	letter-spacing: 2px;
}

.contact-subtitle {
	font-size: 16px;
	color: #333;
	line-height: 1.6;
}

.contact-page-wrapper {
	padding: 80px 0;
	background: #fff;
}

.contact-info-row {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 30px;
	margin-bottom: 80px;
}

.info-card {
	padding: 30px 20px;
	text-align: center;
	background: #fff;
	border: 1px solid #eee;
	transition: all 0.3s ease;
}

.info-card:hover {
	transform: translateY(-5px);
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.05);
	border-color: #001e61;
}

.info-icon {
	color: #001e61;
	margin-bottom: 20px;
	display: flex;
	justify-content: center;
}

.info-card h3 {
	font-size: 15px;
	color: #001e61;
	margin-bottom: 15px;
	text-transform: uppercase;
	letter-spacing: 1px;
	font-weight: 700;
}

.info-card p,
.info-card a {
	font-size: 14px;
	color: #666;
	line-height: 1.6;
	text-decoration: none;
}

.info-card a:hover {
	color: #001e61;
}

.contact-main-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: stretch;
}

.form-container {
	background: #fff;
}

.form-title {
	font-size: 24px;
	color: #001e61;
	margin-bottom: 15px;
	font-weight: 600;
}

.form-subtitle {
	font-size: 14px;
	color: #777;
	margin-bottom: 40px;
	line-height: 1.6;
}

.premium-contact-form .form-group {
	margin-bottom: 25px;
}

.premium-contact-form .form-row {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.premium-contact-form label {
	display: block;
	font-size: 12px;
	text-transform: uppercase;
	color: #333;
	font-weight: 700;
	margin-bottom: 8px;
	letter-spacing: 0.5px;
}

.premium-contact-form input,
.premium-contact-form textarea {
	width: 100%;
	padding: 12px 15px;
	border: 1px solid #ddd;
	font-size: 14px;
	transition: all 0.3s ease;
	background: #fbfbfb;
	border-radius: 4px;
}

.premium-contact-form input:focus,
.premium-contact-form textarea:focus {
	outline: none;
	border-color: #001e61;
	background: #fff;
	box-shadow: 0 0 0 3px rgba(0, 30, 97, 0.05);
}

.form-submit {
	margin-top: 10px;
}

.contact-map-col {
	height: 100%;
}

.map-container {
	height: 100%;
	min-height: 450px;
	border: 1px solid #eee;
	border-radius: 8px;
	overflow: hidden;
}

.map-container iframe {
	display: block;
	width: 100%;
	height: 100%;
}

@media (max-width: 991px) {
	.contact-info-row {
		grid-template-columns: repeat(2, 1fr);
	}

	.contact-main-grid {
		grid-template-columns: 1fr;
		gap: 50px;
	}

	.map-container {
		min-height: 350px;
	}
}

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

	.contact-hero {
		padding: 80px 0;
		text-align: center;
	}

	.contact-title {
		font-size: 32px;
	}

	.premium-contact-form .form-row {
		grid-template-columns: 1fr;
		gap: 0;
	}
}

/*--------------------------------------------------------------
# Premium Blog Post Styles
--------------------------------------------------------------*/
.blog-container {
	padding-top: 50px;
	padding-bottom: 80px;
	max-width: 1200px;
	margin: 0 auto;
}

.single-post-article {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	margin-bottom: 40px;
}

.blog-entry-header {
	text-align: center;
	margin-bottom: 40px;
	padding: 0 20px;
}

.entry-category {
	margin-bottom: 15px;
}

.entry-category a {
	display: inline-block;
	padding: 4px 16px;
	background: rgba(0, 30, 97, 0.05);
	color: #001e61;
	text-transform: uppercase;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 1px;
	border-radius: 50px;
	text-decoration: none;
	transition: all 0.3s ease;
}

.entry-category a:hover {
	background: #001e61;
	color: #fff;
}

.single-post-title {
	font-family: 'Inter', sans-serif;
	font-size: 2.5rem;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.2;
	margin-bottom: 20px;
	max-width: 900px;
	margin-left: auto;
	margin-right: auto;
}

.single-post-meta {
	display: flex;
	justify-content: center;
	align-items: center;
	flex-wrap: wrap;
	gap: 20px;
	color: #888;
	font-size: 14px;
}

.meta-item i {
	margin-right: 6px;
	color: #001e61;
}

.post-featured-image {
	margin-bottom: 40px;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(0, 0, 0, 0.1);
}

.post-featured-image img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.5s ease;
}

.blog-entry-content {
	font-family: 'Inter', sans-serif;
	font-size: 1.125rem;
	line-height: 1.8;
	color: #333;
	max-width: 800px;
	margin: 0 auto;
	padding: 0 20px;
}

.blog-entry-content p {
	margin-bottom: 25px;
}

.blog-entry-content h2,
.blog-entry-content h3 {
	color: #001e61;
	margin-top: 40px;
	margin-bottom: 20px;
	font-weight: 700;
}

.blog-entry-footer {
	max-width: 800px;
	margin: 40px auto 0;
	padding: 20px;
	border-top: 1px solid #eee;
	color: #888;
	font-size: 14px;
	display: flex;
	flex-wrap: wrap;
	gap: 15px;
}

.blog-entry-footer .cat-links,
.blog-entry-footer .tags-links {
	display: block;
	width: 100%;
}

.blog-entry-footer a {
	color: #001e61;
	font-weight: 600;
}

/* Navigation */
.post-navigation {
	max-width: 1200px;
	margin: 60px auto;
	padding: 0 15px;
}

.post-navigation .nav-links {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 20px;
}

.post-navigation .nav-previous,
.post-navigation .nav-next {
	padding: 0;
	background: none;
	border: none;
}

.post-navigation .nav-links a {
	display: block;
	background: #f9f9f9;
	padding: 30px;
	border-radius: 12px;
	border: 1px solid #eee;
	transition: all 0.4s cubic-bezier(0.165, 0.84, 0.44, 1);
	text-decoration: none !important;
	height: 100%;
}

.post-navigation .nav-links a:hover {
	background: #001e61 !important;
	border-color: #001e61 !important;
	box-shadow: 0 15px 35px rgba(0, 30, 97, 0.15);
	transform: translateY(-5px);
}

.nav-subtitle {
	display: block;
	font-size: 11px;
	text-transform: uppercase;
	letter-spacing: 1.5px;
	color: #888;
	margin-bottom: 8px;
	font-weight: 600;
	transition: color 0.3s ease;
}

.nav-title {
	display: block;
	font-size: 18px;
	font-weight: 700;
	color: #1a1a1a;
	line-height: 1.4;
	transition: color 0.3s ease;
}

.post-navigation .nav-links a:hover .nav-subtitle,
.post-navigation .nav-links a:hover .nav-title {
	color: #ffffff !important;
}

.post-navigation .nav-next {
	text-align: right;
}

/* Comments */
#comments {
	max-width: 800px;
	margin: 60px auto;
	padding: 0 20px;
}

.comment-list {
	list-style: none;
	padding: 0;
}

.comment-body {
	padding: 20px;
	border-bottom: 1px solid #eee;
	margin-top: 20px;
}

.comment-author {
	font-weight: 700;
	color: #001e61;
}

.comment-metadata {
	font-size: 12px;
	color: #888;
	margin-bottom: 10px;
}

/* Sidebar Styles */
.blog-container aside#secondary {
	padding-left: 30px;
}

.widget {
	background: #fff;
	border-radius: 12px;
	padding: 25px;
	margin-bottom: 30px;
	box-shadow: 0 4px 15px rgba(0, 0, 0, 0.03);
	border: 1px solid #f0f0f0;
}

.widget-title {
	font-size: 18px;
	font-weight: 700;
	color: #001e61;
	margin-bottom: 20px;
	padding-bottom: 10px;
	border-bottom: 2px solid rgba(0, 30, 97, 0.1);
	text-transform: uppercase;
	letter-spacing: 0.5px;
}

.widget ul {
	list-style: none;
	padding: 0;
	margin: 0;
}

.widget ul li {
	padding: 10px 0;
	border-bottom: 1px solid #f5f5f5;
	font-size: 15px;
}

.widget ul li:last-child {
	border-bottom: none;
}

.widget ul li a {
	color: #444;
	text-decoration: none;
	transition: color 0.3s ease;
}

.widget ul li a:hover {
	color: #001e61;
	padding-left: 5px;
}

/* Media Queries */
@media (max-width: 991px) {
	.blog-container .col-lg-8 {
		width: 100%;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.blog-container aside#secondary {
		padding-left: 15px;
		margin-top: 50px;
		flex: 0 0 100%;
		max-width: 100%;
	}

	.single-post-title {
		font-size: 1.8rem;
	}

	.post-navigation .nav-links {
		grid-template-columns: 1fr;
	}
}


/* Grid for Blog */
.row {
	display: flex;
	flex-wrap: wrap;
	margin-right: -15px;
	margin-left: -15px;
}

.col-lg-8 {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	flex: 0 0 66.666667%;
	max-width: 66.666667%;
}

#secondary.widget-area {
	position: relative;
	width: 100%;
	padding-right: 15px;
	padding-left: 15px;
	flex: 0 0 33.333333%;
	max-width: 33.333333%;
}

/* Fix for About Page Mobile Overflow */
@media (max-width: 768px) {
	.about-hero {
		background-attachment: scroll !important;
		min-height: 400px !important;
		display: flex !important;
		align-items: center !important;
		padding: 40px 0 !important;
	}

	.about-hero-inner {
		width: 100% !important;
		padding: 0 20px !important;
	}

	.about-title {
		font-size: 28px !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
		line-height: 1.2 !important;
	}

	.about-subtitle {
		font-size: 16px !important;
		word-wrap: break-word !important;
		overflow-wrap: break-word !important;
		white-space: normal !important;
		line-height: 1.5 !important;
	}

	/* Breadcrumb overflow fix */
	.breadcrumb-section {
		overflow: hidden !important;
	}

	.breadcrumb {
		display: flex !important;
		flex-wrap: wrap !important;
		font-size: 12px !important;
	}
}

/*--------------------------------------------------------------
# Category Featured Products
--------------------------------------------------------------*/
.category-featured-products {
	margin-bottom: 40px;
	padding: 30px;
	background: linear-gradient(135deg, #f8f9fa 0%, #fff 100%);
	border-radius: 16px;
	box-shadow: 0 4px 20px rgba(0, 30, 97, 0.08);
}

.featured-products-title {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: 24px;
	font-weight: 700;
	color: #001e61;
	margin: 0 0 24px 0;
	padding-bottom: 16px;
	border-bottom: 2px solid #e8ebf0;
}

.featured-products-title .title-icon {
	font-size: 28px;
}

.featured-products-grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
	gap: 24px;
}

.category-featured-products.shortcode-version .featured-products-grid {
	grid-template-columns: repeat(var(--columns, 4), 1fr);
}

.featured-product-card {
	background: #fff;
	border-radius: 12px;
	overflow: hidden;
	box-shadow: 0 2px 12px rgba(0, 30, 97, 0.06);
	transition: all 0.3s ease;
	position: relative;
}

.featured-product-card:hover {
	transform: translateY(-6px);
	box-shadow: 0 8px 30px rgba(0, 30, 97, 0.15);
}

.featured-product-link {
	display: block;
	text-decoration: none;
	color: inherit;
}

.featured-product-image {
	position: relative;
	padding-top: 100%;
	overflow: hidden;
	background: #f8f9fa;
}

.featured-product-image img {
	position: absolute;
	top: 0;
	left: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: transform 0.4s ease;
}

.featured-product-card:hover .featured-product-image img {
	transform: scale(1.08);
}

.featured-badge {
	position: absolute;
	top: 12px;
	left: 12px;
	background: linear-gradient(135deg, #ff6b35 0%, #f7931a 100%);
	color: #fff;
	font-size: 11px;
	font-weight: 600;
	padding: 5px 10px;
	border-radius: 20px;
	text-transform: uppercase;
	letter-spacing: 0.5px;
	box-shadow: 0 2px 8px rgba(255, 107, 53, 0.35);
}

.featured-product-info {
	padding: 16px;
}

.featured-product-name {
	font-size: 15px;
	font-weight: 600;
	color: #1a1a2e;
	margin: 0 0 8px 0;
	line-height: 1.4;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
	min-height: 42px;
}

.featured-product-price {
	font-size: 16px;
	font-weight: 700;
	color: #001e61;
}

.featured-product-price del {
	color: #999;
	font-size: 13px;
	font-weight: 400;
	margin-right: 6px;
}

.featured-product-price ins {
	text-decoration: none;
	color: #e53935;
}

.featured-product-actions {
	padding: 0 16px 16px;
}

.add-to-cart-btn {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	width: 100%;
	padding: 12px 16px;
	background: linear-gradient(135deg, #001e61 0%, #003087 100%);
	color: #fff;
	border: none;
	border-radius: 8px;
	font-size: 14px;
	font-weight: 600;
	cursor: pointer;
	transition: all 0.3s ease;
	text-decoration: none;
}

.add-to-cart-btn:hover {
	background: linear-gradient(135deg, #003087 0%, #0047ab 100%);
	transform: translateY(-2px);
	box-shadow: 0 4px 12px rgba(0, 30, 97, 0.3);
	color: #fff;
}

.add-to-cart-btn svg {
	flex-shrink: 0;
}

/* Responsive */
@media (max-width: 1024px) {
	.category-featured-products.shortcode-version .featured-products-grid {
		grid-template-columns: repeat(3, 1fr);
	}
}

@media (max-width: 768px) {
	.category-featured-products {
		padding: 20px;
		margin-bottom: 24px;
	}

	.featured-products-title {
		font-size: 20px;
		margin-bottom: 16px;
	}

	.featured-products-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 16px;
	}

	.category-featured-products.shortcode-version .featured-products-grid {
		grid-template-columns: repeat(2, 1fr);
	}

	.featured-product-name {
		font-size: 13px;
		min-height: 36px;
	}

	.featured-product-price {
		font-size: 14px;
	}

	.add-to-cart-btn {
		padding: 10px 12px;
		font-size: 12px;
	}
}

@media (max-width: 480px) {
	.featured-products-grid,
	.category-featured-products.shortcode-version .featured-products-grid {
		grid-template-columns: repeat(2, 1fr);
		gap: 12px;
	}

	.featured-product-info {
		padding: 12px;
	}

	.featured-product-actions {
		padding: 0 12px 12px;
	}
}