/*!
Theme Name: tubeaudio
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: tubeaudio
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.

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

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

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

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

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

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

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

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

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

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

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

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

/* Interactive
	 ========================================================================== */

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

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

/* Misc
	 ========================================================================== */

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

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

/* Box sizing
--------------------------------------------- */

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

html {
	box-sizing: border-box;
}

/*--------------------------------------------------------------
# Base
--------------------------------------------------------------*/

/* Typography
--------------------------------------------- */
body,
button,
input,
select,
optgroup,
textarea {
	color: #2d2d2d;
	font-family: "Noto Sans", Arial, Helvetica, sans-serif;
	font-size: 13px;
	line-height: 1.5;
}

h1,
h2,
h3,
h4,
h5,
h6 {
	clear: both;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	color: #666666;
	font-weight: 400;
	text-transform: uppercase;
}

h1 { font-size: 28px; }
h2 { font-size: 25px; }
h3 { font-size: 22px; }
h4 { font-size: 18px; }
h5 { font-size: 15px; }
h6 { font-size: 13px; }

p {
	margin-bottom: 1.2em;
	color: #2d2d2d;
	font-size: 13px;
	line-height: 1.5;
}

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: #531b3b;
	text-decoration: underline;
	transition: color 0.15s ease;
}

a:visited {
	color: #531b3b;
}

a:hover,
a:focus,
a:active {
	color: #666666;
	text-decoration: none;
}

a:focus {
	outline: none;
}

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

/* Forms
--------------------------------------------- */
button,
input[type="button"],
input[type="reset"],
input[type="submit"] {
	background: #531b3b;
	border: 1px solid #531b3b;
	border-radius: 4px;
	color: #fff;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 13px;
	font-weight: 400;
	line-height: 1;
	padding: 10px 18px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease;
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

button:hover,
input[type="button"]:hover,
input[type="reset"]:hover,
input[type="submit"]:hover {
	background: transparent;
	border-color: transparent;
	color: #333;
}

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 {
	background: #333333;
	border-color: #333333;
	outline: none;
}

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: #333;
	border: 1px solid #cccccc;
	border-radius: 0;
	padding: 8px 10px;
	font-size: 13px;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

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: #333;
	border-color: #531b3b;
}

select {
	border: 1px solid #cccccc;
	border-radius: 0;
	padding: 8px 10px;
	font-size: 13px;
	color: #333;
	background: #fff;
}

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

/*--------------------------------------------------------------
# Hero Slider (Owl Carousel)
--------------------------------------------------------------*/

/* Wrapper — white bg, no extra spacing */
.home-hero {
	background: #fff;
	padding: 0;
	margin: 0;
}

/* Slide — centred image on white */
.hero-slide {
	background: #fff;
	text-align: center;
	line-height: 0;
}

.hero-slide__img {
	display: inline-block;
	max-width: 100%;
	height: auto;
	width: auto;
	max-height: 480px;
}

/* ── Nav arrows — large plain chevrons, outside the image, vertically centred */
.hero-owl-carousel .owl-nav {
	position: absolute;
	top: 50%;
	left: 0;
	right: 0;
	transform: translateY(-50%);
	display: flex;
	justify-content: space-between;
	pointer-events: none;
	z-index: 10;
	margin: 0;
	padding: 0 8px;
}

.hero-owl-carousel .owl-nav button {
	pointer-events: all;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	outline: none !important;
	padding: 0 10px !important;
	line-height: 1;
	cursor: pointer;
	color: #555 !important;
	font-size: 2.4rem !important;
	font-weight: 300;
	transition: color 0.15s ease;
}

.hero-owl-carousel .owl-nav button:hover,
.hero-owl-carousel .owl-nav button:focus {
	color: #111 !important;
	background: none !important;
}

.hero-owl-carousel .owl-nav button span {
	font-size: 2.4rem;
	line-height: 1;
	color: inherit;
}

/* ── Dots — hollow circles, active filled dark */
.hero-owl-carousel .owl-dots {
	text-align: center;
	margin-top: 14px;
	margin-bottom: 10px;
	line-height: 1;
}

.hero-owl-carousel .owl-dot {
	display: inline-block;
}

.hero-owl-carousel .owl-dot span {
	display: block;
	width: 11px;
	height: 11px;
	border-radius: 50%;
	background: transparent !important;
	border: 2px solid #888;
	margin: 0 4px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.hero-owl-carousel .owl-dot.active span,
.hero-owl-carousel .owl-dot:hover span {
	background: #333 !important;
	border-color: #333;
}

/*--------------------------------------------------------------
# Home — New Products Section
--------------------------------------------------------------*/

.home-new-products {
	padding: 40px 0 50px;
	background: #fff;
}

/* ── Heading — "NEW PRODUCTS" centred with full-width side lines */
.home-new-products__heading {
	text-align: center;
	margin: 0 0 30px;
}

.home-new-products__heading span {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #666;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.home-new-products__heading span::before,
.home-new-products__heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ccc;
}

/* ── Product grid row — equal columns */
.home-new-products__grid {
	justify-content: center;
}

.home-new-products__item {
	margin-bottom: 20px;
}

/* ── Product card */
.home-product-card {
	text-align: center;
}

.home-product-card__img-link {
	display: block;
	line-height: 0;
	position: relative;
}
	margin-bottom: 12px;
}

.home-product-card__img {
	display: inline-block;
	max-width: 100%;
	height: 180px;
	width: 100%;
	object-fit: contain;
	background: #f9f9f9;
}

.home-product-card__img--placeholder {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 180px;
	background: #f9f9f9;
}

.home-product-card__body {
	padding: 0 4px;
}

.home-product-card__brand {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #555;
	margin: 0 0 4px;
	min-height: 1em;
}

.home-product-card__title {
	font-size: 0.82rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.03em;
	margin: 0 0 6px;
	line-height: 1.4;
}

.home-product-card__title a {
	color: #333;
	text-decoration: none;
}

.home-product-card__title a:hover,
.home-product-card__title a:focus {
	color: #000;
	text-decoration: underline;
}

.home-product-card__price {
	font-size: 0.85rem;
	color: #333;
	margin: 0;
}

.home-product-card__price .woocommerce-Price-amount {
	font-weight: 600;
}

/*--------------------------------------------------------------
# Site Footer
--------------------------------------------------------------*/

/* ── Main columns area
--------------------------------------------- */
.footer-main {
	background-color: #eeeeee;
    border-top: 1px solid #eeeeee;
	padding: 40px 0 30px;
}

.footer-col {
	margin-bottom: 24px;
}

.footer-col__heading {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #222;
	margin: 0 0 12px;
}

/* Strip default list/anchor styles from wp_nav_menu output */
.footer-col__menu {
	list-style: none;
	margin: 0;
	padding: 0;
}

.footer-col__menu li {
	margin-bottom: 5px;
	line-height: 1.5;
}

.footer-col__menu li a {
	font-size: 0.82rem;
	color: #000000;
	text-decoration: none;
	display: inline-block;
}

.footer-col__menu li a:hover,
.footer-col__menu li a:focus {
	color: #f29f05;
	text-decoration: underline;
}

/* Highlight link (matches the teal "To Order" style in reference) */
.footer-col__menu li.menu-item-highlight a,
.footer-col__menu li a.highlight {
	color: #3a8a9e;
}

/* ── Bottom bar
--------------------------------------------- */
.footer-bottom {
    background-color: #eeeeee;
	padding: 14px 0;
}

.footer-bottom__left {
	padding-top: 2px;
}

.footer-bottom__powered,
.footer-bottom__copy {
	font-size: 0.78rem;
	color: #555;
	margin: 0;
	line-height: 1.6;
}

.footer-bottom__powered a {
	color: #555;
	text-decoration: none;
}

.footer-bottom__powered a:hover {
	text-decoration: underline;
}

/* ── Payment icons
--------------------------------------------- */
.footer-bottom__right {
	text-align: right;
	display: flex;
	align-items: center;
	justify-content: flex-end;
}

.footer-payment-icons {
	display: flex;
	align-items: center;
	gap: 10px;
	flex-wrap: wrap;
	justify-content: flex-end;
}

.footer-payment-icon {
	display: block;
}

/* ── Responsive
--------------------------------------------- */
@media screen and (max-width: 767px) {
	.footer-bottom__right {
		justify-content: flex-start;
		margin-top: 10px;
	}

	.footer-payment-icons {
		justify-content: flex-start;
	}
}

/*--------------------------------------------------------------
# Site Header
--------------------------------------------------------------*/

.site-header {
	position: relative;
	z-index: 1000;
}

/* Prevent any ancestor from clipping header dropdowns */
.site-header * {
	box-sizing: border-box;
}

/* ── BAR 1: Top bar
--------------------------------------------- */
.header-topbar {
	background: #eeeeee;
	border-bottom: 1px solid #ddd;
	padding: 6px 0;
	font-size: 0.75rem;
}

.header-topbar__link {
	color: #531b3b;
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	font-size: 0.72rem;
	font-weight: 500;
}

.header-topbar__link:hover {
	color: #666666;
	text-decoration: underline;
}

.header-topbar__sep {
	color: #bbb;
	font-size: 0.7rem;
}

.header-topbar__auth {
	display: flex;
	align-items: center;
	gap: 4px;
}

.header-topbar__auth-sep {
	color: #888;
	font-size: 0.72rem;
}

/* ── Cart toggle button
--------------------------------------------- */
.header-cart {
	position: relative;
}

.header-cart__toggle {
	background: none;
	border: none;
	padding: 0;
	cursor: pointer;
	display: flex;
	align-items: center;
	gap: 5px;
	color: #444;
}

.header-cart__toggle:hover .header-topbar__link {
	color: #000;
}

.header-cart__icon {
	width: 15px;
	height: 15px;
	display: block;
	stroke: #444;
}

.header-cart__count {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 18px;
	height: 18px;
	border-radius: 50%;
	background: #333;
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	line-height: 1;
	padding: 0 3px;
}

/* ── Cart dropdown
--------------------------------------------- */
.header-cart__dropdown {
	display: none;
	position: absolute;
	top: calc( 100% + 10px );
	right: 0;
	width: 320px;
	background: #fff;
	border: 1px solid #ddd;
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	z-index: 9999;
	padding: 14px;
}

/* Show when toggle is active */
.header-cart.is-open .header-cart__dropdown {
	display: block;
}

.header-cart__empty {
	text-align: center;
	color: #888;
	font-size: 0.85rem;
	margin: 10px 0;
}

.header-cart__items {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
	max-height: 240px;
	overflow-y: auto;
}

.header-cart__item {
	display: flex;
	align-items: center;
	gap: 10px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}

.header-cart__item:last-child {
	border-bottom: none;
}

.header-cart__item-img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	flex-shrink: 0;
	border: 1px solid #eee;
}

.header-cart__item-info {
	display: flex;
	flex-direction: column;
	gap: 3px;
	flex: 1;
}

.header-cart__item-name {
	font-size: 0.82rem;
	font-weight: 600;
	color: #222;
	line-height: 1.3;
}

.header-cart__item-qty-price {
	font-size: 0.8rem;
	color: #555;
}

/* Buttons */
.header-cart__actions {
	display: flex;
	flex-direction: column;
	gap: 7px;
	margin-top: 4px;
}

.header-cart__btn {
	display: block;
	text-align: center;
	padding: 9px 14px;
	font-size: 0.82rem;
	font-weight: 600;
	text-decoration: none;
	border-radius: 2px;
	transition: background 0.15s ease, color 0.15s ease;
}

.header-cart__btn--checkout {
	background: #5cb85c;
	color: #fff;
	border: 1px solid #5cb85c;
}

.header-cart__btn--checkout:hover {
	background: #449d44;
	border-color: #449d44;
	color: #fff;
}

.header-cart__btn--view {
	background: #fff;
	color: #333;
	border: 1px solid #ccc;
}

.header-cart__btn--view:hover {
	background: #f5f5f5;
	color: #000;
}

/* ── BAR 2: Logo bar
--------------------------------------------- */
.header-logo-bar {
	background: #fff;
	padding: 16px 0;
	border-bottom: 1px solid #e8e8e8;
}

/* 3-column layout: empty spacer | logo centred | search right */
.header-logo-bar__inner {
	display: flex;
	align-items: center;
	width: 100%;
}

.header-logo-bar__left {
	flex: 1;
}

.header-logo {
	flex: 0 0 auto;
	text-align: center;
}

.header-logo-bar__right {
	flex: 1;
	display: flex;
	justify-content: flex-end;
}

.header-logo a,
.header-logo__text {
	text-decoration: none;
}

.header-logo__text {
	font-family: Pacifico, Arial, Helvetica, sans-serif;
	font-size: 28px;
	font-style: normal;
	color: #222;
	letter-spacing: 0.15385rem;
	padding-top: 0;
	padding-bottom: 0;
	display: block;
	width: fit-content;
	margin: 0 auto;
	white-space: inherit;
}

@media (min-width: 551px) {
	.header-logo__text {
		font-size: 28px;
		letter-spacing: 0.15385rem;
		padding-bottom: 0;
		padding-top: 0;
	}
}

@media (min-width: 801px) {
	.header-logo__text {
		display: block;
		font-size: 36px;
		margin: 0 auto;
		max-width: none;
		white-space: inherit;
		width: fit-content;
	}
}

.header-logo .custom-logo {
	max-height: 70px;
	width: auto;
}

/* Search */
.header-search-wrap {
	position: relative;
}

.header-search {
	display: flex;
	align-items: center;
	border: 1px solid #ccc;
	border-radius: 2px;
	width: 260px;
}

.header-search__input {
	flex: 1;
	border: none;
	outline: none;
	padding: 7px 10px;
	font-size: 0.82rem;
	color: #333;
	background: #fff;
	width: 100%;
	/* override browser default search input styling */
	-webkit-appearance: none;
	appearance: none;
}

.header-search__input::-webkit-search-cancel-button,
.header-search__input::-webkit-search-decoration {
	-webkit-appearance: none;
}

.header-search__input::placeholder {
	color: #aaa;
}

/* ── Live search dropdown
--------------------------------------------- */
.header-search__dropdown {
	position: absolute;
	top: calc(100% + 2px);
	right: 0;
	width: 340px;
	background: #f5f5f5;
	border: 1px solid #ddd;
	box-shadow: 0 4px 16px rgba(0,0,0,0.12);
	z-index: 99999;
	padding: 28px 0 6px;
}

.header-search__dropdown[hidden] {
	display: none !important;
}

/* Close × button */
.header-search__close {
	position: absolute;
	top: 6px;
	right: 8px;
	background: none;
	border: none;
	font-size: 1.2rem;
	line-height: 1;
	color: #666;
	cursor: pointer;
	padding: 2px 6px;
}

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

/* Results list */
.header-search__results {
	list-style: none;
	margin: 0;
	padding: 0;
	max-height: 340px;
	overflow-y: auto;
}

.header-search__result {
	border-bottom: 1px solid #e0e0e0;
}

.header-search__result:last-child {
	border-bottom: none;
}

.header-search__result-link {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 10px 14px;
	text-decoration: none;
	background: #f5f5f5;
	transition: background 0.15s ease;
}

.header-search__result-link:hover,
.header-search__result-link:focus {
	background: #ebebeb;
	text-decoration: none;
}

.header-search__result-img {
	width: 60px;
	height: 60px;
	object-fit: contain;
	flex-shrink: 0;
	background: #fff;
	border: 1px solid #e0e0e0;
}

.header-search__result-info {
	display: flex;
	flex-direction: column;
	gap: 4px;
	flex: 1;
}

.header-search__result-title {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #222;
	line-height: 1.35;
}

.header-search__result-price {
	font-size: 0.78rem;
	color: #444;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 767px) {
	.header-logo-bar__inner {
		flex-wrap: wrap;
		gap: 10px;
	}

	.header-logo-bar__left {
		display: none;
	}

	.header-logo {
		flex: 1 1 100%;
	}

	.header-logo-bar__right {
		flex: 1 1 100%;
		justify-content: center;
	}

	.header-search {
		width: 100%;
	}

	.header-search__dropdown {
		right: auto;
		left: 0;
		width: 100%;
	}
}

/* ── BAR 3: Nav bar
--------------------------------------------- */
.header-navbar {
	background: #333 !important;
	padding: 0;
	border: none;
}

.header-navbar .navbar-nav .nav-link {
	color: #fff !important;
	font-size: 0.78rem;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 12px 14px !important;
	transition: background 0.15s ease;
}

.header-navbar .navbar-nav .nav-link:hover,
.header-navbar .navbar-nav .nav-link:focus,
.header-navbar .navbar-nav .nav-item.current-menu-item > .nav-link {
	background: #111;
	color: #fff !important;
}

/* Dropdown */
.header-navbar .dropdown-menu {
	background: #fff;
	border: 1px solid #ddd;
	border-radius: 0;
	padding: 4px 0;
	margin-top: 0;
	min-width: 200px;
}

.header-navbar .dropdown-item {
	font-size: 0.8rem;
	color: #333;
	padding: 7px 16px;
	text-transform: none;
}

.header-navbar .dropdown-item:hover,
.header-navbar .dropdown-item:focus {
	background: #f5f5f5;
	color: #000;
}

/* Toggler for mobile */
.header-navbar .navbar-toggler {
	border-color: rgba(255,255,255,0.4);
}

.header-navbar .navbar-toggler-icon {
	filter: invert(1);
}

/* ── Cart toggle JS — close on outside click
--------------------------------------------- */

/* ── Responsive
--------------------------------------------- */
@media screen and (max-width: 767px) {
	.header-logo-bar .d-flex {
		flex-direction: column;
		gap: 12px;
	}

	.header-search {
		max-width: 100%;
	}

	.header-cart__dropdown {
		right: -10px;
		width: 290px;
	}
}

/*--------------------------------------------------------------
# WooCommerce Category / Archive page
--------------------------------------------------------------*/

/* ── Page wrapper */
.cat-page-wrap {
	padding: 30px 0 60px;
	background: #fff;
}

.cat-page__heading {
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-align: center;
	color: #222;
	padding-bottom: 14px;
	margin-bottom: 28px;
	border-bottom: 1px solid #ddd;
}

.cat-page__row {
	align-items: flex-start;
}

/* ── Sidebar */
.cat-sidebar {
	padding-right: 16px;
}

.cat-sidebar__heading {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #222;
	margin: 0 0 10px;
}

.cat-sidebar__heading a {
	color: #222;
	text-decoration: none;
}

.cat-sidebar__heading a:hover { color: #000; }

.cat-sidebar__list {
	list-style: none;
	margin: 0 0 24px;
	padding: 0;
}

.cat-sidebar__item { margin-bottom: 7px; }

.cat-sidebar__link {
	font-size: 0.82rem;
	color: #531b3b;
	text-decoration: none;
	line-height: 1.4;
	display: inline-block;
}

.cat-sidebar__link:hover,
.cat-sidebar__link:focus {
	color: #666666;
	text-decoration: underline;
}

.cat-sidebar__link.is-active,
.cat-sidebar__item.is-active .cat-sidebar__link {
	color: #222;
	font-weight: 600;
	text-decoration: none;
}

/* ── Shop By Price filter */
.cat-price-filter { margin-top: 4px; }

.cat-price-filter__heading {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #222;
	margin: 0 0 10px;
}

.cat-price-filter__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cat-price-filter__item { margin-bottom: 6px; }

.cat-price-filter__link {
	font-size: 0.82rem;
	color: #531b3b;
	text-decoration: none;
	line-height: 1.4;
	display: inline-block;
}

.cat-price-filter__link:hover,
.cat-price-filter__link:focus {
	color: #666666;
	text-decoration: underline;
}

.cat-price-filter__link.is-active,
.cat-price-filter__item.is-active .cat-price-filter__link {
	color: #222;
	font-weight: 700;
	text-decoration: none;
}

.cat-price-filter__link--reset {
	color: #999;
	font-size: 0.78rem;
}

.cat-price-filter__link--reset:hover { color: #555; }

/* ── Shop toolbar */
.cat-shop-toolbar { margin-bottom: 16px; }

.cat-shop-toolbar .woocommerce-result-count {
	font-size: 0.82rem;
	color: #666;
	margin: 0;
	display: inline-block;
	vertical-align: middle;
}

.cat-shop-toolbar .woocommerce-ordering {
	float: right;
	margin: 0;
	display: inline-block;
	vertical-align: middle;
}

.cat-shop-toolbar .woocommerce-ordering select {
	font-size: 0.82rem;
	padding: 4px 8px;
	border: 1px solid #ccc;
	background: #fff;
	color: #333;
}

.cat-shop-toolbar::after {
	content: '';
	display: table;
	clear: both;
}

/* ── Subcategory cards */
.cat-cards { margin-top: 0; }
.cat-cards__col { margin-bottom: 30px; }

.cat-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.cat-card:hover { text-decoration: none; }

.cat-card__img-wrap {
	width: 100%;
	overflow: hidden;
	background: #f5f5f5;
	line-height: 0;
}

.cat-card__img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}

.cat-card:hover .cat-card__img { transform: scale(1.03); }

.cat-card__body {
	padding: 10px 0 2px;
	text-align: center;
}

.cat-card__title {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #333;
	margin: 0;
	line-height: 1.4;
}

/* ── WooCommerce product grid (ul.products) */
.cat-page__content ul.products {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 -10px;
	padding: 0;
	clear: both;
}

.cat-page__content ul.products li.product {
	padding: 0 10px;
	margin-bottom: 30px;
	width: 33.3333%;
	box-sizing: border-box;
	float: none;
}

.cat-page__content ul.products li.product a img {
	width: 100%;
	height: 200px !important;
	object-fit: contain;
	background: #f9f9f9;
	border: 1px solid #eee;
	display: block;
	transition: opacity 0.2s ease;
}

.cat-page__content ul.products li.product a:hover img { opacity: 0.85; }

.cat-page__content ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.78rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 10px 0 4px;
	text-align: center;
	color: #333;
	margin: 0;
	line-height: 1.4;
}

.cat-page__content ul.products li.product .price {
	font-size: 0.82rem;
	color: #333;
	text-align: center;
	display: block;
	margin: 0 0 6px;
}

.cat-page__content ul.products li.product .price .woocommerce-Price-amount {
	font-weight: 600;
}

.cat-page__content ul.products li.product .button { display: none; }

.cat-page__content .woocommerce-info {
	font-size: 0.88rem;
	padding: 12px 16px;
	border-left: 4px solid #aaa;
	background: #f9f9f9;
	color: #555;
}

/* ── Pagination */
.cat-page__content nav.woocommerce-pagination {
	margin-top: 24px;
	text-align: center;
	clear: both;
}

.cat-page__content nav.woocommerce-pagination ul {
	list-style: none;
	margin: 0;
	padding: 0;
	display: inline-flex;
	gap: 4px;
}

.cat-page__content nav.woocommerce-pagination ul li a,
.cat-page__content nav.woocommerce-pagination ul li span {
	display: inline-block;
	padding: 5px 11px;
	border: 1px solid #ddd;
	color: #555;
	font-size: 0.82rem;
	text-decoration: none;
	line-height: 1.4;
}

.cat-page__content nav.woocommerce-pagination ul li a:hover { background: #f0f0f0; }

.cat-page__content nav.woocommerce-pagination ul li span.current {
	background: #333;
	color: #fff;
	border-color: #333;
}

/* ── Responsive */
@media (max-width: 991px) {
	.cat-page__content ul.products li.product { width: 50%; }
}

@media (max-width: 767px) {
	.cat-sidebar {
		padding-right: 0;
		border-bottom: 1px solid #eee;
		padding-bottom: 16px;
		margin-bottom: 24px;
	}
	.cat-page__content ul.products li.product { width: 50%; }
}

@media (max-width: 480px) {
	.cat-page__content ul.products li.product { width: 100%; }
	.cat-cards__col { margin-bottom: 20px; }
}

/* ── Page wrapper
--------------------------------------------- */
.cat-page {
	padding: 30px 0 60px;
	background: #fff;
}

.cat-page__container {
	max-width: 1140px;
}

/* ── Page heading
--------------------------------------------- */
.cat-page__heading {
	font-size: 1rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	text-align: center;
	color: #222;
	padding-bottom: 14px;
	margin-bottom: 30px;
	border-bottom: 1px solid #ddd;
}

/* ── Row spacing
--------------------------------------------- */
.cat-page__row {
	align-items: flex-start;
}

/*--------------------------------------------------------------
# Category Sidebar
--------------------------------------------------------------*/

.cat-sidebar {
	padding-right: 20px;
}

.cat-sidebar__heading {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #222;
	margin: 0 0 12px;
}

.cat-sidebar__heading a {
	color: #222;
	text-decoration: none;
}

.cat-sidebar__heading a:hover {
	color: #000;
}

.cat-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cat-sidebar__item {
	line-height: 1;
	margin-bottom: 8px;
}

.cat-sidebar__link {
	font-size: 0.82rem;
	color: #531b3b;
	text-decoration: none;
	display: inline-block;
	line-height: 1.4;
}

.cat-sidebar__link:hover,
.cat-sidebar__link:focus {
	color: #666666;
	text-decoration: underline;
}

.cat-sidebar__link.is-active,
.cat-sidebar__item.is-active > .cat-sidebar__link {
	color: #222;
	font-weight: 600;
	text-decoration: none;
}

/*--------------------------------------------------------------
# Subcategory Cards Grid
--------------------------------------------------------------*/

.cat-cards {
	margin-top: 0;
}

.cat-cards__col {
	margin-bottom: 28px;
}

.cat-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.cat-card:hover {
	text-decoration: none;
}

.cat-card__img-wrap {
	width: 100%;
	aspect-ratio: 4 / 3;
	overflow: hidden;
	background: #f5f5f5;
	display: flex;
	align-items: center;
	justify-content: center;
}

.cat-card__img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.3s ease;
}

.cat-card:hover .cat-card__img {
	transform: scale(1.04);
}

.cat-card__body {
	padding: 10px 0 4px;
	text-align: center;
}

.cat-card__title {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #333;
	margin: 0;
	line-height: 1.4;
}

/*--------------------------------------------------------------
# Product Grid (leaf category — no subcategories)
--------------------------------------------------------------*/

.cat-products {
	margin-top: 0;
}

.cat-products__col {
	margin-bottom: 28px;
}

.cat-product-card {
	display: flex;
	flex-direction: column;
	height: 100%;
}

.cat-product-card__img-link {
	display: block;
	line-height: 0;
	background: #f9f9f9;
	border: 1px solid #eee;
}

.cat-product-card__img {
	width: 100%;
	height: 180px;
	object-fit: contain;
	display: block;
}

.cat-product-card__body {
	padding: 10px 0 4px;
	text-align: center;
	flex: 1;
}

.cat-product-card__title {
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 6px;
	line-height: 1.4;
}

.cat-product-card__title a {
	color: #333;
	text-decoration: none;
}

.cat-product-card__title a:hover {
	color: #000;
	text-decoration: underline;
}

.cat-product-card__price {
	font-size: 0.82rem;
	color: #333;
	margin: 0;
}

.cat-product-card__price .woocommerce-Price-amount {
	font-weight: 600;
}

.cat-no-products {
	color: #777;
	font-style: italic;
	font-size: 0.9rem;
}

/*--------------------------------------------------------------
# Category Pagination
--------------------------------------------------------------*/

.cat-pagination {
	margin-top: 30px;
	text-align: center;
}

.cat-pagination .page-numbers {
	display: inline-block;
	padding: 5px 11px;
	margin: 0 2px;
	border: 1px solid #ddd;
	color: #555;
	font-size: 0.82rem;
	text-decoration: none;
	line-height: 1.4;
}

.cat-pagination .page-numbers:hover {
	background: #f0f0f0;
	color: #222;
}

.cat-pagination .page-numbers.current {
	background: #333;
	color: #fff;
	border-color: #333;
}

/*--------------------------------------------------------------
# Category Page Responsive
--------------------------------------------------------------*/

@media (max-width: 767px) {
	.cat-sidebar {
		padding-right: 0;
		margin-bottom: 24px;
		border-bottom: 1px solid #eee;
		padding-bottom: 16px;
	}

	.cat-page__heading {
		font-size: 0.9rem;
	}
}

/*--------------------------------------------------------------
# WooCommerce Category / Archive page
--------------------------------------------------------------*/

/* ── Page wrapper ───────────────────────── */
.cat-page-wrap {
	padding: 30px 0 60px;
	background: #fff;
}

/* ── Heading ────────────────────────────── */
.cat-page__heading {
	font-size: 0.95rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.12em;
	text-align: center;
	color: #222;
	padding-bottom: 14px;
	margin-bottom: 28px;
	border-bottom: 1px solid #ddd;
}

/* ── Row ────────────────────────────────── */
.cat-page__row {
	align-items: flex-start;
}

/*--------------------------------------------------------------
# Category Sidebar
--------------------------------------------------------------*/

.cat-sidebar {
	padding-right: 16px;
}

.cat-sidebar__heading {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #222;
	margin: 0 0 10px;
}

.cat-sidebar__heading a {
	color: #222;
	text-decoration: none;
}

.cat-sidebar__heading a:hover {
	color: #000;
}

.cat-sidebar__list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.cat-sidebar__item {
	margin-bottom: 7px;
}

.cat-sidebar__link {
	font-size: 0.82rem;
	color: #531b3b;
	text-decoration: none;
	line-height: 1.4;
	display: inline-block;
}

.cat-sidebar__link:hover,
.cat-sidebar__link:focus {
	color: #666666;
	text-decoration: underline;
}

.cat-sidebar__link.is-active,
.cat-sidebar__item.is-active .cat-sidebar__link {
	color: #222;
	font-weight: 600;
	text-decoration: none;
}

/*--------------------------------------------------------------
# Subcategory Cards
--------------------------------------------------------------*/

.cat-cards {
	margin-top: 0;
}

.cat-cards__col {
	margin-bottom: 30px;
}

.cat-card {
	display: block;
	text-decoration: none;
	color: inherit;
}

.cat-card:hover {
	text-decoration: none;
}

.cat-card__img-wrap {
	width: 100%;
	overflow: hidden;
	background: #f5f5f5;
	line-height: 0;
}

.cat-card__img {
	width: 100%;
	height: auto;
	display: block;
	transition: transform 0.3s ease;
}

.cat-card:hover .cat-card__img {
	transform: scale(1.03);
}

.cat-card__body {
	padding: 10px 0 2px;
	text-align: center;
}

.cat-card__title {
	font-size: 0.72rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #333;
	margin: 0;
	line-height: 1.4;
}

/*--------------------------------------------------------------
# WooCommerce Product Grid (leaf category)
--------------------------------------------------------------*/

/* Override WC ul.products to behave as a Bootstrap row */
.cat-page__content ul.products {
	display: flex;
	flex-wrap: wrap;
	list-style: none;
	margin: 0 -12px;
	padding: 0;
}

.cat-page__content ul.products li.product {
	padding: 0 12px;
	margin-bottom: 28px;
	width: 33.3333%;
	box-sizing: border-box;
}

/* Product card base */
.cat-page__content ul.products li.product a img {
	width: 100%;
	height: 200px;
	object-fit: contain;
	background: #f9f9f9;
	border: 1px solid #eee;
	display: block;
}

.cat-page__content ul.products li.product .woocommerce-loop-product__title {
	font-size: 0.78rem;
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	padding: 10px 0 4px;
	text-align: center;
	color: #333;
}

.cat-page__content ul.products li.product .price {
	font-size: 0.82rem;
	color: #333;
	text-align: center;
	display: block;
}

.cat-page__content ul.products li.product .price .woocommerce-Price-amount {
	font-weight: 600;
}

/* Hide add-to-cart button on loop (optional — remove if you want it) */
.cat-page__content ul.products li.product .button {
	display: none;
}

/* WC breadcrumb */
.cat-page-wrap .woocommerce-breadcrumb {
	font-size: 0.78rem;
	color: #888;
	margin-bottom: 16px;
}

/* WC result count & ordering */
.cat-page__content .woocommerce-result-count,
.cat-page__content .woocommerce-ordering {
	font-size: 0.8rem;
	margin-bottom: 16px;
}

/* WC pagination */
.cat-page__content .woocommerce-pagination {
	margin-top: 24px;
	text-align: center;
}

.cat-page__content .woocommerce-pagination .page-numbers {
	display: inline-block;
	padding: 5px 11px;
	margin: 0 2px;
	border: 1px solid #ddd;
	color: #555;
	font-size: 0.82rem;
	text-decoration: none;
}

.cat-page__content .woocommerce-pagination .page-numbers:hover {
	background: #f0f0f0;
}

.cat-page__content .woocommerce-pagination .page-numbers.current {
	background: #333;
	color: #fff;
	border-color: #333;
}

/*--------------------------------------------------------------
# Category Page — Responsive
--------------------------------------------------------------*/

@media (max-width: 991px) {
	.cat-page__content ul.products li.product {
		width: 50%;
	}
}

@media (max-width: 767px) {
	.cat-sidebar {
		padding-right: 0;
		border-bottom: 1px solid #eee;
		padding-bottom: 16px;
		margin-bottom: 24px;
	}

	.cat-page__content ul.products li.product {
		width: 50%;
	}
}

@media (max-width: 480px) {
	.cat-page__content ul.products li.product {
		width: 100%;
	}

	.cat-cards__col {
		margin-bottom: 20px;
	}
}

/*--------------------------------------------------------------
# Single Product Page
--------------------------------------------------------------*/

.single-product-page {
	padding: 20px 0 60px;
	background: #fff;
}

/* ── Breadcrumb
--------------------------------------------- */
.single-product-page .woocommerce-breadcrumb {
	font-size: 0.78rem;
	color: #888;
	margin-bottom: 20px;
}

.single-product-page .woocommerce-breadcrumb a {
	color: #5a8fa3;
	text-decoration: none;
}

.single-product-page .woocommerce-breadcrumb a:hover {
	text-decoration: underline;
}

/* ── Main row spacing
--------------------------------------------- */
.sp-main-row {
	margin-bottom: 30px;
}

/* ── Image column
--------------------------------------------- */
.sp-image-col .woocommerce-product-gallery {
	position: relative;
}

.sp-image-col .woocommerce-product-gallery__wrapper {
	margin: 0;
}

/* Main image — 500px tall */
.sp-image-col .woocommerce-product-gallery__image img,
.sp-image-col .woocommerce-product-gallery__image--placeholder img {
	width: 100%;
	height: 500px;
	display: block;
	border: 1px solid #e8e8e8;
	background: #f9f9f9;
	object-fit: contain;
}

/* Thumbnails strip — 100×100 */
.sp-image-col .flex-control-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
	list-style: none;
	margin: 10px 0 0;
	padding: 0;
}

.sp-image-col .flex-control-thumbs li {
	width: 100px;
	flex-shrink: 0;
}

.sp-image-col .flex-control-thumbs li img {
	width: 100px !important;
	height: 100px !important;
	object-fit: contain;
	border: 1px solid #ddd;
	background: #f9f9f9;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.sp-image-col .flex-control-thumbs li img:hover,
.sp-image-col .flex-control-thumbs li img.flex-active {
	border-color: #333;
}

/* ── Summary column
--------------------------------------------- */
.sp-summary {
	padding-left: 10px;
}

/* Brand */
.sp-brand {
	font-size: 0.75rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #5a8fa3;
	margin: 0 0 8px;
}

.sp-brand a {
	color: #531b3b;
	text-decoration: none;
}

.sp-brand a:hover {
	text-decoration: underline;
}

/* Title */
.sp-summary .product_title {
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 1.4rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #444;
	margin: 0 0 10px;
	line-height: 1.3;
}

/* Price */
.sp-summary .price {
	font-size: 1.3rem;
	font-weight: 700;
	color: #333;
	margin: 0 0 10px;
	display: block;
}

.sp-summary .price del {
	color: #aaa;
	font-size: 1rem;
	margin-right: 6px;
}

.sp-summary .price ins {
	text-decoration: none;
	color: #333;
}

/* Review link */
.sp-review-link {
	margin: 0 0 12px;
	font-size: 0.8rem;
}

.sp-review-link a {
	color: #5a8fa3;
	text-decoration: none;
}

.sp-review-link a:hover {
	text-decoration: underline;
}

/* Divider */
.sp-divider {
	border: none;
	border-top: 1px solid #e8e8e8;
	margin: 14px 0;
}

/* Meta rows (Weight, Shipping) */
.sp-meta-row {
	font-size: 0.82rem;
	color: #555;
	margin: 0 0 8px;
	display: flex;
	gap: 6px;
	align-items: baseline;
}

.sp-meta-label {
	font-weight: 600;
	color: #333;
	flex-shrink: 0;
}

.sp-meta-value a {
	color: #5a8fa3;
	text-decoration: none;
}

.sp-meta-value a:hover {
	text-decoration: underline;
}

/* Stock */
.sp-summary .stock {
	font-size: 0.82rem;
	margin: 0 0 8px;
}

.sp-summary .in-stock {
	color: #5a8fa3;
}

.sp-summary .out-of-stock {
	color: #c00;
}

/* ── Quantity label
--------------------------------------------- */
.sp-qty-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #333;
	margin: 0 0 8px;
}

/* ── Quantity + Add to Cart
--------------------------------------------- */
.sp-summary form.cart {
	display: flex;
	flex-direction: column;
	gap: 12px;
	margin-top: 4px;
}

/* Quantity wrap */
.sp-qty-wrap {
	display: flex;
	align-items: center;
	gap: 0;
	width: fit-content;
}

.sp-qty-btn {
	width: 34px;
	height: 34px;
	background: #fff;
	border: 1px solid #ccc;
	color: #555;
	font-size: 1.1rem;
	line-height: 1;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: background 0.15s ease;
	flex-shrink: 0;
	padding: 0;
}

.sp-qty-btn:hover {
	background: #f0f0f0;
	color: #111;
}

.sp-qty-btn--minus {
	border-radius: 3px 0 0 3px;
	border-right: none;
}

.sp-qty-btn--plus {
	border-radius: 0 3px 3px 0;
	border-left: none;
}

.sp-qty-input {
	width: 48px;
	height: 34px;
	text-align: center;
	border: 1px solid #ccc;
	border-left: none;
	border-right: none;
	outline: none;
	font-size: 0.9rem;
	color: #333;
	background: #fff;
	padding: 0;
	-moz-appearance: textfield;
	border-radius: 0;
}

.sp-qty-input::-webkit-inner-spin-button,
.sp-qty-input::-webkit-outer-spin-button {
	-webkit-appearance: none;
}

/* Add to cart button — full width green */
.sp-summary .single_add_to_cart_button {
	display: block;
	width: 100%;
	background: #5cb85c;
	color: #fff;
	border: none;
	padding: 12px 20px;
	font-size: 0.9rem;
	font-weight: 600;
	text-transform: none;
	letter-spacing: 0.02em;
	cursor: pointer;
	border-radius: 4px;
	transition: background 0.2s ease;
	text-align: center;
}

.sp-summary .single_add_to_cart_button:hover {
	background: #449d44;
}

/* ── Description row
--------------------------------------------- */
.sp-description-row {
	border-top: 1px solid #e8e8e8;
	padding-top: 24px;
	margin-bottom: 30px;
}

.sp-description {
	font-size: 0.88rem;
	color: #555;
	line-height: 1.7;
}

.sp-description p {
	margin-bottom: 10px;
}

.sp-description a {
	color: #5a8fa3;
}

/* ── Hide WC default tabs (we show description inline)
--------------------------------------------- */
.sp-related-row .woocommerce-tabs {
	display: none;
}

/* ── Related Products carousel
--------------------------------------------- */
.sp-related {
	border-top: 1px solid #e8e8e8;
	padding-top: 28px;
	position: relative;
}

/* Heading — same flex side-lines style as New Products */
.sp-related__heading {
	margin: 0 0 24px;
}

.sp-related__heading span {
	display: flex;
	align-items: center;
	gap: 14px;
	font-size: 0.8rem;
	font-weight: 600;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #666;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.sp-related__heading span::before,
.sp-related__heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ccc;
}

/* Carousel items */
.sp-related__item {
	padding: 0 4px;
}

.sp-related__link {
	display: block;
	text-decoration: none;
	color: inherit;
	text-align: center;
}

.sp-related__link:hover {
	text-decoration: none;
}

.sp-related__img-wrap {
	width: 200px;
	height: 200px;
	margin: 0 auto 10px;
	background: #f5f5f5;
	border: 1px solid #eee;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.sp-related__img {
	width: 200px !important;
	height: 200px !important;
	object-fit: contain !important;
	display: block;
	padding: 10px;
	transition: opacity 0.2s ease;
}

.sp-related__link:hover .sp-related__img {
	opacity: 0.85;
}

.sp-related__title {
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #333;
	margin: 0 0 4px;
	line-height: 1.35;
}

.sp-related__price {
	font-size: 0.8rem;
	color: #333;
	margin: 0;
}

.sp-related__price .woocommerce-Price-amount {
	font-weight: 600;
}

/* Owl nav arrows for related */
.sp-related .owl-nav {
	margin-top: 14px;
	text-align: center;
	display: flex;
	justify-content: center;
	gap: 10px;
}

.sp-related .owl-nav button.owl-prev,
.sp-related .owl-nav button.owl-next {
	background: none !important;
	border: 1px solid #ccc !important;
	border-radius: 50% !important;
	width: 34px !important;
	height: 34px !important;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	font-size: 1.4rem !important;
	color: #555 !important;
	line-height: 1 !important;
	cursor: pointer;
	transition: background 0.15s ease, color 0.15s ease;
	padding: 0 !important;
}

.sp-related .owl-nav button.owl-prev:hover,
.sp-related .owl-nav button.owl-next:hover {
	background: #333 !important;
	border-color: #333 !important;
	color: #fff !important;
}

.sp-related .owl-nav .disabled {
	opacity: 0.4;
	pointer-events: none;
}

/* Owl dots */
.sp-related .owl-dots {
	text-align: center;
	margin-top: 14px;
}

.sp-related .owl-dot {
	display: inline-block;
}

.sp-related .owl-dot span {
	display: block;
	width: 10px;
	height: 10px;
	border-radius: 50%;
	background: transparent !important;
	border: 2px solid #aaa;
	margin: 0 4px;
	transition: background 0.2s ease, border-color 0.2s ease;
}

.sp-related .owl-dot.active span,
.sp-related .owl-dot:hover span {
	background: #333 !important;
	border-color: #333;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 767px) {
	.sp-summary {
		padding-left: 0;
		margin-top: 20px;
	}

	.sp-summary form.cart {
		flex-direction: column;
		align-items: stretch;
	}

	.sp-summary .single_add_to_cart_button {
		width: 100%;
	}
}

/*--------------------------------------------------------------
# Custom Page Template
--------------------------------------------------------------*/

.custom-page {
	padding: 30px 0 60px;
	background: #fff;
}

/* ── Breadcrumb
--------------------------------------------- */
.custom-page__breadcrumb {
	font-size: 0.82rem;
	color: #888;
	text-align: center;
	margin-bottom: 24px;
	padding-bottom: 16px;
}

.custom-page__breadcrumb a {
	color: #888;
	text-decoration: none;
}

.custom-page__breadcrumb a:hover {
	color: #333;
	text-decoration: underline;
}

.custom-page__breadcrumb-sep {
	margin: 0 6px;
	color: #ccc;
}

/* ── Heading — centred with full-width side lines
--------------------------------------------- */
.custom-page__heading {
	margin: 0 0 30px;
}

.custom-page__heading span {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #555;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.custom-page__heading span::before,
.custom-page__heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* ── Page content
--------------------------------------------- */
.custom-page__content {
	font-size: 0.9rem;
	color: #444;
	line-height: 1.8;
}

.custom-page__content p {
	margin-bottom: 1.2em;
}

.custom-page__content a {
	color: #5a8fa3;
	text-decoration: none;
}

.custom-page__content a:hover {
	text-decoration: underline;
}

.custom-page__content h2,
.custom-page__content h3,
.custom-page__content h4 {
	color: #333;
	margin-top: 1.5em;
	margin-bottom: 0.6em;
}

.custom-page__content ul,
.custom-page__content ol {
	margin-left: 1.5em;
	margin-bottom: 1.2em;
}

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

/*--------------------------------------------------------------
# Cart Page
--------------------------------------------------------------*/

.cart-page {
	padding: 24px 0 60px;
	background: #fff;
}

/* ── Breadcrumb
--------------------------------------------- */
.cart-page__breadcrumb {
	font-size: 0.82rem;
	color: #888;
	text-align: center;
	margin-bottom: 20px;
}

.cart-page__breadcrumb a {
	color: #888;
	text-decoration: none;
}

.cart-page__breadcrumb a:hover {
	color: #333;
	text-decoration: underline;
}

.cart-page__breadcrumb-sep {
	margin: 0 6px;
	color: #ccc;
}

/* ── Heading — side lines
--------------------------------------------- */
.cart-page__heading {
	margin: 0 0 28px;
}

.cart-page__heading span {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #555;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.cart-page__heading span::before,
.cart-page__heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* ── Cart table
--------------------------------------------- */
.cart-page__table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 0;
}

.cart-page__table-head th {
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #333;
	padding: 10px 12px;
	border-bottom: 2px solid #e8e8e8;
}

.cart-col-item   { text-align: left; }
.cart-col-price  { text-align: center; }
.cart-col-qty    { text-align: center; }
.cart-col-total  { text-align: right; }

/* Product rows */
.cart-page__row td {
	padding: 16px 12px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
}

/* Thumbnail */
.cart-col-thumb {
	width: 80px;
	padding-right: 0 !important;
}

.cart-col-thumb img {
	width: 70px;
	height: 70px;
	object-fit: contain;
	border: 1px solid #eee;
	background: #f9f9f9;
	display: block;
}

/* Brand + Name */
.cart-col-name {
	padding-left: 14px !important;
}

.cart-item-brand {
	display: block;
	font-size: 0.75rem;
	color: #888;
	margin-bottom: 3px;
	letter-spacing: 0.04em;
}

.cart-item-title {
	font-size: 0.82rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	color: #333;
	text-decoration: none;
	display: block;
	line-height: 1.35;
}

.cart-item-title:hover {
	color: #5a8fa3;
}

/* Price */
.cart-col-price {
	font-size: 0.88rem;
	color: #333;
}

/* Quantity — reuse sp-qty styles, scoped to cart */
.cart-col-qty .sp-qty-wrap {
	justify-content: center;
	margin: 0 auto;
}

/* Total + remove */
.cart-col-total {
	white-space: nowrap;
}

.cart-item-subtotal {
	font-size: 0.88rem;
	font-weight: 600;
	color: #333;
	margin-right: 8px;
}

.cart-item-remove {
	color: #aaa;
	font-size: 1rem;
	text-decoration: none;
	font-weight: 400;
	vertical-align: middle;
	transition: color 0.15s ease;
}

.cart-item-remove:hover {
	color: #c00;
}

/* ── Cart Totals block
--------------------------------------------- */
.cart-collaterals {
	display: flex;
	justify-content: flex-end;
	margin-top: 10px;
}

.cart-totals-wrap {
	width: 100%;
	max-width: 480px;
}

.cart-totals-table {
	width: 100%;
	border-collapse: collapse;
	margin-bottom: 16px;
}

.cart-totals-row th,
.cart-totals-row td {
	padding: 9px 4px;
	font-size: 0.85rem;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
}

.cart-totals-row th {
	font-weight: 600;
	color: #444;
	text-align: left;
	width: 50%;
}

.cart-totals-row td {
	text-align: right;
	color: #333;
}

/* Links in totals (Shipping Add Info, etc.) */
.cart-totals-link {
	color: #5a8fa3;
	text-decoration: none;
	font-size: 0.85rem;
}

.cart-totals-link:hover {
	text-decoration: underline;
}

/* Grand Total row */
.cart-totals-row.order-total th,
.cart-totals-row.order-total td {
	font-size: 1rem;
	font-weight: 700;
	color: #222;
	border-bottom: none;
	padding-top: 14px;
}

.cart-grand-total .woocommerce-Price-amount {
	font-size: 1.2rem;
	font-weight: 700;
	color: #333;
}

/* Coupon input row */
.cart-coupon-form {
	display: flex;
	gap: 6px;
	justify-content: flex-end;
}

.cart-coupon-input {
	border: 1px solid #ccc;
	padding: 5px 8px;
	font-size: 0.8rem;
	width: 130px;
	outline: none;
	border-radius: 2px;
}

.cart-coupon-btn {
	background: #555;
	color: #fff;
	border: none;
	padding: 5px 12px;
	font-size: 0.78rem;
	cursor: pointer;
	border-radius: 2px;
	transition: background 0.15s ease;
}

.cart-coupon-btn:hover {
	background: #333;
}

/* ── Checkout action buttons
--------------------------------------------- */
.cart-checkout-actions {
	display: flex;
	flex-direction: column;
	align-items: flex-end;
	gap: 10px;
}

/* "Proceed to Checkout" — green */
.cart-checkout-actions .checkout-button,
.cart-checkout-actions .wc-forward {
	display: block;
	width: 100%;
	max-width: 480px;
	background: #5cb85c;
	color: #fff !important;
	text-align: center;
	padding: 12px 20px;
	font-size: 0.88rem;
	font-weight: 600;
	text-decoration: none;
	border: none;
	border-radius: 3px;
	cursor: pointer;
	transition: background 0.2s ease;
	letter-spacing: 0.04em;
}

.cart-checkout-actions .checkout-button:hover,
.cart-checkout-actions .wc-forward:hover {
	background: #449d44;
	color: #fff !important;
}

/* PayPal / express checkout divider */
.cart-checkout-actions .woocommerce-PayPal-express-checkout,
.cart-checkout-actions #payment_method_ppcp-gateway,
.cart-checkout-actions .wc_ppcp_paypal_button_wrap {
	width: 100%;
	max-width: 480px;
	text-align: center;
}

/* "— or use —" separator injected by PayPal gateway */
.cart-checkout-actions .woocommerce-ppcp-button-separator {
	font-size: 0.78rem;
	color: #aaa;
	text-align: center;
	width: 100%;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 767px) {
	.cart-page__table thead {
		display: none;
	}

	.cart-page__table tr,
	.cart-page__table td {
		display: block;
		text-align: left !important;
	}

	.cart-page__table td::before {
		content: attr(data-title) ': ';
		font-weight: 700;
		font-size: 0.78rem;
		color: #555;
	}

	.cart-col-thumb {
		width: auto;
	}

	.cart-collaterals {
		justify-content: center;
	}

	.cart-totals-wrap {
		max-width: 100%;
	}

	.cart-checkout-actions .checkout-button,
	.cart-checkout-actions .wc-forward {
		max-width: 100%;
	}
}

/*--------------------------------------------------------------
# Checkout Page
--------------------------------------------------------------*/

/* ── Outer wrapper
--------------------------------------------- */
.co-wrap {
	padding: 30px 0 60px;
	background: #fff;
	max-width: 1000px;
	margin: 0 auto;
}

.co-row {
	align-items: flex-start;
}

/* ── LEFT column — steps
--------------------------------------------- */
.co-left {
	padding-right: 40px;
}

/* ── Step container
--------------------------------------------- */
.co-step {
	border-bottom: 1px solid #e8e8e8;
	padding: 18px 0;
}

.co-step.is-pending .co-step__title {
	color: #bbb;
}

.co-step__header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.co-step__title {
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 1.1rem;
	font-weight: 500;
	color: #333;
	margin: 0;
	letter-spacing: 0.02em;
}

.co-step__summary {
	display: flex;
	align-items: center;
	gap: 10px;
	font-size: 0.82rem;
}

.co-step__email {
	color: #5a8fa3;
	text-decoration: none;
}

.co-step__edit {
	color: #5a8fa3;
	text-decoration: none;
	font-size: 0.8rem;
}

.co-step__edit:hover {
	text-decoration: underline;
}

/* ── Step body collapse
--------------------------------------------- */
.co-step__body.is-collapsed {
	display: none;
}

.co-step__body.is-open {
	display: block;
	padding-top: 16px;
}

/* ── Section label (e.g. "Shipping Address")
--------------------------------------------- */
.co-section-label {
	font-size: 0.82rem;
	font-weight: 600;
	color: #5a8fa3;
	margin: 0 0 14px;
	text-transform: none;
}

/* ── Email row
--------------------------------------------- */
.co-label {
	display: block;
	font-size: 0.8rem;
	color: #555;
	margin-bottom: 6px;
}

.co-email-row {
	display: flex;
	gap: 10px;
	margin-bottom: 10px;
}

.co-input {
	border: 1px solid #e0c87a;
	border-radius: 2px;
	padding: 9px 12px;
	font-size: 0.88rem;
	color: #333;
	outline: none;
	background: #fff;
}

.co-input--email {
	flex: 1;
}

.co-input:focus {
	border-color: #b89a2a;
}

/* ── Buttons
--------------------------------------------- */
.co-btn--continue {
	background: #5cb85c;
	color: #fff;
	border: none;
	padding: 9px 24px;
	font-size: 0.88rem;
	font-weight: 600;
	border-radius: 2px;
	cursor: pointer;
	transition: background 0.2s ease;
	white-space: nowrap;
}

.co-btn--continue:hover {
	background: #449d44;
}

/* Continue button below shipping/billing forms */
.co-step-next {
	margin-top: 16px;
	display: block;
	width: 100%;
	padding: 12px;
	text-align: center;
}

/* ── Login hint
--------------------------------------------- */
.co-login-hint {
	font-size: 0.8rem;
	color: #777;
	margin: 6px 0 12px;
}

.co-login-hint a {
	color: #5a8fa3;
	text-decoration: none;
}

.co-login-hint a:hover {
	text-decoration: underline;
}

/* ── Express checkout (PayPal)
--------------------------------------------- */
.co-express {
	margin-top: 14px;
}

.co-express__label {
	font-size: 0.78rem;
	color: #888;
	margin: 0 0 8px;
}

/* ── WooCommerce form fields inside steps
--------------------------------------------- */
.co-step__body .woocommerce-input-wrapper {
	width: 100%;
}

.co-step__body .woocommerce-billing-fields,
.co-step__body .woocommerce-shipping-fields {
	width: 100%;
}

.co-step__body .form-row {
	margin-bottom: 12px;
}

.co-step__body .form-row label {
	font-size: 0.8rem;
	color: #555;
	display: block;
	margin-bottom: 4px;
}

.co-step__body .form-row input,
.co-step__body .form-row select,
.co-step__body .form-row textarea {
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 2px;
	padding: 8px 10px;
	font-size: 0.85rem;
	color: #333;
	outline: none;
	background: #fff;
	box-sizing: border-box;
}

.co-step__body .form-row input:focus,
.co-step__body .form-row select:focus {
	border-color: #999;
}

/* Hide WC's own h3 headings inside billing/shipping — we use our own */
.co-step__body .woocommerce-billing-fields__field-wrapper > h3,
.co-step__body .woocommerce-shipping-fields__field-wrapper > h3 {
	display: none;
}

/* ── Payment step — remove duplicate order table
--------------------------------------------- */
#co-step-payment .co-summary__items,
#co-step-payment .co-summary__count,
#co-step-payment .co-summary__promo,
#co-step-payment .co-summary__divider,
#co-step-payment .co-summary__totals {
	display: none;
}

/* ── RIGHT column — Order Summary
--------------------------------------------- */
.co-right {
	padding-left: 10px;
}

.co-summary {
	background: #fff;
	border: 1px solid #e8e8e8;
	padding: 20px;
	position: sticky;
	top: 20px;
}

.co-summary__header {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 14px;
}

.co-summary__title {
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 0.85rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.1em;
	color: #444;
	margin: 0;
}

.co-summary__edit {
	font-size: 0.78rem;
	color: #5a8fa3;
	text-decoration: none;
}

.co-summary__edit:hover {
	text-decoration: underline;
}

.co-summary__count {
	font-size: 0.8rem;
	color: #666;
	margin: 0 0 12px;
}

/* Items list */
.co-summary__items {
	list-style: none;
	margin: 0 0 12px;
	padding: 0;
}

.co-summary__item {
	display: flex;
	align-items: flex-start;
	gap: 12px;
	padding: 8px 0;
	border-bottom: 1px solid #f0f0f0;
}

.co-summary__item-img-wrap {
	position: relative;
	flex-shrink: 0;
}

.co-summary__item-img {
	width: 56px;
	height: 56px;
	object-fit: contain;
	border: 1px solid #eee;
	background: #f9f9f9;
	display: block;
}

.co-summary__item-qty {
	position: absolute;
	top: -6px;
	right: -6px;
	background: #888;
	color: #fff;
	font-size: 0.65rem;
	font-weight: 700;
	width: 18px;
	height: 18px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	line-height: 1;
}

.co-summary__item-info {
	flex: 1;
	font-size: 0.8rem;
	color: #333;
}

.co-summary__item-name {
	display: block;
	font-weight: 500;
	line-height: 1.35;
}

.co-summary__item-price {
	font-size: 0.82rem;
	font-weight: 600;
	color: #333;
	white-space: nowrap;
}

/* Promo link */
.co-summary__promo {
	margin: 10px 0;
}

.co-summary__promo-link {
	font-size: 0.78rem;
	color: #5a8fa3;
	text-decoration: none;
}

.co-summary__promo-link:hover {
	text-decoration: underline;
}

.co-promo-form {
	padding: 10px 0;
}

/* Divider */
.co-summary__divider {
	border: none;
	border-top: 1px solid #e8e8e8;
	margin: 10px 0;
}

/* Totals rows */
.co-summary__totals {
	font-size: 0.82rem;
}

.co-summary__row {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	padding: 5px 0;
	color: #444;
}

.co-summary__row--total {
	padding: 10px 0 6px;
	font-size: 0.88rem;
}

.co-summary__grand-total {
	font-size: 1.5rem;
	font-weight: 700;
	color: #333;
}

.co-summary__grand-total .woocommerce-Price-amount {
	font-size: inherit;
	font-weight: inherit;
}

.co-summary__dash {
	color: #aaa;
}

.co-summary__tax-note {
	font-size: 0.75rem;
	color: #888;
	margin-top: 6px;
}

.co-summary__row--tax {
	font-size: 0.78rem;
	color: #888;
	padding: 2px 0;
}

.co-summary__shipping .shipping td,
.co-summary__shipping table {
	display: inline;
	border: none;
	padding: 0;
	margin: 0;
	background: none;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 991px) {
	.co-left {
		padding-right: 15px;
	}

	.co-right {
		padding-left: 15px;
		margin-top: 30px;
	}

	.co-summary {
		position: static;
	}
}

@media (max-width: 576px) {
	.co-email-row {
		flex-direction: column;
	}

	.co-btn--continue {
		width: 100%;
		text-align: center;
	}
}
.woocommerce-checkout .entry-header , .woocommerce-cart .entry-header , #secondary{
	display: none;
}

/*--------------------------------------------------------------
# Registration / Login Page
--------------------------------------------------------------*/

.reg-page {
	padding: 24px 0 60px;
	background: #fff;
	max-width: 900px;
}

/* ── Breadcrumb
--------------------------------------------- */
.reg-page__breadcrumb {
	font-size: 0.82rem;
	color: #888;
	text-align: center;
	margin-bottom: 20px;
}

.reg-page__breadcrumb a {
	color: #888;
	text-decoration: none;
}

.reg-page__breadcrumb a:hover { color: #333; }

.reg-page__sep {
	margin: 0 6px;
	color: #ccc;
}

/* ── Heading — side lines
--------------------------------------------- */
.reg-page__heading {
	margin: 0 0 28px;
}

.reg-page__heading span {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 0.9rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #555;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.reg-page__heading span::before,
.reg-page__heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* ── Form
--------------------------------------------- */
.reg-form {
	margin-bottom: 20px;
}

.reg-row {
	margin-bottom: 4px;
}

/* ── Field
--------------------------------------------- */
.reg-field {
	margin-bottom: 14px;
}

.reg-field__label-wrap {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 4px;
}

.reg-field__label-wrap label {
	font-size: 0.78rem;
	color: #5a8fa3;
	font-weight: 500;
}

.reg-field__required {
	font-size: 0.68rem;
	color: #999;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}

/* ── Input
--------------------------------------------- */
.reg-input {
	display: block;
	width: 100%;
	border: 1px solid #ccc;
	border-radius: 0;
	padding: 8px 10px;
	font-size: 0.88rem;
	color: #333;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
}

.reg-input:focus {
	border-color: #5a8fa3;
}

/* ── Select wrapper (custom arrow)
--------------------------------------------- */
.reg-select-wrap {
	position: relative;
}

.reg-select-wrap::after {
	content: '\25BC';
	position: absolute;
	right: 10px;
	top: 50%;
	transform: translateY(-50%);
	font-size: 0.6rem;
	color: #888;
	pointer-events: none;
}

.reg-select {
	-webkit-appearance: none;
	appearance: none;
	padding-right: 28px !important;
}

/* ── reCAPTCHA
--------------------------------------------- */
.reg-recaptcha {
	margin: 8px 0 16px;
}

/* ── Submit button — dark maroon
--------------------------------------------- */
.reg-submit-row {
	margin-top: 6px;
}

.reg-btn {
	display: inline-block;
	background: #4a3728;
	color: #fff;
	border: none;
	padding: 10px 28px;
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	border-radius: 2px;
	transition: background 0.2s ease;
	letter-spacing: 0.04em;
}

.reg-btn:hover {
	background: #2e1f12;
}

/* ── Helper links
--------------------------------------------- */
.reg-login-link,
.reg-lost-pw {
	font-size: 0.82rem;
	color: #666;
	margin-top: 14px;
}

.reg-login-link a,
.reg-lost-pw a {
	color: #5a8fa3;
	text-decoration: none;
}

.reg-login-link a:hover,
.reg-lost-pw a:hover {
	text-decoration: underline;
}

/* ── WooCommerce error notices on this page
--------------------------------------------- */
.reg-page .woocommerce-error,
.reg-page .woocommerce-message {
	list-style: none;
	padding: 10px 14px;
	margin: 0 0 16px;
	font-size: 0.85rem;
	border-left: 3px solid #c00;
	background: #fff8f8;
	color: #c00;
}

.reg-page .woocommerce-message {
	border-color: #5cb85c;
	background: #f8fff8;
	color: #3a7a3a;
}

/*--------------------------------------------------------------
# Sign In — two-column layout
--------------------------------------------------------------*/

.signin-row {
	margin-top: 20px;
	align-items: flex-start;
}

/* ── Left: login form
--------------------------------------------- */
.signin-left {
	padding-right: 40px;
}

.signin-left .reg-field label {
	font-size: 0.85rem;
	color: #444;
	display: block;
	margin-bottom: 5px;
	font-weight: 400;
}

.signin-actions {
	display: flex;
	align-items: center;
	gap: 16px;
	margin-top: 6px;
}

.signin-forgot {
	font-size: 0.82rem;
	color: #5a8fa3;
	text-decoration: none;
}

.signin-forgot:hover {
	text-decoration: underline;
}

/* ── Right: New Customer panel
--------------------------------------------- */
.signin-right {
	padding-left: 20px;
}

.signin-new-customer {
	background: #f0efed;
	padding: 24px 28px 28px;
}

.signin-new-customer__heading {
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #444;
	margin: 0 0 10px;
}

.signin-new-customer__sub {
	font-size: 0.85rem;
	color: #444;
	margin: 0 0 10px;
	line-height: 1.5;
}

.signin-new-customer__list {
	list-style: disc;
	padding-left: 18px;
	margin: 0 0 20px;
}

.signin-new-customer__list li {
	font-size: 0.82rem;
	color: #5a8fa3;
	margin-bottom: 4px;
	line-height: 1.5;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 767px) {
	.signin-left {
		padding-right: 15px;
		margin-bottom: 24px;
	}

	.signin-right {
		padding-left: 15px;
	}
}

/*--------------------------------------------------------------
# Brand Archive Page
--------------------------------------------------------------*/

/* ── "View All" link at bottom of sidebar brand list
--------------------------------------------- */
.cat-sidebar__link--view-all {
	color: #888;
	font-style: italic;
}

.cat-sidebar__link--view-all:hover {
	color: #333;
}

/* ── Brand name above product title in loop
--------------------------------------------- */
.brand-loop__brand-name {
	display: block;
	font-size: 0.72rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	color: #666;
	margin-bottom: 3px;
	line-height: 1.3;
}



/*--------------------------------------------------------------
# Responsive Header — Mobile (≤900px) / Desktop (>900px)
--------------------------------------------------------------*/

/* ── Show/hide based on breakpoint ────────── */
.mobile-header  { display: none; }
.desktop-header { display: block; }

@media (max-width: 900px) {
	.mobile-header  { display: block; }
	.desktop-header { display: none; }
}

/* ── Mobile top bar ────────────────────────── */
.mobile-header {
	background: #fff;
	border-bottom: 1px solid #e8e8e8;
	position: sticky;
	top: 0;
	z-index: 1100;
}

.mobile-header__inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 0 14px;
	height: 52px;
}

.mobile-nav-toggle {
	background: none;
	border: none;
	padding: 6px;
	cursor: pointer;
	color: #333;
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	box-shadow: none;
	outline: none;
}

.mobile-nav-toggle:hover,
.mobile-nav-toggle:focus {
	background: none;
	border: none;
	color: #333;
}

.mobile-nav-toggle svg {
	display: block;
}

.mobile-header__logo {
	flex: 1;
	text-align: center;
}

.mobile-header__logo .header-logo__text {
	font-family: Pacifico, Arial, Helvetica, sans-serif;
	font-size: 22px;
	color: #333 !important;
	text-decoration: none !important;
}

.mobile-header__logo .custom-logo {
	max-height: 36px;
	width: auto;
}

.mobile-header__cart {
	flex-shrink: 0;
}

.mobile-cart-link {
	display: flex;
	align-items: center;
	gap: 4px;
	text-decoration: none !important;
	color: #333 !important;
	padding: 6px;
}

.mobile-cart-link svg {
	width: 20px;
	height: 20px;
	display: block;
}

.mobile-cart-link .header-cart__count {
	min-width: 18px;
	height: 18px;
	background: #531b3b;
	color: #fff !important;
	font-size: 0.65rem;
	font-weight: 700;
	border-radius: 50%;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 3px;
}

/* ── Mobile menu panel ─────────────────────── */
.mobile-menu {
	display: none;
	position: fixed;
	top: 52px;
	left: 0;
	right: 0;
	bottom: 0;
	background: #555555;
	z-index: 1090;
	overflow-y: auto;
	-webkit-overflow-scrolling: touch;
}

/* When WP admin bar is visible (logged-in), offset by admin bar height */
.admin-bar .mobile-menu {
	top: calc(52px + 32px);
}

@media screen and (max-width: 782px) {
	.admin-bar .mobile-menu {
		top: calc(52px + 46px);
	}
}

/* Also push the sticky mobile header down when admin bar is present */
.admin-bar .mobile-header {
	top: 32px;
}

@media screen and (max-width: 782px) {
	.admin-bar .mobile-header {
		top: 46px;
	}
}

.mobile-menu[hidden] {
	display: none !important;
}

.mobile-menu.is-open {
	display: block;
	animation: mobileMenuIn 0.2s ease forwards;
}

@keyframes mobileMenuIn {
	from { opacity: 0; transform: translateY(-6px); }
	to   { opacity: 1; transform: translateY(0); }
}

/* Override all link colours inside the menu panel */
.mobile-menu a,
.mobile-menu a:link,
.mobile-menu a:visited,
.mobile-menu a:hover,
.mobile-menu a:focus,
.mobile-menu a:active {
	text-decoration: none !important;
}

/* ── Search bar ─────────────────────────────── */
.mobile-menu__search {
	padding: 12px 14px;
	background: #444444;
}

.mobile-menu__search form {
	display: flex;
	width: 100%;
}

.mobile-menu__search-input {
	flex: 1;
	border: none;
	outline: none;
	padding: 9px 12px;
	font-size: 13px;
	background: #ffffff;
	color: #333;
	border-radius: 0;
	-webkit-appearance: none;
	appearance: none;
	margin: 0;
}

.mobile-menu__search-btn {
	background: #531b3b !important;
	color: #fff !important;
	border: none;
	padding: 9px 18px;
	font-size: 13px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	flex-shrink: 0;
	border-radius: 0;
	transition: background 0.2s ease;
}

.mobile-menu__search-btn:hover {
	background: #3a1229 !important;
}

/* ── Nav list ───────────────────────────────── */
.mobile-menu__nav {
	padding: 4px 0;
}

.mobile-nav-list {
	list-style: none;
	margin: 0;
	padding: 0;
}

.mobile-nav-item {
	
	position: relative;
}

.mobile-menu .mobile-nav-link,
.mobile-menu .mobile-nav-link:link,
.mobile-menu .mobile-nav-link:visited {
	display: block;
	padding: 14px 48px 14px 16px;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 12px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
	background: transparent;
	transition: background 0.15s ease;
}

.mobile-menu .mobile-nav-link:hover,
.mobile-menu .mobile-nav-link:focus {
	background: rgba(255,255,255,0.07);
	color: #ffffff !important;
	text-decoration: none !important;
}

/* ── Sub-menu toggle ────────────────────────── */
.mobile-sub-toggle {
	position: absolute;
	right: 0;
	top: 0;
	height: 48px;
	width: 48px;
	background: none !important;
	border: none !important;
	box-shadow: none !important;
	color: rgba(255,255,255,0.6) !important;
	font-size: 1.2rem;
	cursor: pointer;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: transform 0.2s ease;
	padding: 0;
}

.mobile-sub-toggle:hover {
	color: #fff !important;
	background: none !important;
}

.mobile-sub-toggle.is-open {
	transform: rotate(90deg);
	color: #fff !important;
}

/* ── Sub-menu list ──────────────────────────── */
.mobile-sub-menu {
	list-style: none;
	margin: 0;
	padding: 0;
	background: rgba(0,0,0,0.18);
}

.mobile-sub-menu li {
	border-top: 1px solid rgba(255,255,255,0.07);
}

.mobile-menu .mobile-sub-link,
.mobile-menu .mobile-sub-link:link,
.mobile-menu .mobile-sub-link:visited {
	display: block;
	padding: 11px 16px 11px 26px;
	color: rgba(255,255,255,0.8) !important;
	text-decoration: none !important;
	font-size: 11px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
}

.mobile-menu .mobile-sub-link:hover,
.mobile-menu .mobile-sub-link:focus {
	color: #ffffff !important;
	text-decoration: none !important;
}

/* ── Account links ──────────────────────────── */
.mobile-menu__account {
	padding: 14px 16px;
	border-top: 1px solid rgba(255,255,255,0.15);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.mobile-menu .mobile-menu__link,
.mobile-menu .mobile-menu__link:link,
.mobile-menu .mobile-menu__link:visited {
	display: inline-block;
	color: #ffffff !important;
	text-decoration: none !important;
	font-size: 11px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.08em;
}

.mobile-menu .mobile-menu__link:hover,
.mobile-menu .mobile-menu__link:focus {
	color: rgba(255,255,255,0.7) !important;
	text-decoration: none !important;
}

.mobile-menu__or {
	color: rgba(255,255,255,0.4);
	font-size: 11px;
}

/* Body scroll lock */
body.mobile-menu-open {
	overflow: hidden;
}

/* Account links at bottom of menu */
.mobile-menu__account {
	padding: 16px;
	border-top: 1px solid rgba(255,255,255,0.12);
	margin-top: 8px;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 6px;
}

.mobile-menu__link {
	display: inline-block;
	color: #fff;
	text-decoration: none;
	font-size: 12px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	padding: 4px 0;
}

.mobile-menu__link:hover {
	color: #ddd;
	text-decoration: none;
}

.mobile-menu__or {
	color: rgba(255,255,255,0.5);
	font-size: 11px;
}

/* Prevent body scroll when menu is open */
body.mobile-menu-open {
	overflow: hidden;
}

/*--------------------------------------------------------------
# My Account Page
--------------------------------------------------------------*/

.myaccount-page {
	padding: 24px 0 60px;
	background: #fff;
}

/* ── Breadcrumb
--------------------------------------------- */
.myaccount-breadcrumb {
	font-size: 12px;
	color: #888;
	text-align: center;
	margin-bottom: 20px;
}

.myaccount-breadcrumb a {
	color: #5a8fa3;
	text-decoration: none;
}

.myaccount-breadcrumb a:hover {
	color: #2c6e87;
	text-decoration: underline;
}

.myaccount-breadcrumb__sep {
	margin: 0 6px;
	color: #ccc;
}

/* ── Heading with side lines
--------------------------------------------- */
.myaccount-heading {
	margin: 0 0 20px;
}

.myaccount-heading span {
	display: flex;
	align-items: center;
	gap: 16px;
	font-size: 0.88rem;
	font-weight: 700;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #555;
	font-family: Oswald, Arial, Helvetica, sans-serif;
}

.myaccount-heading span::before,
.myaccount-heading span::after {
	content: '';
	flex: 1;
	height: 1px;
	background: #ddd;
}

/* ── Horizontal tab nav
--------------------------------------------- */
.myaccount-nav {
	margin-bottom: 24px;
	border-bottom: 1px solid #e8e8e8;
}

.myaccount-nav__list {
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0;
}

.myaccount-nav__item {
	margin: 0;
}

.myaccount-nav__link {
	display: inline-block;
	padding: 8px 14px;
	font-size: 12px;
	color: #5a8fa3;
	text-decoration: none !important;
	border-bottom: 2px solid transparent;
	transition: color 0.15s ease, border-color 0.15s ease;
	white-space: nowrap;
	line-height: 1.4;
}

.myaccount-nav__link:hover,
.myaccount-nav__link:focus {
	color: #2c6e87;
	text-decoration: none !important;
	border-bottom-color: #2c6e87;
}

.myaccount-nav__link.is-active,
.myaccount-nav__item.is-active .myaccount-nav__link {
	color: #333 !important;
	font-weight: 600;
	text-decoration: none !important;
	border-bottom-color: #333;
}

/* ── Content area
--------------------------------------------- */
.myaccount-content {
	padding-top: 16px;
}

/* WooCommerce notices inside account */
.myaccount-content .woocommerce-message,
.myaccount-content .woocommerce-info {
	font-size: 13px;
	padding: 12px 16px;
	border-left: 4px solid #5a8fa3;
	background: #f0f7fa;
	color: #333;
	display: flex;
	align-items: center;
	gap: 10px;
	list-style: none;
	margin: 0 0 16px;
}

.myaccount-content .woocommerce-message::before {
	content: '\f129';
	font-family: dashicons;
	font-size: 18px;
	color: #5a8fa3;
	flex-shrink: 0;
}

/* Orders table */
.myaccount-content .woocommerce-orders-table {
	width: 100%;
	border-collapse: collapse;
	font-size: 13px;
}

.myaccount-content .woocommerce-orders-table th {
	text-align: left;
	padding: 8px 10px;
	border-bottom: 2px solid #e8e8e8;
	font-size: 11px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #555;
}

.myaccount-content .woocommerce-orders-table td {
	padding: 10px;
	border-bottom: 1px solid #f0f0f0;
	vertical-align: middle;
	color: #333;
}

.myaccount-content .woocommerce-orders-table tr:hover td {
	background: #f9f9f9;
}

/* Address boxes */
.myaccount-content .woocommerce-Addresses {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

.myaccount-content .woocommerce-Address {
	flex: 1;
	min-width: 200px;
	border: 1px solid #e8e8e8;
	padding: 16px;
	font-size: 13px;
}

.myaccount-content .woocommerce-Address-title {
	font-size: 13px;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 10px;
	color: #333;
}

/* Edit account / address forms */
.myaccount-content .woocommerce-form-row label {
	font-size: 12px;
	color: #5a8fa3;
	font-weight: 600;
	display: block;
	margin-bottom: 4px;
}

.myaccount-content .woocommerce-form-row input,
.myaccount-content .woocommerce-form-row select {
	width: 100%;
	font-size: 13px;
	padding: 8px 10px;
	border: 1px solid #ccc;
	border-radius: 0;
	outline: none;
	box-sizing: border-box;
}

.myaccount-content .woocommerce-form-row input:focus,
.myaccount-content .woocommerce-form-row select:focus {
	border-color: #531b3b;
}

/* Save button */
.myaccount-content .woocommerce-Button,
.myaccount-content .button {
	background: #531b3b !important;
	color: #fff !important;
	border: 1px solid #531b3b !important;
	border-radius: 2px !important;
	padding: 10px 22px !important;
	font-size: 13px !important;
	font-family: Oswald, Arial, Helvetica, sans-serif !important;
	text-transform: uppercase !important;
	letter-spacing: 0.04em !important;
	cursor: pointer !important;
	text-decoration: none !important;
	transition: background 0.2s ease !important;
}

.myaccount-content .woocommerce-Button:hover,
.myaccount-content .button:hover {
	background: #3a1229 !important;
	border-color: #3a1229 !important;
	color: #fff !important;
}

/* ── Responsive
--------------------------------------------- */
@media (max-width: 767px) {
	.myaccount-nav__list {
		flex-direction: column;
		border-bottom: none;
	}

	.myaccount-nav__item {
		border-bottom: 1px solid #f0f0f0;
	}

	.myaccount-nav__link {
		display: block;
		padding: 10px 0;
		border-bottom: none;
	}

	.myaccount-nav__link.is-active {
		border-bottom: none;
		color: #531b3b !important;
	}

	.myaccount-content .woocommerce-orders-table thead {
		display: none;
	}

	.myaccount-content .woocommerce-orders-table td {
		display: block;
		text-align: right;
	}

	.myaccount-content .woocommerce-orders-table td::before {
		content: attr(data-title) ': ';
		float: left;
		font-weight: 700;
		font-size: 11px;
		color: #555;
	}
}

/*--------------------------------------------------------------
# Account Settings Form (form-edit-account)
--------------------------------------------------------------*/

.acc-form {
	max-width: 760px;
	margin: 0 auto;
	padding-top: 10px;
}

.acc-row {
	margin-bottom: 4px;
}

/* ── Field
--------------------------------------------- */
.acc-field {
	margin-bottom: 16px;
}

.acc-field__label-wrap {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	margin-bottom: 5px;
}

.acc-field__label-wrap label {
	font-size: 12px;
	color: #444;
	font-weight: 400;
}

.acc-field__required {
	font-size: 0.65rem;
	color: #999;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}

/* ── Input
--------------------------------------------- */
.acc-input {
	display: block;
	width: 100%;
	border: 1px solid #cccccc;
	border-radius: 0;
	padding: 9px 10px;
	font-size: 13px;
	color: #333;
	background: #fff;
	outline: none;
	box-sizing: border-box;
	transition: border-color 0.15s ease;
	-webkit-appearance: none;
	appearance: none;
}

.acc-input:focus {
	border-color: #531b3b;
}

/* ── Submit button
--------------------------------------------- */
.acc-submit {
	margin-top: 10px;
}

.acc-btn {
	background: #531b3b;
	color: #fff;
	border: 1px solid #531b3b;
	border-radius: 3px;
	padding: 11px 28px;
	font-size: 13px;
	font-family: Oswald, Arial, Helvetica, sans-serif;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	cursor: pointer;
	transition: background 0.2s ease;
	display: inline-block;
}

.acc-btn:hover {
	background: #3a1229;
	border-color: #3a1229;
	color: #fff;
}

/*--------------------------------------------------------------
# My Account nav tab overrides — match reference colours
--------------------------------------------------------------*/

/* Active tab: plain dark, no underline */
.myaccount-nav__link.is-active,
.myaccount-nav__item.is-active .myaccount-nav__link {
	color: #333 !important;
	font-weight: 600;
	text-decoration: none !important;
	border-bottom: 2px solid #333;
}

/* Inactive tabs: teal/burgundy as per reference */
.myaccount-nav__link {
	color: #531b3b !important;
	text-decoration: none !important;
	border-bottom: 2px solid transparent;
}

.myaccount-nav__link:hover,
.myaccount-nav__link:focus {
	color: #3a1229 !important;
	text-decoration: none !important;
	border-bottom-color: #531b3b;
}
.woocommerce-account .entry-header{
display: none;
}

/*--------------------------------------------------------------
# Quick-View — hover icon + modal popup
--------------------------------------------------------------*/

/* ── Hover icon on product images ─────────── */

/* WooCommerce loop items need position:relative for absolute child */
.woocommerce ul.products li.product,
.cat-page__content ul.products li.product,
.home-product-card__img-wrap,
.sp-related__item {
	position: relative;
}

/* The trigger button — positioned over the image, hidden by default */
.qv-trigger {
	position: absolute;
	top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) scale(0.8);
	z-index: 20;
	background: rgba(255,255,255,0.92);
	border: none;
	border-radius: 50%;
	width: 40px;
	height: 40px;
	display: flex;
	align-items: center;
	justify-content: center;
	cursor: pointer;
	opacity: 0;
	transition: opacity 0.2s ease, transform 0.2s ease;
	padding: 0;
	box-shadow: 0 2px 8px rgba(0,0,0,0.15);
}

.qv-trigger svg {
	width: 18px;
	height: 18px;
	stroke: #333;
	display: block;
}

/* Show on hover — WC loop */
.woocommerce ul.products li.product:hover .qv-trigger,
.cat-page__content ul.products li.product:hover .qv-trigger {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Show on hover — home new products */
.home-product-card:hover .qv-trigger,
.home-product-card__img-wrap:hover .qv-trigger {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Show on hover — related products carousel */
.sp-related__item:hover .qv-trigger {
	opacity: 1;
	transform: translate(-50%, -50%) scale(1);
}

/* Wrap images in WC loop so button can be positioned */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.cat-page__content ul.products li.product .woocommerce-LoopProduct-link {
	position: relative;
	display: block;
}

/* ── Modal overlay ─────────────────────────── */
.qv-modal {
	position: fixed;
	inset: 0;
	z-index: 99999;
	display: flex;
	align-items: center;
	justify-content: center;
}

.qv-modal[hidden] {
	display: none !important;
}

.qv-overlay {
	position: absolute;
	inset: 0;
	background: rgba(0,0,0,0.6);
	cursor: pointer;
}

/* ── Modal container ───────────────────────── */
.qv-container {
	position: relative;
	background: #fff;
	width: 90%;
	max-width: 860px;
	max-height: 90vh;
	overflow-y: auto;
	border-radius: 2px;
	box-shadow: 0 8px 40px rgba(0,0,0,0.25);
	z-index: 1;
	animation: qvFadeIn 0.22s ease;
}

@keyframes qvFadeIn {
	from { opacity: 0; transform: scale(0.97); }
	to   { opacity: 1; transform: scale(1); }
}

/* Close button */
.qv-close {
	position: absolute;
	top: 12px;
	right: 14px;
	background: none;
	border: none;
	font-size: 1.6rem;
	line-height: 1;
	color: #666;
	cursor: pointer;
	z-index: 10;
	padding: 0 4px;
	transition: color 0.15s ease;
}

.qv-close:hover {
	color: #000;
	background: none;
}

/* Loading spinner */
.qv-loading {
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 60px;
	color: #aaa;
}

/* ── Modal body layout ─────────────────────── */
.qv-body {
	display: flex;
	gap: 0;
	padding: 30px;
	align-items: flex-start;
}

/* Left: images */
.qv-images {
	flex: 0 0 42%;
	max-width: 42%;
	padding-right: 24px;
}

.qv-main-img {
	width: 100%;
	border: 1px solid #eee;
	background: #f9f9f9;
	margin-bottom: 10px;
	line-height: 0;
}

.qv-main-img img {
	width: 100%;
	height: 320px;
	object-fit: contain;
	display: block;
}

/* Thumbnails strip */
.qv-thumbs {
	display: flex;
	flex-wrap: wrap;
	gap: 8px;
}

.qv-thumb {
	width: 68px;
	height: 68px;
	object-fit: contain;
	border: 1px solid #ddd;
	background: #f9f9f9;
	cursor: pointer;
	transition: border-color 0.15s ease;
}

.qv-thumb.is-active,
.qv-thumb:hover {
	border-color: #531b3b;
}

/* Right: details */
.qv-details {
	flex: 1;
	padding-left: 4px;
}

.qv-title {
	font-family: Oswald, Arial, Helvetica, sans-serif;
	font-size: 1.1rem;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: #444;
	margin: 0 0 10px;
	line-height: 1.3;
	padding-right: 30px; /* room for × button */
}

.qv-price {
	font-size: 1.2rem;
	font-weight: 700;
	color: #333;
	margin-bottom: 8px;
}

.qv-price .woocommerce-Price-amount {
	font-size: inherit;
}

.qv-review-link {
	margin-bottom: 10px;
	font-size: 12px;
}

.qv-review-link a {
	color: #5a8fa3;
	text-decoration: none;
}

.qv-review-link a:hover {
	text-decoration: underline;
}

.qv-divider {
	border: none;
	border-top: 1px solid #eee;
	margin: 12px 0;
}

.qv-meta {
	font-size: 12px;
	color: #555;
	margin: 0 0 6px;
}

.qv-meta-label {
	font-weight: 600;
	color: #333;
}

.qv-meta a {
	color: #5a8fa3;
	text-decoration: none;
}

.qv-stock {
	font-size: 12px;
	margin: 0 0 6px;
}

.qv-stock.in-stock  { color: #5a8fa3; }
.qv-stock.out-of-stock { color: #c00; }

/* Quantity label */
.qv-qty-label {
	font-size: 12px;
	font-weight: 600;
	color: #333;
	margin: 0 0 8px;
}

/* Qty + Add to cart inside modal */
.qv-details .sp-qty-wrap {
	display: flex;
	align-items: center;
	margin-bottom: 12px;
}

.qv-details form.cart {
	flex-direction: column;
	gap: 10px;
}

.qv-details .single_add_to_cart_button {
	display: block;
	width: 100%;
	background: #5cb85c;
	color: #fff;
	border: none;
	padding: 12px;
	font-size: 0.9rem;
	font-weight: 600;
	border-radius: 3px;
	cursor: pointer;
	text-align: center;
	text-transform: none;
	transition: background 0.2s ease;
}

.qv-details .single_add_to_cart_button:hover {
	background: #449d44;
}

/* Prevent body scroll when modal open */
body.qv-open {
	overflow: hidden;
}

/* ── Responsive ────────────────────────────── */
@media (max-width: 640px) {
	.qv-body {
		flex-direction: column;
		padding: 20px;
	}

	.qv-images {
		flex: none;
		max-width: 100%;
		padding-right: 0;
		margin-bottom: 20px;
	}

	.qv-main-img img {
		height: 220px;
	}
}

/*--------------------------------------------------------------
# Global Product Image Box — 200×200, light grey bg, padded
--------------------------------------------------------------*/

/* ── WooCommerce loop (category, brand, shop pages)
--------------------------------------------- */
.cat-page__content ul.products li.product img,
.cat-page__content ul.products li.product a img,
.woocommerce ul.products li.product a img{
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f2f2f2;
	width: 100%;
	height: 200px;
	margin: 0 auto 12px;
	padding: 14px;
	overflow: hidden;
	box-sizing: border-box;
}

.cat-page__content ul.products li.product a img,
.cat-page__content ul.products li.product .woocommerce-LoopProduct-link img,
.woocommerce ul.products li.product a img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: #f2f2f2;
}

/* Space between image box and product title */
.cat-page__content ul.products li.product .woocommerce-loop-product__title,
.woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin-top: 12px;
}

/* ── Home new products section
--------------------------------------------- */
.home-product-card__img-wrap {
	display: flex;
	align-items: center;
	justify-content: center;
	background: #f2f2f2;
	width: 100%;
	height: 200px;
	margin: 0 auto 12px;
	padding: 14px;
	box-sizing: border-box;
	position: relative;
	overflow: hidden;
}

.home-product-card__img-link {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	line-height: 0;
}

.home-product-card__img-link:hover {
	text-decoration: none;
}

.home-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: transparent;
}

/* Space between image box and product title on home */
.home-product-card__body {
	padding-top: 4px;
}

/* ── Related products carousel (single product page)
--------------------------------------------- */
.sp-related__img-wrap {
	width: 100%;
	height: 200px;
	background: #f2f2f2;
	border: none;
	margin: 0 auto 12px;
	padding: 14px;
	box-sizing: border-box;
	display: flex;
	align-items: center;
	justify-content: center;
	overflow: hidden;
}

.sp-related__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
	display: block;
	background: transparent;
}

/* ── Home New Products on home page
--------------------------------------------- */
.home-new-products .home-product-card__img-link img,
.home-new-products .home-product-card__img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}
	background: #f2f2f2;
}

/* ── Home New Products on home page
--------------------------------------------- */
.home-new-products .home-product-card__img-link img,
.home-new-products .home-product-card__img {
	width: 200px;
	height: 200px;
	object-fit: contain;
}
.woocommerce div.product div.images.woocommerce-product-gallery {

    width: 100%;

}
.woocommerce .woocommerce-product-gallery__image img {
    height: 500px !important;
}
.woocommerce div.product div.images .flex-control-thumbs li {
    width: 18%;
}