﻿/* ----------------------------------------------------------------------------------------
* Author        : Awaiken
* Template Name : Cignet - Jewellery Store eCommerce HTML Template
* File          : CSS File
* Version       : 1.0
* ---------------------------------------------------------------------------------------- */
/* INDEX
----------------------------------------------------------------------------------------
01. Global Variables
02. General css
03. Header css
04. Hero css
05. Key Benefits Box css
06. Best Sellers css
07. Our Products css
08. Intro Video css
09. Our Collection css
10. Our Promise css
11. Our Testimonials css
12. Our FAQ's css
13. Our Blog css
14. Footer css
15. About Us Page css
16. Blog Archive css
17. Blog Single css
18. Products Page css
19. Product Single css
20. Cart Page css
21. Order Received Page css
22. Checkout Page css
23. Account Dashboard Page css
24. Account Order Page css
25. Account Order View Page css
26. Account Download Page css
27. Account Address Page css
28. Account Addresses Page css
29.	Account Details Page css
30. Account Wishlist Page css
31. Login Page css
32. Forgot Password css
33. Privacy Policy Page css
34. Term Condition Page css
35. Refund Return Policy css
36. Cancellation Policy css
37. Delivery Policy Page css
38. Testimonials Page css
39. Faqs Page css
40. Contact Us Page css
41. 404 Error Page css
42. Responsive css
-------------------------------------------------------------------------------------- */

/****************************************/
/*** 	   01. Global Variables 	  ***/
/****************************************/

:root{
	--primary-color				: #2F3D38;
	--secondary-color			: #F5F5F5;
	--bg-color					: #FFFFFF;
	--text-color				: #596460;
	--accent-color				: #304038;
	--white-color				: #FFFFFF;
	--black-color				: #000000;
	--divider-color				: #2F3D381A;
	--dark-divider-color		: #FFFFFF1A;
	--error-color				: rgb(230, 87, 87);
	--default-font				: "Roboto", sans-serif;
	--accent-font				: "Playfair Display", serif;
}

/****************************************/
/*** 	     02. General css		  ***/
/****************************************/

html,
body{
	width: 100%;
	overflow-x: clip;
}

body{
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 400;
	line-height: 1em;
	color: var(--text-color);
	background-color: var(--bg-color);
}

::-webkit-scrollbar-track{
	background-color: var(--primary-color);
	border-left: 1px solid var(--primary-color);
}

::-webkit-scrollbar{
	width: 7px;
	background-color: var(--primary-color);
}

::-webkit-scrollbar-thumb{
	background: var(--white-color);
}

::selection{
	color: var(--white-color);
	background-color: var(--accent-color);
	filter: invert(1);
}

p{
	line-height: 1.6em;
	margin-bottom: 1.33em;
}

h1,
h2,
h3,
h4,
h5,
h6{
	font-family: var(--accent-font);
	font-weight: 400;
	line-height: 1.2em;
	color: var(--primary-color);
	margin: 0;
}

figure{
	margin: 0;
}

img{
	max-width: 100%;
}

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

a:hover{
	color: var(--primary-color);
	text-decoration: none;
	outline: 0;
}

a:focus{
	color: var(--primary-color);
	text-decoration: none;
	outline: 0;
}

/* Override Bootstrap's default nav-link and button font/colour */
.nav-link{
	font-family: var(--default-font);
	color: var(--primary-color);
}
.nav-link:hover,
.nav-link:focus{
	color: var(--primary-color);
}
button{
	font-family: var(--default-font);
}

.container{
	max-width: 1300px;
}

.container,
.container-fluid,
.container-lg,
.container-md,
.container-sm,
.container-xl,
.container-xxl{
    padding-right: 15px;
    padding-left: 15px;
}

.image-anime{
	position: relative;
	overflow: hidden;
}

.image-anime:after{
	content: "";
	position: absolute;
    width: 200%;
    height: 0%;
    left: 50%;
    top: 50%;
    background-color: rgba(255,255,255,.3);
    transform: translate(-50%,-50%) rotate(-45deg);
    z-index: 1;
}

.image-anime:hover:after{
    height: 250%;
    transition: all 600ms linear;
    background-color: transparent;
}

.reveal{
	position: relative;
    display: -webkit-inline-box;
    display: -ms-inline-flexbox;
    display: inline-flex;
    visibility: hidden;
    overflow: hidden;
}

.reveal img{
    height: 100%;
    width: 100%;
    -o-object-fit: cover;
    object-fit: cover;
    -webkit-transform-origin: left;
    transform-origin: left;
}

.row{
    margin-right: -15px;
    margin-left: -15px;
}

.row > *{
	padding-right: 15px;
	padding-left: 15px;
}

.row.no-gutters{
    margin-right: 0px;
    margin-left: 0px;
}

.row.no-gutters > *{
    padding-right: 0px;
    padding-left: 0px;
}

.btn-default{
	position: relative;
	display: inline-block;
	font-family: var(--default-font);
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	text-transform: uppercase;
	background: transparent;
	color: var(--primary-color);
	border: 1px solid var(--accent-color);
	border-radius: 4px;
	padding: 17px 30px;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.btn-default:hover{
	color: var(--white-color);
}

.btn-default::after{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 50%;
	opacity: 0;
	background-color: var(--accent-color);
	transition: all 0.4s ease-in-out;
	z-index: -1;
}

.btn-default:hover::after{
	left: 0;
	right: 0;
	opacity: 1;
}

.btn-default.btn-highlighted{
	color: var(--white-color);
	border-color: var(--white-color);
}

.btn-default.btn-highlighted:after{
	background-color: var(--white-color);
}

.btn-default.btn-highlighted:hover{
	color: var(--primary-color);
}

.readmore-btn{
	position: relative;
	display: inline-block;
	font-family: var(--default-font);
	line-height: normal;
	text-transform: uppercase;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	padding-right: 22px;
	transition: all 0.4s ease-in-out;
}

.readmore-btn::before{
	content: '';
    position: absolute;
    top: 50%;
    transform: translateY(-50%);
    right: 0px;
    width: 12px;
    height: 12px;
    background-image: url('../images/arrow-primary.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: cover;
    transition: all 0.4s ease-in-out;
}

.readmore-btn:hover::before{
	transform: translateY(-50%) rotate(45deg);
}


.preloader{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	z-index: 1000;
	background: var(--primary-color);
	display: flex;
	align-items: center;
	justify-content: center;
}

.loading-container,
.loading{
	position: relative;
	height: 100px;
	width: 100px;
	border-radius: 100%;
}

.loading-container{
	margin: 40px auto;
}

.loading{
	border: 1px solid transparent;
	border-color: transparent var(--white-color) transparent var(--white-color);
	animation: rotate-loading 1.5s linear 0s infinite normal;
	transform-origin: 50% 50%;
}

.loading-container:hover .loading,
.loading-container .loading{
	transition: all 0.5s ease-in-out;
}

#loading-icon{
	position: absolute;
	top: 50%;
	left: 50%;
	width: 100%;
	max-width: 50px;
	transform: translate(-50%, -50%);
}

@keyframes rotate-loading{
	0%{
		transform: rotate(0deg);
	}
	100%{
		transform: rotate(360deg);
	}
}

.light-section{
	background-color: var(--secondary-color);
}

.dark-section{
	background-color: var(--primary-color);
}

.section-row{
	margin-bottom: 80px;
}

.section-row .section-title{
	margin-bottom: 0; 
}

.section-row .section-title.section-title-center{
	width: 100%;
	max-width: 800px;
	margin: 0 auto;
	text-align: center;
}

.section-btn{
	text-align: right;
}

.section-content-btn .section-btn{
	margin-top: 30px;
	text-align: left;
}

.section-title-content p{
	margin-bottom: 20px;
}

.section-title-content p:last-child{
	margin-bottom: 0;	
}

.section-title{
	margin-bottom: 40px;
}

.section-title .section-sub-title{
	position: relative;
	display: inline-block;
	font-family: var(--default-font);
	font-size: 14px;
	font-weight: 400;
	text-transform: uppercase;
	line-height: 1.286em;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 100px;
	padding: 7px 16px 7px 32px;
    margin-bottom: 15px;
}

.section-title .section-sub-title::before{
	content: '';
    position: absolute;
    left: 16px;
    top: 50%;
    transform: translateY(-50%);
    background: var(--accent-color);
	border-radius: 50%;
    width: 6px;
    height: 6px;
}

.section-title.section-sub-heading,
.section-title.section-sub-heading .section-sub-title{
	margin-bottom: 0;
}

.section-title h1{
	font-size: 60px;
	line-height: 1.2em;
	margin-bottom: 0;
}

.section-title h2{
	font-size: 40px;
	font-weight: 500;
	line-height: 1.2em;
	margin-bottom: 0;
}

.section-title p{
	margin-top: 15px;
	margin-bottom: 0;
}

.dark-section .section-title .section-sub-title{
	border-color: var(--dark-divider-color);
	color: var(--white-color);
}

.dark-section .section-title .section-sub-title:before{
	background: var(--white-color);
}

.dark-section .section-title h1,
.dark-section .section-title h2,
.dark-section .section-title p,
.dark-section .section-title-content p{
	color: var(--white-color);
}

.help-block.with-errors ul{
	margin: 0;
	text-align: left;
}

.help-block.with-errors ul li{
	color: var(--error-color);
	font-weight: 500;
	font-size: 14px;
}

.h3.hidden{
	margin: 0;
}

/****************************************/
/**** 	      03. Header css		 ****/
/****************************************/

.topbar{
	background: var(--accent-color);
	padding: 15px 0;
}

.topbar-social-list ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.topbar-social-list ul li a i{
	font-size: 16px;
	color: var(--white-color);
}

.topbar-info-content{
	text-align: center;
}

.topbar-info-content p{
	position: relative;
	display: inline-block;
	font-weight: 500;
	line-height: 1.25em;
	color: var(--white-color);
	padding: 0 25px;
	margin: 0;
}

.topbar-info-content p::before,
.topbar-info-content p::after{
	content: '';
	position: absolute;
	top: 2px;
	background: url('../images/icon-topbar-sparkle.svg') no-repeat;
	background-position: center center;
	background-size: cover;
	width: 15px;
	height: 14px;
}

.topbar-info-content p::before{
	left: 0;
}

.topbar-info-content p::after{
	right: 0;
}

.topbar-currency-list select.form-select{
	width: auto;
	font-weight: 500;
	line-height: 1.2em;
	color: var(--white-color);
	background-color: transparent;
	background-position: right center;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	padding: 0 18px 0 0;
	background-image: url('../images/dropdown-arrow-white.svg');
	background-position: right center;
	background-repeat: no-repeat;
	background-size: 12px auto;
	margin-left: auto;
}

.topbar-currency-list select.form-select option{
	color: var(--primary-color);
}

header.main-header{
	position: relative;
	background: var(--bg-color);
	z-index: 100;
}

header.main-header .header-sticky{
	position: relative;
	border-bottom: 1px solid var(--divider-color);
	top: 0;
	z-index: 100;
}

header.main-header .header-sticky.hide{
	transform: translateY(-100%);
	transition: transform 0.3s ease-in-out;
}

header.main-header .header-sticky.active{
	position: fixed;
	top: 0;
	left: 0;
	right: 0;
    transform: translateY(0);
	background: var(--bg-color);
}

.navbar{
	padding: 0;
	align-items: center;
	flex-wrap: wrap;
}

.navbar-brand{
	padding: 0;
	margin: 0;
}

.navbar-brand img{
	max-width: 230px;
	width: 100%;
	height: auto;
}

.main-menu{
	display: flex;
	align-items: center;
	flex-grow: 1;
}

.main-menu .nav-menu-wrapper{
	flex: 1;
	text-align: center;
	margin: 0 1.042vw;
}

.main-menu .nav-menu-wrapper > ul{
	align-items: center;
	display: inline-flex;
}

.main-menu ul .nav-item{
	position: relative;
	margin: 0 20px;
	padding: 32px 0;
}

.main-menu ul .nav-item .nav-link{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2em;
	padding: 8px 0px !important;
	color: var(--primary-color);
	background: transparent;
	border-radius: 0px;
	text-transform: capitalize;
	transition: all 0.3s ease-in-out;
}

.main-menu ul .nav-item.submenu > a:after{
	content: '\f107';
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 16px;
	vertical-align: middle;
	margin-left: 8px;
}

.main-menu ul .nav-item .nav-link:hover,
.main-menu ul .nav-item .nav-link:focus{
	color: var(--accent-color);
}

.main-menu ul .nav-item:first-child{
	margin-left: 0;
}

.main-menu ul ul{
	visibility: hidden;
	opacity: 0;
	transform: scale(1,0.8);
	transform-origin: top;
	padding: 0;
	margin: 0;
	list-style: none;
	width: 235px;
	border-radius: 0 0 4px 4px;
	position: absolute;
	left: 0;
	top: calc(100% + 1px);
	background: var(--accent-color);
	transition: all 0.3s ease-in-out;
	text-align: left;
}

.main-menu ul li.submenu:first-child ul{
    width: 235px;
}

.main-menu ul ul ul{
	left: 100%;
	top: 0;
	text-align: left;
}

.main-menu ul li > ul{
	padding: 5px 0;
}

.main-menu ul li:hover > ul{
	visibility: visible;
	opacity: 1;
	transform: scale(1,1);
}

.main-menu ul .nav-item.submenu ul li.submenu > a:after{
    content: '\f105';
    float: right;
}

.main-menu ul ul .nav-item{
	margin: 0;
	padding: 0;
}

.main-menu ul ul .nav-item .nav-link{
	font-size: 16px;
	color: var(--white-color);
	padding: 9px 20px !important;
	transition: all 0.3s ease-in-out;
}

.main-menu ul ul .nav-item .nav-link:hover,
.main-menu ul ul .nav-item .nav-link:focus{
	color: var(--white-color);
	background-color: transparent;
	padding: 9px 20px 9px 23px !important;
}

.main-menu ul .nav-item.highlighted-menu{
    display: none;
}

.header-action-details ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.header-action-details ul li button{
	background: transparent;
	border: none;
	outline: none;
	box-shadow: none;
	padding: 0;
}

.header-action-details ul li button:hover{
	background: transparent;
}

.header-action-details .modal{
	height: 100vh;
	background: var(--divider-color);
	backdrop-filter: blur(15px);
    -webkit-backdrop-filter: blur(15px);
	padding-right: 0 !important;
	overflow: hidden;
}

.modal-backdrop.show{
	background: transparent;
}

.header-action-details .modal-dialog{
	max-width: 500px;
}

.header-action-details .modal-content{
	position: relative;
	background: var(--secondary-color);
	border-radius: 4px;
	border: none;
	padding: 20px;
	z-index: 2;
}

.modal-open{
	padding: 0 !important;
}

.modal-backdrop{
	z-index: 0;
}

.modal-search-form{
	display: flex;
	align-items: center;
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding-right: 10px;
}

.modal-search-form .form-control{
	width: auto;
	flex: 1;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--primary-color);
	background: transparent;
	padding: 12px 20px;
	border: none;
	box-shadow: none;
	outline: none;
}

.modal-search-form .modal-search-btn i{
	font-size: 20px;
	color: var(--primary-color);
}

.header-action-details ul li button img,
.header-action-details ul li a img{
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
}

.header-action-details ul li button:hover img,
.header-action-details ul li a:hover img{
	transform: scale(1.06);
}

.header-action-details .modal .close{
	border: 1px solid var(--divider-color);
	border-radius: 50%;
	width: 20px;
	height: 20px;
	margin: -15px -15px 10px auto;
}

.header-action-details .modal .close i{
	font-size: 12px;
	color: var(--primary-color);
}

.main-menu .dropdown-menu{
	width: 100%;
	left: 0;
	right: 0;
	display: block;
	top: calc(100% + 1px);
	transform: scale(1,0);
	border-radius: 0;
	background: var(--white-color);
	padding: 50px;
	opacity: 0;
	border: none;
	box-shadow: 0 7px 20px 0 rgba(0, 0, 0, 0.05);
	visibility: hidden;
	overflow: hidden;
	transition: all 0.4s ease-in-out;
}

.main-menu .mega-menu:hover > .dropdown-menu{
	transform: scale(1,1);
}

.dropdown-menu[data-bs-popper]{
	margin-top: 0;
}

.main-menu .mega-menu-box{
	width: 100%;
	max-width: 1300px;
	margin: 0 auto;
	display: flex;
	flex-wrap: wrap;
	gap: 30px 50px;
	padding: 0 15px;
}

.mega-menu-links-box{
	width: calc(40% - 25px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px 50px;
}

.mega-menu-link{
	width: calc(50% - 25px);
}

.mega-menu-link h2{
	font-size: 20px;
	margin-bottom: 20px;
	padding-bottom: 20px;
	border-bottom: 1px solid var(--divider-color);
}

.main-menu .mega-menu-link ul{
	position: initial;
	visibility: visible;
    opacity: 1;
    transform: scale(1, 1);
    transform-origin: initial;
    width: 100%;
    border-radius: 0;
    background: transparent;
}

.main-menu .mega-menu-link ul li{
	margin-bottom: 10px;
}

.main-menu .mega-menu-link ul li:last-child{
	margin-bottom: 0px;
}

.main-menu .mega-menu-link ul li a{
	font-size: 16px;
    font-weight: 400;
    line-height: 1.4em;
    color: var(--text-color);
    text-transform: capitalize;
    transition: all 0.3s ease-in-out;
}

.main-menu .mega-menu-link ul li a:hover{
	color: var(--primary-color);
}

.mega-menu-items-list{
	width: calc(60% - 25px);
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.mega-menu-item{
	width: calc(33.33% - 20px);
}

.mega-menu-item-image{
	margin-bottom:  15px;
}

.main-menu .mega-menu-item-image a{
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.mega-menu-item-image figure{
	display: block;
	border-radius: 4px;
}

.mega-menu-item-image figure img{
	width: 100%;
	aspect-ratio: 1 / 0.781;
	object-fit: cover;
	border-radius: 4px;
}

.mega-menu-item-content h2{
	font-size: 20px;
}

.main-menu .mega-menu-item-content h2 a{
	color: inherit;
}

.mega-menu-item-content p{
	margin: 5px 0 0 0;
}

.mega-menu-item.big-offer-box{
	position: relative;
	align-content: end;
	border-radius: 4px;
	padding: 30px;
	overflow: hidden;
}

.mega-menu-item.big-offer-box .mega-menu-item-image{
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	width: 100%;
	height: 100%;
	margin: 0;
}

.mega-menu-item.big-offer-box .mega-menu-item-image::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, transparent 30.3%, var(--accent-color) 86.06%);
	border-radius: 4px;
	width: 100%;
	height: 100%;
}

.mega-menu-item.big-offer-box .mega-menu-item-image figure,
.mega-menu-item.big-offer-box .mega-menu-item-image figure img{
	height: 100%;
}

.mega-menu-item.big-offer-box .mega-menu-item-content{
	position: relative;
	z-index: 2;
}

.mega-menu-item.big-offer-box .mega-menu-item-content span{
	display: inline-block;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.2em;
	color: var(--white-color);
	margin-bottom: 5px;
}

.mega-menu-item.big-offer-box .mega-menu-item-content h2{
	font-size: 30px;
	text-transform: uppercase;
	color: var(--white-color);
}

.mega-menu-item.big-offer-box .mega-menu-item-content h3{
	font-family: var(--default-font);
	font-size: 16px;
	color: var(--white-color);
	margin-top: 5px;
}

.responsive-menu,
.navbar-toggle{
	display: none;
}

.responsive-menu{
	position: relative;
	top: 0;
}

.slicknav_btn{
	background: var(--primary-color);
	padding: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 38px;
	height: 38px;
	margin: 0;
	border-radius: 4px;
}

.slicknav_icon .slicknav_icon-bar{
	display: block;
	width: 100%;
	height: 3px;
	width: 22px;
	background-color: var(--white-color);
	border-radius: 4px;
	margin: 4px auto !important;
	transition: all 0.1s ease-in-out;
}

.slicknav_icon .slicknav_icon-bar:first-child{
	margin-top: 0 !important;
}

.slicknav_icon .slicknav_icon-bar:last-child{
	margin-bottom: 0 !important;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(1){
    transform: rotate(-45deg) translate(-5px, 5px);
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(2){
    opacity: 0;
}

.navbar-toggle a.slicknav_btn.slicknav_open .slicknav_icon span.slicknav_icon-bar:nth-child(3){
    transform: rotate(45deg) translate(-5px, -5px);
}

.slicknav_menu{
	position: absolute;
    width: 100%;
	padding: 0;
	background: var(--primary-color);
}

.slicknav_menu ul.slicknav_nav{
	padding: 5px 0;
}

.slicknav_menu ul ul{
	margin: 0;
}

.slicknav_nav .slicknav_row,
.slicknav_nav li a{
	position: relative;
	font-size: 16px;
	font-weight: 400;
	text-transform: capitalize;
	padding: 8px 20px;
	color: var(--white-color);
	line-height: normal;
	margin: 0;
	border-radius: 0 !important;
	transition: all 0.3s ease-in-out;
}

.slicknav_nav a:hover,
.slicknav_nav a:focus,
.slicknav_nav .slicknav_row:hover{
	background-color: transparent;
	color: var(--white-color);
}

.slicknav_menu ul ul li a{
    padding: 8px 20px 8px 30px;
}

.slicknav_arrow{
	font-size: 0 !important;
}

.slicknav_arrow:after{
	content: '\f107';
	position: absolute;
	font-family: 'FontAwesome';
	font-weight: 900;
	font-size: 14px;
	margin-left: 8px;
	color: var(--white-color);
	right: 15px;
	top: 50%;
	transform: translateY(-50%);
	transition: all 0.3s ease-out;
}

.slicknav_open > a .slicknav_arrow:after{
    transform: translateY(-50%) rotate(-180deg);
	color: var(--white-color);
}

/****************************************/
/***   		    04. Hero css	      ***/
/****************************************/

.hero{
	position: relative;
	background-image: url('../images/hero-bg-image.jpg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
	padding: 185px 0;
}

.hero-content{
	margin-right: 50px;
}

.hero-content-list ul{
	list-style: none;
	margin: 0;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.hero-content-list ul li{
	width: calc(50% - 10px);
	position: relative;
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--white-color);
	padding-left: 35px;
}

.hero-content-list ul li::before{
	content: '';
	position: absolute;
	left: 0;
	top: 50%;
	transform: translateY(-50%);
	width: 24px;
	height: 24px;
	background-image: url('../images/icon-sparkel.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
}

.hero-content-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px 40px;
	border-top: 1px solid var(--dark-divider-color);
	padding-top: 40px;
	margin-top: 80px;
}

.google-rating-box{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.google-rating-box .google-rating-logo img{
	width: 100%;
	max-width: 50px;
}

.google-rating-content{
	width: calc(100% - 65px);
}

.google-rating-star{
	display: block;
	margin-bottom: 10px;
}

.google-rating-star i{
	font-size: 16px;
	color: var(--white-color);
}

.google-rating-content h2{
	font-family: var(--default-font);
	font-size: 22px;
	font-weight: 600;
	color: var(--white-color);
}

/****************************************/
/***   	 05. Key Benefits Box css     ***/
/****************************************/

.key-benefit-box{
	background: var(--secondary-color);
	padding: 40px 0;
}

.key-benefit-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.key-benefit-item{
	width: calc(25% - 22.5px);
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.key-benefit-item .icon-box img{
	width: 100%;
	max-width: 60px;
}

.key-benefit-item-content{
	width: calc(100% - 75px);
}

.key-benefit-item-content h3{
	font-size: 20px;
}

.key-benefit-item-content p{
	line-height: normal;
	margin: 10px 0 0;
}

/****************************************/
/***       06. Best Sellers css       ***/
/****************************************/

.our-best-sellers{
	padding: 120px 0 60px;
}

.top-selling-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
}

/* Eight to a row: (100% - 7 gaps) / 8, with the 24px gap above. */
.top-selling-item{
	width: calc(12.5% - 21px);
	text-align: center;
}

.top-selling-item-image{
	max-width: 140px;
	border-radius: 50%;
	margin: 0 auto 18px;
	overflow: hidden;
}

.top-selling-item-image a{
	border-radius: 50%;
}

.top-selling-item-image figure{
	display: block;
	border-radius: 50%;
}

.top-selling-item-image img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	transition: all 0.6s ease-in-out;
}

.top-selling-item:hover .top-selling-item-image img{
	transform: scale(1.06);
}

.top-selling-item-content h3{
	font-size: 17px;
}

.top-selling-item-content h3 a{
	color: inherit;
}

.top-offer-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 80px;
}

.top-offer-item{
	width: calc(33.33% - 20px);
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	background-color: var(--secondary-color);
	border-radius: 4px;
	padding: 30px;
	transition: all 0.4s ease-in-out;
	overflow: hidden;
}

.top-offer-item:hover{
	transform: translateY(-5px);
}

.top-offer-item-content{
	width: calc(100% - 170px);
	align-content: center;
}

.top-offer-item-content .top-offer-item-title{
	display: block;
	font-size: 14px;
	font-weight: 500;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: normal;
	color: var(--accent-color);
	margin-bottom: 15px;
}

.top-offer-item-content h3{
	font-size: 24px;
	line-height: 1.3em;
}

.top-offer-item-btn{
	margin-top: 40px;
}

.top-offer-item-image{
	margin: -30px -30px -30px 0;
	align-content: end;
}

.top-offer-item-image figure{
	display: block;
}

.top-offer-item-image img{
	width: 100%;
	max-width: 190px;
	border-radius: 4px 4px 0 0;
}

/****************************************/
/***       07. Our Products css       ***/
/****************************************/

.our-products{
	padding: 60px 0 120px;
}

.product-item-header{
	position: relative;
	border-radius: 4px;
	margin-bottom: 20px;
	overflow: hidden;
}

.product-item-image figure{
	display: block;
	overflow: hidden;
}

.product-item-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: all 0.8s ease-in-out;
}

.product-item:hover .product-item-image figure img{
	transform: scale(1.03);
}

.product-item-action{
	position: absolute;
	bottom: 0;
	left: 0;
	right: 0;
	transform: translateY(20px);
	opacity: 0;
	visibility: hidden;
	transition: all 0.5s ease-in-out;
}

.product-item:hover .product-item-action{
	transform: translateY(-20px);
	opacity: 1;
	visibility: visible;
}

.product-item-action ul{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	justify-content: center;
	gap: 10px;
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-item-action ul li a{
	height: 36px;
	width: 36px;
	background-color: var(--white-color);
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	transition: all 0.4s ease-in-out;
}

.product-item-action ul li a:hover{
	background-color: var(--primary-color);
}

.product-item-action ul li a img{
	width: 100%;
	max-width: 18px;
	transition: all 0.4s ease-in-out;
}

.product-item-action ul li a:hover img{
	filter: brightness(0) invert(1);
}

.product-item-content .product-item-title{
	font-size: 20px;
	line-height: 1.4em;
}

.product-item-content .product-item-title a{
	color: inherit;
}

.product-item-price{
	margin-top: 10px;
}

.product-item-price h3{
	font-size: 18px;
	font-weight: 600;
	color: var(--primary-color);
	font-family: var(--default-font);
}

.product-item-price h3 span{
	font-size: 12px;
	text-decoration: line-through;
	line-height: normal;
	color: #dc2626;
	margin-left: 5px;
}

.product-slider-btn .product-slider-button-prev,
.product-slider-btn .product-slider-button-next{
	position: absolute;
	top: 130px;
	width: 50px;
	height: 50px;
	background-color: var(--white-color);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.product-slider-button-prev{
	left: 10px;
}

.product-slider-button-next{
	right: 10px;
}

.product-slider-button-prev:hover,
.product-slider-button-next:hover{
	background-color: var(--primary-color);
}

.product-slider-button-prev::before,
.product-slider-button-next::before{
	content: '';
	position: absolute;
    top: 50%;
	left: 50%;
	transform: translate(-50%, -50%) rotate(45deg);
	height: 16px;
	width: 16px;
	background-image: url('../images/arrow-primary.svg');
	background-repeat: no-repeat;
	background-position: center center;
	background-size: cover;
    transition: all 0.4s ease-in-out;
}

.product-slider-btn .product-slider-button-prev::before{
	transform: translate(-50%, -50%) rotate(225deg);
}

.product-slider-button-prev:hover:before,
.product-slider-button-next:hover:before{
	filter: brightness(0) invert(1);
}

/****************************************/
/***       08. Intro Video css        ***/
/****************************************/

.intro-video{
	position: relative;
	min-height: 780px;
	align-content: end;
	padding: 60px 0;
	overflow: hidden;	
}

.intro-bg-video{
	position: absolute;
    top: 0;
    right: 0;
    left: 0;
    bottom: 0;
    width: 100%;
    height: 100%;
	backface-visibility:hidden;
    will-change:transform;
}

.intro-bg-video:before{
	content: '';
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	height: 100%;
	width: 100%;
	background: linear-gradient(180deg, transparent 50%, rgba(0, 0, 0, 0.80) 100%), linear-gradient(0deg, rgba(0, 0, 0, 0.20) 0%, rgba(0, 0, 0, 0.20) 100%);
	z-index: 1;
}

.intro-bg-video video{
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.intro-video-content-box{
	position: relative;
	text-align: center;
	z-index: 1;
}

.video-play-button{
	display: inline-flex;
    align-items: center;
    z-index: 1;
}

.video-play-button a{
	position: relative;
	display: inline-flex;
	align-items: center;
	gap: 10px;
}

.video-play-button a span{
	position: relative;
	width: 85px;
	height: 85px;
	background: var(--accent-color);
	border-radius: 50%;
	display: flex;
	justify-content: center;
	align-items: center;
	transition: all 0.4s ease-in-out;
}

.video-play-button a span:hover{
	background: var(--white-color);
}

.video-play-button a span.bg-effect:before,
.video-play-button a span.bg-effect:after{
	content: '';
	position: absolute;
    width: 160%;
    height: 160%;
	border: 40px solid var(--white-color);
	opacity: 50%;
	border-radius: 50%;
	transform: scale(0.6);
	z-index: -1;
	animation: border-zooming 1.2s infinite linear;
}

.video-play-button a span.bg-effect:after{
	animation-delay: .3s;
}

@keyframes border-zooming{
	100%{
		transform: scale(1);
		opacity: 0;
	}
}

.video-play-button a span i{
	font-size: 30px;
	color: var(--white-color);
	margin-left: 2px;
	transition: all 0.4s ease-in-out;
}

.video-play-button a span:hover i{
	color: var(--accent-color);
}

.intro-video-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 100px;
	max-width: 1120px;
	margin: 270px auto auto;
}

.intro-video-item{
	position: relative;
	width: calc(25% - 75px);
}

.intro-video-item:before{
	content: '';
	position: absolute;
	top: 0;
	right: -50px;
	bottom: 0;
	height: 100%;
	width: 1px;
	background: var(--dark-divider-color);
}

.intro-video-item:nth-child(4n + 4):before,
.intro-video-item:last-child:before{
	display: none;
}

.intro-video-item .icon-box{
	margin-bottom: 30px;
}

.intro-video-item .icon-box img{
	width: 100%;
	max-width: 60px;
}

.intro-video-item-content h3{
	font-size: 20px;
	color: var(--secondary-color);
}

/****************************************/
/*** 	  09. Our Collection css	  ***/
/****************************************/

.our-collection{
	padding: 120px 0 30px;
}

.collection-item{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 80px;
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 50px;
}

.collection-item-content,
.collection-item-image-box{
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
}

.collection-item-content{
	width: calc(43% - 40px);
}

.collection-item-title h3{
	font-size: 26px;
	line-height: 1.4em;
}

.collection-item-image-box{
	width: calc(57% - 40px);
}

.collection-item-image-content p{
	margin-bottom: 15px;
}

.collection-item-image-content p:last-child{
	margin-bottom: 0;
}

.collection-item-image a,
.collection-item-image figure{
	display: block;
	border-radius: 4px;
	overflow: hidden;
}

.collection-item-image img{
	width: 100%;
	aspect-ratio: 1 / 0.866;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.collection-item:hover .collection-item-image img{
	transform: scale(1.04);
}

/****************************************/
/*** 	   10. Our Promise css 		  ***/
/****************************************/

.our-promise{
	padding: 60px 0;
}

.promise-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 40px 100px;
}

.promise-item{
	position: relative;
	width: calc(20% - 80px);
	text-align: center;
}

.promise-item::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	right: -50px;
	background: var(--divider-color);
	width: 1px;
	height: 100%;
}

.promise-item:last-child::before,
.promise-item:nth-child(5n + 5)::before{
	display: none;
}

.promise-item .icon-box{
	position: relative;
	min-height: 140px;
	background: var(--secondary-color);
	border-radius: 4px;
	display: flex;
	justify-content: center;
	align-items: center;
	overflow: hidden;
}

.promise-item .icon-box::before{
	content: "";
	position: absolute;
	top: 0;
	bottom: 0;
	left: 50%;
	right: 50%;
	opacity: 0;
	background-color: var(--accent-color);
	transition: all 0.4s ease-in-out;
}

.promise-item:hover .icon-box::before{
	left: 0;
	right: 0;
	opacity: 1;
}

.promise-item .icon-box img{
	width: 100%;
	max-width: 70px;
	transition: all 0.4s ease-in-out;
}

.promise-item:hover .icon-box img{
	filter: brightness(0) invert(1);
}

.promise-item-content{
	margin: 20px 0 0;
}

.promise-item-content h3{
	font-size: 20px;
	line-height: 1.3em;
}

/****************************************/
/*** 	 11. Our Testimonials css	  ***/
/****************************************/

.our-testimonials{
	position: relative;
	background-image: url('../images/testimonial-bg-image.jpg');
	background-position: center center;
	background-size: cover;
	padding: 120px 0;
}

.our-testimonials::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.90) 0%, rgba(0, 0, 0, 0.63) 44.12%, rgba(0, 0, 0, 0.00) 58.83%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.testimonials-content-box{
	max-width: 630px;
}

.testimonials-content-box .section-title{
	margin-bottom: 60px;
}

.our-testimonials .container{
	position: relative;
	z-index: 2;
}

.testimonial-slider .swiper .swiper-wrapper{
}

.testimonial-item-rating i{
	color: var(--white-color);
}

.testimonial-item-content{
	margin-top: 20px;
}

.testimonial-item-content p{
	font-size: 18px;
	font-weight: 500;
	color: var(--white-color);
	margin-bottom: 15px;
}

.testimonial-item-content p:last-child{
	margin-bottom: 0;
}

.testimonial-item-content{
	margin-bottom: 0;
}

.testimonial-item-author{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 60px;
	padding: 40px 140px 0 0;
}

.testimonial-author-image figure{
	display: block;
	border-radius: 50%;
}

.testimonial-author-image img{
	width: 100%;
	max-width: 50px;
	aspect-ratio: 1 / 1;
	border-radius: 50%;
}

.testimonial-author-content{
	width: calc(100% - 65px);
}

.testimonial-author-content h2{
	font-size: 20px;
	color: var(--white-color);
}

.testimonial-author-content p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.testimonial-btn{
	position: absolute;
	bottom: 0;
	right: 0;
	display: flex;
	align-items: center;
	gap: 15px;
	z-index: 1;
}

.testimonial-slider .testimonial-button-next,
.testimonial-slider .testimonial-button-prev{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--dark-divider-color);
	backdrop-filter: blur(30px);
	-webkit-backdrop-filter: blur(30px);
	border-radius: 50%;
	transition: all 0.4s ease-in-out;
}

.testimonial-slider .testimonial-button-next:hover,
.testimonial-slider .testimonial-button-prev:hover{
	background: var(--accent-color);
}

.testimonial-slider .testimonial-button-next::before,
.testimonial-slider .testimonial-button-prev::before{
    content: '';
	position: absolute;
    top: 50%;
    bottom: 0;
    left: 50%;
    right: 0;
	background: url('../images/arrow-white.svg');
    background-repeat: no-repeat;
    background-position: center center;
    background-size: 14px auto;
    transform: translate(-50%, -50%) rotate(45deg);
	transition: all 0.4s ease-in-out;
}

.testimonial-slider .testimonial-button-prev::before{
	transform: translate(-50%, -50%) rotate(225deg);
}

/****************************************/
/*** 	    12. Our FAQ's css 		  ***/
/****************************************/

.our-faqs{
	padding: 120px 0 60px;
}

.faqs-content-box{
	position: sticky;
	top: 30px;
}

.faq-accordion .accordion-item{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
	padding-bottom: 30px;
}

.faq-accordion .accordion-item:last-child{
	border-bottom: none;
	padding-bottom: 0;
    margin-bottom: 0;
}

.faq-accordion .accordion-header .accordion-button{
	font-family: var(--accent-font);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35em;
    color: var(--primary-color);
    padding: 0 34px 0 0;
}

.faq-accordion .accordion-item .accordion-button::after,
.faq-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f146';
    font-family: 'Font Awesome 7 Free';
    position: absolute;
    right: 0px;
	top: 50%;
    font-size: 24px;
    color: var(--primary-color);
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
}

.faq-accordion .accordion-button:not(.collapsed)::after{
	content: '\f0fe';
}

.faq-accordion .accordion-item .accordion-body{
	padding: 15px 34px 0 0;
}

.faq-accordion .accordion-item .accordion-body p{
	margin-bottom: 15px;
}

.faq-accordion .accordion-item .accordion-body p:last-child{
	margin-bottom: 0;
}

.limited-offer-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
	margin-top: 120px;
}

.limited-offer-item{
	position: relative;
	width: calc(50% - 15px);
	min-height: 520px;
	border-radius: 4px;
	overflow: hidden;
}

.limited-offer-image{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.limited-offer-image figure{
	position: relative;
	display: block;
	height: 100%;
}

.limited-offer-image figure::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	background: linear-gradient(180deg, rgba(0, 0, 0, 0.00) 8.52%, rgba(0, 0, 0, 0.75) 86.12%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.limited-offer-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.limited-offer-item:hover .limited-offer-image img{
	transform: scale(1.03);
}

.limited-offer-item-body{
	position: relative;
	height: 100%;
	align-content: end;
	text-align: center;
	padding: 60px;
	z-index: 2;
}

.limited-offer-item-content span{
	display: inline-block;
	font-size: 14px;
	line-height: normal;
	color: var(--white-color);
	margin-bottom: 20px;
}

.limited-offer-item-content h2{
	font-size: 40px;
	color: var(--white-color);
}

.limited-offer-btn{
	margin-top: 40px;
}

/****************************************/
/*** 	     13. Our Blog css 		  ***/
/****************************************/

.our-blog{
	padding: 60px 0 90px;
}

.post-item{
	height: calc(100% - 30px);
    margin-bottom: 30px;
}

.post-featured-image{
	position: relative;
	margin-bottom: 20px;
}

.post-featured-image a{
    display: block;
	border-radius: 4px;
    overflow: hidden;
}

.post-featured-image figure{
	display: block;
}

.post-featured-image img{
	width: 100%;
    aspect-ratio: 1 / 0.87;
    object-fit: cover;
    transition: all 0.6s ease-in-out;
}

.post-item:hover .post-featured-image img{
	transform: scale(1.06);
}

.post-item-content h2{
    font-size: 20px;
	line-height: 1.4em;
}

.post-item-content h2 a{
    color: inherit;
}

.post-item .post-item-btn{
	border-top: 1px solid var(--divider-color);
	padding-top: 20px;
	margin-top: 20px;
}

/****************************************/
/*** 	     14. Footer css 		  ***/
/****************************************/

.main-footer{
	padding: 100px 0 0;
}

.about-footer{
	max-width: 300px;
}

.footer-logo img{
	width: 100%;
	max-width: 135px;
}

.about-footer-content{
	margin-top: 30px;
}

.about-footer-content p{
	color: var(--white-color);
}

.about-footer-content p:last-child{
	margin-bottom: 0;
}

.footer-newsletter-form{
	margin-top: 40px;
}

.footer-newsletter-form .form-group{
	display: flex;
	border: 1px solid var(--dark-divider-color);
	background-color: transparent;
	border-radius: 4px;
	padding: 5px;
}

.footer-newsletter-form .form-group .form-control{
	width: calc(100% - 40px);
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--white-color);
	background: transparent;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
	padding: 6px 15px;
}

.footer-newsletter-form .form-group .form-control::placeholder{
	color: var(--white-color);
	opacity: 50%;
}

.footer-newsletter-form .form-group .newsletter-btn{
	width: 40px;
	height: 40px;
	display: flex;
	justify-content: center;
	align-items: center;
	background-color: var(--white-color);
	border: none;
	border-radius: 4px;
}

.footer-newsletter-form .form-group .newsletter-btn img{
	width: 100%;
	max-width: 14px;
	transition: all 0.4s ease-in-out;
}

.footer-newsletter-form .form-group .newsletter-btn:hover img{
	transform: rotate(45deg);
}

.footer-links-box{
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 30px;
	margin-left: 30px;
}

.footer-links{
	max-width: 30%;
}

.footer-links.footer-contact-box{
	width: 100%;
	max-width: 32%;
}

.footer-links h2{
	font-size: 20px;
	color: var(--white-color);
	margin-bottom: 30px;
}

.footer-links ul{
	list-style: disc;
	margin: 0;
	padding: 0 0 0 20px;
}

.footer-links ul li{
	line-height: 1.4em;
	color: var(--white-color);
	margin-bottom: 15px;
}

.footer-links ul li:last-child{
	margin-bottom: 0;
}

.footer-links ul li::marker{
	color: var(--white-color);
}

.footer-links ul li a{
	color: inherit;
}

.footer-contact-item{
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	border-bottom: 1px solid var(--dark-divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.footer-contact-item:last-child{
	border-bottom: none;
	margin-bottom: 0;
	padding-bottom: 0;
}

.footer-contact-item .icon-box img{
	width: 100%;
	max-width: 30px;
}

.footer-contact-item-content{
	width: calc(100% - 40px);
}

.footer-contact-item-content h3{
	font-size: 20px;
	font-weight: 500;
	color: var(--white-color);
}

.footer-contact-item-content p{
	color: var(--white-color);
	margin: 5px 0 0;
}

.footer-contact-item-content p a{
	color: inherit;
}

.footer-copyright{
	text-align: center;
	border-top: 1px solid var(--dark-divider-color);
	margin-top: 80px;
	padding: 50px 0;
}

.footer-copyright-text p{
	color: var(--white-color);
	margin: 0;
}

/****************************************/
/*** 	   15. About Us Page css	  ***/
/****************************************/

.page-header{
	position: relative;
	background-image: url('../images/page-header-bg-image.jpg');
	background-position: center center;
	background-repeat: no-repeat;
	background-size: cover;
	padding: 175px 0;
	overflow: hidden;
}

.page-header-box h1{
	display: inline-block;
	font-size: 60px;
	line-height: 1.1em;
	color: var(--white-color);
	margin-bottom: 10px;
}

.page-header-box ol{
	margin: 0;
	padding: 0;
}

.page-header-box ol li.breadcrumb-item{
	line-height: 1.5em;
    text-transform: capitalize;
	color: var(--white-color);
}

.page-header-box ol li.breadcrumb-item a{
    color: inherit;
}

.page-header-box ol .breadcrumb-item+.breadcrumb-item::before{
    color: var(--white-color);
}

.about-us{
	padding: 120px 0 60px;
}

.mission-vision-item-list{
	display: flex;
	flex-wrap: wrap;
	gap: 30px;
}

.mission-vision-item{
	position: relative;
	width: calc(50% - 15px);
	border-radius: 4px;
	padding: 50px;
	align-content: end;
	min-height: 520px;
	overflow: hidden;
}

.mission-vision-item-image{
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	height: 100%;
}

.mission-vision-item-image figure{
	position: relative;
	display: block;
	height: 100%;
}

.mission-vision-item-image figure::before{
	content: '';
	position: absolute;
	top: 0;
	bottom: 0;
	left: 0;
	right: 0;
	border-radius: 4px;
	background: linear-gradient(180deg, transparent 31.25%, rgba(0, 0, 0, 0.50) 84.22%);
	width: 100%;
	height: 100%;
	z-index: 1;
}

.mission-vision-item-image img{
	width: 100%;
	height: 100%;
	object-fit: cover;
	transition: all 0.6s ease-in-out;
}

.mission-vision-item:hover .mission-vision-item-image img{
	transform: scale(1.03);
}

.mission-vision-item-content{
	position: relative;
	text-align: center;
	z-index: 1;
}

.mission-vision-item-content h3{
	font-size: 26px;
	color: var(--white-color);
}

.mission-vision-item-content p{
	color: var(--white-color);
	margin: 20px 0 0;
}

.section-footer-text{
	margin-top: 30px;
	text-align: center;
}

.section-footer-text p{
	color: var(--primary-color);
	margin: 0 0 15px;
}

.section-footer-text p span{
	display: inline-block;
	font-family: var(--accent-font);
	font-size: 16px;
	font-weight: 600;
	background: var(--accent-color);
	color: var(--bg-color);
	line-height: 1em;
	padding: 4px 10px;
	border-radius: 14px;
	margin-right: 10px;
}

.section-footer-text p a{
	display: inline-block;
	font-weight: 600;
	text-transform: capitalize;
	text-decoration: underline;
	text-underline-offset: 3px;
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.section-footer-text p a:hover{
	color: var(--accent-color);
}

.section-footer-text p:last-child{
    margin: 0;
}

.about-us .section-footer-text{
	margin-top: 60px;
}

.what-we-do{
	padding: 60px 0 90px;
}

.what-we-item{
	height: calc(100% - 30px);
	margin-bottom: 30px;
}

.what-we-item .icon-box{
	margin-bottom: 60px;
	text-align: center;
}

.what-we-item .icon-box img{
	width: 100%;
	max-width: 80px;
}

.what-we-item-content{
	text-align: center;
}

.what-we-item-content h3{
	font-size: 20px;
}

.what-we-item-content p{
	margin: 20px 0 0;
}

.why-customer-choose{
	padding: 10px;
}

.why-customer-choose .container-fluid{
	padding: 0;
}

.why-customer-choose-video{
	position: relative;
	height: 750px;
	min-height: 100%;
	border-radius: 4px;
	overflow: hidden;
}

.why-customer-choose-bg-video{
    width: 100%;
    height: 100%;
}

.why-customer-choose-bg-video video{
	width: 100%;
    height: 100%;
    object-fit: cover;
}

.why-customer-choose-content{
	height: 100%;
	align-content: center;
	padding: 110px 5.729vw 110px 6.25vw;
}

.customer-accordion .accordion-item{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
	padding-bottom: 30px;
    overflow: hidden;
    transition: all 0.3s ease-in-out;
}

.customer-accordion .accordion-item:last-child{
	border-bottom: none;
	padding-bottom: 0;
    margin-bottom: 0;
}

.customer-accordion .accordion-header .accordion-button{
	font-family: var(--accent-font);
    font-size: 20px;
    font-weight: 500;
    line-height: 1.35em;
    color: var(--primary-color);
    padding: 0 34px 0 0;
}

.customer-accordion .accordion-item .accordion-button::after,
.customer-accordion .accordion-item .accordion-button.collapsed::after{
    content: '\f146';
    font-family: 'Font Awesome 7 Free';
    position: absolute;
    right: 0px;
	top: 50%;
    font-size: 24px;
    color: var(--primary-color);
	transform: translateY(-50%);
	transition: all 0.3s ease-in-out;
}

.customer-accordion .accordion-button:not(.collapsed)::after{
	content: '\f0fe';
}

.customer-accordion .accordion-item .accordion-body{
	padding: 15px 34px 0 0;
}

.customer-accordion .accordion-item .accordion-body p{
	margin-bottom: 15px;
}

.customer-accordion .accordion-item .accordion-body p:last-child{
	margin-bottom: 0;
}

.our-team{
	padding: 60px 0 90px;
}

.team-item{
	height: calc(100% - 30px);
	margin-bottom: 30px;
	text-align: center;
}

.team-item-image-box{
	position: relative;
}

.team-item-image{
	max-width: 300px;
	border-radius: 50%;
	text-align: center;
	margin: 0 auto;
	overflow: hidden;
}

.team-item-image a,
.team-item-image figure{
	position: relative;
	display: block;
	border-radius: 50%;
}

.team-item-image figure:before{
	content: '';
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	height: 100%;
	width: 100%;
	background-color: var(--black-color);
	border-radius: 50%;
	opacity: 30%;
	transform: scale(0);
	z-index: 1;
	transition: all 0.5s ease-in-out;
}

.team-item:hover .team-item-image figure:before{
	transform: scale(1);
}

.team-item-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
	transition: all 0.6s ease-in-out;
}

.team-item:hover .team-item-image figure img{
	transform: scale(1.06);
}

.team-item-social-list{
    position: absolute;
    top: 50%;
	transform: scale(0) translateY(-50%);
    right: 50px;
	left: 50px;
	margin: 0 auto;
    transition: all 0.5s ease-in-out;
    z-index: 2;
}

.team-item:hover .team-item-social-list{
	transform: scale(1) translateY(-50%);
	visibility: visible;
	opacity: 1;
}

.team-item-social-list ul{
	display: flex;
	justify-content: center;
	flex-wrap: wrap;
	list-style: none;
    margin: 0;
    padding: 0;
	gap: 10px;
}

.team-item-social-list ul li a{
	width: 40px;
    height: 40px;
    color: var(--primary-color);
	background-color: var(--white-color);
    border-radius: 50%;
    display: flex;
    align-items: center;
    justify-content: center;
    transition: all 0.4s ease-in-out;
}

.team-item-social-list ul li a i{
	font-size: 18px;
	color: inherit;
}

.team-item-content{
	margin-top: 20px;
}

.team-item-content h2{
	font-size: 20px;
}

.team-item-content h2 a{
	color: inherit;
}

.team-item-content p{
	margin: 5px 0 0;
}

.page-about-faq{
	padding: 120px 0;
}

/****************************************/
/***      	16. Blog Archive css      ***/
/****************************************/

.page-blog{
	padding: 120px 0px;
}

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

.page-pagination ul{
    justify-content: center;
    padding: 0;
    margin: 0;
}

.page-pagination ul li a,
.page-pagination ul li span{
    display: flex;
    text-decoration: none;
    justify-content: center;
    align-items: center;
    background: var(--secondary-color);
    color: var(--primary-color);
	border-radius:4px;
    width: 40px;
    height: 40px;
    margin: 0 5px;
	font-size: 18px;
    font-weight: 500;
	line-height: normal;
    transition: all 0.3s ease-in-out;
}

.page-pagination ul li.active a, 
.page-pagination ul li a:hover{
    background: var(--accent-color);
	color: var(--white-color);
}

/****************************************/
/***      	17. Blog Single css       ***/
/****************************************/

.page-single-post{
	padding: 120px 0;
}

.post-single-meta{
	margin-top: 5px;
}

.post-single-meta ol li{
	font-size: 18px;
	color: var(--white-color);
	margin-right: 15px;
}

.post-single-meta ol li:last-child{
	margin-right: 0;
}

.post-single-meta ol li i{
    font-size: 18px;
    color: var(--white-color);
    margin-right: 5px;
}

.post-image{
	position: relative;
	margin-bottom: 30px;
}

.post-image figure{
	display: block;	
	border-radius: 4px;
	overflow: hidden;
}

.post-image img{
	width: 100%;
	aspect-ratio: 1 / 0.50;
	object-fit: cover;
	border-radius: 4px;
}

.post-content{
	width: 100%;
	max-width: 1100px;
	margin: 0 auto;
}

.post-entry{
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 30px;
    margin-bottom: 30px;
}

.post-entry:after{
    content: '';
    display: block;
    clear: both;
}

.post-entry a{
    color: var(--primary-color);
}

.post-entry h1,
.post-entry h2,
.post-entry h3,
.post-entry h4,
.post-entry h5,
.post-entry h6{
	font-weight: 400;
	line-height: 1.2em;
	margin: 0 0 0.5em;
}

.post-entry h1{
	font-size: 60px;
}

.post-entry h2{
	font-size: 40px;
}

.post-entry h3{
	font-size: 34px;
}

.post-entry h4{
	font-size: 30px;
}

.post-entry h5{
	font-size: 24px;
}

.post-entry h6{
	font-size: 20px;
}

.post-entry p{
	margin-bottom: 20px;
}

.post-entry p:last-child{
	margin-bottom: 0;
}

.post-entry p strong{
	color: var(--primary-color);
	font-size: 18px;
	font-weight: 600;
}

.post-entry ol{
    margin: 0 0 30px;
}

.post-entry ul{
	padding: 0;
	margin: 20px 0 20px;
	padding-left: 20px;
}

.post-entry ol li,
.post-entry ul li{
    position: relative;
	font-size: 18px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--text-color);
    margin-bottom: 15px;
}

.post-entry ul li:last-child{
	margin-bottom: 0;
}

.post-entry ul ul,
.post-entry ul ol,
.post-entry ol ol,
.post-entry ol ul{
    margin-top: 20px;
    margin-bottom: 0;
}

.post-entry ul ul li:last-child,
.post-entry ul ol li:last-child,
.post-entry ol ol li:last-child,
.post-entry ol ul li:last-child{
    margin-bottom: 0;
}

.post-entry blockquote{
	background: url('../images/icon-blockquote.svg');
	background-repeat: no-repeat;
	background-position: 30px 30px;
    background-size: 45px;
	background-color: var(--secondary-color);
	border-radius: 4px;
    padding: 30px 30px 30px 90px;
    margin-bottom: 30px;
}

.post-entry blockquote p{
	font-size: 20px;
	font-weight: 600;
	line-height: 1.4em;
	color: var(--text-color);
}

.post-entry blockquote p:last-child{
	margin-bottom: 0;
}

.tag-links{
	font-family: var(--accent-font);
    font-size: 20px;
	font-weight: 600;
    text-transform: capitalize;
	color: var(--primary-color);
	display: inline-flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 15px;
}

.post-tags .tag-links a{
    display: inline-block;
	font-family: var(--default-font);
    font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	text-transform: uppercase;
	background: transparent;
	color: var(--primary-color);
	border: 1px solid var(--accent-color);
	border-radius: 4px;
    padding: 12px 20px;
	transition: all 0.4s ease-in-out;
}

.post-tags .tag-links a:hover{
	background: var(--accent-color);
	color: var(--white-color);
}

.post-social-sharing{
    text-align: right;
}

.post-social-sharing ul{
    list-style: none;
    padding: 0;
    margin: 0;
}

.post-social-sharing ul li{
    display: inline-block;
    margin-right: 10px;
}

.post-social-sharing ul li:last-child{
	margin-right: 0;
}

.post-social-sharing ul li a{
    display: flex;
    align-items: center;
    justify-content: center;
    text-align: center;
	background: var(--secondary-color);
    color: var(--primary-color);
	border-radius: 4px;
    width: 40px;
    height: 40px;
    transition: all 0.4s ease-in-out;
}

.post-social-sharing ul li:hover a{
	background: var(--primary-color);
	color: var(--white-color);
}

.post-social-sharing ul li a i{
    font-size: 18px;
    color: inherit;
}

/****************************************/
/***      	18. Products Page css     ***/
/****************************************/

.page-products{
	padding: 120px 0;
}

.page-single-sidebar{
    position: sticky;
    top: 30px;
    margin-right: 20px;
}

.product-category-item{
    border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.product-category-item:last-child{
	margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.product-category-filter-header{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px 15px;
}

.page-single-sidebar .product-category-filter-header{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 20px;
}

.product-category-filter-title{
    max-width: 50%;
    display: flex;
    align-items: center;
    gap: 10px;
}

.product-category-filter-title img{
    width: 100%;
    max-width: 24px;
}

.product-category-filter-title h2{
    font-size: 20px;
}

.product-category-filter-clear-btn a{
    font-size: 16px;
    color: var(--text-color);
    transition: all 0.4s ease-in-out;
}

.product-category-filter-clear-btn a:hover{
    color: var(--accent-color);
}

.product-category-item-title{
    position: relative;
	font-size: 22px;
	margin-bottom: 20px;
}

.product-category-item-title::before{
    content: '\f077';
    font-family: 'Font Awesome 7 Free';
    position: absolute;
    top: 0;
    right: 0;
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    transition: all 0.3s ease-in-out;
}

.product-category-item ul{
	list-style: none;
	margin: 0;
	padding: 0;
}

.product-category-item ul li{
    line-height: normal;
	display: flex;
	align-items: center;
	gap: 5px 10px;
    margin-bottom: 20px;
}

.product-category-item ul li:last-child{
    margin-bottom: 0;
}

.product-category-item ul li input[type=checkbox]{
	width: 20px;
	height: 20px;
	accent-color: var(--primary-color);
}

.product-category-item ul li label{
	flex: 1;
	cursor: pointer;
}

.product-item-list-box .product-category-filter-header{
    margin-bottom: 20px;
}

.product-category-result-info{
    display: flex;
    align-items: center;
    gap: 15px;
}

.product-category-result-pagination ul{
    list-style: none;
    margin: 0;
    padding: 0;
    display: flex;
    flex-wrap: wrap;
    gap: 15px;
}

.product-category-result-pagination ul li{
    position: relative;
    line-height: 1.4em;
}

.product-category-result-pagination ul li::before{
    content: '/';
    position: absolute;
    top: 0;
    bottom: 0;
    right: -12px;
}

.product-category-result-pagination ul li:last-child::before{
    display: none;
}

.product-category-result-pagination ul li a{
    color: inherit;
    transition: all 0.4s ease-in-out;
}

.product-category-sorting-list .form-select{
    min-width: 190px;
    font-size: 16px;
    font-weight: 500;
    line-height: 1.25em;
    color: var(--primary-color);
    background-color: var(--secondary-color);
	border: none;
    border-radius: 4px;
    padding: 9px 35px 9px 15px;
    outline: none;
    box-shadow: none;
}

.product-item-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 15px;
}

.product-item-list .product-item{
    width: calc(33.33% - 10px);
}

.product-learn-more-btn{
    text-align: center;
    margin-top: 60px;
}

/****************************************/
/***      	19. Product Single css    ***/
/****************************************/

.page-product-single{
	padding: 60px 0;
}

.product-single-breadcrumb-list{
	margin-bottom: 40px;
}

.product-single-breadcrumb-list ol{
	margin: 0;
	gap: 15px 55px;
}

.product-single-breadcrumb-list ol li{
	position: relative;
	color: var(--text-color);
	padding: 0;
}

.product-single-breadcrumb-list .breadcrumb li::before{
	content: '';
	position: absolute;
	right: -34px;
	top: 50%;
	transform: translateY(-50%);
	background: url('../images/arrow-right-long.svg') no-repeat;
	background-position: center center;
	background-size: cover;
	width: 14px;
	height: 14px;
	padding: 0;
}

.product-single-breadcrumb-list .breadcrumb li:last-child:before{
	display: none;
}

.product-single-breadcrumb-list .breadcrumb-item+.breadcrumb-item{
	padding: 0;
}

.product-single-breadcrumb-list .breadcrumb li a{
	color: inherit;
}

.product-single-info-box{
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 30px 50px;
}

.product-single-image-box{
	width: calc(50% - 25px);
	position: sticky;
	top: 30px;
	display: flex;
	flex-wrap: wrap;
	align-items: start;
	gap: 10px;
}

.product-single-image-slider{
	width: 145px;
}

.product-single-image-slider .swiper-wrapper{
	height: auto;
	flex-direction: column;
	gap: 10px 0;
}

.product-single-image-slider .swiper-slide{
	width: 100% !important;
	border-radius: 4px;
	cursor: pointer;
	padding: 0px;
	overflow: hidden;
}

.product-single-image-slider .swiper-slide figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.product-single-image-item{
	width: calc(100% - 155px);
	border-radius: 4px;
	padding: 0;
	overflow: hidden;
}

.product-single-image-item .swiper-slide{
	height: 100%;
	border-radius: 4px;
}

.product-single-image-item .swiper-slide figure{
	display: block;
	height: 100%;
	text-align: center;
}

.product-single-image-item .swiper-slide figure img{
	width: 100%;
	height: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.product-single-info-content{
	width: calc(50% - 25px);
}

.product-single-price h2,
.product-single-title h1{
	font-size: 30px;
}

.product-single-price span,
.product-single-title span{
	display: inline-block;
	font-size: 16px;
	line-height: normal;
	margin-top: 10px;
}

.product-single-price{
	margin-top: 30px;
}

.product-single-price h2 sub{
	font-family: var(--default-font);
	font-size: 18px;
	font-weight: 400;
	color: #dc2626;
	text-decoration: line-through;
	bottom: 0;
}

.product-single-description{
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
}

.product-single-description p{
	margin-bottom: 20px;
}

.product-single-description p:last-child{
	margin-bottom: 0;
}

.product-single-details-list{
	margin-top: 30px;
}

.product-single-details-list h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.product-single-details-list ul{
	display: flex;
	flex-wrap: wrap;
	gap: 15px 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.product-single-details-list ul li input[type="radio"]:checked + label{
	background: var(--primary-color);
	color: var(--white-color);
}

.product-single-details-list ul li input[type="radio"]{
	width: 0;
	height: 0;
	opacity: 0;
	visibility: hidden;
}

.product-single-details-list ul li label{
	font-size: 14px;
	font-weight: 500;
	line-height: 1em;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 9px 16px;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.product-single-content-body{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
	margin-top: 30px;
}

.qty-box{
	display: inline-flex;
	align-items: center;
	color: var(--primary-color);
	border: 1px solid var(--divider-color);
	padding: 13px 12px;
	border-radius: 4px;
	gap: 10px;
}

.qty-btn{
	background: none;
	border: none;
	padding: 0;
	color: var(--primary-color);
	font-size: 26px;
	line-height: 0;
	outline: none;
}

.qty-input{
  width: 35px;
  text-align: center;
  border: none;
  font-size: 16px;
  font-weight: 500;
  background: transparent;
  outline: none;
}

.product-single-content-btn{
	line-height: 0;
}

.product-single-content-btn .btn-default{
	background: var(--primary-color);
	color: var(--white-color);
}

.product-single-content-btn .btn-default:hover{
	color: var(--primary-color);
}

.product-single-content-btn .btn-default::after{
	background: var(--white-color);
}

.product-single-action ul{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
	list-style: none;
	padding: 0;
	margin: 0;
}

.product-single-action ul li a{
	display: inline-block;
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 12px 20px;
	transition: all 0.4s ease-in-out;
}

.product-single-action ul li a:hover{
	background: var(--primary-color);
}

.product-single-action ul li a img{
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
}

.product-single-action ul li a:hover img{
	filter: brightness(0) invert(1);
}

.product-single-content-footer{
	border-top: 1px solid var(--divider-color);
	margin-top: 30px;
	padding-top: 30px;
}

.product-shipping-box ul{
	list-style: none;
	padding: 0;
	margin: 0;
}

.product-shipping-box ul li{
	line-height: 1.5em;
	margin-bottom: 15px;
}

.product-shipping-box ul li:last-child{
	margin-bottom: 0;
}

.product-shipping-box ul li img{
	width: 100%;
	max-width: 24px;
	margin-right: 10px;
}

.product-single-review-box{
	margin-top: 100px;
}

.product-step-nav{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.product-step-nav .nav-tabs{
	padding: 0;
	margin: 0;
	list-style: none;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 30px;
	border: none;
}

.product-step-nav ul li{
	width: auto;
}

.product-step-nav ul li .nav-link{
	position: relative;
	width: 100%;
    background: transparent;
	border: none;
    color: var(--primary-color);
	font-family: var(--accent-font);
	font-size: 20px;
    font-weight: 500;
    line-height: 1em;
	padding: 0;
	border-radius: 0;
	margin: 0;
    text-transform: capitalize;
    transition: all 0.4s ease-in-out;
}

.product-step-nav ul li .nav-link.active,
.product-step-nav ul li .nav-link:hover{
    background: transparent;
    color: var(--primary-color);
}

.product-step-nav ul li .nav-link::before{
    content: '';
    display: block;
    position: absolute;
    top: auto;
    left: auto;
	bottom: -32px;
    right: 0;
    background-color: var(--primary-color);
    width: 0;
    height: 2px;
    transition: all 0.4s ease-in-out;
}

.product-step-nav ul li .nav-link.active::before,
.product-step-nav ul li .nav-link:hover:before{
	width: 100%;
	right: auto;
	left: 0;
}

.product-tab-item-box h2{
	font-size: 30px;
	margin-bottom: 20px;
}

.product-tab-item-box h3{
	font-size: 22px;
	margin-top: 20px;
}

.product-tab-item-box p{
	margin-bottom: 20px;
}

.product-tab-item-box ul{
	list-style: disc;
    padding: 0 0 0 20px;
    margin: 20px 0 0 0;
}

.product-tab-item-box ul li{
    line-height: 1.4em;
    margin-bottom: 12px;
}

.product-tab-item-box ul:first-child,
.product-tab-item-box p:last-child,
.product-tab-item-box ul li:last-child{
	margin: 0;
}

.product-review-from-content{
	display: flex;
	flex-wrap: wrap;
	gap: 30px 60px;
}

.review-form,
.customer-review-list{
	width: calc(50% - 30px);
}

.customer-review-item{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
	margin-bottom: 40px;
}

.customer-review-item:last-child{
	margin-bottom: 0;
}

.customer-review-item .icon-box img{
	width: 100%;
	max-width: 50px;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	border-radius: 50%;
}

.customer-review-item-body{
	width: calc(100% - 65px);
	display: flex;
	flex-wrap: wrap;
	justify-content: space-between;
	gap: 10px;
}

.customer-review-item-content p{
	margin: 0 0 5px 0;
}

.customer-review-item-content p:last-child{
	margin-bottom: 0;
}

.customer-review-item-content p span{
	color: var(--primary-color);
	font-weight: 600;
}

.customer-review-item-rating i{
	color: var(--primary-color);
	font-size: 16px;
}

.review-form-content{
	margin-bottom: 30px;
}

.review-form-content h3{
	font-size: 22px;
	margin: 0 0 5px 0;
}

.review-form-content p{
	margin: 15px 0 0;
}

.review-form .form-control{
	font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--primary-color);
    border: 1px solid var(--divider-color);
    background-color: transparent;
    border-radius: 4px;
    padding: 12px 20px;
    box-shadow: none;
    outline: none;
}

.review-form .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

.review-form-note{
	display: flex;
	align-items: start;
	gap: 5px;
}

.review-form-note input{
	margin-top: 1px;
}

.review-form-note .form-label{
	margin: 0;
}

.review-form .btn-default{
	width: 100%;
	margin: 20px 0 0 0;
}

.product-additional-content-title{
	margin-bottom: 30px;
}

.product-additional-info-table{
    overflow-x: auto;
	overflow-y: hidden;
    cursor: grab;
}

.product-additional-info-table table{
	width: 100%;
    white-space: nowrap;
	border: 1px solid var(--divider-color);
}

.product-additional-info-table::-webkit-scrollbar{
	height: 7px;
}

.product-additional-info-table::-webkit-scrollbar-track{
	background-color: var(--accent-color);
}

.product-additional-info-table::-webkit-scrollbar-thumb{
	background: var(--accent-color);
}

.product-additional-info-table table tr b{
	font-weight: 600;
	color: var(--primary-color);
}

.product-additional-info-table table tr td{
	min-width: 200px;
    border-top: 1px solid var(--divider-color);
    border-right: 1px solid var(--divider-color);
	color: var(--primary-color);
	padding: 20px 30px;
}

.product-additional-info-table table tr td:last-child{
	border-right: none;
}

.related-products{
	padding: 60px 0 120px;
}

.related-product-items-list{
	display: flex;
	flex-wrap: wrap;
	gap: 20px;
}

.related-product-items-list .product-item{
	width: calc(25% - 15px);
}

/****************************************/
/***      	 20. Cart Page css        ***/
/****************************************/

.page-cart{
    padding: 120px 0;
}

.cart-item-header,
.cart-item{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.cart-item-header span{
	font-family: var(--accent-font);
	font-size: 20px;
    font-weight: 500;
    line-height: 1.4em;
    color: var(--primary-color);
}

.product-header-tag{
    width: calc(46% - 7.5px);
}

.price-header-tag{
    width: calc(18% - 7.5px);
}

.quantity-header-tag{
    width: calc(21% - 7.5px);
}

.subtotal-header-tag{
    width: calc(15% - 7.5px);
}

.cart-item:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.cart-item-image-content{
    width: calc(63% - 5px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px 30px;
}

.cart-item-image{
    position: relative;
    width: 85px;
    height: 85px;
    display: flex;
    justify-content: center;
    align-items: center;
    margin: 5px 5px 0 0;
}

.cart-item-image::before{
    content: '\f00d';
    position: absolute;
    top: -5px;
    right: -5px;
    font-family: 'FontAwesome';
    width: 18px;
    height: 18px;
    display: flex;
    justify-content: center;
    align-items: center;
    background: var(--bg-color);
    border: 1px solid var(--divider-color);
    border-radius: 50%;
    font-size: 12px;
    color: var(--text-color);
	cursor: pointer;
}

.cart-item-image figure{
    display: block;
	border-radius: 4px;
}

.cart-item-image img{
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
	border-radius: 4px;
}

.cart-item-info-content{
    width: calc(100% - 120px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-grow: 1;
}

.cart-item-title{
    max-width: 155px;
}

.cart-item-title p{
	color: var(--primary-color);
}

.cart-item-title p:last-child{
    margin-bottom: 0;
}

.cart-item-price{
    width: 35%;
}

.cart-item-price p:last-child{
    margin-bottom: 0;
}

.cart-item-quantity-total{
    width: calc(37% - 5px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 15px;
}

.cart-item-quantity .qty-box{
    padding: 6px 10px;
    gap: 10px;
}

.cart-item-quantity .qty-btn{
	font-size: 22px;
}

.cart-item-subtotal{
    width: 40%;
}

.cart-item-subtotal p:last-child{
    margin-bottom: 0;
}

.cart-item-buttons{
    display: flex;
    flex-wrap: wrap;
    gap: 20px 40px;
    margin-top: 40px;
}

.cart-item-buttons .btn-default{
    padding: 17px 30px 17px 60px;
}

.cart-item-buttons .btn-default.btn-update::before,
.cart-item-buttons .btn-default.btn-clear::before{
	position: absolute;
    font-family: 'Font Awesome 7 Free';
    font-size: 18px;
    color: var(--primary-color);
    background: transparent;
    left: 30px;
	transform: translateY(-50%);
	top: 50%;
    width: auto;
    height: auto;
    right: auto;
	transition: all 0.4s ease-in-out;
}

.cart-item-buttons .btn-default.btn-update:hover::before,
.cart-item-buttons .btn-default.btn-clear:hover::before{
	color: var(--white-color);
}

.cart-item-buttons .btn-default.btn-update::before{
    content: '\f01e';
	font-weight: 700;
}

.cart-item-buttons .btn-default.btn-clear::before{
    content: '\f2ed';
    font-weight: 400;
}

.interested-products-box{
    margin-top: 120px;
}

.interested-products-box-title{
    margin-bottom: 30px;
}

.interested-products-box-title h2{
    font-size: 30px;
    line-height: 1.1em;
}

.page-single-sidebar.right-side-sidebar{
    margin: 0 0 0 20px;
}

.order-summary-box{
    border: 1px solid var(--divider-color);
	border-radius: 4px;
    padding: 15px;
}

.order-summary-content-box{
    padding: 15px;
    margin-bottom: 15px;
}

.order-summary-box-title,
.order-summary-promocode-box,
.order-summary-shipment-info{
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 30px;
    padding-bottom: 30px;
}

.order-summary-box-title h2{
    font-size: 20px;
}

.order-summary-promocode-form{
    margin-bottom: 30px;
}

.order-summary-promocode-form .form-group{
	display: flex;
    flex-wrap: wrap;
    justify-content: space-between;
	background: transparent;
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 5px;
}

.order-summary-promocode-form .form-group .form-control{
    width: 170px;
	font-size: 16px;
	line-height: normal;
	color: var(--text-color);
	background-image: url('../images/icon-tag.svg');
	background-repeat: no-repeat;
	background-position: left 12px center;
	background-size: 14px auto;
	border: none;
	border-radius: 0;
	outline: none;
	box-shadow: none;
    flex-grow: 1;
	padding: 8px 10px 8px 36px;
}

.order-summary-promocode-form .form-group .form-control::placeholder{
	color: var(--text-color);
}

.order-summary-promocode-form .form-group button.promocode-btn{
    color: var(--white-color);
    background: var(--accent-color);
    line-height: 1em;
    border: none;
	border-radius: 4px;
    outline: none;
	padding: 12px 30px;
    transition: all 0.4s ease-in-out;
}

.order-summary-total{
    display: flex;
    justify-content: space-between;
    align-items: center;
    gap: 10px;
}

.order-summary-total h3{
    font-size: 20px;
    line-height: normal;
}

.order-summary-shipment-info h3{
    font-size: 20px;
    line-height: normal;
    margin-bottom: 20px;
}

.order-summary-shipment-info ul{
	list-style: none;
	margin: 0 0 20px;
	padding: 0;
}

.order-summary-shipment-info ul li{
	margin-bottom: 15px;
}

.order-summary-shipment-info ul li:last-child{
	margin-bottom: 0;
}

.order-summary-shipment-info ul li,
.order-summary-shipment-info ul li span{
	font-size: 16px;
	line-height: normal;
    color: var(--primary-color);
    font-weight: 600;
	display: flex;
	justify-content: space-between;
	align-items: center;
	gap: 5px 10px;
}

.order-summary-shipment-info ul li span{
	flex-grow: 1;
    font-weight: 400;
    color: var(--text-color);
}

.order-summary-shipment-info ul li span label{
	width: calc(100% - 28px);
}

.order-summary-shipment-info ul li input[type=radio]{
	width: 18px;
	height: 18px;
	accent-color: var(--primary-color);
}

.order-summary-shipment-info p{
    font-size: 16px;
    margin-bottom: 5px;
}

.order-summary-shipment-info p span{
    font-weight: 600;
    color: var(--primary-color);
}

.order-summary-shipment-info a{
	font-family: var(--accent-font);
    font-size: 16px;
    font-weight: 600;
    color: var(--primary-color);
    text-decoration: underline;
}

.order-checkout-button .btn-default{
    width: 100%;
	text-align: center;
	background: var(--primary-color);
	color: var(--white-color);
}

.order-checkout-button .btn-default:hover{
	color: var(--primary-color);
}

.order-checkout-button .btn-default::after{
	background: var(--bg-color);
}

/****************************************/
/***   21. Order Received Page css    ***/
/****************************************/

.page-order-details{
    padding: 120px 0;
}

.order-detail-sidebar{
    border: 1px solid var(--divider-color);
	border-radius: 4px;
    padding: 30px;
}

.order-detail-sidebar-item{
    margin-bottom: 50px;
}

.order-detail-sidebar-item:last-child{
    margin-bottom: 0;
}

h2.order-sidebar-item-title{
    font-size: 20px;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.order-detail-sidebar-item ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.order-detail-sidebar-item ul li{
    line-height: 1.5em;
    margin-bottom: 20px;
}

.order-detail-sidebar-item ul li:last-child{
    margin-bottom: 0;
}

.order-detail-sidebar-item ul li a{
    display: block;
    color: inherit;
    transition: all 0.4s ease-in-out;
}

.order-detail-sidebar-item ul li a:hover{
    color: var(--accent-color);
}

.order-detail-box ul li{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.order-detail-box ul li:last-child{
    padding-bottom: 0;
    border-bottom: none;
}

.order-detail-box ul li span b{
    font-weight: 400;
    color: var(--primary-color);
}

.order-detail-title-box{
    margin-bottom: 40px;
}

.order-detail-title-box h2{
    font-size: 40px;
}

.order-detail-title-box p{
	font-size: 20px;
    margin: 5px 0 0;
}

.order-detail-content-list ul{
    margin: 0;
    padding: 0;
    list-style: none;
}

.order-detail-content-list ul li{
    display: flex;
    gap: 10px;
    justify-content: space-between;
    line-height: 1.5em;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 15px;
    padding-bottom: 15px;
}

.order-detail-content-list ul li:last-child{
    margin-bottom: 0;
    padding-bottom: 0;
    border-bottom: none;
}

.order-detail-content-list ul li span{
    width: 67%;
}

li.order-detail-content-list-title{
	font-family: var(--accent-font);
    font-weight: 500;
    color: var(--primary-color);
}

/****************************************/
/***       22. Checkout Page css      ***/
/****************************************/

.page-checkout{
	padding: 120px 0;
}

.checkout-login-box{
	margin-bottom: 40px;
}

.checkout-login-accordion{
	margin-bottom: 30px;
}

.checkout-login-accordion:last-child{
	margin-bottom: 0;
}

.checkout-accordion-header .checkout-accordion-button{
	position: relative;
	width: 100%;
	font-family: var(--default-font);
	font-size: 16px;
	line-height: 1.25em;
	color: var(--text-color);
	background: transparent;
	border: 1px dashed var(--divider-color);
	border-radius: 4px;
	text-align: left;
	padding: 14px 40px 14px 20px;
}

.checkout-accordion-header .checkout-accordion-button::after,
.checkout-accordion-header .checkout-accordion-button.collapsed::after{
    content: '\f107';
    font-family: 'FontAwesome';
    position: absolute;
    right: 20px;
    top: 50%;
    font-size: 18px;
    color: var(--text-color);
    transform: translateY(-50%);
    transition: all 0.4s ease-in-out;
}

.checkout-accordion-header .checkout-accordion-button:not(.collapsed)::after{
	transform: translateY(-50%) rotate(180deg);
}

.checkout-accordion-header .checkout-accordion-button b{
	color: var(--primary-color);
	font-weight: 400;
	text-decoration: underline;
}

.checkout-accordion-body{
	margin-top: 30px;
}

.checkout-accordion-body-content{
	margin-bottom: 30px;
}

.checkout-accordion-body-content p{
	font-size: 16px;
	margin-bottom: 15px;
}

.checkout-accordion-body-content p:last-child{
	margin-bottom: 0;
}

.checkout-bill-address-form .form-group,
.checkout-login-form .form-group{
	margin-bottom: 30px;
}

.checkout-bill-address-form .form-group:last-child,
.checkout-login-form .form-group:last-child{
	margin-bottom: 0;
}

.checkout-bill-address-form .form-group label,
.checkout-login-form .form-group label{
	font-size: 16px;
	font-weight: 500;
	color: var(--primary-color);
	margin-bottom: 10px;
}

.checkout-bill-address-form .form-control,
.checkout-login-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--text-color);
	border: 1px solid var(--divider-color);
	background-color: transparent;
	border-radius: 4px;
	padding: 12px 20px;
	box-shadow: none;
	outline: none;
}

.checkout-bill-address-form .form-control::placeholder,
.checkout-login-form .form-control::placeholder{
	color: var(--text-color);
}

.checkout-bill-address-form select.form-control{
	padding: 12px 35px 12px 20px;
}

.checkout-login-form-footer{
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 20px;
}

.checkout-login-btn .btn-default{
	background: var(--primary-color);
	color: var(--white-color);
}

.checkout-login-btn .btn-default:hover{
	color: var(--primary-color);
}

.checkout-login-btn .btn-default::after{
	background: var(--bg-color);
}

.checkout-form-checkbox{
	display: flex;
	align-items: center;
	gap: 10px;
}

.checkout-form-checkbox input[type=checkbox]{
	width: 18px;
	height: 18px;
	accent-color: var(--primary-color);
}

.checkout-form-checkbox label{
	font-size: 16px;
	color: var(--text-color);
	cursor: pointer;
    margin: 0;
}

.checkout-bill-address-title{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 30px;
	padding-bottom: 30px;
}

.checkout-bill-address-title h2{
	font-size: 20px;
}

.checkout-form-checkbox.different-address-note{
	margin-top: 20px;
}

.checkout-form-checkbox.different-address-note label{
	font-weight: 400;
	color: var(--text-color);
	margin: 0;
}

.checkout-sidebar-box{
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 15px;
}

.product-total-order-box{
	padding: 15px;
}

.checkout-coupeon-accordion{
	margin-bottom: 30px;
}

.checkout-coupeon-accordion:last-child{
	margin-bottom: 0;
}

.coupeon-accordion-header .coupeon-accordion-button{
	position: relative;
	width: 100%;
	font-family: var(--default-font);
	font-size: 16px;
	line-height: 1.25em;
	color: var(--text-color);
	background: transparent;
	border: 1px dashed var(--divider-color);
	border-radius: 4px;
	text-align: left;
	padding: 14px 40px 14px 20px;
}

.coupeon-accordion-header .coupeon-accordion-button::after,
.coupeon-accordion-header .coupeon-accordion-button.collapsed::after{
    content: '\f107';
    font-family: 'FontAwesome';
    position: absolute;
    right: 20px;
    top: 50%;
    font-size: 18px;
    color: var(--text-color);
    transform: translateY(-50%);
    transition: all 0.3s ease-in-out;
}

.coupeon-accordion-header .coupeon-accordion-button:not(.collapsed)::after{
	transform: translateY(-50%) rotate(180deg);
}

.coupeon-accordion-header .coupeon-accordion-button b{
	color: var(--primary-color);
	font-weight: 400;
	text-decoration: underline;
}

.coupeon-accordion-body{
	margin-top: 30px;
}

.coupeon-accordion-body-content{
	margin-bottom: 20px;
}

.coupeon-accordion-body-content p{
	margin-bottom: 15px;
}

.coupeon-accordion-body-content p:last-child{
	margin-bottom: 0;
}

.coupeon-apply-form{
	display: flex;
	align-items: center;
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 5px;
}

.coupeon-apply-form .form-group{
	min-width: 200px;
	flex: 1;
}

.coupeon-apply-form .form-control{
	font-size: 16px;
    font-weight: 400;
    line-height: 1.5em;
    color: var(--primary-color);
    background-color: transparent;
	background-image: url('../images/icon-tag.svg');
	background-repeat: no-repeat;
	background-position: left 13px top 56%;
	background-size: 14px auto;
    border-radius: 0;
    border: none;
    box-shadow: none;
    outline: none;
    padding: 8px 18px 8px 35px;
}

.coupeon-apply-form .form-control::placeholder{
	color: var(--text-color);
	opacity: 50%;
}

.coupeon-apply-btn .btn-default{
	line-height: normal;
	background: var(--primary-color);
	color: var(--white-color);
	padding: 10px 20px;
}

.coupeon-apply-btn .btn-default::after{
	background: var(--bg-color);
}

.coupeon-apply-btn .btn-default:hover{
	color: var(--primary-color);
}

.product-total-order-title{
	border-bottom: 1px solid var(--divider-color);
	margin-bottom: 25px;
	padding-bottom: 25px;
}

.product-total-order-title h3{
	font-size: 20px;
}

.product-total-item-tag-list{
	display: flex;
	justify-content: space-between;
	gap: 10px;
}

.product-total-item-tag{
	font-size: 16px;
	font-weight: 600;
	color: var(--primary-color);
}

.product-total-item{
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
}

.product-total-item-header{
	max-width: 70%;
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 15px;
}

.product-total-item-image{
	width: 50px;
	height: 50px;
	background: var(--secondary-color);
	border-radius: 4px;
	overflow: hidden;
}

.product-total-item-image figure img{
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
}

.product-total-item-title{
	width: calc(100% - 65px);
}

.product-total-item-title p,
.product-total-item-subtotal p{
	margin: 0;
}

.all-product-total{
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
}

.all-product-total p{
	display: flex;
	justify-content: space-between;
	gap: 15px;
	line-height: normal;
	font-weight: 500;
	color: var(--primary-color);
	margin-bottom: 10px;
}

.all-product-total p:last-child{
	margin-bottom: 0;
}

.product-total-order-list .order-summary-shipment-info{
	border-top: 1px solid var(--divider-color);
	border-bottom: none;
	margin: 20px 0 0 0;
	padding: 20px 0 0 0;
}

.order-payment-info{
	border-top: 1px solid var(--divider-color);
	margin-top: 20px;
	padding-top: 20px;
}

.order-payment-info-item{
	margin-bottom: 20px;
}

.order-payment-info-item:last-child{
	margin-bottom: 0;
}

.order-payment-info-item span{
	display: flex;
	align-items: center;
	gap: 10px;
    font-weight: 400;
    color: var(--text-color);
}

.order-payment-info-item input[type=radio]{
	width: 18px;
	height: 18px;
	accent-color: var(--primary-color);
}

.order-payment-info-item span label{
	width: calc(100% - 28px);
	font-weight: 500;
	color: var(--primary-color);
}

.order-payment-info-item p{
	margin: 10px 0 0 0;
}

.place-order-button{
	margin-top: 15px;
}

.place-order-button .btn-default{
	width: 100%;
	text-align: center;
	background: var(--primary-color);
	color: var(--white-color);
}

.place-order-button .btn-default:hover{
	color: var(--primary-color);
}

.place-order-button .btn-default::after{
	background: var(--bg-color);
}

/****************************************/
/***  23. Account Dashboard Page css  ***/
/****************************************/

.page-my-account{
    padding: 120px 0;
}

.my-account-sidebar-item{
    border: 1px solid var(--divider-color);
	border-radius: 4px;
    padding: 40px;
}

.my-account-sidebar-item ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.my-account-sidebar-item ul li{
    font-weight: 500;
    color: var(--primary-color);
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.my-account-sidebar-item ul li:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.my-account-sidebar-item ul li a{
    display: flex;
    align-items: center;
    gap: 15px;
    color: initial;
    transition: all 0.4s ease-in-out;
}

.my-account-sidebar-item ul li a:hover{
    color: var(--accent-color);
}

.my-account-sidebar-item ul li img{
    width: 100%;
    max-width: 24px;
}

.account-dashboard-detail-box p{
    margin-bottom: 30px;
}

.account-dashboard-detail-box p:last-child{
    margin-bottom: 0;
}

.account-dashboard-detail-box p b{
    font-weight: 600;
    color: var(--primary-color);
}

.account-dashboard-detail-box p a{
    text-decoration: underline;
    color: var(--primary-color);
    transition: all 0.4s ease-in-out;
}

.account-dashboard-detail-box p{
	font-size: 18px;
}

p.account-dashboard-detail-title{
    font-size: 20px;
}

/****************************************/
/***    24. Account Order Page css    ***/
/****************************************/

.page-account-order{
    padding: 120px 0;
}

.account-order-table-box{
	overflow-x: auto;
	cursor: grab;
}

.account-order-table-box table{
	width: 100%;
    white-space: nowrap;
}

.account-order-table-box::-webkit-scrollbar{
	height: 7px;
}

.account-order-table-box::-webkit-scrollbar-track{
	background-color: var(--primary-color);
}

.account-order-table-box::-webkit-scrollbar-thumb{
	background: var(--secobdary-color);
}

.account-order-table-box table tr th{
    min-width: 100px;
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 400;
	line-height: normal;
	color: var(--primary-color);
	padding: 0 10px 20px 0;
}

.account-order-table-box table tr td{
    border-top: 1px solid var(--divider-color);
	padding: 20px 10px 20px 0;
}

.account-order-table-box table tr:last-child td{
    padding-bottom: 0;
}

.account-order-table-box table tr td:last-child{
    padding-right: 0;
}

.account-order-table-box table tr td.account-order-table-no{
    color: var(--primary-color);
}

.account-order-table-box table tr td .btn-default{
	font-weight: 600;
	padding: 8px 30px;
}

.account-order-table-box table tr td .btn-default::before{
    display: none;
}

.account-order-button{
    margin-top: 40px;
}

/****************************************/
/***  25. Account Order View Page css ***/
/****************************************/

.page-account-view-order{
    padding: 120px 0;
}

.view-order-product-info-box .product-header-tag{
    width: calc(53% - 6.67px);
}

.view-order-product-info-box .quantity-header-tag{
    width: calc(27% - 6.67px);
}

.view-order-product-info-box .subtotal-header-tag{
    width: calc(20% - 6.67px);
}

.view-order-product-info-box .cart-item-image-content{
    width: calc(53% - 5px);
}

.view-order-product-info-box .cart-item-quantity-total{
    width: calc(47% - 5px);
}

.view-order-product-info-box .cart-item-subtotal{
    width: 44%;
}

.view-order-product-info-box .cart-item-quantity p:last-child{
    margin: 0;
}

ul.view-order-product-info-list{
    margin: 0;
    padding: 0;
    list-style: none;
}

ul.view-order-product-info-list li{
    display: flex;
    justify-content: space-between;
    gap: 10px;
    font-weight: 500;
    line-height: 1.2em;
    color: var(--primary-color);
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

ul.view-order-product-info-list li:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

ul.view-order-product-info-list li span{
    width: 21%;
    font-weight: 400;
    color: var(--text-color);
}

.view-order-address-item-list{
    display: flex;
    flex-wrap: wrap;
    gap: 30px 90px;
    margin-top: 80px;
}

.view-order-address-item{
    width: calc(50% - 45px);
}

.view-order-address-item h2{
    font-size: 20px;
}

.view-order-address-item ul{
    list-style: none;
    margin: 20px 0 0;
    padding: 20px 0 0;
    border-top: 1px solid var(--divider-color);
}

.view-order-address-item ul li{
    line-height: 1.5em;
    margin-bottom: 20px;
}

.view-order-address-item ul li:last-child{
    margin-bottom: 0;
}

.view-order-address-item ul li a{
    display: block;
    color: inherit;
}

/****************************************/
/***  26. Account Download Page css   ***/
/****************************************/

.page-product-download{
    padding: 120px 0;
}

/****************************************/
/***   27. Account Address Page css   ***/
/****************************************/

.page-my-account-address{
    padding: 120px 0;
}

.account-address-content-header{
    margin-bottom: 40px;
}

.account-address-content-header p:last-child{
    margin-bottom: 0;
}

.account-address-item{
    margin-bottom: 50px;
}

.account-address-item:last-child{
    margin-bottom: 0;
}

.account-address-item-title{
    display: flex;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.account-address-item-title h2{
    font-size: 20px;
}

.account-address-item-title p{
	font-size: 14px;
    font-weight: 600;
    margin-bottom: 0;
}

.account-address-item-title p a{
    display: flex;
    align-items: center;
    gap: 10px;
    color: inherit;
    transition: all 0.4s ease-in-out;
}

.account-address-item-title p a:hover{
    color: var(--primary-color);
}

.account-address-item-title p a img{
    width: 100%;
    max-width: 20px;
    transition: all 0.4s ease-in-out;
}

.account-address-item-title p a:hover img{
    filter: brightness(0) invert(0);
}

.account-address-item-info-list{
    max-width: 415px;
}

.account-address-item-info-list ul{
    list-style: none;
    margin: 0;
    padding: 0;
}

.account-address-item-info-list ul li{
    line-height: 1.5em;
    margin-bottom: 20px;
}

.account-address-item-info-list ul li:last-child{
    margin-bottom: 0;
}

/****************************************/
/***  28. Account Addresses Page css  ***/
/****************************************/

.page-account-addresses{
    padding: 120px 0;
}

.account-address-form-btn{
    margin-top: 10px;
}

/****************************************/
/***   29. Account Details Page css   ***/
/****************************************/

.page-account-details{
    padding: 120px 0;
}

.account-details-content-item{
    margin-bottom: 50px;
}

.account-details-content-item:last-child{
    margin-bottom: 0;
}

/****************************************/
/***   30. Account Wishlist Page css  ***/
/****************************************/

.page-account-wishlist{
    padding: 120px 0;
}

.wishlist-item-header,
.wishlist-item{
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 10px;
    border-bottom: 1px solid var(--divider-color);
    margin-bottom: 20px;
    padding-bottom: 20px;
}

.wishlist-item-header span{
	font-family: var(--accent-font);
	font-size: 20px;
    font-weight: 400;
    line-height: 1.4em;
    color: var(--primary-color);
}

.wishlist-product-tag{
    width: calc(42% - 7.5px);
}

.wishlist-price-tag{
    width: calc(23% - 7.5px);
}

.wishlist-status-tag{
    width: calc(26% - 7.5px);
}

.wishlist-action-tag{
    width: calc(9% - 7.5px);
}

.wishlist-item:last-child{
    border-bottom: none;
    margin-bottom: 0;
    padding-bottom: 0;
}

.wishlist-item-image-content{
    width: calc(65% - 5px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 15px;
}

.wishlist-item-image{
    position: relative;
    background: var(--secondary-color);
    width: 60px;
    height: 60px;
    display: flex;
    justify-content: center;
    align-items: center;
    border-radius: 4px;
	overflow: hidden;
}

.wishlist-item-image figure{
    display: block;
    max-width: 60px;
}

.wishlist-item-image img{
    width: 100%;
    aspect-ratio: 1 / 1;
    object-fit: cover;
}

.wishlist-item-info-content{
    width: calc(100% - 75px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
    flex-grow: 1;
}

.wishlist-item-title p{
    color: var(--primary-color);
    max-width: 160px;
    line-height: normal;
}

.wishlist-item-title p:last-child{
    margin-bottom: 0;
}

.wishlist-item-price{
    width: 43%;
}

.wishlist-item-price p{
    line-height: normal;
    margin-bottom: 5px;
}

.wishlist-item-price p:last-child{
    margin-bottom: 0;
}

.wishlist-item-price p span{
    text-decoration: line-through;
}

.wishlist-item-status-action{
    width: calc(35% - 5px);
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    justify-content: space-between;
    gap: 10px;
}

.wishlist-item-status p:last-child{
    margin-bottom: 0;
}

.wishlist-item-action{
    width: 22%;
}

.wishlist-item-action a{
    display: inline-block;
    color: var(--error-color);
    transition: all 0.4s ease-in-out;
}

.wishlist-item-action a i{
    font-size: 24px;
    color: inherit;
}

.wishlist-item-action a:hover{
    color: var(--primary-color);
}

.wishlist-content-button{
    margin-top: 40px;
}

/****************************************/
/***      	31. Login Page css	      ***/
/****************************************/

.page-login{
    padding: 120px 0;
}

.login-content-box{
    display: flex;
    flex-wrap: wrap;
    gap: 40px 80px;
}

.login-content-form-item{
    width: calc(50% - 40px);
}

.login-content-title-box{
	margin-bottom: 30px;
    padding-bottom: 30px;
    border-bottom: 1px solid var(--divider-color);
}

.login-content-title-box h2{
    font-size: 36px;
}

.login-content-title-box p{
    margin: 15px 0 0;
}

.login-content-form-btn{
    margin-top: 30px;
}

.login-content-form-btn a{
    font-size: 20px;
    color: var(--primary-color);
    text-decoration: underline;
}

.login-form-info p{
    margin-bottom: 15px;
}

.login-form-info p:last-child{
    margin: 0;
}

.login-form-info p a{
    color: var(--primary-color);
    text-decoration: underline;
}

.signup-form-btn{
    margin-top: 30px;
}

.signup-form-btn .btn-default{
    width: 100%;
}

/****************************************/
/***      32. Forgot Password css     ***/
/****************************************/

.page-forgot-password{
    padding: 120px 0;
}

.forgot-password-content-box .login-content-form-item{
    width: auto;
    max-width: 860px;
    margin: 0 auto;
}

/****************************************/
/***    33. Privacy Policy Page css   ***/
/****************************************/

.page-privacy-policy{
	padding: 120px 0;
}

.privacy-policy-sidebar-list ul li{
	padding-bottom: 15px;
	margin-bottom: 15px;
}

.page-category-list.privacy-policy-sidebar-list ul li a{
	padding-right: 0;
}

.privacy-policy-sidebar-list ul li a::before{
	display: none;
}

.privacy-policy-entry-header{
	margin-bottom: 60px;
}

.privacy-policy-entry-header h3{
	font-size: 20px;
	margin-bottom: 20px;
}

.privacy-policy-entry-header p{
	margin-bottom: 20px;
}

.privacy-policy-entry-header h3:last-child,
.privacy-policy-entry-header p:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-header p a{
	color: var(--primary-color);
	transition: all 0.4s ease-in-out;
}

.privacy-policy-entry-header p a:hover{
	color: var(--accent-color);
}

.privacy-policy-entry-item{
	margin-bottom: 60px;
}

.privacy-policy-entry-item:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item .section-title:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item .section-title h2{
	font-size: 36px;
}

.privacy-policy-entry-item .section-title ul{
	list-style: none;
	margin: 20px 0 0;
	padding: 0;
}

.privacy-policy-entry-item .section-title ul li{
	line-height: 1.4em;
	margin-bottom: 10px;
}

.privacy-policy-entry-item .section-title ul li:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item .section-title ul li span{
	color: var(--primary-color);
}

.privacy-policy-entry-item .section-title ul li a{
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.privacy-policy-entry-item .section-title ul li a:hover{
	color: var(--accent-color);
}

.privacy-policy-entry-item-content-box{
	margin-bottom: 50px;
}

.privacy-policy-entry-item-content-box:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item-content-box h3{
	font-size: 22px;
	font-weight: 500;
	margin-bottom: 20px;
}

.privacy-policy-entry-item-content-box p{
	margin-bottom: 15px;
}

.privacy-policy-entry-item-content-box p:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item-content-box p span{
	color: var(--primary-color);
}

.privacy-policy-entry-item-content-box ul{
	list-style: disc;
    margin: 0 0 20px;
    padding: 0 0 0 20px;
}

.privacy-policy-entry-item-content-box.number-list ul{
	list-style: decimal;
	padding-left: 25px;
}

.privacy-policy-entry-item-content-box h3:last-child,
.privacy-policy-entry-item-content-box ul:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item-content-box ul li{
    line-height: 1.4em;
    margin-bottom: 10px;
}

.privacy-policy-entry-item-content-box ul li:last-child{
	margin-bottom: 0;
}

.privacy-policy-entry-item-content-box ul li span,
.privacy-policy-entry-item-content-box ul li::marker{
	color: var(--primary-color);
}

.privacy-policy-entry-item-content-box ul li a{
	color: var(--primary-color);
	transition: all 0.3s ease-in-out;
}

.privacy-policy-entry-item-content-box ul li a:hover{
	color: var(--accent-color);
}

.privacy-policy-entry-item-content-box ul.contact-list-box{
	padding: 0;
}

.privacy-policy-entry-item-content-box ul.contact-list-box{
	list-style: none;
}

.privacy-policy-entry-item-content-box ul.contact-list-box li b{
	font-weight: 600;
	color: var(--primary-color);
}

/****************************************/
/***   34. Term Condition Page css    ***/
/****************************************/

.page-terms-conditions{
    padding: 120px 0;
}

/****************************************/
/***   35. Refund Return Policy css   ***/
/****************************************/

.page-refund-return-policy{
    padding: 120px 0;
}

/****************************************/
/***	36. Cancellation Policy css   ***/
/****************************************/

.page-cancellation-policy{
    padding: 120px 0;
}

/****************************************/
/***   37. Delivery Policy Page css   ***/
/****************************************/

.page-delivery-policy{
    padding: 120px 0;
}

/****************************************/
/***     38. Testimonials Page css    ***/
/****************************************/

.page-testimonials{
	padding: 120px 0 90px;
}

.page-testimonials .testimonial-item{
	min-height: 440px;
	background-color: var(--secondary-color);
	border-radius: 4px;
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 30px;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 40px;
}

.page-testimonials .testimonial-item .testimonial-item-author{
	border-color: var(--divider-color);
	padding-right: 0;
	margin-top: 0;
}

.page-testimonials .testimonial-item .testimonial-item-content p,
.page-testimonials .testimonial-item .testimonial-author-content p{
	color: var(--text-color);
}

.page-testimonials .testimonial-item .testimonial-item-rating i,
.page-testimonials .testimonial-item .testimonial-author-content h2{
	color: var(--accent-color);
}

/****************************************/
/***		 39. Faqs Page css  	  ***/
/****************************************/

.page-faqs{
	padding: 120px 0;
}

.page-category-list{
	border: 1px solid var(--divider-color);
	border-radius: 4px;
    margin-bottom: 30px;
}

.page-category-list ul{
	list-style: none;
    margin: 0;
	padding: 30px;
}

.page-category-list ul li{
    line-height: 1.5em;
    border-bottom: 1px solid var(--divider-color);
    padding-bottom: 20px;
    margin-bottom: 20px;
}

.page-category-list ul li:last-child{
    border-bottom: none;
    margin: 0;
    padding: 0;
}

.page-category-list ul li a{
    position: relative;
    display: block;
    text-transform: capitalize;
	color: inherit;
    padding-right: 25px;
    transition: all 0.3s ease-in-out;
}

.page-category-list ul li a:hover{
    color: var(--primary-color);
}

.page-category-list ul li a::before{
	content: '';
    position: absolute;
    top: 50%;
    right: 0;
    background: url('../images/arrow-primary.svg') no-repeat;
    background-position: center center;
    background-size: cover;
    width: 12px;
    height: 12px;
    transform: translateY(-50%);
    transition: all 0.4s ease-in-out;
}

.page-category-list ul li a:hover::before{
	transform:translateY(-50%) rotate(45deg);
}

.sidebar-cta-box{
	border: 1px solid var(--divider-color);
	border-radius: 4px;
	padding: 30px;
}

.sidebar-cta-title{
	max-width: 242px;
}

.sidebar-cta-box h2{
	font-size: 22px;
	line-height: 1.4em;
}

.sidebar-cta-box ul{
	border-top: 1px solid var(--divider-color);
	margin: 40px 0 0 0;
    padding: 30px 0 0 0;
    list-style: none;
}

.sidebar-cta-box ul li{
	color: var(--text-color);
    line-height: 1.5em;
    margin-bottom: 15px;
}

.sidebar-cta-box ul li:last-child{
    margin-bottom: 0;
}

.sidebar-cta-box ul li a{
    color: inherit;
    transition: all 0.4s ease-in-out;
}

.sidebar-cta-box ul li a:hover{
    color: var(--primary-color);
}

.sidebar-cta-box ul li a img{
    width: 100%;
    max-width: 20px;
    margin-right: 10px;
}

.page-faq-accordion{
    margin-bottom: 60px;
}

.page-faq-accordion:last-child{
    margin-bottom: 0px;
}

/****************************************/
/***     40. Contact Us Page css  	  ***/
/****************************************/

.page-contact-us{
	padding: 120px 0 60px;
}

.google-map-iframe{
	margin-right: 20px;
}

.google-map-iframe,
.google-map-iframe iframe{
	height: 100%;
	border-radius: 4px;
	overflow: hidden;
}

.google-map-iframe iframe{
	width: 100%;
	filter: grayscale(0.8);
	transition: all 0.6s ease-in-out;
}

.google-map-iframe:hover iframe{
	filter: grayscale(0);
}

.contact-form label{
	font-family: var(--accent-font);
	font-size: 20px;
	color: var(--text-color);
	line-height: 1.2em;
	margin-bottom: 10px;
}

.contact-form .form-control{
	font-size: 16px;
	font-weight: 400;
	line-height: 1.5em;
	color: var(--primary-color);
	background: var(--secondary-color);
	border-radius: 4px;
	padding: 12px 20px;
	border: none;
	box-shadow: none;
	outline: none;
}

.contact-form .form-control::placeholder{
	color: var(--text-color);
}

.contact-form-btn{
	margin-top: 15px;
}

.contact-form .btn-default{
	width: 100%;
	text-align: center;
	background: var(--accent-color);
	color: var(--white-color);
} 

.contact-form .btn-default:hover{
	color: var(--primary-color);
}

.contact-form .btn-default::after{
	background: var(--secondary-color);
}

.contact-info-box{
	padding: 60px 0 90px;
}

.contact-info-item{
	background: var(--secondary-color);
	border-radius: 4px;
	align-content: center;
	text-align: center;
	height: calc(100% - 30px);
	margin-bottom: 30px;
	padding: 30px;
}

.contact-info-item .icon-box{
	position: relative;
	width: 50px;
	height: 50px;
	background: var(--accent-color);
	border-radius: 50%;
	display: inline-flex;
	justify-content: center;
	align-items: center;
	margin: 0 auto 30px;
	transition: all 0.5s ease-in-out;
}

.contact-info-item:hover .icon-box{
	background: transparent;
}

.contact-info-item .icon-box::before{
	content: '';
    position: absolute;
    top: 0;
    right: 0;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 100%;
	background: var(--white-color);
    border: 1px solid var(--accent-color);
    border-radius: 50%;
    transform: scale(0);
    transition: all 0.4s ease-in-out;
    z-index: 0;
}

.contact-info-item:hover .icon-box::before{
	transform: scale(1);
}

.contact-info-item .icon-box img{
	position: relative;
	width: 100%;
	max-width: 24px;
	transition: all 0.4s ease-in-out;
	z-index: 1;
}

.contact-info-item:hover .icon-box img{
	filter: brightness(0) invert(0);
}

.contact-info-content p{
	line-height: normal;
	margin: 0 0 5px;
}

.contact-info-content ul{
	margin: 0;
	padding: 0;
	list-style: none;
}

.contact-info-content ul li{
	font-family: var(--accent-font);
	font-size: 24px;
	line-height: 1.2em;
	margin-bottom: 5px;
}

.contact-info-content ul li:last-child{
	margin-bottom: 0;
}

.contact-info-content ul li a{
	color: inherit;
	transition: all 0.3s ease-in-out;
}

.contact-info-content ul li a:hover{
	color: var(--primary-color);
}

/****************************************/
/***     41. 404 Error Page css  	  ***/
/****************************************/

.error-page{
	padding: 120px 0;
}

.error-page-image{
	text-align: center;
	margin-bottom: 40px;
}

.error-page-image img{
	width: 100%;
	max-width: 630px;
}

.error-page-content{
	text-align: center;
}

.error-page-content .section-title{
	margin-bottom: 15px;
}

/****************************************/
/***       42. Responsive css         ***/
/****************************************/

@media only screen and (min-width: 769px){

	.dropdown:hover > .dropdown-menu{
		display: block;
	}	
}

@media only screen and (max-width: 1366px){

	.dropdown-menu{
		padding: 40px 15px;
	}

	.mega-menu-box{
		padding: 0;
	}

	.main-menu ul .nav-item{
		margin: 0 10px;
	}
}

@media only screen and (max-width: 1024px){

	.navbar{
		padding: 15px 0px;
		flex-wrap: nowrap;
		align-items: center;
	}

	.navbar-brand img{
		max-width: 195px;
	}

	.main-menu{
		flex-direction: row-reverse;
		gap: 30px;
	}

	.main-menu .navbar-collapse{
		display: none !important;
	}

	.slicknav_menu ul.dropdown-menu{
		position: initial !important;
		transform: none !important;
		display: none;
		border-radius: 0;
		opacity: 1;
		visibility: visible;
		padding: 30px 15px;
		margin: 0;
		border: none;
		transition: inherit;
	}

	.slicknav_nav .mega-menu-box{
		display: flex;
		flex-wrap: wrap;
		gap: 30px;
	}

	.mega-menu-links-box{
		width: 100%;
		gap: 30px;
	}

	.mega-menu-link{
		width: calc(50% - 15px);
	}

	.mega-menu-link h2{
		margin-bottom: 15px;
    	padding-bottom: 15px;
	}

	.slicknav_menu .mega-menu-link ul{
		padding: 0;
	}

	.slicknav_menu .mega-menu-link ul li{
		margin-bottom: 10px;
	}

	.slicknav_menu .mega-menu-link ul li:last-child{
		margin-bottom: 0;
	}

	.slicknav_menu .mega-menu-link ul li a{
		color: var(--primary-color);
		padding: 0;
	}

	.mega-menu-items-list{
		width: 100%;
	}

	.mega-menu-item.big-offer-box{
		padding: 20px;
	}

	.slicknav_menu .mega-menu-item-image a{
		padding: 0;
	}

	.slicknav_menu .mega-menu-item-content h2 a,
	.mega-menu-item-content h2{
		font-size: 20px;
		color: var(--primary-color);
		padding: 0;
	}

	.mega-menu-item.big-offer-box .mega-menu-item-content h2{
		font-size: 26px;
	}

	.responsive-menu,
    .navbar-toggle{
        display: block;
    }

	.slicknav_nav li,
	.slicknav_nav ul{
        display: block;
    }

	.section-content-btn .section-btn{
		margin-top: 20px;
	}
	
	.section-title-content{
        margin-top: 10px;
    }

	.section-title-content p{
		margin-bottom: 10px;
	}

	.section-title p{
		margin-top: 10px;
	}

	.section-btn{
        text-align: left;
        margin-top: 15px;
	}

	.section-title.section-sub-heading,
	.section-title .section-sub-title{
		margin-bottom: 10px;
	}

	.hero{
		padding: 120px 0;
	}

	.hero-content{
		margin: 0;
	}

	.key-benefit-item{
		width: calc(50% - 15px);
	}

	.top-offer-item{
		width: calc(50% - 15px);
	}

	.intro-video{
		min-height: 680px;
	}

	.intro-video-item-list{
		margin-top: 200px;
	}

	.collection-item{
		gap: 20px 30px;
		padding: 30px;
	}

	.collection-item-content{
		width: calc(46% - 15px);
	}

	.collection-item-image-box{
		width: calc(54% - 15px);
	}

	.promise-item-list{
		gap: 30px 40px;
	}

	.promise-item{
		width: calc(20% - 32px);
	}

	.promise-item::before{
		right: -20px;
	}

	.faqs-content-box{
		position: initial;
		margin-bottom: 30px;
	}

	.limited-offer-item{
		min-height: 440px;
	}

	.limited-offer-item-body{
		padding: 30px;
	}

	.post-featured-image img{
		aspect-ratio: 1 / 0.75;
	}

	.about-footer{
		max-width: 100%;
		margin-bottom: 30px;
	}

	.about-footer-content{
		margin-top: 15px;
	}

	.footer-newsletter-form{
		margin-top: 30px;
	}

	.footer-links-box{
		margin: 0;
	}

	.footer-links h2{
		margin-bottom: 20px;
	}

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

	.footer-contact-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.footer-copyright{
		margin-top: 30px;
		padding: 30px 0;
	}

	.mission-vision-item{
        min-height: 440px;
		padding: 30px;
    }

	.why-customer-choose-video{
		height: 550px;
	}

	.what-we-item .icon-box{
		margin-bottom: 30px;
	}

	.what-we-item-content p{
		margin: 15px 0 0 0;
	}

	.why-customer-choose{
		padding: 120px 15px;
	}

	.why-customer-choose-content{
		padding: 30px 0 0; 
	}

	.page-single-sidebar{
        margin: 0;
    }

	.product-category-item{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }
    
    .product-category-item-title{
        font-size: 20px;
        margin-bottom: 15px;
    }
    
    .product-category-item ul li{
        margin-bottom: 10px;
    }

    .product-item-list .product-item{
        width: calc(50% - 7.5px);
    }
    
    .page-single-sidebar .product-category-filter-header{
        margin-bottom: 20px;
    }

	.product-single-info-content,
	.product-single-image-box{
		width: 100%;
	}

	.product-single-image-box{
		position: initial;
		max-width: 740px;
		margin: 0 auto;
	}

	.related-product-items-list .product-item{
		width: calc(50% - 10px);
	}

	.page-single-sidebar.right-side-sidebar{
		position: initial;
        margin: 30px 0 0;
    }

    .order-summary-box-title,
    .order-summary-promocode-box,
    .order-summary-shipment-info{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

	.my-account-sidebar-item{
		padding: 30px;
	}

	.login-content-box{
        gap: 40px;
    }

    .login-content-form-item{
        width: calc(50% - 20px);
    }

	.page-category-list ul{
		padding: 20px;
	}

	.page-category-list ul li{
		padding-bottom: 15px;
    	margin-bottom: 15px;
	}

	.sidebar-cta-box{
		padding: 20px;
	}

	.sidebar-cta-box ul{
		margin: 30px 0 0 0;
	}

	.view-order-address-item-list{
		gap: 30px;
	}

	.view-order-address-item{
		width: calc(50% - 15px);
	}

	.google-map-iframe{
		margin: 0 0 30px;
	}

	.google-map-iframe{
		height: 480px;
	}

	.contact-form-btn{
		margin-top: 5px;
	}

	.contact-info-item{
		padding: 20px;
	}

	.contact-info-item .icon-box{
		margin-bottom: 20px;
	}

	.contact-info-content ul li{
		font-size: 20px;
	}
}

@media only screen and (max-width: 991px){

	.topbar{
		padding: 10px 0;
	}

	.topbar-social-list ul{
		gap: 10px;
	}

	.topbar-info-content p{
		font-size: 14px;
		padding: 0px;
	}

	.topbar-info-content p::before,
	.topbar-info-content p::after{
		display: none;
	}

	.btn-default{
		padding: 15px 20px;
	}
		
	header.main-header{
		top: 0px;
		right: 0px;
		left: 0px;
	}

	header.main-header .header-sticky{
		width: 100%;
	}
	
	header.main-header .header-sticky.active{
        width: 100%;
		border-radius: 0;
        top: 0;
		left: 0;
		right: 0;
	}

	.section-row{
		margin-bottom: 40px;
	}
	
	.section-title{
		margin-bottom: 30px;
	}

	.section-title .section-sub-title{
		padding: 7px 12px 7px 26px;
	}

	.section-title .section-sub-title::before{
		left: 12px;
	}

	.section-title h1{
		font-size: 44px;
	}

	.section-title h2{
		font-size: 34px;
	}

	.hero-content-list ul li{
		padding-left: 28px;
	}

	.hero-content-list ul li::before{
		height: 20px;
		width: 20px;
	}

	.hero-content-body{
		margin-top: 30px;
		padding-top: 30px;
		gap: 20px 30px;
	}

	.google-rating-box{
		gap: 10px;
	}

	.google-rating-box .google-rating-logo img{
		max-width: 46px;
	}

	.google-rating-content{
		width: calc(100% - 56px);
	}

	.google-rating-content h2{
		font-size: 20px;
	}

	.key-benefit-box{
		padding: 20px 0;
	}

	.key-benefit-item .icon-box img{
		max-width: 50px;
	}

	.key-benefit-item-content{
		width: calc(100% - 65px);
	}

	.our-best-sellers{
		padding: 60px 0 30px;
	}

	.top-selling-item-list{
		gap: 24px 20px;
	}

	.top-selling-item{
		width: calc(25% - 15px);
	}

	.top-selling-item-image{
		max-width: 130px;
		margin-bottom: 16px;
	}

	.top-offer-item-list{
		margin-top: 50px;
	}

	.top-offer-item{
		padding: 20px;
	}

	.top-offer-item-content{
		width: calc(100% - 160px);
	}

	.top-offer-item-content .top-offer-item-title{
		margin-bottom: 10px;
	}

	.top-offer-item-content h3{
		font-size: 20px;
	}

	.top-offer-item-btn{
		margin-top: 30px;
	}

	.top-offer-item-image{
		margin: -20px -20px -20px 0;
	}

	.top-offer-item-image img{
		max-width: 170px;
	}

	.our-products{
		padding: 30px 0 60px;
	}

	.intro-video{
		min-height: 530px;
	}

	.video-play-button a span{
		width: 60px;
		height: 60px;
	}

	.video-play-button a span i{
		font-size: 24px;
	}

	.intro-video-item-list{
		gap: 30px;
		margin-top: 130px;
	}

	.intro-video-item{
		width: calc(25% - 22.5px);
	}

	.intro-video-item:before{
		right: -15px;
	}

	.intro-video-item .icon-box{
		margin-bottom: 20px;
	}

	.intro-video-item .icon-box img{
		max-width: 50px;
	}

	.our-collection{
		padding: 60px 0 0;
	}

	.collection-item-content,
	.collection-item-image-box{
		gap: 20px;
	}

	.collection-item-title h3{
		font-size: 22px;
	}

	.collection-item-image img{
		aspect-ratio: 1 / 0.65;
	}

	.our-promise{
		padding: 30px 0;
	}

	.promise-item{
        width: calc(33.33% - 26.67px);
    }

	.promise-item:nth-child(5n + 5)::before{
		display: block;
	}
	
	.promise-item:last-child::before,
	.promise-item:nth-child(3n + 3)::before{
		display: none;
	}

	.promise-item .icon-box{
		min-height: 120px;
	}

	.promise-item .icon-box img{
		max-width: 55px;
	}
	
	.our-testimonials{
		padding: 60px 0;
	}

	.testimonials-content-box{
		max-width: 100%;
	}

	.testimonials-content-box .section-title{
		margin-bottom: 30px;
	}

	.testimonial-item-author{
		margin-top: 30px;
		padding-top: 30px;
	}

	.testimonial-item-content p{
		font-size: 16px;
	}

	.our-faqs{
		padding: 60px 0 30px;
	}

	.faq-accordion .accordion-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 18px;
		padding-right: 28px;
	}

	.faq-accordion .accordion-item .accordion-button::after,
	.faq-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 20px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding: 10px 28px 0 0;
	}

	.limited-offer-item-list{
		gap: 20px;
		margin-top: 60px;
	}

	.limited-offer-item{
		width: calc(50% - 10px);
	}

	.limited-offer-item-body{
		padding: 30px 25px;
	}

	.limited-offer-item-content span{
		margin-bottom: 10px;
	}

	.limited-offer-item-content h2{
		font-size: 34px;
	}

	.limited-offer-btn{
		margin-top: 30px;
	}

	.our-blog{
		padding: 30px 0;
	}

	.post-featured-image{
		margin-bottom: 15px;
	}

	.post-item .post-item-btn{
		margin-top: 15px;
		padding-top: 15px;
	}

	.main-footer{
		padding: 50px 0 0;
	}

	.page-header{
		padding: 90px 0;
	}

	.page-header-box h1{
		font-size: 44px;
	}

	.about-us{
		padding: 60px 0 30px;
	}

	.mission-vision-item{
		min-height: 400px;
	}

	.mission-vision-item-content h3{
		font-size: 24px;
	}

	.mission-vision-item-content p{
		margin-top: 15px;
	}

	.section-footer-text{
		margin-top: 10px;
	}

	.section-footer-text p{
		margin-bottom: 10px;
	}

	.about-us .section-footer-text{
		margin-top: 40px;
	}

	.what-we-do{
		padding: 30px 0;
	}

	.what-we-item .icon-box img{
		max-width: 50px;
	}

	.why-customer-choose{
		padding: 60px 15px;
	}

	.customer-accordion .accordion-item{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.customer-accordion .accordion-header .accordion-button{
		font-size: 18px;
		padding-right: 28px;
	}

	.customer-accordion .accordion-item .accordion-button::after,
	.customer-accordion .accordion-item .accordion-button.collapsed::after{
		font-size: 20px;
	}

	.customer-accordion .accordion-item .accordion-body{
		padding: 10px 28px 0 0;
	}

	.our-team{
		padding: 60px 0 30px;
	}

	.team-item-image{
    	max-width: 260px;
	}

	.team-item-content{
		margin-top: 15px;
	}

	.page-about-faq{
		padding: 60px 0;
	}

	.page-blog{
		padding: 60px 0px;
	}

	.page-pagination{
		margin-top: 10px;
	}

	.page-single-post{
        padding: 60px 0;
    }
    
    .post-image{
        margin-bottom: 20px;
    }
    
    .post-entry h2{
        font-size: 34px;
    }
    
    .post-entry p{
        margin-bottom: 15px;
    }
    
    .post-entry ol li,
    .post-entry ul li{
		font-size: 16px;
        margin-bottom: 10px;
    }
    
    .post-entry blockquote{
        background-position: 20px 20px;
        background-size: 40px;
        padding: 20px 20px 20px 70px;
        margin-bottom: 20px;
    }
    
    .post-entry blockquote p{
        font-size: 18px;
    }
    
    .post-tags{
        margin-bottom: 20px;
    }

    .post-tags .tag-links a{
        padding: 12px 15px;
    }
    
    .post-social-sharing ul{
        text-align: left;
    }

	.page-products{
        padding: 60px 0;
    }

	.page-single-sidebar{
		position: initial;
		margin: 0 0 30px;
	}

    .product-category-sorting-list .form-select{
        padding: 8px 35px 8px 12px;
    }

    .product-learn-more-btn{
        margin-top: 30px;
    }

	.page-product-single{
		padding: 30px 0;
	}

	.product-single-breadcrumb-list{
		margin-bottom: 25px;
	}

	.product-single-price h2,
	.product-single-title h1{
		font-size: 26px;
	}

	.product-single-price h2 sub{
		font-size: 18px;
	}

	.qty-box{
		gap: 10px;
		padding: 10px 12px;
	}

	.product-single-action ul li a{
		padding: 10px 15px;
	}

	.product-shipping-box ul li{
		margin-bottom: 10px;
	}

	.product-single-review-box{
		margin-top: 60px;
	}

	.product-step-nav{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.product-step-nav ul li .nav-link{
		font-size: 18px;
	}

	.product-step-nav ul li .nav-link::before{
		bottom: -21px;
	}

	.product-tab-item-box h2{
		font-size: 26px;
		margin-bottom: 10px;
	}

	.product-tab-item-box p{
		margin: 10px 0 0 0;
	}

	.review-form,
	.customer-review-list{
		width: 100%;
	}

	.customer-review-item{
		margin-bottom: 30px;
	}

	.customer-review-item-content p{
		margin: 0 0 5px 0;
	}

	.review-form .form-control{
		padding: 10px 15px;
	}

	.related-products{
		padding: 30px 0 60px;
	}

	.page-cart{
		padding: 60px 0;
	}

	.cart-item-image-content{
		gap: 15px;
	}

	.cart-item-info-content{
		width: calc(100% - 105px);
	}

	.cart-item-buttons{
		gap: 15px 30px;
		margin-top: 30px;
	}

	.cart-item-buttons .btn-default{
		padding: 15px 16px 15px 40px;
	}

	.cart-item-buttons .btn-default.btn-update::before,
	.cart-item-buttons .btn-default.btn-clear::before{
		left: 14px;
		font-size: 16px;
	}

	.interested-products-box{
		margin-top: 60px;
	}

	.interested-products-box-title{
		margin-bottom: 20px;
	}

	.interested-products-box-title h2{
		font-size: 26px;
	}

	.order-summary-promocode-form{
		margin-bottom: 20px;
	}

	.order-summary-promocode-form .form-group button.promocode-btn{
		padding: 8px 15px;
		min-width: 80px;
	}

	.page-order-details{
        padding: 60px 0;
    }

    .order-detail-title-box h2{
        font-size: 34px;
    }

	.page-checkout{
		padding: 60px 0;
	}

	.checkout-login-box{
		margin-bottom: 30px;
	}

	.checkout-accordion-header .checkout-accordion-button{
		padding: 12px 35px 12px 15px;
	}

	.checkout-accordion-header .checkout-accordion-button::after,
	.checkout-accordion-header .checkout-accordion-button.collapsed::after{
		right: 15px;
	}

	.checkout-accordion-body{
		margin-top: 20px;
	}

	.checkout-accordion-body-content{
		margin-bottom: 20px;
	}

	.checkout-bill-address-title{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.checkout-bill-address-form .form-group,
	.checkout-login-form .form-group{
		margin-bottom: 20px;
	}

	.checkout-bill-address-form .form-control,
	.checkout-login-form .form-control{
		padding: 10px 15px;
	}

	.checkout-bill-address-form select.form-control{
		padding: 10px 35px 10px 15px;
	}

	.checkout-form-checkbox.different-address-note{
		margin-top: 15px;
	}

	.checkout-form-checkbox.different-address-note label{
		margin-bottom: 0;
	}

	.checkout-coupeon-accordion{
		margin-bottom: 20px;
	}

	.coupeon-accordion-header .coupeon-accordion-button{
		padding: 12px 35px 12px 15px;
	}

	.coupeon-accordion-header .coupeon-accordion-button::after,
	.coupeon-accordion-header .coupeon-accordion-button.collapsed::after{
		right: 15px;
	}

	.coupeon-accordion-body{
		margin-top: 20px;
	}

	.coupeon-accordion-body-content{
		margin-bottom: 15px;
	}

	.coupeon-apply-form .form-control{
		padding: 7px 18px 7px 35px;
	}

	.product-total-order-title{
		margin-bottom: 20px;
		padding-bottom: 20px;
	}

	.all-product-total,
	.product-total-item{
		margin-top: 15px;
		padding-top: 15px;
	}

	.order-summary-shipment-info ul li{
		margin-bottom: 10px;
	}

	.page-my-account{
        padding: 60px 0;
    }

    .my-account-sidebar-item ul li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .account-dashboard-detail-box p{
        margin-bottom: 15px;
    }

	.page-account-order{
        padding: 60px 0;
    }
    
    .account-order-button{
        margin-top: 30px;
    }

	.page-account-view-order{
        padding: 60px 0;
    }

    ul.view-order-product-info-list li{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .view-order-address-item-list{
        margin-top: 40px;
    }

    .view-order-address-item ul li{
        margin-bottom: 15px;
    }

	.page-product-download{
		padding: 60px 0;
	}

	.page-my-account-address{
        padding: 60px 0;
    }
    
    .account-address-content-header{
        margin-bottom: 30px;
    }

    .account-address-item{
        margin-bottom: 30px;
    }

    .account-address-item-title{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .account-address-item-info-list ul li{
        margin-bottom: 15px;
    }

	.page-account-addresses{
        padding: 60px 0;
    }

	.page-account-details{
        padding: 60px 0;
    }

    .account-details-content-item{
        margin-bottom: 30px;
    }

	.page-account-wishlist{
        padding: 60px 0;
    }

    .wishlist-content-button{
        margin-top: 30px;
    }

	.page-login{
        padding: 60px 0;
    }

    .login-content-form-item{
        width: 100%;
    }

    .login-content-title-box{
        margin-bottom: 20px;
        padding-bottom: 20px;
    }

    .login-content-title-box h2{
        font-size: 30px;
    }

    .login-content-title-box p{
        margin: 10px 0 0;
    }

    .login-content-form-btn{
        margin-top: 20px;
    }

    .login-content-form-btn a{
        font-size: 18px;
    }

    .signup-form-btn{
        margin-top: 20px;
    }

	.page-forgot-password{
        padding: 60px 0;
    }

	.page-privacy-policy{
		padding: 60px 0;
	}

	.privacy-policy-entry-header{
		margin-bottom: 40px;
	}
	
	.privacy-policy-entry-header h3{
		margin-bottom: 15px;
	}	

	.privacy-policy-entry-item{
		margin-bottom: 40px;
	}

	.privacy-policy-entry-item .section-title h2{
		font-size: 30px;
	}

	.privacy-policy-entry-item-content-box{
		margin-bottom: 30px;
	}

	.privacy-policy-entry-item-content-box h3{
		font-size: 20px;
		margin-bottom: 15px;
	}

	.privacy-policy-entry-item-content-box p{
		margin-bottom: 10px;
	}

	.privacy-policy-entry-item-content-box ul{
		margin-bottom: 15px;
	}

	.page-terms-conditions{
        padding: 60px 0;
    }

	.page-refund-return-policy{
        padding: 60px 0;
    }

	.page-cancellation-policy{
        padding: 60px 0;
    }

	.page-delivery-policy{
        padding: 60px 0;
    }

	.page-testimonials{
		padding: 60px 0 30px;
	}

	.page-testimonials .testimonial-item{
		padding: 30px;
		min-height: 350px;
	}

	.page-faqs{
		padding: 60px 0;
	}

	.sidebar-cta-box h2{
		font-size: 20px;
		max-width: 100%;
	}

	.sidebar-cta-box ul{
		margin: 20px 0 0 0;
		padding: 20px 0 0 0;
	}

	.page-faq-accordion{
		margin-bottom: 40px;
	}

	.page-contact-us{
		padding: 60px 0 30px;
	}

	.contact-form label{
		font-size: 18px;
	}

	.contact-info-box{
		padding: 30px 0;
	}

	.error-page{
		padding: 60px 0px;
	}
	
	.error-page-image{
		margin-bottom: 20px;
	}
}

@media only screen and (max-width: 767px){

	.topbar .row .col-0{
		display: none;
	}

	.navbar-brand img{
		max-width: 165px;
	}

	.main-menu{
		gap: 12px;
	}

	.header-action-details ul{
		gap: 8px;
	}

	.header-action-details ul li button img,
	.header-action-details ul li a img{
		max-width: 20px;
	}

	.slicknav_menu ul.dropdown-menu{
		padding: 20px 15px;
	}

	.mega-menu-links-box{
		gap: 20px;
	}

	.mega-menu-link{
        width: calc(50% - 10px);
    }

	.mega-menu-items-list{
		gap: 20px;
	}

	.mega-menu-item{
		width: calc(50% - 10px);
	}

	.mega-menu-item.big-offer-box{
		width: 100%;
		min-height: 180px;
	}

	.slicknav_menu .mega-menu-item-content h2 a,
	.mega-menu-item-content h2{
		font-size: 18px;
	}

	.section-row{
		margin-bottom: 30px;
	}

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

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

	.hero{
		padding: 60px 0;
	}

	.hero-content-list ul{
		gap: 10px;
	}

	.hero-content-list ul li{
		width: 100%;
	}

	.hero-content-body{
		gap: 20px;
	}

	.google-rating-box .google-rating-logo img{
		max-width: 40px;
	}

	.google-rating-content{
		width: calc(100% - 50px);
	}

	.google-rating-star i{
		font-size: 14px;
	}

	.google-rating-content h2{
        font-size: 18px;
    }

	.key-benefit-item-list{
		gap: 20px;
	}

	.key-benefit-item{
        width: 100%;
    }

	.key-benefit-item-content h3{
		font-size: 18px;
	}

	.key-benefit-item-content p{
		margin: 5px 0 0;
	}

	.top-selling-item{
		width: calc(50% - 10px);
	}

	.top-selling-item-image{
		max-width: 120px;
		margin-bottom: 10px;
	}

	.top-selling-item-content h3{
		font-size: 16px;
	}

	.top-offer-item-list{
		gap: 20px;
		margin-top: 30px;
	}

	.top-offer-item{
		width: 100%;
	}

	.top-offer-item-content{
		width: calc(100% - 140px);
	}
	
	.top-offer-item-content h3{
        font-size: 18px;
    }

	.top-offer-item-btn{
        margin-top: 20px;
    }

	.top-offer-item-image img{
        max-width: 150px;
    }

	.product-item-header{
		margin-bottom: 15px;
	}

	.product-item-content .product-item-title{
		font-size: 18px;
	}

	.product-item-price{
		margin-top: 5px;
	}

	.product-item-price h3{
		font-size: 16px;
	}
	
	.product-slider-btn .product-slider-button-prev,
	.product-slider-btn .product-slider-button-next{
		top: 150px;
		height: 40px;
		width: 40px;
	}

	.product-slider-button-prev::before,
	.product-slider-button-next::before{
        height: 12px;
        width: 12px;
    }

	.intro-video-item-list{
		margin-top: 60px;
	}

	.intro-video-item{
        width: calc(50% - 15px);
    }

	.intro-video-item .icon-box{
        margin-bottom: 10px;
    }

	.intro-video-item .icon-box img{
        max-width: 40px;
    }

	.intro-video-item-content h3{
		font-size: 18px;
	}

	.intro-video-item:nth-child(4n + 4):before{
		display: block;
	}

	.intro-video-item:nth-child(2n + 2):before,
	.intro-video-item:last-child:before{
		display: none;
	}
	
	.collection-item{
		padding: 20px;
	}
	
	.collection-item-content,
	.collection-item-image-box{
		width: 100%;
		gap: 15px;
	}

	.promise-item{
        width: calc(50% - 20px);
    }

	.promise-item:nth-child(3n + 3)::before{
		display: block;
	}

	.promise-item:last-child::before,
	.promise-item:nth-child(2n + 2)::before{
		display: none;
	}

	.promise-item .icon-box{
		min-height: 100px;
	}

	.promise-item .icon-box img{
		max-width: 50px;
	}

	.promise-item-content h3{
		font-size: 18px;
	}

	.testimonial-item-author{
        margin-top: 20px;
        padding: 20px 0 0 0;
    }

	.testimonial-author-content h2{
		font-size: 18px;
	}

	.testimonial-btn{
		position: initial;
		justify-content: center;
		margin: 20px 0 0;
	}

	.testimonial-slider .testimonial-button-next,
	.testimonial-slider .testimonial-button-prev{
		width: 40px;
		height: 40px;
	}

	.testimonial-slider .testimonial-button-next::before,
	.testimonial-slider .testimonial-button-prev::before{
		background-size: 12px auto;
	}

	.faq-accordion .accordion-header .accordion-button{
		font-size: 16px;
	}

	.faq-accordion .accordion-item .accordion-body{
		padding-right: 0;
	}

	.faq-accordion .accordion-item .accordion-body p{
		font-size: 14px;
	}

	.limited-offer-item{
		width: 100%;
		min-height: 360px;
	}

	.limited-offer-item-body{
		padding: 20px;
	}

	.limited-offer-item-content h2{
        font-size: 26px;
    }

	.post-item-content h2{
		font-size: 18px;
	}

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

	.footer-links.footer-contact-box,
	.footer-links{
		max-width: 100%;
	}

	.footer-links h2{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.footer-contact-item{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

	.footer-contact-item-content h3{
		font-size: 18px;
	}

	.footer-copyright{
		padding: 15px 0;
	}

	.page-header-box h1{
		font-size: 28px;
	}

	.mission-vision-item{
        min-height: 360px;
        padding: 20px;
        width: 100%;
    }

	.mission-vision-item-content h3{
        font-size: 22px;
    }

	.mission-vision-item-content p{
        margin-top: 10px;
    }

	.what-we-item .icon-box{
        margin-bottom: 20px;
    }

	.what-we-item-content h3{
		font-size: 18px;
	}

	.what-we-item-content p{
        margin-top: 10px;
    }

	.why-customer-choose-video{
        height: 300px;
    }

	.customer-accordion .accordion-header .accordion-button{
		font-size: 16px;
	}

	.customer-accordion .accordion-item .accordion-body{
		padding-right: 0;
	}

	.team-item-content h2{
		font-size: 18px;
	}
	
	.post-single-meta ol li,
	.post-single-meta ol li i{
		font-size: 16px;
	}

	.post-image img{
		aspect-ratio: 1 / 0.7;
	}

	.post-entry h2{
		font-size: 26px;
	}

	.post-entry blockquote{
		background-size: 35px;
		padding: 60px 20px 20px 20px;
	}

	.post-entry blockquote p{
		font-size: 16px;
	}
	
	.tag-links{
		font-size: 18px;
	}

	.product-category-filter-title h2{
		font-size: 18px;
	}

	.page-single-sidebar .product-category-filter-header{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .product-category-item-title{
        font-size: 18px;
    }

    .product-category-result-info{
        width: 100%;
        justify-content: space-between;
    }

    .product-category-sorting-list .form-select{
        min-width: auto;
    }

    .product-item-list{
		gap: 20px 10px;
	}

    .product-item-list .product-item{
        width: calc(50% - 5px);
    }

	.product-item-list .product-item-action ul{
		gap: 5px;
	}

	.product-item-list .product-item-action ul li a{
		height: 26px;
		width: 26px;
	}

	.product-item-list .product-item-action ul li a img{
		max-width: 14px;
	}

	.product-single-breadcrumb-list ol{
		gap: 10px 40px;
	}

	.product-single-breadcrumb-list ol li{
		font-size: 14px;
	}

	.product-single-breadcrumb-list .breadcrumb li::before{
		right: -24px;
		width: 10px;
		height: 10px;
	}

	.product-single-image-box{
		flex-direction: column-reverse;
	}

	.product-single-image-slider .swiper-wrapper{
		flex-direction: initial;
	}

	.product-single-image-slider{
		width: 100%;
	}

	.product-single-image-slider .swiper-slide{
		width: calc(33.33% - 6.66px) !important;
	}

	.product-single-image-item{
		width: 100%;
	}

	.product-single-price h2,
	.product-single-title h1{
		font-size: 22px;
	}

	.product-single-price h2 sub{
		font-size: 14px;
	}

	.product-single-details-list h3{
		font-size: 18px;
		margin-bottom: 15px;
	}

	.product-single-details-list ul{
		gap: 10px;
	}

	.product-single-details-list ul li label{
		padding: 6px 11px;
	}

	.product-single-content-body{
		gap: 10px;
	}

	.qty-box{
		gap: 5px;
		padding: 9px 10px;
	}

	.qty-input{
		font-size: 16px;
	}

	.qty-btn{
		font-size: 22px;
	}

	.product-single-action ul{
		gap: 15px;
	}

	.product-single-action ul li a{
		padding: 10px;
	}

	.product-shipping-box ul li img{
		max-width: 20px;
		margin-right: 5px;
	}

	.product-step-nav .nav-tabs{
		gap: 15px;
	}

	.product-step-nav ul li{
		width: calc(33.33% - 10px);
	}

	.product-step-nav ul li .nav-link{
		font-size: 16px;
	}

	.product-step-nav ul li .nav-link::before{
		display: none;
	}

	.product-tab-item-box h2{
		font-size: 22px;
	}

	.customer-review-item .icon-box{
		margin-right: 10px;
	}

	.customer-review-item .icon-box img{
		max-width: 50px;
	}

	.customer-review-item-body{
		width: calc(100% - 60px);
	}

	.product-additional-content-title{
		margin-bottom: 20px;
	}

	.product-additional-info-table table tr{
		width: 50%;
	}

	.product-additional-info-table table tr td{
		min-width: 100%;
		padding: 15px 10px;
	}

	.related-product-items-list .product-item{
        width: 100%;
    }

	.cart-item-header{
        display: none;
    }

    .cart-item-image-content,
    .cart-item-quantity-total{
        width: 100%;
    }

	.cart-item-quantity-total{
		justify-content: left;
	}

    .cart-item-image{
        width: 75px;
        height: 75px;
    }

    .cart-item-info-content{
        width: calc(100% - 95px);
    }
    
    .cart-item-title{
        max-width: 100%;
    }

    .cart-item-title p{
        max-width: 100%;
    }

    .cart-item-subtotal{
        width: auto;
    }

    .interested-products-box-title h2{
        font-size: 22px;
    }

    .order-summary-content-box{
        padding: 5px;
    }

    .order-summary-box-title{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

	.order-summary-box-title h2,
    .order-summary-total h3,
    .order-summary-shipment-info h3{
        font-size: 18px;
    }

    .order-summary-promocode-form .form-group .form-control{
        background-size: 14px auto;
        background-position: left 6px center;
        padding: 8px 10px 8px 28px;
    }

	.order-summary-content-box{
        padding: 5px;
    }

    .order-summary-box-title{
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .order-summary-total h3,
    .order-summary-shipment-info h3{
        font-size: 18px;
    }

    .order-summary-promocode-form .form-group .form-control{
        background-size: 14px auto;
        background-position: left 6px center;
        padding: 8px 10px 8px 28px;
    }

	.order-summary-shipment-info ul li{
		margin-bottom: 10px;
	}

	.order-detail-sidebar{
        padding: 20px;
    }

	h2.order-sidebar-item-title{
		font-size: 18px;
		margin-bottom: 15px;
		padding-bottom: 15px;
	}

    .order-detail-sidebar-item ul li{
        margin-bottom: 10px;
    }

    .order-detail-box ul li{
        padding-bottom: 10px;
    }

    .order-detail-title-box h2{
        font-size: 28px;
    }

    .order-detail-content-list ul li{
        margin-bottom: 10px;
        padding-bottom: 10px;
    }

    .order-detail-content-list ul li span{
        width: auto;
    }

	.checkout-accordion-header .checkout-accordion-button{
		font-size: 14px;
	}

	.checkout-bill-address-title h2{
        font-size: 18px;
    }

	.checkout-form-checkbox.different-address-note{
		margin-top: 10px;
	}

	.product-total-order-box{
		padding: 5px;
	}
	
	.coupeon-accordion-header .coupeon-accordion-button{
		font-size: 14px;
	}

	.coupeon-apply-form .form-group{
		min-width: 160px;
	}

	.coupeon-apply-form .form-control{
		padding: 5px 15px;
        background-image: none;
	}

	.coupeon-apply-btn .btn-default{
		padding: 8px 12px;
	}

	.product-total-order-title h3{
        font-size: 18px;
    }
	
	.order-payment-info-item p{
		font-size: 14px;
	}

	.my-account-sidebar-item{
		padding: 20px;
	}

	.my-account-sidebar-item ul li img{
		max-width: 22px;
	}

	.account-dashboard-detail-box p{
		font-size: 16px;
	}

	p.account-dashboard-detail-title{
		font-size: 18px;
	}

	.account-order-table-box table{
        min-width: 630px;
        margin-bottom: 15px;
    }
    
    .account-order-table-box table tr th{
        min-width: auto;
		font-size: 18px;
        padding: 0 10px 15px 0;
    }
    
    .account-order-table-box table tr td{
        padding: 15px 10px 15px 0;
    }

    .account-order-table-box table tr td .btn-default{
        padding: 6px 20px;
    }

	.view-order-product-info-box .cart-item-header{
        display: flex;
        margin-bottom: 15px;
        padding-bottom: 15px;
    }

    .view-order-product-info-box .product-header-tag{
        width: calc(56% - 6.67px);
    }

    .view-order-product-info-box .quantity-header-tag,
    .view-order-product-info-box .subtotal-header-tag{
        width: calc(22% - 6.67px);
		text-align: center;
    }

	.view-order-product-info-box .cart-item-header span{
		font-size: 16px;
	}

    .view-order-product-info-box .cart-item-image-content{
        width: calc(62% - 5px);
    }
    
    .view-order-product-info-box .cart-item-quantity-total{
        width: calc(38% - 5px);
		justify-content: space-evenly;
    }

    .view-order-product-info-box .cart-item-subtotal{
        width: auto;
    }

    .view-order-address-item ul li{
        margin-bottom: 10px;
    }

    ul.view-order-product-info-list li span{
        width: 40%;
    }

    .view-order-address-item{
        width: 100%;
    }

	.view-order-address-item h2{
		font-size: 18px;
	}

    .view-order-address-item ul{
        margin-top: 15px;
        padding-top: 15px;
    }

	.account-address-item-title h2{
		font-size: 18px;
	}

    .account-address-item-info-list ul li{
        margin-bottom: 10px;
    }

	.wishlist-item-header{
        display: none;
    }

    .wishlist-item{
        align-items: start;
    }

    .wishlist-item-image-content{
        width: calc(75% - 5px);
    }

    .wishlist-item-title p{
        max-width: 100%;
    }

    .wishlist-item-price{
        width: 100%;
    }

    .wishlist-item-status-action{
        flex-direction: column;
        width: calc(25% - 5px);
        align-items: end;
        text-align: end;
    }

    .wishlist-item-action{
        width: 100%;
    }

    .wishlist-item-action a i{
        font-size: 20px;
    }

	.login-content-title-box h2{
        font-size: 24px;
    }

	.privacy-policy-entry-header h3{
		font-size: 18px;
	}

	.privacy-policy-entry-item{
        margin-bottom: 30px;
    }

	.privacy-policy-entry-item .section-title{
		margin-bottom: 20px;
	}

	.privacy-policy-entry-item .section-title h2{
		font-size: 24px;
	}

	.page-testimonials .testimonial-item{
        padding: 20px;
        min-height: auto;
        gap: 20px;
    }

	.google-map-iframe{
		height: 350px;
	}

	.contact-form label{
		font-size: 16px;
	}
}

/****************************************/
/***   Product Card Additions         ***/
/****************************************/

/* Category type label (not in original template) */
.product-item-category-label {
	display: inline-block;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 400;
	line-height: normal;
	color: var(--text-color);
	margin-bottom: 8px;
}

/* Badges drawn on a product image, chosen per product in the admin. */
.product-item-badge {
	position: absolute;
	top: 15px;
	left: 15px;
	z-index: 1;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 4px;
}
.product-item-badge span {
	display: inline-block;
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 500;
	line-height: 1em;
	text-transform: uppercase;
	color: var(--white-color);
	background-color: var(--primary-color);
	border-radius: 4px;
	padding: 4px 8px;
}
.product-item-soldout-badge {
	position: absolute;
	top: 15px;
	right: 15px;
	z-index: 2;
}
.product-item-soldout-badge span {
	display: inline-block;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	line-height: 1em;
	text-transform: uppercase;
	color: var(--white-color);
	background-color: #dc2626;
	border-radius: 4px;
	padding: 5px 10px;
}
.product-item-image.is-sold-out img {
	opacity: 0.5;
}


/* ── Cart ─────────────────────────────────────────────────────── */
.header-action-details ul li .cart-icon-link {
	position: relative;
	display: inline-block;
}
.cart-count-badge {
	position: absolute;
	top: -8px;
	right: -10px;
	min-width: 18px;
	height: 18px;
	display: flex;
	justify-content: center;
	align-items: center;
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1;
	color: var(--white-color);
	background: var(--accent-color);
	border-radius: 50%;
	padding: 0 5px;
}

@keyframes cartIconFlash {
	0%   { transform: scale(1); }
	35%  { transform: scale(1.35); }
	65%  { transform: scale(0.95); }
	100% { transform: scale(1); }
}
.header-action-details ul li .cart-icon-flash {
	display: inline-block;
	animation: cartIconFlash 0.7s ease-in-out;
}
.header-action-details ul li .cart-icon-flash img {
	filter: brightness(0) saturate(100%) invert(38%) sepia(88%) saturate(1500%) hue-rotate(345deg);
}

.product-item-action ul li .product-item-cart-btn {
	height: 36px;
	width: 36px;
	display: flex;
	align-items: center;
	justify-content: center;
	background-color: var(--white-color);
	border: none;
	border-radius: 50%;
	outline: none;
	box-shadow: none;
	padding: 0;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}
.product-item-action ul li .product-item-cart-btn:hover {
	background-color: var(--primary-color);
}
.product-item-action ul li .product-item-cart-btn img {
	width: 100%;
	max-width: 18px;
	transition: all 0.4s ease-in-out;
}
.product-item-action ul li .product-item-cart-btn:hover img {
	filter: brightness(0) invert(1);
}
.product-item-action ul li .product-item-cart-btn i {
	font-size: 15px;
	color: var(--primary-color);
}
.product-item-action ul li .product-item-cart-btn:hover i {
	color: var(--white-color);
}
.product-item-list .product-item-action ul li .product-item-cart-btn {
	height: 26px;
	width: 26px;
}
.product-item-list .product-item-action ul li .product-item-cart-btn img {
	max-width: 14px;
}
/* Two-column cart layout — every piece is one-of-a-kind, so there is no quantity column. */
.cart-item-header .product-header-tag {
	width: calc(70% - 5px);
}
.cart-item-header .price-header-tag.cart-line-price,
.cart-item .cart-item-price.cart-line-price {
	width: calc(30% - 5px);
	text-align: right;
}
.cart-item .cart-item-image-content {
	width: calc(70% - 5px);
}
.cart-item .cart-item-title {
	max-width: none;
}
.cart-item-remove {
	position: absolute;
	top: -5px;
	right: -5px;
	width: 18px;
	height: 18px;
	background: transparent;
	border: none;
	outline: none;
	padding: 0;
	cursor: pointer;
	z-index: 2;
}

/* ── Checkout (two-panel: details left, order summary right) ───── */
.co-header {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 15px;
	max-width: 1400px;
	margin: 0 auto;
	padding: 22px 40px;
	border-bottom: 1px solid var(--divider-color);
}
.co-header img { max-width: 150px; }

.co-page {
	display: flex;
	flex-wrap: wrap;
	align-items: stretch;
	min-height: calc(100vh - 80px);
}
.co-main {
	flex: 1 1 58%;
	min-width: 320px;
	background: var(--white-color);
	display: flex;
	justify-content: flex-end;
}
.co-main-inner {
	width: 100%;
	max-width: 560px;
	padding: 60px 40px 80px;
}
.co-summary {
	flex: 1 1 42%;
	min-width: 320px;
	background: #f7f7f7;
	border-left: 1px solid var(--divider-color);
}
.co-summary-inner {
	position: sticky;
	top: 0;
	max-width: 460px;
	padding: 60px 40px 40px;
}

.co-section { margin-bottom: 38px; }
.co-section h2 {
	font-size: 20px;
	line-height: 1.3em;
	margin: 0 0 14px;
}
.co-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
	margin-bottom: 14px;
}
.co-section-head h2 { margin: 0; }
.co-link {
	font-size: 14px;
	text-decoration: underline;
}
.co-subtle {
	font-size: 13px;
	color: var(--text-color);
	margin: -6px 0 14px;
}
.co-foot { margin-top: 16px; }

.co-field { margin-bottom: 14px; }
.co-label {
	display: block;
	font-size: 12px;
	color: var(--text-color);
	margin-bottom: 6px;
}
.co-input {
	width: 100%;
	font-family: var(--default-font);
	font-size: 15px;
	line-height: 1.4em;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid #cfcfcf;
	border-radius: 8px;
	padding: 12px 14px;
	outline: none;
	transition: border-color 0.2s ease-in-out, box-shadow 0.2s ease-in-out;
}
.co-input:focus {
	border-color: var(--accent-color);
	box-shadow: 0 0 0 2px rgba(0, 0, 0, 0.06);
}
.co-input:disabled {
	background: #f3f3f3;
	color: #9ca3af;
	cursor: not-allowed;
}
.co-select { appearance: auto; }
.co-textarea { resize: vertical; }

.co-row {
	display: flex;
	flex-wrap: wrap;
	gap: 14px;
}
.co-row > .co-field { flex: 1 1 calc(50% - 7px); min-width: 140px; }
.co-row-3 > .co-field { flex: 1 1 calc(33.333% - 10px); min-width: 130px; }

.co-note-box {
	background: #f3f3f3;
	border-radius: 8px;
	padding: 18px 20px;
	font-size: 14px;
	color: var(--text-color);
	text-align: center;
}
.co-shipping-option {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	border: 1px solid var(--accent-color);
	border-radius: 8px;
	padding: 14px 16px;
	font-size: 14px;
}

.co-stripe-box {
	border: 1px solid #cfcfcf;
	border-radius: 8px;
	padding: 16px;
	background: var(--white-color);
}

.co-error {
	background: #fef2f2;
	border: 1px solid #fecaca;
	color: #b91c1c;
	border-radius: 8px;
	padding: 12px 15px;
	font-size: 14px;
	margin-bottom: 18px;
}
.co-submit {
	width: 100%;
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--white-color);
	background: var(--accent-color);
	border: none;
	border-radius: 8px;
	padding: 17px 24px;
	cursor: pointer;
	transition: opacity 0.2s ease-in-out;
}
.co-submit:disabled { opacity: 0.45; cursor: not-allowed; }

/* Summary panel */
/* .co-* summary blocks use flex, which would otherwise beat the hidden attribute */
.co-summary [hidden] { display: none !important; }
.co-summary-skeleton {
	color: #9ca3af;
	font-size: 14px;
	padding: 10px 0 20px;
}
.co-items { list-style: none; margin: 0 0 24px; padding: 0; }
.co-item {
	display: flex;
	align-items: flex-start;
	gap: 14px;
	margin-bottom: 18px;
}
.co-item-thumb {
	position: relative;
	width: 64px;
	height: 64px;
	flex: 0 0 64px;
	border: 1px solid #e0e0e0;
	border-radius: 8px;
	background: var(--white-color);
	overflow: visible;
}
.co-item-thumb img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 8px;
}
.co-item-qty {
	position: absolute;
	top: -8px;
	right: -8px;
	min-width: 20px;
	height: 20px;
	display: flex;
	align-items: center;
	justify-content: center;
	font-size: 11px;
	font-weight: 600;
	color: var(--white-color);
	background: #6b7280;
	border-radius: 50%;
}
.co-item-info { flex: 1; }
.co-item-name {
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	margin: 0 0 3px;
}
.co-item-meta { font-size: 13px; margin: 0; }
.co-item-price { font-size: 14px; color: var(--primary-color); white-space: nowrap; }

.co-discount { display: flex; gap: 10px; margin-bottom: 8px; }
.co-discount .co-input { flex: 1; }
.co-discount-btn {
	font-size: 14px;
	color: var(--primary-color);
	background: #e6e6e6;
	border: none;
	border-radius: 8px;
	padding: 12px 22px;
	cursor: pointer;
}
.co-discount-btn:disabled { opacity: 0.5; cursor: not-allowed; }
.co-discount-msg { font-size: 13px; color: #b91c1c; margin: 0 0 8px; }

.co-totals {
	margin: 24px 0 0;
	padding: 20px 0 0;
	border-top: 1px solid var(--divider-color);
	font-size: 14px;
}
.co-totals > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.co-totals dt, .co-totals dd { margin: 0; font-weight: 400; }
.co-muted { color: #9ca3af; }

.co-total {
	display: flex;
	justify-content: space-between;
	align-items: baseline;
	gap: 12px;
	border-top: 1px solid var(--divider-color);
	margin-top: 14px;
	padding-top: 18px;
	font-size: 22px;
	font-weight: 600;
	color: var(--primary-color);
}
.co-total em {
	font-style: normal;
	font-size: 13px;
	font-weight: 400;
	color: var(--text-color);
	margin-right: 6px;
}

/* Sits under the 22px total, so it needs its own spacing: .co-subtle's negative
   top margin is tuned for sitting under a form label and rides up into the
   total's descenders here. */
.co-total-note {
	font-size: 13px;
	line-height: 1.5;
	color: var(--text-color);
	margin: 10px 0 0;
}

.co-empty { text-align: center; padding: 100px 20px; }
.co-empty h2 { margin-bottom: 15px; }
.co-empty p { margin-bottom: 30px; }

@media only screen and (max-width: 991px) {
	.co-page { display: block; }
	.co-main { display: block; }
	.co-main-inner { max-width: none; padding: 40px 20px 60px; }
	.co-summary { border-left: none; border-bottom: 1px solid var(--divider-color); }
	.co-summary-inner { position: static; max-width: none; padding: 30px 20px; }
}

/* ── Payment success modal ────────────────────────────────────── */
.psm-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.55);
	z-index: 9999;
	animation: psmFade 0.2s ease-out;
}
.psm-panel {
	width: 100%;
	max-width: 420px;
	background: var(--white-color);
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
	padding: 40px 32px 32px;
	text-align: center;
	animation: psmPop 0.25s ease-out;
}
@keyframes psmFade {
	from { opacity: 0; }
	to   { opacity: 1; }
}
@keyframes psmPop {
	from { opacity: 0; transform: translateY(12px) scale(0.97); }
	to   { opacity: 1; transform: translateY(0) scale(1); }
}
.psm-icon {
	width: 72px;
	height: 72px;
	margin: 0 auto 22px;
	border-radius: 50%;
	display: flex;
	align-items: center;
	justify-content: center;
	background: #dcfce7;
	color: #16a34a;
}
.psm-icon svg { width: 34px; height: 34px; }
.psm-title {
	font-size: 24px;
	line-height: 1.3em;
	color: #15803d;
	margin: 0 0 12px;
}
.psm-text {
	font-size: 15px;
	line-height: 1.6em;
	margin: 0 0 8px;
}
.psm-order {
	font-size: 14px;
	color: var(--primary-color);
	margin: 0 0 26px;
}
.psm-close {
	width: 100%;
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	color: var(--white-color);
	background: #16a34a;
	border: none;
	border-radius: 8px;
	padding: 15px 24px;
	cursor: pointer;
	transition: background 0.2s ease-in-out;
}
.psm-close:hover { background: #15803d; }
.psm-close:focus-visible { outline: 2px solid #15803d; outline-offset: 2px; }

/* ── Order confirmation ───────────────────────────────────────── */
.oc-page {
	background: #fbfbfa;
	padding: 90px 0 110px;
}
.oc-container {
	width: 100%;
	max-width: 1180px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Hero */
.oc-hero {
	text-align: center;
	max-width: 680px;
	margin: 0 auto 64px;
}
.oc-check {
	width: 64px;
	height: 64px;
	margin: 0 auto 26px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: #e7f6ec;
	color: #15803d;
}
.oc-check svg { width: 30px; height: 30px; }
.oc-badge {
	display: inline-block;
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 7px 16px;
	margin-bottom: 22px;
}
.oc-badge--cancelled { background: #fdecec; color: #b42318; }
.oc-eyebrow {
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8a9490;
	margin: 0 0 14px;
}
.oc-title {
	font-family: var(--accent-font);
	font-size: 46px;
	line-height: 1.15em;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0 0 18px;
}
.oc-lede {
	font-family: var(--default-font);
	font-size: 16px;
	line-height: 1.75em;
	color: var(--text-color);
	margin: 0 auto 28px;
	max-width: 560px;
}
.oc-strong { color: var(--primary-color); font-weight: 500; }
.oc-order-chip {
	display: inline-flex;
	align-items: center;
	gap: 10px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 999px;
	padding: 10px 22px;
	font-size: 13px;
	color: var(--text-color);
}
.oc-order-chip strong {
	font-family: var(--default-font);
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--primary-color);
}

/* Stepper */
.oc-steps {
	display: flex;
	list-style: none;
	margin: 0 0 64px;
	padding: 0;
}
.oc-step {
	position: relative;
	flex: 1;
	text-align: center;
	padding: 0 6px;
}
.oc-step::before,
.oc-step::after {
	content: '';
	position: absolute;
	top: 13px;
	height: 2px;
	background: #e3e6e4;
}
.oc-step::before { left: 0; right: 50%; }
.oc-step::after  { left: 50%; right: 0; }
.oc-step:first-child::before,
.oc-step:last-child::after { display: none; }
.oc-step.fill-left::before,
.oc-step.fill-right::after { background: var(--primary-color); }
.oc-dot {
	position: relative;
	z-index: 1;
	width: 28px;
	height: 28px;
	margin: 0 auto 14px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 50%;
	background: var(--white-color);
	border: 2px solid #e3e6e4;
	color: var(--white-color);
	transition: all 0.3s ease-in-out;
}
.oc-dot svg { width: 13px; height: 13px; }
.oc-step.is-done .oc-dot {
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.oc-step-label {
	display: block;
	font-family: var(--default-font);
	font-size: 14px;
	font-weight: 500;
	color: #9aa4a0;
	margin-bottom: 3px;
}
.oc-step.is-done .oc-step-label { color: var(--primary-color); }
.oc-step-caption {
	display: block;
	font-size: 12px;
	color: #a9b2ae;
}

/* Layout */
.oc-grid {
	display: grid;
	grid-template-columns: 2fr 1fr;
	gap: 28px;
	align-items: start;
}

/* Cards */
.oc-card {
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(47, 61, 56, 0.04), 0 8px 24px rgba(47, 61, 56, 0.05);
	padding: 30px 32px;
}
.oc-card-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	border-bottom: 1px solid var(--divider-color);
	padding-bottom: 18px;
	margin-bottom: 8px;
}
.oc-card-head h2 {
	font-family: var(--accent-font);
	font-size: 22px;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0;
}
.oc-count { font-size: 13px; color: #9aa4a0; }

/* Items */
.oc-items { list-style: none; margin: 0; padding: 0; }
.oc-item {
	display: flex;
	align-items: center;
	gap: 20px;
	padding: 22px 0;
	border-bottom: 1px solid var(--divider-color);
}
.oc-item:last-child { border-bottom: none; padding-bottom: 4px; }
.oc-item-thumb {
	width: 78px;
	height: 78px;
	flex: 0 0 78px;
	border-radius: 10px;
	overflow: hidden;
	background: #f2f3f2;
	border: 1px solid var(--divider-color);
}
.oc-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.oc-item-thumb-empty { display: block; width: 100%; height: 100%; }
.oc-item-body { flex: 1; min-width: 0; }
.oc-item-name {
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 500;
	line-height: 1.4em;
	margin: 0 0 4px;
}
.oc-item-name a { color: var(--primary-color); transition: opacity 0.2s ease-in-out; }
.oc-item-name a:hover { opacity: 0.6; }
.oc-item-meta { font-size: 13px; color: #9aa4a0; margin: 0; }
.oc-item-price {
	font-size: 16px;
	font-weight: 500;
	color: var(--primary-color);
	white-space: nowrap;
}

/* Summary */
.oc-summary { position: sticky; top: 24px; }
.oc-block {
	padding: 20px 0;
	border-bottom: 1px solid var(--divider-color);
}
.oc-block-title {
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	color: #9aa4a0;
	margin: 0 0 12px;
}
.oc-address {
	font-style: normal;
	font-size: 14px;
	line-height: 1.8em;
	color: var(--text-color);
}
.oc-address-name {
	display: block;
	font-weight: 500;
	color: var(--primary-color);
}
.oc-address-phone { display: block; margin-top: 8px; color: #9aa4a0; }
.oc-lines { margin: 0; font-size: 14px; }
.oc-lines > div {
	display: flex;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.oc-lines > div:last-child { margin-bottom: 0; }
.oc-lines dt, .oc-lines dd { margin: 0; font-weight: 400; color: var(--text-color); }
.oc-lines dd { color: var(--primary-color); }
.oc-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	padding: 20px 0;
	font-family: var(--accent-font);
	font-size: 20px;
	color: var(--primary-color);
}
.oc-total-value em {
	font-style: normal;
	font-family: var(--default-font);
	font-size: 12px;
	color: #9aa4a0;
	margin-right: 6px;
}
.oc-payment {
	display: flex;
	align-items: center;
	gap: 9px;
	border-radius: 10px;
	padding: 12px 15px;
	font-size: 13px;
	font-weight: 500;
}
.oc-payment-dot { width: 7px; height: 7px; border-radius: 50%; }
.oc-payment.is-paid { background: #e7f6ec; color: #15803d; }
.oc-payment.is-paid .oc-payment-dot { background: #15803d; }
.oc-payment.is-awaiting { background: #fdf6e7; color: #a16207; }
.oc-payment.is-awaiting .oc-payment-dot { background: #d29b1a; }
.oc-payment-note {
	font-size: 12px;
	color: #9aa4a0;
	margin: 12px 0 0;
	line-height: 1.6em;
}
.oc-signature {
	text-align: center;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #b3bbb7;
	margin: 22px 0 0;
}

/* Actions */
.oc-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px 26px;
	margin-top: 28px;
}
.oc-btn {
	display: inline-block;
	font-family: var(--default-font);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--white-color);
	background: var(--black-color);
	border-radius: 8px;
	padding: 17px 38px;
	transition: transform 0.25s ease-in-out, box-shadow 0.25s ease-in-out, background 0.25s ease-in-out;
}
.oc-btn:hover {
	color: var(--white-color);
	background: #1c1c1c;
	transform: translateY(-2px);
	box-shadow: 0 10px 22px rgba(0, 0, 0, 0.18);
}
.oc-btn-ghost {
	font-size: 14px;
	color: var(--text-color);
	text-decoration: underline;
	text-underline-offset: 4px;
	transition: color 0.2s ease-in-out;
}
.oc-btn-ghost:hover { color: var(--primary-color); }

@media only screen and (max-width: 991px) {
	.oc-page { padding: 60px 0 80px; }
	.oc-grid { grid-template-columns: 1fr; }
	.oc-summary { position: static; }
	.oc-title { font-size: 34px; }
	.oc-hero { margin-bottom: 46px; }
	.oc-steps { margin-bottom: 46px; }
	.oc-step-caption { display: none; }
}

@media only screen and (max-width: 575px) {
	.oc-card { padding: 24px 20px; }
	.oc-title { font-size: 28px; }
	.oc-step-label { font-size: 12px; }
	.oc-item { gap: 14px; }
	.oc-item-thumb { width: 62px; height: 62px; flex-basis: 62px; }
	.oc-actions .oc-btn { width: 100%; text-align: center; }
}

/* ── Slide-out cart drawer ────────────────────────────────────── */
.cd-root {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	z-index: 10000;
	visibility: hidden;
	pointer-events: none;
}
.cd-root.is-open { visibility: visible; pointer-events: auto; }

.cd-backdrop {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	background: rgba(17, 17, 17, 0.45);
	backdrop-filter: blur(3px);
	-webkit-backdrop-filter: blur(3px);
	opacity: 0;
	transition: opacity 0.35s ease;
}
.cd-root.is-open .cd-backdrop { opacity: 1; }

.cd-panel {
	position: absolute;
	top: 0;
	right: 0;
	bottom: 0;
	width: 100%;
	max-width: 430px;
	display: flex;
	flex-direction: column;
	background: #ffffff;
	box-shadow: -14px 0 40px rgba(0, 0, 0, 0.12);
	transform: translateX(100%);
	transition: transform 0.38s cubic-bezier(0.22, 0.61, 0.36, 1);
}
.cd-root.is-open .cd-panel { transform: translateX(0); }

@media (prefers-reduced-motion: reduce) {
	.cd-panel, .cd-backdrop { transition: none; }
}

/* Header */
.cd-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	padding: 26px 26px 18px;
	flex-shrink: 0;
}
.cd-title {
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #111111;
	margin: 0;
}
.cd-close {
	width: 34px;
	height: 34px;
	display: flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: none;
	padding: 0;
	color: #111111;
	cursor: pointer;
	border-radius: 50%;
	transition: background 0.2s ease;
}
.cd-close:hover { background: #f2f2f2; }
.cd-close svg { width: 19px; height: 19px; }

/* Scrollable body */
.cd-body {
	flex: 1;
	overflow-y: auto;
	padding: 0 26px 26px;
}

/* Account prompt */
.cd-account {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 16px;
}
.cd-account svg { width: 21px; height: 21px; color: #111111; flex-shrink: 0; }
.cd-account p { margin: 0; font-size: 13px; color: #111111; }
.cd-account a {
	font-weight: 600;
	letter-spacing: 0.04em;
	text-transform: uppercase;
	color: #111111;
	font-size: 12px;
}
.cd-account a:hover { color: #111111; text-decoration: underline; }
.cd-sep { margin: 0 7px; color: #c9c9c9; }
.cd-muted { color: #6b6b6b; }

/* Free shipping progress */
.cd-ship { padding-bottom: 18px; }
.cd-ship-row {
	display: flex;
	align-items: center;
	gap: 11px;
	font-size: 13px;
	color: #111111;
	margin-bottom: 12px;
}
.cd-ship-row svg { width: 20px; height: 20px; flex-shrink: 0; color: #111111; }
.cd-progress {
	height: 3px;
	background: #e6e6e6;
	border-radius: 2px;
	overflow: hidden;
}
.cd-progress span {
	display: block;
	height: 100%;
	background: #111111;
	border-radius: 2px;
	transition: width 0.4s ease;
}

/* Items */
.cd-items { list-style: none; margin: 0; padding: 0; }
.cd-item {
	position: relative;
	display: flex;
	gap: 16px;
	padding: 22px 0;
	border-top: 1px solid #e6e6e6;
}
.cd-item-thumb {
	width: 92px;
	height: 108px;
	flex: 0 0 92px;
	background: #f4f4f4;
	overflow: hidden;
	display: block;
}
.cd-item-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cd-item-info { flex: 1; min-width: 0; padding-right: 66px; }
.cd-item-brand {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #8a8a8a;
	margin: 0 0 5px;
}
.cd-item-name {
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 400;
	line-height: 1.35em;
	margin: 0 0 6px;
}
.cd-item-name a { color: #111111; }
.cd-item-name a:hover { color: #111111; text-decoration: underline; }
.cd-item-variant {
	font-size: 13px;
	color: #6b6b6b;
	margin: 0 0 10px;
}
.cd-item-price {
	font-size: 14px;
	font-weight: 600;
	color: #111111;
	margin: 0;
}
.cd-remove {
	position: absolute;
	top: 22px;
	right: 0;
	background: transparent;
	border: none;
	padding: 0;
	font-family: var(--default-font);
	font-size: 13px;
	color: #111111;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
	transition: opacity 0.2s ease;
}
.cd-remove:hover { opacity: 0.6; }

/* Summary */
.cd-summary {
	border-top: 1px solid #e6e6e6;
	padding-top: 20px;
}
.cd-line {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	font-size: 14px;
	color: #111111;
	margin-bottom: 13px;
}
.cd-promo { text-align: right; margin-top: 18px; }
.cd-link {
	background: transparent;
	border: none;
	padding: 0;
	font-family: var(--default-font);
	font-size: 13px;
	color: #111111;
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.cd-link:hover { opacity: 0.6; }
.cd-promo-form { display: flex; gap: 8px; }
.cd-promo-input {
	flex: 1;
	min-width: 0;
	font-family: var(--default-font);
	font-size: 14px;
	color: #111111;
	border: 1px solid #d5d5d5;
	border-radius: 2px;
	padding: 10px 12px;
	outline: none;
}
.cd-promo-input:focus { border-color: #111111; }
.cd-promo-apply {
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #ffffff;
	background: #111111;
	border: none;
	border-radius: 2px;
	padding: 10px 20px;
	cursor: pointer;
}
.cd-promo-apply:disabled { opacity: 0.4; cursor: not-allowed; }
.cd-promo-error {
	font-size: 12px;
	color: #b42318;
	margin: 8px 0 0;
	text-align: left;
}

/* Cross-sell */
.cd-cross { margin-top: 30px; }
.cd-cross-title {
	font-family: var(--default-font);
	font-size: 13px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: #111111;
	margin: 0 0 14px;
}
.cd-cross-card {
	position: relative;
	display: flex;
	align-items: center;
	gap: 16px;
	background: #f7f7f7;
	padding: 16px;
}
.cd-cross-thumb {
	width: 68px;
	height: 78px;
	flex: 0 0 68px;
	background: #ffffff;
	overflow: hidden;
	display: block;
}
.cd-cross-thumb img { width: 100%; height: 100%; object-fit: cover; }
.cd-cross-info { flex: 1; min-width: 0; padding-right: 80px; }
.cd-cross-name {
	font-family: var(--default-font);
	font-size: 14px;
	font-weight: 400;
	line-height: 1.35em;
	color: #111111;
	margin: 0 0 5px;
}
.cd-cross-card .cd-remove { top: 16px; right: 16px; }

/* Empty state */
.cd-empty { padding: 40px 0; text-align: center; }
.cd-empty p { font-size: 14px; color: #6b6b6b; margin: 0 0 20px; }

/* Sticky footer */
.cd-foot {
	flex-shrink: 0;
	border-top: 1px solid #e6e6e6;
	background: #ffffff;
	padding: 20px 26px 24px;
}
.cd-total {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 14px;
	margin-bottom: 16px;
}
.cd-total span { font-size: 15px; color: #111111; }
.cd-total strong { font-size: 18px; font-weight: 600; color: #111111; }
.cd-foot-actions { display: flex; gap: 10px; }
.cd-btn {
	flex: 1;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	text-align: center;
	border-radius: 2px;
	padding: 17px 18px;
	cursor: pointer;
	transition: background 0.25s ease, color 0.25s ease;
}
.cd-btn-dark {
	color: #ffffff;
	background: #111111;
	border: 1px solid #111111;
}
.cd-btn-dark:hover { color: #ffffff; background: #000000; }
.cd-btn-light {
	color: #111111;
	background: #ffffff;
	border: 1px solid #111111;
}
.cd-btn-light:hover { color: #ffffff; background: #111111; }

@media only screen and (max-width: 575px) {
	.cd-panel { max-width: 100%; }
	.cd-head { padding: 20px 18px 14px; }
	.cd-body { padding: 0 18px 20px; }
	.cd-foot { padding: 16px 18px 20px; }
	.cd-foot-actions { flex-direction: column; }
	.cd-item-thumb { width: 78px; height: 92px; flex-basis: 78px; }
	.cd-item-info { padding-right: 62px; }
}

/* ── Account: sign in / register ──────────────────────────────── */
.au-wrap {
	background: #fbfbfa;
	padding: 80px 20px 100px;
	display: flex;
	justify-content: center;
}
.au-loading { font-size: 14px; color: #9aa4a0; }

.au-card {
	width: 100%;
	max-width: 460px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(47, 61, 56, 0.04), 0 10px 30px rgba(47, 61, 56, 0.06);
	padding: 44px 40px 36px;
}
.au-card-account { text-align: center; }

.au-eyebrow {
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.18em;
	text-transform: uppercase;
	color: #8a9490;
	margin: 0 0 12px;
}
.au-title {
	font-family: var(--accent-font);
	font-size: 30px;
	line-height: 1.2em;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0 0 10px;
}
.au-sub {
	font-size: 14px;
	line-height: 1.7em;
	color: var(--text-color);
	margin: 0 0 26px;
}

/* Alerts */
.au-alert {
	border-radius: 8px;
	padding: 12px 15px;
	font-size: 13px;
	line-height: 1.6em;
	margin-bottom: 18px;
}
.au-alert-error { background: #fdecec; color: #b42318; }
.au-alert-ok { background: #e7f6ec; color: #15803d; }
.au-alert-info { background: #f3f4f6; color: #4b5563; }

/* Google */
.au-google {
	width: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	font-family: var(--default-font);
	font-size: 14px;
	font-weight: 500;
	color: #1f1f1f;
	background: var(--white-color);
	border: 1px solid #d7dbd9;
	border-radius: 8px;
	padding: 14px 20px;
	cursor: pointer;
	transition: background 0.2s ease, border-color 0.2s ease, box-shadow 0.2s ease;
}
.au-google:hover:not(:disabled) {
	background: #f7f8f7;
	border-color: #c2c9c6;
	box-shadow: 0 2px 8px rgba(47, 61, 56, 0.08);
}
.au-google:active:not(:disabled) { background: #f0f2f1; }
.au-google:disabled { opacity: 0.5; cursor: not-allowed; }
.au-google svg { width: 18px; height: 18px; flex-shrink: 0; }

/* Divider */
.au-divider {
	display: flex;
	align-items: center;
	gap: 14px;
	margin: 22px 0;
	color: #a9b2ae;
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.1em;
}
.au-divider::before,
.au-divider::after {
	content: '';
	flex: 1;
	height: 1px;
	background: var(--divider-color);
}

/* Fields */
.au-field { margin-bottom: 18px; }
.au-label {
	display: block;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.04em;
	color: var(--primary-color);
	margin-bottom: 7px;
}
.au-label-row {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 10px;
}
.au-input {
	width: 100%;
	font-family: var(--default-font);
	font-size: 15px;
	line-height: 1.4em;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid #d7dbd9;
	border-radius: 8px;
	padding: 13px 14px;
	outline: none;
	transition: border-color 0.2s ease, box-shadow 0.2s ease;
}
.au-input:focus {
	border-color: var(--primary-color);
	box-shadow: 0 0 0 3px rgba(47, 61, 56, 0.08);
}
.au-password { position: relative; }
.au-password .au-input { padding-right: 64px; }
.au-reveal {
	position: absolute;
	top: 50%;
	right: 12px;
	transform: translateY(-50%);
	background: transparent;
	border: none;
	padding: 4px 6px;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 500;
	color: var(--text-color);
	cursor: pointer;
}
.au-reveal:hover { color: var(--primary-color); }
.au-hint { font-size: 12px; color: #9aa4a0; margin: 7px 0 0; }

/* Buttons */
.au-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 13px;
	font-weight: 600;
	letter-spacing: 0.09em;
	text-transform: uppercase;
	border-radius: 8px;
	padding: 16px 30px;
	cursor: pointer;
	transition: transform 0.2s ease, box-shadow 0.2s ease, background 0.2s ease, color 0.2s ease;
}
.au-btn-dark {
	color: var(--white-color);
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
}
.au-btn-dark:hover:not(:disabled) {
	color: var(--white-color);
	background: #24302b;
	transform: translateY(-1px);
	box-shadow: 0 8px 20px rgba(47, 61, 56, 0.2);
}
.au-btn-light {
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--primary-color);
}
.au-btn-light:hover:not(:disabled) { color: var(--white-color); background: var(--primary-color); }
.au-btn:disabled { opacity: 0.5; cursor: not-allowed; transform: none; box-shadow: none; }
.au-btn:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 3px; }
.au-submit { width: 100%; margin-top: 4px; }

/* Links + footers */
.au-link {
	background: transparent;
	border: none;
	padding: 0;
	font-family: var(--default-font);
	font-size: 13px;
	color: var(--primary-color);
	text-decoration: underline;
	text-underline-offset: 3px;
	cursor: pointer;
}
.au-link:hover { opacity: 0.65; }
.au-link:disabled { opacity: 0.4; cursor: not-allowed; }
.au-switch {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	flex-wrap: wrap;
	font-size: 14px;
	color: var(--text-color);
	margin: 24px 0 0;
	padding-top: 22px;
	border-top: 1px solid var(--divider-color);
}
.au-guest {
	text-align: center;
	font-size: 13px;
	color: #9aa4a0;
	margin: 14px 0 0;
}
.au-guest a { text-decoration: underline; text-underline-offset: 3px; }

.au-account-actions {
	display: flex;
	flex-wrap: wrap;
	justify-content: center;
	gap: 12px;
	margin-top: 26px;
}

@media only screen and (max-width: 575px) {
	.au-wrap { padding: 50px 16px 70px; }
	.au-card { padding: 32px 22px 28px; }
	.au-title { font-size: 25px; }
	.au-account-actions .au-btn { width: 100%; }
}

/* ── Header account menu ──────────────────────────────────────── */
.am { position: relative; display: inline-block; }
.header-action-details ul li .am-trigger {
	display: block;
	width: 32px;
	height: 32px;
	border-radius: 50%;
	overflow: hidden;
	padding: 0;
}
.am-avatar {
	width: 32px;
	height: 32px;
	border-radius: 50%;
	object-fit: cover;
	display: block;
	border: 1px solid var(--divider-color);
}
.am-avatar-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.04em;
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}

.am-menu {
	position: absolute;
	top: calc(100% + 14px);
	right: 0;
	width: 260px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 12px;
	box-shadow: 0 12px 34px rgba(47, 61, 56, 0.16);
	padding: 16px;
	opacity: 0;
	visibility: hidden;
	transform: translateY(-6px);
	transition: opacity 0.22s ease, transform 0.22s ease, visibility 0.22s;
	z-index: 1200;
}
/* Bridges the gap so the menu doesn't close as the pointer travels to it. */
.am-menu::before {
	content: '';
	position: absolute;
	top: -14px;
	left: 0;
	right: 0;
	height: 14px;
}
.header-action-details ul li .am-trigger {
	background: none;
	border: 0;
	cursor: pointer;
	appearance: none;
}

/*
 * Opened by a click, which `.is-open` records. Hover is kept for a pointer,
 * where it costs nothing, but it is no longer the only way in — a touch device
 * has no hover and used to be shut out of this menu entirely.
 */
.am.is-open .am-menu,
.am:hover .am-menu,
.am:focus-within .am-menu {
	opacity: 1;
	visibility: visible;
	transform: translateY(0);
}

.am-menu-head {
	display: flex;
	align-items: center;
	gap: 11px;
	padding-bottom: 13px;
	margin-bottom: 11px;
	border-bottom: 1px solid var(--divider-color);
}
.am-menu-avatar {
	width: 38px;
	height: 38px;
	flex: 0 0 38px;
	border-radius: 50%;
	object-fit: cover;
	border: 1px solid var(--divider-color);
}
.am-menu-id { min-width: 0; }
.am-menu-name {
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	margin: 0 0 2px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}
.am-menu-email {
	font-size: 12px;
	color: #9aa4a0;
	margin: 0;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.am-menu-links { list-style: none; margin: 0 0 11px; padding: 0; }
.am-menu-links li { margin: 0; }
.header-action-details .am-menu-links li a {
	display: block;
	width: auto;
	height: auto;
	font-size: 14px;
	color: var(--text-color);
	border-radius: 6px;
	padding: 9px 10px;
	transition: background 0.18s ease, color 0.18s ease;
}
.header-action-details .am-menu-links li a:hover {
	color: var(--primary-color);
	background: #f3f5f4;
}
.am-signout {
	width: 100%;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--primary-color);
	background: transparent;
	border: 1px solid var(--primary-color);
	border-radius: 6px;
	padding: 11px 14px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
}
.am-signout:hover { color: var(--white-color); background: var(--primary-color); }

/* ── Account dashboard ────────────────────────────────────────── */
.ad-page { background: #fbfbfa; padding: 70px 0 100px; }

/* Nested in the account layout, the frame belongs to `.page-my-account`. */
.page-my-account .ad-page {
	background: transparent;
	padding: 0;
}

.page-my-account .ad-container {
	max-width: none;
	padding: 0;
}
.ad-container {
	width: 100%;
	max-width: 1000px;
	margin: 0 auto;
	padding: 0 24px;
}

/* Header */
.ad-head {
	display: flex;
	align-items: center;
	gap: 20px;
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(47, 61, 56, 0.04), 0 8px 24px rgba(47, 61, 56, 0.05);
	padding: 26px 28px;
	margin-bottom: 18px;
}
.ad-avatar {
	width: 66px;
	height: 66px;
	flex: 0 0 66px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--primary-color);
}
.ad-avatar img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-avatar span {
	width: 100%;
	height: 100%;
	display: flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 22px;
	font-weight: 600;
	color: var(--white-color);
}
.ad-head-info { flex: 1; min-width: 0; }
.ad-eyebrow {
	font-size: 11px;
	font-weight: 500;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	color: #9aa4a0;
	margin: 0 0 6px;
}
.ad-name {
	font-family: var(--accent-font);
	font-size: 27px;
	line-height: 1.2em;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0 0 5px;
}
.ad-email { font-size: 14px; color: var(--text-color); margin: 0; }
.ad-provider {
	display: inline-block;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: #6b7280;
	background: #f1f4f2;
	border-radius: 999px;
	padding: 3px 9px;
	margin-left: 9px;
}
.ad-signout {
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--primary-color);
	background: transparent;
	border: 1px solid var(--primary-color);
	border-radius: 8px;
	padding: 12px 22px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease;
	flex-shrink: 0;
}
.ad-signout:hover { color: var(--white-color); background: var(--primary-color); }

/* Stats */
.ad-stats {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(124px, 1fr));
	gap: 14px;
	margin-bottom: 30px;
}
.ad-stat {
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 12px;
	padding: 18px 20px;
	text-align: center;
}
.ad-stat-value {
	display: block;
	font-family: var(--accent-font);
	font-size: 24px;
	color: var(--primary-color);
	margin-bottom: 3px;
}
.ad-stat-label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #9aa4a0;
}

/* Orders */
.ad-section-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 16px;
}
.ad-section-head h2 {
	font-family: var(--accent-font);
	font-size: 22px;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0;
}
.ad-count { font-size: 13px; color: #9aa4a0; }
.ad-muted { font-size: 14px; color: #9aa4a0; }
.ad-error {
	background: #fdecec;
	color: #b42318;
	border-radius: 8px;
	padding: 13px 16px;
	font-size: 14px;
}
.ad-empty {
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	padding: 46px 24px;
	text-align: center;
}
.ad-empty p { font-size: 15px; color: var(--text-color); margin: 0 0 22px; }

.ad-orders { list-style: none; margin: 0; padding: 0; }
.ad-order {
	background: var(--white-color);
	border: 1px solid var(--divider-color);
	border-radius: 14px;
	box-shadow: 0 1px 2px rgba(47, 61, 56, 0.04);
	margin-bottom: 16px;
	overflow: hidden;
}
.ad-order-top {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	background: #f7f8f7;
	border-bottom: 1px solid var(--divider-color);
	padding: 16px 22px;
}
.ad-order-number {
	font-size: 14px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--primary-color);
	margin: 0 0 3px;
}
.ad-order-date { font-size: 12px; color: #9aa4a0; margin: 0; }
.ad-order-tags { display: flex; flex-wrap: wrap; gap: 8px; }
.ad-tag {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	border-radius: 999px;
	padding: 5px 12px;
}
.ad-tag-pending { background: #fdf6e7; color: #a16207; }
.ad-tag-confirmed { background: #eaf1fb; color: #1d4ed8; }
.ad-tag-shipped { background: #eef2ff; color: #4338ca; }
.ad-tag-delivered { background: #e7f6ec; color: #15803d; }
.ad-tag-cancelled { background: #f3f4f6; color: #6b7280; }
.ad-tag-paid { background: #e7f6ec; color: #15803d; }
.ad-tag-unpaid { background: #f3f4f6; color: #6b7280; }

.ad-order-body { padding: 18px 22px 20px; }
.ad-order-items { list-style: none; margin: 0 0 16px; padding: 0; }
.ad-order-items li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 9px 0;
}
.ad-thumb {
	width: 46px;
	height: 46px;
	flex: 0 0 46px;
	border-radius: 8px;
	overflow: hidden;
	background: #f2f3f2;
	border: 1px solid var(--divider-color);
	display: block;
}
.ad-thumb img { width: 100%; height: 100%; object-fit: cover; display: block; }
.ad-item-name { flex: 1; min-width: 0; font-size: 14px; color: var(--primary-color); }
.ad-item-price { font-size: 14px; color: var(--text-color); white-space: nowrap; }

.ad-order-foot {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	border-top: 1px solid var(--divider-color);
	padding-top: 15px;
}
.ad-order-total { font-size: 14px; color: var(--text-color); }
.ad-order-total strong {
	font-size: 17px;
	color: var(--primary-color);
	margin-left: 7px;
}

.ad-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	border-radius: 8px;
	padding: 12px 26px;
	cursor: pointer;
	transition: background 0.2s ease, color 0.2s ease, transform 0.2s ease;
}
.ad-btn-dark {
	color: var(--white-color);
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
}
.ad-btn-dark:hover { color: var(--white-color); background: #24302b; transform: translateY(-1px); }
.ad-btn-light {
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--primary-color);
}
.ad-btn-light:hover { color: var(--white-color); background: var(--primary-color); }

@media only screen and (max-width: 767px) {
	.ad-page { padding: 44px 0 70px; }
	.ad-head { flex-wrap: wrap; gap: 16px; padding: 22px; }
	.ad-signout { width: 100%; }
	.ad-name { font-size: 22px; }
	.ad-stats { grid-template-columns: repeat(2, 1fr); gap: 10px; }
	.ad-order-foot { flex-direction: column; align-items: stretch; }
	.ad-order-foot .ad-btn { width: 100%; }
	.am-menu { width: 240px; right: -10px; }
}

/* ── Header "Sign In" pill (last item in the action row) ──────── */
.header-action-details ul li.am-slot { margin-left: 4px; }

.header-action-details ul li .am-signin {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	width: auto;
	height: auto;
	font-family: var(--default-font);
	font-size: 12px;
	font-weight: 600;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	white-space: nowrap;
	color: var(--white-color);
	background: var(--primary-color);
	border: 1px solid var(--primary-color);
	border-radius: 999px;
	padding: 9px 18px;
	transition: background 0.25s ease, color 0.25s ease, box-shadow 0.25s ease, transform 0.25s ease;
}
.header-action-details ul li .am-signin:hover {
	color: var(--white-color);
	background: #24302b;
	transform: translateY(-1px);
	box-shadow: 0 6px 16px rgba(47, 61, 56, 0.24);
}
.header-action-details ul li .am-signin:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 3px;
}
.header-action-details ul li .am-signin svg {
	width: 16px;
	height: 16px;
	flex-shrink: 0;
}

@media only screen and (max-width: 767px) {
	/* Icon only on small screens, so the header row still fits. */
	.header-action-details ul li .am-signin {
		padding: 9px;
		border-radius: 50%;
	}
	.header-action-details ul li .am-signin span { display: none; }
}

/* ── Ring size selector + size chart ──────────────────────────── */
/* Matches the 30px rhythm its siblings use (.product-single-price and
   .product-single-content-body), so the block sits evenly between the price
   above it and the Add To Cart row below. No bottom margin — the row below
   brings its own. */
.rsz { margin-top: 30px; }
.rsz-head {
	display: flex;
	align-items: baseline;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 10px;
}
.rsz-label {
	font-size: 14px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: var(--primary-color);
}
.rsz-chart-link {
	padding: 0;
	font-size: 13px;
	color: var(--accent-color, #b8860b);
	background: none;
	border: none;
	text-decoration: underline;
	cursor: pointer;
}
.rsz-chart-link:hover { opacity: 0.75; }
.rsz-options { display: flex; flex-wrap: wrap; gap: 8px; }
.rsz-option {
	min-width: 46px;
	padding: 9px 12px;
	font-size: 14px;
	font-weight: 500;
	color: var(--primary-color);
	background: var(--white-color);
	border: 1px solid var(--divider-color, #ddd);
	border-radius: 6px;
	cursor: pointer;
	transition: border-color 0.15s ease, background 0.15s ease;
}
.rsz-option:hover { border-color: var(--primary-color); }
.rsz-option.is-selected {
	color: var(--white-color);
	background: var(--primary-color);
	border-color: var(--primary-color);
}
.rsz-note { margin: 10px 0 0; font-size: 13px; color: #6b7280; }
.rsz-error { margin: 10px 0 0; font-size: 13px; font-weight: 600; color: #dc2626; }

.rsc-overlay {
	position: fixed;
	top: 0;
	right: 0;
	bottom: 0;
	left: 0;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.55);
	z-index: 9999;
	animation: psmFade 0.2s ease-out;
}
.rsc-panel {
	display: flex;
	flex-direction: column;
	width: 100%;
	max-width: 520px;
	/* The chart is long, so the panel is capped and the table scrolls inside
	   it rather than pushing the close button off screen. */
	max-height: calc(100vh - 40px);
	background: var(--white-color);
	border-radius: 12px;
	box-shadow: 0 20px 50px rgba(0, 0, 0, 0.25);
	padding: 24px;
	animation: psmPop 0.25s ease-out;
}
.rsc-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
	margin-bottom: 8px;
}
.rsc-title { margin: 0; font-size: 20px; line-height: 1.3em; }
.rsc-x {
	padding: 0 4px;
	font-size: 26px;
	line-height: 1;
	color: #6b7280;
	background: none;
	border: none;
	cursor: pointer;
}
.rsc-x:hover { color: var(--primary-color); }
.rsc-help { margin: 0 0 16px; font-size: 13px; line-height: 1.6em; color: #6b7280; }
.rsc-scroll { overflow-y: auto; }
.rsc-table { width: 100%; border-collapse: collapse; font-size: 14px; }
.rsc-table th,
.rsc-table td {
	padding: 9px 10px;
	text-align: left;
	border-bottom: 1px solid var(--divider-color, #eee);
}
.rsc-table thead th {
	position: sticky;
	top: 0;
	font-size: 12px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	color: #6b7280;
	background: var(--white-color);
}
.rsc-table tbody th { font-weight: 600; }
.rsc-row-unoffered { color: #9ca3af; }
.rsc-row-selected { background: rgba(0, 0, 0, 0.04); }
.rsc-pick { text-align: right; }
.rsc-pick-btn {
	padding: 5px 12px;
	font-size: 13px;
	color: var(--primary-color);
	background: none;
	border: 1px solid var(--divider-color, #ddd);
	border-radius: 5px;
	cursor: pointer;
}
.rsc-pick-btn:hover { border-color: var(--primary-color); }
.rsc-na { color: #d1d5db; }
/* Visually hidden, but still announced — the column has no visible heading. */
.rsc-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}
.cart-item-size { margin: 4px 0 0; font-size: 13px; color: #6b7280; }
.rsz-single { margin: 0; font-size: 14px; color: var(--primary-color); }

/* ── Set gemstones tab ────────────────────────────────────────── */
/* Several stones become several columns, which can outgrow a phone. */
.set-stone-table { overflow-x: auto; }
.set-stone-table table { min-width: 100%; }
.set-stone-table thead td { white-space: nowrap; }
/* The property column stays readable while the stone columns share the rest. */
.set-stone-table tbody td:first-child { white-space: nowrap; }

/* ── Property badges (product details page) ───────────────────── */
.pb-list {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
	margin: 14px 0 0;
	padding: 0;
	list-style: none;
}
.pb {
	display: inline-block;
	padding: 4px 9px;
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 600;
	line-height: 1em;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	border: 1px solid transparent;
	border-radius: 4px;
}
/* Tinted fills rather than solid colour: several of these sit together, and
   solid blocks would compete with the price and the Add To Cart button. */
.pb--gold      { color: #8a6100; background: #fdf3d7; border-color: #f0dca4; }
.pb--silver    { color: #475467; background: #f2f4f7; border-color: #dfe3e8; }
.pb--clarity   { color: #175cd3; background: #eff6ff; border-color: #cfe1fd; }
.pb--untreated { color: #16794a; background: #e9f8f0; border-color: #bfe8d3; }
.pb--treated   { color: #a15c07; background: #fef6e7; border-color: #f5ddb0; }
.pb--origin    { color: #6941c6; background: #f5f2ff; border-color: #e0d7fb; }

/* Visually hidden, but announced — the visible label is a bare word. */
.pb-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

/* Image badges. Solid rather than the tinted detail-page style: these sit on
   top of a photograph, where a pale fill would be unreadable. */
.pbi {
	display: inline-block;
	font-family: var(--default-font);
	font-size: 11px;
	font-weight: 500;
	line-height: 1em;
	text-transform: uppercase;
	color: var(--white-color);
	background-color: var(--primary-color);
	border-radius: 4px;
	padding: 4px 8px;
}
/* Qualified by the container: `.product-item-badge span` already sets a
   background and outranks a lone class, so an unqualified `.pbi--*` would be
   applied but never seen. */
.product-item-badge span.pbi--gold      { background-color: #8a6100; }
.product-item-badge span.pbi--silver    { background-color: #475467; }
.product-item-badge span.pbi--clarity   { background-color: #175cd3; }
.product-item-badge span.pbi--untreated { background-color: #16794a; }
.product-item-badge span.pbi--treated   { background-color: #a15c07; }
.product-item-badge span.pbi--origin    { background-color: #6941c6; }
/* Hand-picked labels get a colour each rather than a shared neutral: the two
   say different things, and "Rare" earns the premium gold. */
.product-item-badge span.pbi--new       { background-color: #067647; }
.product-item-badge span.pbi--rare      { background-color: #b54708; }

/* ── Reviews ──────────────────────────────────────────────────────
   Cards for the home carousel, the product tab and the /reviews page. The
   dark variant sits on the testimonial band; the light one on page
   background. Both share a shape so a review reads the same everywhere. */

.review-sr {
	position: absolute;
	width: 1px;
	height: 1px;
	padding: 0;
	margin: -1px;
	overflow: hidden;
	clip: rect(0, 0, 0, 0);
	white-space: nowrap;
	border: 0;
}

.review-rating i {
	font-size: 13px;
	margin-right: 2px;
	color: var(--accent-color);
}

.review-card {
	display: flex;
	flex-direction: column;
	justify-content: space-between;
	gap: 24px;
	height: 100%;
	padding: 28px;
	border-radius: 12px;
	border: 1px solid var(--divider-color, #e6e6e6);
	background: var(--white-color);
}

.review-card--dark {
	border-color: var(--dark-divider-color);
	background: rgba(255, 255, 255, 0.04);
}

.review-card--dark .review-rating i,
.review-card--dark .review-card-text,
.review-card--dark .review-card-author-content h3,
.review-card--dark .review-card-author-content p {
	color: var(--white-color);
}

.review-card-text {
	font-size: 16px;
	line-height: 1.7;
	margin: 16px 0 0;
}

.review-card-author {
	display: flex;
	align-items: center;
	gap: 14px;
	padding-top: 20px;
	border-top: 1px solid var(--divider-color, #e6e6e6);
}

.review-card--dark .review-card-author {
	border-top-color: var(--dark-divider-color);
}

.review-card-author-content h3 {
	font-size: 17px;
	margin: 0;
}

.review-card-author-content p {
	font-size: 14px;
	margin: 3px 0 0;
	opacity: 0.8;
}

.review-card-product a {
	color: inherit;
	text-decoration: underline;
}

.review-avatar {
	display: flex;
	align-items: center;
	justify-content: center;
	flex-shrink: 0;
	overflow: hidden;
	border-radius: 50%;
	margin: 0;
}

.review-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	border-radius: 50%;
}

.review-avatar--initials {
	font-family: var(--default-font);
	font-size: 15px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--white-color);
}

/* ── Home carousel ──────────────────────────────────────────────── */
/* The slider itself is the template's `.testimonial-*` design, unchanged.
   These are only the parts live data needs and a static template does not. */

/* Prev/next are buttons here rather than divs, so the browser's own button
   styling has to be undone before the template's circle shows through. */
.testimonial-slider .testimonial-button-next,
.testimonial-slider .testimonial-button-prev {
	padding: 0;
	border: 0;
	cursor: pointer;
	appearance: none;
}

.testimonial-slider .testimonial-button-next.swiper-button-disabled,
.testimonial-slider .testimonial-button-prev.swiper-button-disabled {
	opacity: 0.4;
	cursor: default;
}

/* Stands in for a photograph the reviewer never supplied. */
.testimonial-author-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 50px;
	height: 50px;
	font-family: var(--default-font);
	font-size: 16px;
	font-weight: 600;
	letter-spacing: 0.03em;
	color: var(--white-color);
	background: var(--dark-divider-color);
	border-radius: 50%;
}

.reviews-section-action {
	margin-top: 50px;
}

/* Shown until the reviews arrive, in the shape of the testimonial it replaces. */
.review-skeleton .review-skeleton-line,
.review-skeleton .review-skeleton-avatar {
	display: block;
	height: 14px;
	border-radius: 6px;
	background: rgba(255, 255, 255, 0.12);
	animation: review-skeleton-pulse 1.6s ease-in-out infinite;
}

.review-skeleton .review-skeleton-line { margin-bottom: 14px; }
.review-skeleton .review-skeleton-line--stars { width: 110px; }
.review-skeleton .review-skeleton-line--short { width: 45%; margin-bottom: 0; }

.review-skeleton .review-skeleton-avatar {
	width: 50px;
	height: 50px;
	border-radius: 50%;
}

@keyframes review-skeleton-pulse {
	0%, 100% { opacity: 1; }
	50% { opacity: 0.45; }
}

/* A visitor who asked for less motion gets a still placeholder. */
@media (prefers-reduced-motion: reduce) {
	.review-skeleton .review-skeleton-line,
	.review-skeleton .review-skeleton-avatar {
		animation: none;
	}
}

/* ── Product page tab ───────────────────────────────────────────── */

.product-reviews-summary,
.reviews-summary-score {
	display: flex;
	align-items: center;
	gap: 12px;
	margin-bottom: 24px;
}

.product-reviews-summary strong,
.reviews-summary-score strong {
	font-family: var(--accent-font);
	font-size: 34px;
	line-height: 1;
}

.product-reviews-list {
	display: grid;
	grid-template-columns: repeat(3, 1fr);
	gap: 20px;
}

.product-reviews-all {
	display: inline-block;
	margin-top: 24px;
	font-weight: 500;
	text-decoration: underline;
}

.product-reviews-empty p,
.product-reviews-note,
.reviews-empty {
	margin: 0 0 8px;
	color: var(--text-color);
}

/* ── /reviews page ──────────────────────────────────────────────── */

.page-reviews {
	padding: 80px 0;
}

.reviews-summary {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 48px;
	padding: 28px;
	margin-bottom: 32px;
	border-radius: 12px;
	background: var(--secondary-color);
}

.reviews-summary-bars {
	flex: 1;
	min-width: 260px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.reviews-summary-bars li {
	display: flex;
	align-items: center;
	gap: 10px;
	margin-bottom: 6px;
}

.reviews-summary-star { width: 28px; font-size: 13px; }
.reviews-summary-count { width: 28px; font-size: 13px; text-align: right; }

.reviews-summary-track {
	flex: 1;
	height: 6px;
	border-radius: 3px;
	background: rgba(0, 0, 0, 0.08);
	overflow: hidden;
}

.reviews-summary-fill {
	display: block;
	height: 100%;
	border-radius: 3px;
	background: var(--primary-color);
}

.reviews-filter-bar {
	display: flex;
	flex-wrap: wrap;
	gap: 24px;
	padding-bottom: 24px;
	margin-bottom: 32px;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.reviews-filter-group {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 8px;
}

.reviews-filter-label {
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	opacity: 0.6;
}

.reviews-chip {
	display: inline-block;
	padding: 6px 14px;
	font-size: 14px;
	border-radius: 999px;
	border: 1px solid var(--divider-color, #e6e6e6);
	color: inherit;
	transition: all 0.3s ease;
}

.reviews-chip:hover,
.reviews-chip.is-active {
	background: var(--primary-color);
	border-color: var(--primary-color);
	color: var(--white-color);
}

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

.reviews-pager {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 20px;
	margin-top: 40px;
}

.reviews-pager-link {
	padding: 8px 18px;
	border-radius: 999px;
	border: 1px solid var(--divider-color, #e6e6e6);
	color: inherit;
}

.reviews-pager-link.is-disabled {
	opacity: 0.4;
	pointer-events: none;
}

@media only screen and (max-width: 991px) {
	.reviews-grid,
	.product-reviews-list,
	.reviews-skeleton-grid {
		grid-template-columns: repeat(2, 1fr);
	}
}

@media only screen and (max-width: 767px) {
	.reviews-grid,
	.product-reviews-list,
	.reviews-skeleton-grid {
		grid-template-columns: 1fr;
	}

	.reviews-summary { gap: 24px; }
	.page-reviews { padding: 50px 0; }
}

/* ── Account: writing and managing your own reviews ─────────────── */

.rv-subhead {
	font-size: 15px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.04em;
	margin: 0 0 12px;
	opacity: 0.7;
}

.rv-pending-list,
.rv-mine {
	list-style: none;
	margin: 0 0 28px;
	padding: 0;
}

.rv-pending-list li {
	display: flex;
	align-items: center;
	gap: 14px;
	padding: 14px 0;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.rv-pending-info {
	flex: 1;
	display: flex;
	flex-direction: column;
}

.rv-pending-info small {
	font-size: 12px;
	opacity: 0.6;
}

.rv-mine-item {
	padding: 18px 0;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.rv-mine-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 12px;
}

.rv-mine-product a { text-decoration: underline; }
.rv-mine-product { margin: 8px 0 0; font-size: 14px; }
.rv-mine-text { margin: 8px 0 0; line-height: 1.6; }

.rv-mine-actions {
	display: flex;
	gap: 16px;
	margin-top: 10px;
}

.rv-tag-pending  { background: #fef6e7; color: #a15c07; }
.rv-tag-approved { background: #e9f8f0; color: #16794a; }
.rv-tag-rejected { background: #fdeceb; color: #b42318; }

.rv-link-btn {
	padding: 0;
	font-size: 14px;
	font-weight: 500;
	color: inherit;
	background: none;
	border: 0;
	text-decoration: underline;
	cursor: pointer;
}

.rv-link-btn--danger { color: #b42318; }
.rv-link-btn:disabled { opacity: 0.5; cursor: default; }

/* Modal — the site has no dialog component, so this is the only one. */

.rv-modal-backdrop {
	position: fixed;
	inset: 0;
	z-index: 1080;
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 20px;
	background: rgba(0, 0, 0, 0.55);
	overflow-y: auto;
}

.rv-modal {
	width: 100%;
	max-width: 560px;
	border-radius: 14px;
	background: var(--white-color);
	box-shadow: 0 24px 60px rgba(0, 0, 0, 0.25);
}

.rv-modal:focus { outline: none; }

.rv-modal-head {
	position: relative;
	padding: 24px 28px 16px;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.rv-modal-head h2 { font-size: 22px; margin: 0; }
.rv-modal-head p { margin: 4px 0 0; font-size: 14px; opacity: 0.7; }

.rv-modal-close {
	position: absolute;
	top: 18px;
	right: 20px;
	width: 32px;
	height: 32px;
	font-size: 22px;
	line-height: 1;
	background: none;
	border: 0;
	cursor: pointer;
}

.rv-modal-body { padding: 20px 28px; }

.rv-field { margin-bottom: 18px; }
.rv-field > label,
.rv-field > legend,
.rv-label {
	display: block;
	margin-bottom: 6px;
	font-size: 14px;
	font-weight: 600;
}

.rv-optional { font-weight: 400; opacity: 0.6; }

.rv-field input[type="text"],
.rv-field input:not([type]),
.rv-field input,
.rv-field textarea {
	width: 100%;
	padding: 10px 14px;
	font-size: 15px;
	font-family: inherit;
	border: 1px solid var(--divider-color, #d9d9d9);
	border-radius: 8px;
	background: transparent;
}

.rv-field input:focus,
.rv-field textarea:focus {
	outline: 2px solid var(--primary-color);
	outline-offset: 1px;
}

.rv-counter {
	display: block;
	margin-top: 4px;
	font-size: 12px;
	text-align: right;
	opacity: 0.6;
}

.rv-stars { display: flex; gap: 6px; }

.rv-star {
	padding: 2px;
	font-size: 22px;
	line-height: 1;
	color: rgba(0, 0, 0, 0.18);
	background: none;
	border: 0;
	cursor: pointer;
	transition: color 0.2s ease;
}

.rv-star.is-on { color: var(--accent-color, #b8860b); }
.rv-star:focus-visible { outline: 2px solid var(--primary-color); outline-offset: 2px; }

.rv-photo { display: flex; align-items: center; gap: 14px; }
.rv-photo-actions { display: flex; align-items: center; gap: 12px; }

.rv-error {
	margin: 0 0 12px;
	padding: 10px 14px;
	font-size: 14px;
	border-radius: 8px;
	background: #fdeceb;
	color: #b42318;
}

.rv-note { margin: 0; font-size: 13px; opacity: 0.7; }

.rv-modal-foot {
	display: flex;
	justify-content: flex-end;
	gap: 12px;
	padding: 16px 28px 24px;
	border-top: 1px solid var(--divider-color, #e6e6e6);
}

/* ── Favourites ─────────────────────────────────────────────────── */

/* The heart on a product tile. Unsaved it is the theme's own icon; saved, the
   filter recolours that same asset rather than shipping a second one. */
.fav-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0;
	background: none;
	border: 0;
	cursor: pointer;
	line-height: 0;
	appearance: none;
	transition: transform 0.2s ease;
}

.fav-btn:hover { transform: scale(1.12); }

.fav-btn.is-saved img {
	filter: brightness(0) saturate(100%) invert(27%) sepia(89%) saturate(2476%) hue-rotate(337deg) brightness(93%) contrast(97%);
}

.fav-btn:focus-visible {
	outline: 2px solid var(--primary-color);
	outline-offset: 3px;
	border-radius: 50%;
}

.wishlist-icon-link { position: relative; display: inline-block; }

/* Account page list */

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

.fav-item {
	display: flex;
	align-items: center;
	gap: 16px;
	padding: 14px 0;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.fav-thumb {
	flex-shrink: 0;
	width: 64px;
	height: 64px;
	border-radius: 8px;
	overflow: hidden;
	background: var(--secondary-color);
}

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

.fav-thumb-empty { display: block; width: 100%; height: 100%; }

.fav-info {
	flex: 1;
	min-width: 0;
	display: flex;
	flex-direction: column;
	gap: 2px;
}

.fav-name {
	font-weight: 600;
	color: inherit;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.fav-meta {
	font-size: 12px;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	opacity: 0.6;
}

.fav-price { font-weight: 600; white-space: nowrap; }

.fav-actions {
	display: flex;
	align-items: center;
	gap: 14px;
}

.fav-clear {
	margin-left: 12px;
	padding: 0;
	font-size: 12px;
	color: inherit;
	background: none;
	border: 0;
	text-decoration: underline;
	cursor: pointer;
	opacity: 0.7;
}

@media only screen and (max-width: 767px) {
	.fav-item {
		flex-wrap: wrap;
	}

	.fav-price { order: 3; }
	.fav-actions { order: 4; margin-left: auto; }
}

/* ── Account sidebar ────────────────────────────────────────────── */
/* The template's `.my-account-sidebar-item` supplies the frame; these are the
   parts it has no equivalent for — a signed-in identity at the top, buttons
   rather than links (the panels switch in place), and the active state. */

.page-my-account { padding: 60px 0 90px; }

.ma-side-head {
	display: flex;
	align-items: center;
	gap: 12px;
	padding-bottom: 20px;
	margin-bottom: 20px;
	border-bottom: 1px solid var(--divider-color);
}

.ma-side-avatar {
	flex-shrink: 0;
	width: 46px;
	height: 46px;
	border-radius: 50%;
	overflow: hidden;
	background: var(--secondary-color);
}

.ma-side-avatar img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.ma-side-initials {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 100%;
	height: 100%;
	font-size: 15px;
	font-weight: 600;
	color: var(--primary-color);
}

.ma-side-id {
	min-width: 0;
	display: flex;
	flex-direction: column;
}

.ma-side-id strong {
	font-size: 15px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

.ma-side-id small {
	font-size: 12px;
	opacity: 0.65;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Matches the template's link row, as a button: the panel changes in place
   rather than loading a page per section. */
.my-account-sidebar-item ul li .ma-side-link {
	display: flex;
	align-items: center;
	gap: 15px;
	width: 100%;
	padding: 0;
	font-family: inherit;
	font-size: inherit;
	font-weight: 500;
	color: initial;
	text-align: left;
	background: none;
	border: 0;
	cursor: pointer;
	transition: all 0.4s ease-in-out;
}

.my-account-sidebar-item ul li .ma-side-link:hover,
.my-account-sidebar-item ul li .ma-side-link.is-active {
	color: var(--accent-color);
}

.my-account-sidebar-item ul li .ma-side-link img {
	width: 100%;
	max-width: 24px;
}

.ma-side-count {
	margin-left: auto;
	min-width: 22px;
	padding: 1px 7px;
	font-size: 12px;
	font-weight: 600;
	text-align: center;
	color: var(--white-color);
	background: var(--primary-color);
	border-radius: 999px;
}

/* Account details list */

.ma-details {
	margin: 0 0 20px;
	padding: 0;
}

.ma-details > div {
	display: flex;
	flex-wrap: wrap;
	gap: 8px 20px;
	padding: 12px 0;
	border-bottom: 1px solid var(--divider-color, #e6e6e6);
}

.ma-details dt {
	width: 140px;
	font-size: 13px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	opacity: 0.6;
}

.ma-details dd { margin: 0; }

@media only screen and (max-width: 991px) {
	.page-single-sidebar { margin-bottom: 30px; }
	.my-account-sidebar-item { padding: 24px; }
	.page-my-account { padding: 40px 0 60px; }
}

/* ── Account dashboard: large screens and small ─────────────────── */

/*
 * Beyond the large breakpoint a third of the page is more than a six-item nav
 * needs, and the panel is where the content is — so the sidebar narrows and
 * the panel takes the room.
 */
@media only screen and (min-width: 1200px) {
	.page-my-account .row > .col-lg-4 {
		flex: 0 0 auto;
		width: 27%;
	}

	.page-my-account .row > .col-lg-8 {
		flex: 0 0 auto;
		width: 73%;
	}
}

/* Wider still, the panel would stretch a line of text past comfortable
   reading, so it stops growing and sits to the left of the column. */
@media only screen and (min-width: 1600px) {
	.page-my-account .row > .col-lg-8 > .ad-page {
		max-width: 1080px;
	}
}

/* The sidebar sticks while a long order history scrolls past it. */
@media only screen and (min-width: 992px) {
	.page-my-account .page-single-sidebar {
		position: sticky;
		top: 100px;
	}
}

@media only screen and (max-width: 767px) {
	.page-my-account { padding: 30px 0 50px; }

	.my-account-sidebar-item { padding: 20px; }

	.my-account-sidebar-item ul li {
		margin-bottom: 14px;
		padding-bottom: 14px;
	}

	/* A row per order line wraps rather than squeezing the price off-screen. */
	.ad-order-items li { flex-wrap: wrap; gap: 10px; }
	.ad-item-name { flex: 1 1 100%; order: 3; }
	.ad-order-top {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
		padding: 14px 16px;
	}
	.ad-order-body { padding: 14px 16px 16px; }

	.ad-section-head { flex-wrap: wrap; }
	.ad-name { font-size: 20px; }
	.ad-avatar { width: 54px; height: 54px; }

	/* Saved pieces: thumbnail and name on one line, price and actions beneath. */
	.fav-item { gap: 12px; }
	.fav-thumb { width: 54px; height: 54px; }
	.fav-info { flex: 1 1 calc(100% - 66px); }
	.fav-actions { gap: 10px; }

	/* The review form is a full-height sheet on a phone rather than a box
	   floating in the middle of one. */
	.rv-modal-backdrop { padding: 0; align-items: flex-end; }
	.rv-modal {
		max-width: 100%;
		max-height: 92vh;
		overflow-y: auto;
		border-radius: 14px 14px 0 0;
	}
	.rv-modal-head, .rv-modal-body, .rv-modal-foot { padding-left: 18px; padding-right: 18px; }
	.rv-modal-foot .ad-btn { flex: 1; }
	.rv-pending-list li { flex-wrap: wrap; }
	.rv-pending-info { flex: 1 1 calc(100% - 60px); }
	.rv-pending-list li .ad-btn { width: 100%; }
}

/* Between phone and desktop the sidebar is full width, so its rows read as a
   list rather than a column of stranded icons. */
@media only screen and (min-width: 768px) and (max-width: 991px) {
	.my-account-sidebar-item ul {
		display: grid;
		grid-template-columns: repeat(2, 1fr);
		gap: 0 24px;
	}
}

/* ── Hand-picked rows ───────────────────────────────────────────── */
/* One row per kind, so each needs a quiet label and space between them. */

.hand-picked-row-title {
	font-family: var(--accent-font);
	font-size: 20px;
	font-weight: 400;
	color: var(--primary-color);
	margin: 0 0 20px;
}

.hand-picked-row {
	margin-top: 50px;
}

@media only screen and (max-width: 767px) {
	.hand-picked-row { margin-top: 30px; }
	.hand-picked-row-title { font-size: 18px; margin-bottom: 14px; }
}
