/**
Theme Name: Consoul
Author: zsiraiandras.com
Author URI: https://zsiraiandras.com
Version: 1.0.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: consoul
Template: astra
*/

/* 
  =====================================================
  NORMALIZE
  =====================================================
*/
/**
 * 1. Correct the line height in all browsers.
 * 2. Prevent adjustments of font size after orientation changes in iOS.
 */

html {
	line-height: 1.15; /* 1 */
	-webkit-text-size-adjust: 100%; /* 2 */
	scroll-behavior: auto;
}

/**
   * Remove the margin in all browsers.
   */

body {
	margin: 0;
}

/**
 * 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; /* 1 */
	font-size: 1em; /* 2 */
}

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

/* 
  =====================================================
  CSS VARIABLES
  =====================================================
*/
:root {
	--color-white: #ffffff;
	--color-black: #231f20;
	--color-grey: #bbbbbb;

	--color-overlay-30: hsla(48, 22%, 35%, 0.3);
	--color-overlay-50: hsla(48, 22%, 35%, 0.5);
}

/* 
  =====================================================
  ASTRA RESET
  =====================================================
*/
#masthead .ast-container,
.site-header-focus-item + .ast-breadcrumbs-wrapper {
	max-width: 100%;
	padding-left: 50px;
	padding-right: 50px;
}

.main-header-menu .menu-link {
	color: var(--color-white);
}

.ast-plain-container.ast-no-sidebar #primary {
	margin-top: 0;
	margin-bottom: 0;
}

.site-content .ast-container {
	display: block;
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.entry-content[ast-blocks-layout] > * {
	max-width: 100%;
	margin-left: auto;
	margin-right: auto;
}

.woocommerce-js div.product p.price,
.woocommerce-js div.product span.price {
	margin: 0;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	color: var(--color-black);
}

/*/
///  WOOCOMMERCE NOTICES
/*/
.entry-content .woocommerce-message,
.entry-content .woocommerce-error,
.entry-content .woocommerce-info {
	padding-top: 1em;
	padding-bottom: 1em;
	padding-left: 3.5em;
	padding-right: 2em;
	border-top: 2px solid var(--color-black);
}

.woocommerce-message::before,
.woocommerce-info::before {
	color: var(--color-black);
}

.woocommerce .woocommerce::after,
.woocommerce .woocommerce::before,
.woocommerce-account .woocommerce::after,
.woocommerce-account .woocommerce::before {
	content: none;
}

/* 
  =====================================================
  LENIS SMOOTH SCROLL
  =====================================================
*/
html.lenis {
	height: auto;
}

.lenis.lenis-smooth {
	scroll-behavior: auto;
}

.lenis.lenis-smooth [data-lenis-prevent] {
	overscroll-behavior: contain;
}

.lenis.lenis-stopped {
	overflow: hidden;
}

.lenis.lenis-scrolling iframe {
	pointer-events: none;
}

/* 
  =====================================================
  HEADER
  =====================================================
*/
/*/
///  SIMPLE HEADER
/*/
header {
	width: 100%;
	height: auto;
	z-index: 999;
}

header .header-inner {
	margin: 0;
	padding: 2em 4em;
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	justify-content: space-between;
}

header .logo {
	margin: 0;
	padding: 0;
	line-height: 1em;
	font-size: 24px;
	font-weight: 700;
	color: var(--color-black);
}

header .header-inner .right {
	display: flex;
	gap: 50px;
}

header .header-inner .right a {
	display: flex;
	flex-wrap: nowrap;
	align-items: center;
	gap: 10px;
}

header .header-inner .right p {
	font-size: 12px;
	text-transform: uppercase;
}

header .right .header-icon {
	height: 20px;
	fill: var(--color-black);
}

header .cart-count {
	font-size: 0.75em;
	font-weight: 600;
	line-height: 1em;
}

/*/
///  TRANSPARENT HEADER
/*/
header.transparent {
	position: absolute;
}
header.transparent .logo {
	color: var(--color-white);
}
header.transparent .right p {
	color: var(--color-white);
}
header.transparent .right .header-icon {
	fill: var(--color-white);
}

/*/
///  SINGLE PRODUCT HEADER
/*/
header.single-product {
	position: absolute;
}

/* 
  =====================================================
  GLOBAL
  =====================================================
*/

/*/
///  TYPOGRAPHY
/*/

p {
	margin: 0;
	margin-bottom: 30px;
	font-size: 15px;
	font-weight: 400;
	line-height: 1.7em;
	color: var(--color-black);
}
p:last-of-type {
	margin-bottom: 0;
}

.subtitle {
	margin-bottom: 15px;
	font-size: 1.4em;
	font-weight: 400;
	line-height: 1em;
	text-transform: uppercase;
	color: var(--color-black);
	transition: all 0.3s ease-in-out;
}

.title-xl {
	margin-bottom: 30px;
	font-size: 4.5em;
	font-size: clamp(2rem, 2.4vw, 130px);
	font-weight: 200;
	line-height: 1.2em;
	color: var(--color-black);
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.title-l {
	margin-bottom: 30px;
	font-size: 4.5em;
	font-size: clamp(2rem, 3vw, 80px);
	font-weight: 200;
	line-height: 1.2em;
	color: var(--color-black);
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.title-m {
	margin-bottom: 30px;
	font-size: 1.8em;
	font-weight: 200;
	line-height: 1.2em;
	color: var(--color-black);
	text-transform: uppercase;
	transition: all 0.3s ease-in-out;
}

.title-s {
	margin-bottom: 25px;
	font-size: 1.8em;
	font-weight: 200;
	line-height: 1em;
	color: var(--color-black);
	transition: all 0.3s ease-in-out;
}

.inverse {
	color: var(--color-white);
}

.highlight {
	color: var(--color-orange);
}

.white {
	color: var(--color-white);
}

.center {
	text-align: center;
}

.uppercase {
	text-transform: uppercase;
}

a {
	color: var(--color-black);
	text-decoration: none;
}

a:focus {
	outline: none;
}

@media screen and (max-width: 500px) {
	body .title-m {
		font-size: 1.3em;
	}
}

/*/
///  LAYOUT & BG
/*/
.section {
	max-width: 100%;
	margin: 0;
	padding: 0;
}

.section-wrapper {
	margin: 0 auto;
	padding: 0 50px;
	padding-left: 100px;
	max-width: 1550px;
}

.section.section-full {
	max-width: 100%;
	padding: 0;
}

.mx-width {
	margin: 0 auto;
	width: calc(100% - 8em);
	max-width: 1000px;
}

.mx-w-1200 {
	margin-left: auto;
	margin-right: auto;
	max-width: 1200px;
}

.mx-w-1500 {
	margin-left: auto;
	margin-right: auto;
	max-width: 1500px;
}

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

.section ul:not(.woocommerce-error) {
	margin: 0;
	padding: 0;
	padding-left: 1em;
	list-style-type: square;
}

.section ul li,
.section ol li {
	margin-bottom: 6px;
}
.section ul li:last-child,
.section ol li:last-child {
	margin-bottom: 0;
}

a.img-link {
	display: inline-block;
	width: 100%;
	height: 100%;
	overflow: hidden;
}

/*/
///  IMAGES
/*/
.img-wrapper {
	width: 100%;
	height: 100%;
	overflow: hidden;
}

.img-wrapper > img,
.img-wrapper > picture,
.img-wrapper picture img,
picture img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
	image-rendering: -webkit-optimize-contrast;
}

picture {
	display: inline-block;
}

/*/
///  BUTTON BTN
/*/
.added_to_cart,
.button,
.woocommerce-js .button,
.woocommerce-js button.button,
.woocommerce-js input.button,
.woocommerce-js a.button,
button:not(.filter-btn, .flickity-button, .cky-btn),
.btn,
input[type="submit"] {
	display: inline-block;
	width: max-content;
	margin: 0;
	padding: 0.55em 2.5em;
	border-radius: 0;
	border: 1px solid var(--color-black);
	background-color: var(--color-orange);
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--color-black);
	transition: all 0.3s ease-in-out;
}

.btn:focus {
	color: var(--color-white);
	background-color: var(--color-orange);
	border: 1px solid var(--color-orange);
}

.btn:hover,
.woocommerce-js .button,
.woocommerce-js button.button,
.woocommerce-js input.button,
.woocommerce-js a.button {
	color: var(--color-black);
	background-color: var(--color-white);
}

/*/
///  Flickity
/*/
.flickity-button {
	display: inline-block;
	width: 30px;
	height: 30px;
	margin: 0;
	padding: 0;
	border-radius: 0;
	border: none;
	background-color: transparent;
	font-size: 1rem;
	font-weight: 400;
	text-transform: uppercase;
	color: var(--color-black);
	transition: all 0.3s ease-in-out;
}

.flickity-prev-next-button .flickity-button-icon {
	position: absolute;
	left: 50%;
	top: 50%;
	width: 100%;
	height: 100%;
	transform: translate(-50%, -50%);
	fill: var(--color-primary);
}

.flickity-button:focus {
	outline: 0;
	box-shadow: none;
}

.flickity-page-dots {
	position: absolute;
	width: 100%;
	bottom: 25px;
	padding: 0;
	margin: 0;
	list-style: none;
	text-align: center;
	line-height: 1;
}
.flickity-page-dots .dot {
	display: inline-block;
	width: 10px;
	height: 10px;
	margin: 0 8px;
	background: var(--color-secondary);
	border: 1px solid var(--color-gold);
	border-radius: 50%;
	opacity: 0.4;
	cursor: pointer;
}
.flickity-page-dots .dot.is-selected {
	opacity: 1;
}

.flickity-prev-next-button.previous {
	left: 0;
}

.flickity-prev-next-button.next {
	right: 0;
}

/*/
///  COOKIE YES - COOKIE BANNER
/*/
body .cky-consent-container .cky-consent-bar {
	background: #ffffff50 !important;
	border: none;
	padding: 1em 2em;
	box-shadow: none;
	backdrop-filter: blur(8px);
}

/* 
  =====================================================
  HOME
  =====================================================
*/
/*/
///  HOME HERO
/*/
.home-hero {
	position: relative;
	height: 100vh;
	height: 100svh;
	background-image: url(/wp-content/uploads/2023/07/image-hero.webp);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.home-hero::before {
	content: "";
	position: absolute;
	top: 0;
	left: 0;
	display: block;
	width: 100%;
	height: 100%;
	background-color: var(--color-overlay-30);
	pointer-events: none;
	z-index: 0;
}

.home-hero .content-wrapper {
	position: relative;
	width: 100%;
	height: 100%;
	display: grid;
	align-content: center;
	justify-content: center;
}

.home-hero .content-wrapper .hero-menu {
	position: absolute;
	top: 140px;
	left: 4em;
}
.hero-menu .icon-plus {
	display: inline-block;
	margin-right: 15px;
	color: #ada474;
	font-size: 1.25em;
	line-height: 0;
	transition: all 0.4s ease-in-out;
	transform-origin: center;
	vertical-align: middle;
}

.hero-menu .category-title {
	margin: 0 0 1.8em;
	font-size: 1em;
	font-weight: 300;
	line-height: 1em;
	text-transform: lowercase;
}

.hero-menu .category-title:hover .icon-plus {
	rotate: 45deg;
}

.home-hero .content-wrapper .scroll-wrapper {
	position: absolute;
	bottom: 15px;
	left: 50%;
	transform: translateX(-50%);
}
.home-hero .content-wrapper .scroll-wrapper p {
	font-size: 12px;
	text-align: center;
}

#scroll-arrow {
	margin: 0 auto;
	width: 100%;
	height: 70px;
	/* animation: attention 1.3s infinite alternate; */
}

#scroll-arrow .st0 {
	stroke-width: 1px;
	stroke: white;
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation-duration: 1.7s;
	animation-fill-mode: both;
	animation-direction: alternate;
	animation-iteration-count: infinite;
	animation-name: arrowBody;
}
#scroll-arrow .st1,
#scroll-arrow .st2 {
	stroke-width: 1px;
	stroke: white;
	fill: none;
	stroke-dasharray: 100;
	stroke-dashoffset: 100;
	animation-duration: 1.7s;
	animation-fill-mode: both;
	animation-direction: alternate;
	animation-iteration-count: infinite;
	animation-name: arrowHead;
}

@keyframes arrowBody {
	0% {
		stroke-dashoffset: 100;
	}
	100% {
		stroke-dashoffset: 0;
	}
}

@keyframes arrowHead {
	0% {
		stroke-dashoffset: 100;
	}
	40% {
		stroke-dashoffset: 100;
	}
	100% {
		stroke-dashoffset: 0;
	}
}

.home-hero .content-wrapper .title-xl span {
	display: block;
	margin: 0 auto 20px;
	text-align: center;
	font-size: clamp(2rem, 2.7vw, 130px);
	font-weight: 200;
	letter-spacing: -1px;
	line-height: 0.7em;
}

.home-hero .content-wrapper .title-xl .big {
	display: block;
	font-size: clamp(2rem, 5vw, 130px);
}

/*/
///  SECTION 2 - Meet our products
/*/
.section-2 {
	padding: 8em 0 5em;
	display: grid;
	place-content: center;
}

.section-2 .title-xl {
	font-size: clamp(2rem, 5vw, 130px);
	font-weight: 100;
	letter-spacing: -1px;
	line-height: 0.7em;
}

.section-2 .title-xl span {
	font-size: clamp(2rem, 3vw, 130px);
	font-weight: 200;
}

.section-2 .title-xl:nth-of-type(1) {
	margin: 0 0 20px;
	transform: translateX(-25%);
}
/*/
///  Product categories
/*/
.categories-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 2px;
}

.categories-grid .category-grid {
	position: relative;
	height: 50vh;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: cover;
	overflow: hidden;
}

.categories-grid .category-grid[data-category="accessories"] {
	display: none;
}

.categories-grid .category-grid .category-img {
	position: absolute;
	width: 100%;
	height: 100%;
	object-fit: cover;
	z-index: -1;
}

.categories-grid .category-grid a {
	z-index: 1;
	width: 100%;
	height: 100%;
	padding: 3em 6em;
	display: grid;
	grid-template-rows: 1fr;
	align-items: end;
}

.category-grid .category-title {
	margin: 0 0 20px;
	font-size: clamp(2rem, 2.4vw, 130px);
	font-weight: 200;
	line-height: 0.7em;
}

.category-grid p {
	margin: 0;
	font-size: 13px;
	display: flex;
	align-items: center;
	gap: 5px;
	transition: all 0.25s ease-in-out;
}

.category-grid .btn-arrow-white {
	margin: 0;
	width: auto;
	height: 1em;
	fill: var(--color-white);
}

.category-grid a:hover p {
	gap: 10px;
}

/* 
  =====================================================
  PAGES
  =====================================================
*/
#page-wrapper {
	margin-top: 4em;
}

.page-title {
	margin-bottom: 1em;
	text-align: center;
}

/* 
  =====================================================
  SHOP PAGE
  =====================================================
*/
.section.shop {
	margin: 0 auto;
	width: calc(100% - 8em);
	max-width: 1000px;
}

/*/
///  SHOP categories
/*/
.shop .shop-category-wrapper {
	width: 100%;
	margin: 5em auto;
	display: flex;
	align-items: center;
	justify-content: center;
}
.shop .shop-category-wrapper:after {
	content: "";
}

.shop .shop-category-wrapper .filter-btn {
	position: relative;
	margin: 0;
	padding: 0 1.8em;
	font-size: 1rem;
	font-weight: 400;
	line-height: 1em;
	color: var(--color-black);
	text-transform: uppercase;
	background: none;
}

.shop .shop-category-wrapper .filter-btn:not(:last-child) {
	border-right: 1px solid var(--color-grey);
}

.filter-btn span {
	position: relative;
	pointer-events: none;
}

.filter-btn span::after {
	content: "";
	position: absolute;
	width: 100%;
	height: 1px;
	background: var(--color-black);
	bottom: -3px;
	left: 0;
	pointer-events: none;
}

.filter-btn span::after {
	transform-origin: 100% 50%;
	transform: scale3d(0, 1, 1);
	transition: transform 0.45s;
}

.filter-btn:hover span::after {
	transform-origin: 0% 50%;
	transform: scale3d(1, 1, 1);
}

.filter-btn.active span::after {
	transform: scale3d(1, 1, 1);
}

/*/
///  SHOP products
/*/
.shop .shop-products {
    min-height: 400px;
    display: grid;
    grid-template-columns: 1fr;
    gap: 10em;
}

.shop .shop-products .product {
	margin-bottom: 10em;
}

.shop .shop-products .product-title {
	display: flex;
	justify-content: center;
	gap: 2em;

	margin-top: 16px;
	font-size: 0.9rem;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	text-transform: uppercase;
}

.shop .shop-products .separator {
	color: var(--color-grey);
}

.shop .empty-message {
	place-content: center;
	margin: 0 auto;
}
.shop .empty-message p {
	text-align: center;
	font-size: clamp(2rem, 3vw, 130px);
	font-weight: 200;
	letter-spacing: -1px;
	line-height: 0.7em;
}

/* 
  =====================================================
  SINGLE PRODUCT
  =====================================================
*/
.product-wrapper {
	display: grid;
	grid-template-columns: 1fr 1fr;
}

/*  */
.product-wrapper .product-left {
	overflow: hidden;
	background-image: url(/wp-content/uploads/2024/03/background_cs01.webp);
	background-position: 50% 50%;
	background-repeat: no-repeat;
	background-size: 100% 100%;
}

.product-wrapper .product-left.alternative {
	overflow: hidden;
	background: none;
}

.product-wrapper .product-img {
	height: 100dvh;
	object-fit: contain;
}

.product-wrapper .product-left.alternative .product-img {
	object-fit: cover;
}

.product-wrapper .product-right {
	position: sticky;
	top: 0;
	height: 100dvh;
	display: grid;
	align-items: end;
}

.product-wrapper .product-right .content-wrapper {
	margin: 0 auto;
	padding: 3em 6em;
	width: 100%;
	max-width: calc(650px + 6em);
	height: calc(100% - 100px);
	display: grid;
	align-content: space-between;
}

.product-wrapper .product-title {
	margin: 0 0 10px;
	font-size: 1.5rem;
	font-weight: 400;
	line-height: 1em;
	text-transform: uppercase;
}

#page-content .product-wrapper .price {
	margin: 0 0 30px;
	font-size: 1.15rem;
	font-weight: 400;
	line-height: 1em;
	text-align: left;
	color: var(--color-black);
}
#page-content .product-wrapper .price > span {
	line-height: 1em;
}

.product-wrapper .short-description {
	margin: 0;
	font-size: 13px;
}

.product-wrapper .shipping-text {
	font-size: 13px;
}

.product-wrapper .sku {
	font-size: 13px;
}

.product-wrapper .title-s {
	margin-bottom: 10px;
	padding-bottom: 10px;
	font-size: 0.8rem;
	font-weight: 500;
	text-transform: uppercase;
	border-bottom: 1px solid;
}

.product-wrapper .title-s span {
	margin-left: 0.5em;
	font-size: 0.7em;
	font-weight: 500;
	text-transform: uppercase;
}

.product-wrapper .dimensions-wrapper {
	margin: 0 0 5px;
}
.product-wrapper .dimensions {
	display: flex;
	gap: 15px;
}
.product-wrapper .dimensions p {
	margin: 0;
	font-size: 13px;
}

.product-wrapper a.button {
	margin: 0;
	padding: 1em 3em;
	background: transparent;
	color: var(--color-black);
	font-size: 1rem;
	font-weight: 400;
	line-height: 1em;
	border: 1px solid;
	border-radius: 0;
}

/* 
  =====================================================
  WOOCOMMERCE GLOBAL
  =====================================================
*/

.woocommerce-js .entry-header {
	margin-top: 6em;
	margin-bottom: 2em;
}

.woocommerce-js header.entry-header .entry-title {
	font-size: 2rem;
	font-weight: 400;
	line-height: 1em;
	text-align: center;
	text-transform: uppercase;
}

.woocommerce-js .woocommerce {
	margin: 6em auto;
	width: calc(100% - 8em);
	max-width: 1000px;
	display: grid;
	grid-template-columns: 1fr;
}

.woocommerce-js .entry-content h2 {
	font-size: 1.2rem;
	font-weight: 400;
	line-height: 1.25em;
	text-transform: uppercase;
}

.woocommerce-js form .form-row {
	padding: 0;
	margin: 0 0 20px;
}

.woocommerce-js form .form-row label {
	line-height: 2;
	font-weight: 500;
	font-size: 0.9rem;
}

/* Woocommerce notices */
.woocommerce-notices-wrapper {
	position: fixed;
	bottom: 0;
	left: 0;
	width: 100%;
	z-index: 999;
	display: flex;
	align-items: stretch;
}

.woocommerce-notices-wrapper .woocommerce-message {
	position: static;
	margin: 0;
	width: 100%;
	height: auto;
	flex: 1 1 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 3em;
	border: none;
	color: var(--color-white);
	background-color: var(--color-black);
}

.woocommerce-notices-wrapper .woocommerce-info {
	position: static;
	margin: 0;
	width: 100%;
	height: auto;
	flex: 1 1 50%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 3em;
	border: none;
	color: var(--color-white);
	background-color: var(--color-grey);
}

.woocommerce-notices-wrapper .message-text {
	margin: 0;
}

.woocommerce-notices-wrapper .btn {
	font-size: 0.8em;
	font-weight: 500;
	border: 1px solid var(--color-white);
	color: var(--color-white);
	background-color: transparent;
}

.woocommerce-notices-wrapper .restore-item {
	padding: 0.5em 2em;
	font-size: 0.8em;
	font-weight: 500;
	border: 1px solid var(--color-white);
	color: var(--color-white);
	background-color: transparent;
}

.woocommerce-notices-wrapper .woocommerce-message::before {
	content: "";
	display: none;
}

.woocommerce-notice.woocommerce-thankyou-order-received {
	margin-bottom: 30px;
}

/* 
  =====================================================
  MY ACCOUNT
  =====================================================
*/

/* If Logged in */
.woocommerce-account.logged-in .woocommerce {
	margin: 6em auto;
	width: 100%;
	max-width: 1000px;
	display: grid;
	grid-template-columns: max-content 1fr;
	gap: 50px;
}

.woocommerce-account .woocommerce-MyAccount-navigation {
	width: 100%;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul {
	margin: 0;
	padding: 0;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li {
	margin: 0;
	padding: 0;
	list-style: none;
	border: none;
}

.woocommerce-account .woocommerce-MyAccount-navigation ul > li a {
	font-size: 1rem;
	font-weight: 400;
	line-height: 2em;
	text-align: left;
	color: var(--color-black);
	text-transform: uppercase;
}

.woocommerce-account .woocommerce-MyAccount-content {
	width: 100%;
}

.woocommerce .col2-set .woocommerce-Address,
.woocommerce-page .col2-set .woocommerce-Address {
	float: none;
	width: 100%;
}

/* 
  =====================================================
  CART
  =====================================================
*/

.woocommerce-cart .wc-proceed-to-checkout a.checkout-button {
	width: 100%;
	padding: 0.55em 2.5em;
	font-size: 1rem;
	font-weight: 600;
}

.woocommerce-cart .woocommerce-shipping-destination {
	display: none;
}

/* 
  =====================================================
  CHECKOUT
  =====================================================
*/
input[type="checkbox"],
input[type="radio"] {
	accent-color: var(--color-black);
	margin-right: 0.5em;
}

.woocommerce-shipping-fields {
	margin-top: 3em;
}

.woocommerce-additional-fields {
	margin-top: 3em;
}

.woocommerce-privacy-policy-text {
	margin-bottom: 1em;
}

.woocommerce-terms-and-conditions-wrapper {
	margin-bottom: 1em;
}

.payment_method_ppcp .payment_box,
.payment_method_stripe_googlepay .payment_box {
	display: none !important;
}

.woocommerce-error {
	padding: 1em 2em 1em 3.5em;
	margin: 0 0 2em;
	position: relative;
	background-color: var(--color-white);
	color: var(--color-black);
	border: 2px solid #b81c23;
	list-style: none outside;
	zoom: 1;
	width: auto;
	word-wrap: break-word;
}

#cpsw-payment-request-wrapper {
	margin-bottom: 2em;
}

#cpsw-payment-request-wrapper .cpsw-payment-request-custom-button-render {
    margin-top: 0;
    margin-bottom: 0;
    min-height: 50px;
}

#page-content #payment ul.payment_methods .wc_payment_method label {
    cursor: pointer;
	flex: 1 1 auto;
}

#page-content #payment ul.payment_methods .wc_payment_method {
    margin-bottom: 15px;
    padding: 1em;
    border: 2px dashed hsla(345, 6%, 13%, 0.25);
	display: flex;
	flex-wrap: wrap;
}

#cpsw-payment-request-wrapper.cart .cpsw-express-google_pay .cpsw-express-checkout-button-icon {
    margin: 0 0 0 10px;
}


/* 
  =====================================================
  FOOTER
  =====================================================
*/
.footer .footer-inner {
	width: 100%;
	margin: 0 auto;
	padding: 6em 3em;
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	justify-items: center;
}

.footer .title-s {
	margin: 0 0 20px;
	font-size: 1rem;
	font-weight: 700;
	color: var(--color-black);
	text-transform: uppercase;
}

.footer .footer-menu {
	margin: 0;
	padding: 0;
	list-style-type: none;
	display: flex;
	flex-direction: column;
	gap: 3px;
}

.footer .footer-menu li a {
	font-size: 13px;
	text-transform: uppercase;
	color: var(--color-black);
}

.footer .copywrite {
	margin: 0 0 50px;
	padding: 50px 0;
	font-size: 11px;
	text-align: center;
}

#icon-instagram {
	width: 20px;
}

/* 
  =====================================================
  MEDIA QUERIES
  =====================================================
*/
@media screen and (max-width: 1000px) {
	.product-wrapper {
		display: grid;
		grid-template-columns: 1fr;
		grid-template-rows: minmax(400px, 60vh) 1fr;
	}
	.product-wrapper .product-img {
		height: 100%;
	}

	.product-wrapper .product-right {
		position: static;
		height: 100%;
		display: grid;
		align-items: top;
	}
	.product-wrapper .product-right .content-wrapper {
		margin: 0 auto;
		padding: 4em;
		width: 100%;
		max-width: 100%;
		height: 100%;
		display: grid;
		align-content: space-between;
		gap: 3em;
	}
}

@media screen and (max-width: 768px) {
	/* FRONT PAGE */
	.home-hero .content-wrapper .title-xl span {
		font-size: clamp(2.5rem, 4.5vw, 130px);
	}

	.home-hero .content-wrapper .title-xl .big {
		font-size: clamp(3rem, 7vw, 130px);
	}

	.section-2 .title-xl {
		font-size: clamp(2rem, 8vw, 130px);
	}

	.categories-grid .category-grid a {
		padding: 2em;
	}

	/* SHOP PAGE */
	.shop .shop-category-wrapper:after {
		content: "flickity";
		display: none; /* hide :after */
	}

	.shop .shop-category-wrapper {
		width: 100%;
		height: 30px;
		margin: 5em auto;
		padding: 0 30px;
		display: block;
	}

	.shop .shop-category-wrapper .filter-btn {
		height: 30px;
	}

	.shop-category-wrapper .flickity-viewport::before,
	.shop-category-wrapper .flickity-viewport::after {
		content: "";
		position: absolute;
		display: block;
		width: 40px;
		height: 100%;
		z-index: 1;
	}
	.shop-category-wrapper .flickity-viewport::before {
		left: -10px;
		background: linear-gradient(90deg, rgb(255, 255, 255) 0%, rgba(255, 255, 255, 0) 100%);
	}
	.shop-category-wrapper .flickity-viewport::after {
		right: -10px;
		background: linear-gradient(90deg, rgba(255, 255, 255, 0) 0%, rgb(255, 255, 255) 100%);
	}

	.footer .footer-inner {
		grid-template-columns: repeat(2, 1fr);
		gap: 3rem;
	}

	.mx-width {
		width: 100%;
		padding: 0 2em;
	}
	.woocommerce-js .woocommerce {
		width: 100%;
	}

	/* If Logged in */
	.woocommerce-account.logged-in .woocommerce {
		margin: 4em auto;
		grid-template-columns: 1fr;
	}
}

@media screen and (max-width: 500px) {
	header .header-inner {
		padding: 2em 2em;
	}
	header .right .header-icon {
		height: 25px;
	}
	header .header-inner .right {
		gap: 30px;
	}
	header .header-inner .right .cart-text,
	header .header-inner .right .login-text {
		display: none;
	}

	.home-hero {
		background-position: 50% 100%;
		background-size: cover;
		background-image: url(/wp-content/uploads/2024/03/image-hero-small.webp);
	}
	.home-hero .content-wrapper .hero-menu {
		display: none;
	}
	.section-2 .title-xl span {
		font-weight: 100;
	}

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

	.section.shop {
		margin: 0 auto;
		width: calc(100% - 4em);
		max-width: 1000px;
	}

	.product-wrapper .product-right .content-wrapper {
		margin: 0 auto;
		padding: 4em 2em;
		width: 100%;
		max-width: 100%;
		height: 100%;
		display: grid;
		align-content: space-between;
		gap: 3em;
	}

	.footer .footer-inner {
		grid-template-columns: repeat(1, 1fr);
		justify-items: left;
		gap: 3rem;
	}
}
