/*
	Theme Name: Hello Elementor
	Theme URI: https://elementor.com/hello-theme/
	Description: Hello Elementor customised for Lusso Organics — premium botanical storefront styling.
	Author: Elementor Team / Lusso Organics customisation
	Version: 3.5.1
	Requires at least: 6.0
	Requires PHP: 7.4
	License: GNU General Public License v3 or later.
	License URI: https://www.gnu.org/licenses/gpl-3.0.html
	Text Domain: hello-elementor
	Tags: accessibility-ready, flexible-header, custom-colors, custom-menu, custom-logo, featured-images, rtl-language-support, threaded-comments, translation-ready
*/

:root{
	--lusso-forest:#17362d;
	--lusso-forest-deep:#0f241e;
	--lusso-ivory:#fbf8f2;
	--lusso-sand:#f2e9dc;
	--lusso-sage:#dfe8df;
	--lusso-gold:#c7a56a;
	--lusso-ink:#24332d;
	--lusso-muted:#66706a;
	--lusso-line:rgba(23,54,45,.13);
	--lusso-shadow:0 20px 55px rgba(23,54,45,.10);
	--lusso-radius:24px;
}

html{scroll-behavior:smooth}
body{
	background:var(--lusso-ivory);
	color:var(--lusso-ink);
	font-family:"Manrope",sans-serif;
	-webkit-font-smoothing:antialiased;
}
body,button,input,select,textarea{font-family:"Manrope",sans-serif}
h1,h2,h3,h4,h5,h6,.site-title,.woocommerce-loop-product__title,.product_title{
	font-family:"Cormorant Garamond",serif;
	color:var(--lusso-forest);
	letter-spacing:-.02em;
}
a{color:var(--lusso-forest);transition:color .22s ease,opacity .22s ease,transform .22s ease}
a:hover{color:#9a783f}
::selection{background:var(--lusso-gold);color:var(--lusso-forest-deep)}

/* Global header */
.site-header{
	position:sticky;
	top:0;
	z-index:1000;
	background:rgba(251,248,242,.92);
	border-bottom:1px solid var(--lusso-line);
	backdrop-filter:blur(16px);
	-webkit-backdrop-filter:blur(16px);
}
.site-header .header-inner{
	max-width:1240px;
	min-height:86px;
	padding:0 28px;
}
.site-branding{gap:2px}
.site-title a{
	font-size:26px;
	font-weight:700;
	letter-spacing:.13em;
	text-transform:uppercase;
	text-decoration:none;
}
.site-description{
	font-size:11px;
	letter-spacing:.12em;
	text-transform:uppercase;
	color:#7e857f;
}
.site-navigation ul.menu{gap:4px;align-items:center}
.site-navigation ul.menu > li > a{
	font-size:13px;
	font-weight:700;
	letter-spacing:.04em;
	color:var(--lusso-ink);
	padding:12px 13px;
	border-radius:999px;
}
.site-navigation ul.menu > li > a:hover,
.site-navigation ul.menu > li.current-menu-item > a{
	background:var(--lusso-forest);
	color:#fff;
}
.site-navigation-toggle{
	border:1px solid var(--lusso-line)!important;
	background:#fff!important;
	border-radius:999px!important;
}
.site-navigation-dropdown ul.menu{
	background:var(--lusso-ivory);
	border:1px solid var(--lusso-line);
	border-radius:20px;
	box-shadow:var(--lusso-shadow);
	padding:12px;
}
.site-navigation-dropdown ul.menu a{
	border-radius:12px;
	font-weight:700;
}

/* Correct logo treatment once custom logo is assigned */
.site-logo img,
.custom-logo,
.lusso-correct-logo{
	display:block;
	max-height:68px;
	width:auto;
	object-fit:contain;
}
.lusso-branding{display:flex;align-items:center}
.lusso-brand-link{display:inline-flex;align-items:center}

/* Page shells */
.site-main{
	max-width:1240px;
	margin:0 auto;
	padding:52px 28px 76px;
}
.elementor-page .site-main{max-width:none;padding:0}
.page-header{margin-bottom:30px}
.page-header .entry-title,
.woocommerce-products-header__title.page-title{
	font-size:clamp(44px,6vw,72px);
	line-height:.98;
	font-weight:600;
	margin:0;
}
.entry-content,.page-content{
	font-size:16px;
	line-height:1.8;
}

/* WooCommerce archive */
.woocommerce .woocommerce-breadcrumb{
	margin:0 0 26px;
	font-size:12px;
	font-weight:700;
	letter-spacing:.08em;
	text-transform:uppercase;
	color:#8a918d;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--lusso-forest)}
.woocommerce .woocommerce-result-count,
.woocommerce .woocommerce-ordering{margin:0 0 34px}
.woocommerce .woocommerce-ordering select{
	min-height:46px;
	border:1px solid var(--lusso-line);
	border-radius:999px;
	background:#fff;
	padding:0 40px 0 18px;
	color:var(--lusso-ink);
}
.woocommerce ul.products{
	display:grid;
	grid-template-columns:repeat(3,minmax(0,1fr));
	gap:26px;
	margin:0;
}
.woocommerce ul.products::before,
.woocommerce ul.products::after{display:none}
.woocommerce ul.products li.product{
	float:none!important;
	width:auto!important;
	margin:0!important;
	background:#fff;
	border:1px solid rgba(23,54,45,.08);
	border-radius:26px;
	padding:16px 16px 22px;
	overflow:hidden;
	box-shadow:0 10px 34px rgba(23,54,45,.06);
	transition:transform .28s ease,box-shadow .28s ease,border-color .28s ease;
}
.woocommerce ul.products li.product:hover{
	transform:translateY(-5px);
	box-shadow:var(--lusso-shadow);
	border-color:rgba(199,165,106,.45);
}
.woocommerce ul.products li.product a img{
	margin:0 0 18px!important;
	border-radius:20px;
	aspect-ratio:1/1;
	object-fit:cover;
	background:#f4efe8;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:29px!important;
	line-height:1.05;
	font-weight:600;
	padding:0!important;
	margin:0 0 7px;
}
.woocommerce ul.products li.product .price{
	display:block;
	color:#9b763e!important;
	font-size:17px!important;
	font-weight:700!important;
	margin:0 0 14px!important;
}
.woocommerce ul.products li.product .button{
	margin-top:6px!important;
	width:100%;
	text-align:center;
}

/* Buttons */
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button.alt,
.woocommerce button.button.alt,
.woocommerce input.button.alt,
.wp-element-button{
	background:var(--lusso-forest)!important;
	color:#fff!important;
	border:0!important;
	border-radius:999px!important;
	padding:14px 22px!important;
	font-size:13px!important;
	font-weight:800!important;
	letter-spacing:.025em;
	line-height:1.2!important;
	transition:transform .2s ease,background .2s ease,color .2s ease!important;
}
.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button.alt:hover,
.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover{
	background:var(--lusso-gold)!important;
	color:var(--lusso-forest)!important;
	transform:translateY(-1px);
}

/* Single product */
.single-product .site-main{padding-top:54px}
.single-product div.product{
	display:grid;
	grid-template-columns:minmax(0,1fr) minmax(340px,.82fr);
	gap:64px;
	align-items:start;
}
.single-product div.product::before,
.single-product div.product::after{display:none}
.single-product div.product div.images,
.single-product div.product div.summary{
	float:none!important;
	width:auto!important;
	margin:0!important;
}
.single-product .woocommerce-product-gallery{
	background:#f1ece4;
	border-radius:32px;
	padding:22px;
}
.single-product .woocommerce-product-gallery img{border-radius:22px}
.single-product .summary{
	position:sticky;
	top:118px;
	background:#fff;
	border:1px solid var(--lusso-line);
	border-radius:28px;
	padding:34px;
	box-shadow:0 18px 55px rgba(23,54,45,.07);
}
.single-product .product_title{
	font-size:clamp(42px,5vw,64px);
	line-height:.96;
	font-weight:600;
	margin:0 0 14px;
}
.single-product .summary .price{
	color:#9b763e!important;
	font-size:22px!important;
	font-weight:800;
}
.single-product .woocommerce-product-details__short-description{
	color:var(--lusso-muted);
	line-height:1.75;
	margin:22px 0;
}
.single-product form.cart{display:flex;gap:10px;align-items:stretch}
.single-product .quantity .qty{
	min-height:48px;
	border:1px solid var(--lusso-line);
	border-radius:999px;
	background:var(--lusso-ivory);
}
.single-product .product_meta{
	border-top:1px solid var(--lusso-line);
	margin-top:25px;
	padding-top:18px;
	font-size:12px;
	line-height:1.8;
	color:#7c827e;
}
.woocommerce div.product .woocommerce-tabs{
	grid-column:1/-1;
	background:#fff;
	border-radius:28px;
	border:1px solid var(--lusso-line);
	padding:28px 32px;
}
.woocommerce div.product .woocommerce-tabs ul.tabs{
	padding:0!important;
	margin:0 0 24px!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{border-color:var(--lusso-line)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li{
	border:0!important;
	background:transparent!important;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{font-weight:800!important;color:var(--lusso-muted)!important}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--lusso-forest)!important}
.single-product .related.products{grid-column:1/-1}
.single-product .related.products > h2{
	font-size:44px;
	margin:28px 0 22px;
}

/* Cart, checkout and account */
.woocommerce-cart .site-main,
.woocommerce-checkout .site-main,
.woocommerce-account .site-main{max-width:1180px}
.woocommerce table.shop_table{
	border:1px solid var(--lusso-line)!important;
	border-radius:22px!important;
	overflow:hidden;
	background:#fff;
}
.woocommerce table.shop_table th{
	font-size:12px;
	text-transform:uppercase;
	letter-spacing:.08em;
	color:#7b827d;
}
.woocommerce-cart table.cart img{width:78px;border-radius:14px}
.woocommerce-cart .cart-collaterals .cart_totals,
.woocommerce-checkout #order_review,
.woocommerce-checkout .woocommerce-billing-fields,
.woocommerce-checkout .woocommerce-additional-fields,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content{
	background:#fff;
	border:1px solid var(--lusso-line);
	border-radius:24px;
	padding:24px;
}
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.woocommerce form select{
	border:1px solid var(--lusso-line);
	background:#fff;
	border-radius:14px;
	padding:12px 14px;
	min-height:48px;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus{
	border-color:var(--lusso-gold);
	box-shadow:0 0 0 3px rgba(199,165,106,.15);
	outline:none;
}

/* Notices */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error{
	background:#fff!important;
	border-top-color:var(--lusso-gold)!important;
	border-radius:18px;
	box-shadow:0 8px 26px rgba(23,54,45,.06);
}

/* Footer */
.site-footer{
	background:var(--lusso-forest-deep);
	color:#c7d0ca;
	border-top:0;
}
.site-footer .footer-inner{
	max-width:1240px;
	padding:48px 28px;
}
.site-footer .site-description{
	color:#b7c2bb;
	font-size:12px;
}
.site-footer .copyright{
	font-size:12px;
	color:#8f9d95;
}

/* Editorial details */
.elementor img{image-rendering:auto}
.elementor-widget-button .elementor-button{transition:transform .22s ease,box-shadow .22s ease}
.elementor-widget-button .elementor-button:hover{transform:translateY(-2px)}
.elementor-widget-image img{transition:transform .35s ease}
.elementor-widget-image a:hover img{transform:scale(1.015)}

/* Mobile */
@media (max-width:1024px){
	.woocommerce ul.products{grid-template-columns:repeat(2,minmax(0,1fr))}
	.single-product div.product{gap:36px}
	.site-header .header-inner{padding:0 20px}
}
@media (max-width:767px){
	.site-header .header-inner{min-height:72px;padding:0 16px}
	.site-title a{font-size:21px}
	.site-description{display:none}
	.site-main{padding:34px 16px 54px}
	.woocommerce ul.products{grid-template-columns:1fr;gap:18px}
	.woocommerce ul.products li.product{border-radius:22px}
	.single-product div.product{display:block}
	.single-product .summary{position:static;margin-top:20px!important;padding:24px}
	.single-product .product_title{font-size:44px}
	.woocommerce div.product .woocommerce-tabs{margin-top:24px;padding:20px}
	.single-product .related.products > h2{font-size:36px}
	.site-footer .footer-inner{padding:36px 18px}
}
