/* ============================================================ TOKENS */
:root{
	--ww2-bg:#ffffff;
	--ww2-fg:#000000;
	--ww2-muted:rgba(0,0,0,.60);
	--ww2-line:rgba(0,0,0,.13);
	--ww2-line-strong:rgba(0,0,0,.42);
	--ww2-panel:#ffffff;
	--ww2-panel-alt:#f6f6f6;
	--ww2-field-bg:#ffffff;
	--ww2-btn-bg:#000000;
	--ww2-btn-fg:#ffffff;
	--ww2-header-bg:#ffffff;
	--ww2-logo-filter:none;
	--ww2-gap:24px;
	--ww2-maxw:1600px;
	--ww2-nav-size:14px;
	--ww2-header-pad:110px;
	--ww2-track:.11em;
	--ww2-pad:40px;
	--ww2-logo-h:92px;
	--ww2-meta-size:13px;
}

body.home{
	--ww2-bg:transparent;
	--ww2-fg:#ffffff;
	--ww2-muted:rgba(255,255,255,.80);
	--ww2-line:rgba(255,255,255,.22);
	--ww2-line-strong:rgba(255,255,255,.55);
	--ww2-panel:transparent;
	--ww2-panel-alt:rgba(255,255,255,.06);
	--ww2-field-bg:rgba(255,255,255,.08);
	--ww2-btn-bg:#ffffff;
	--ww2-btn-fg:#000000;
	--ww2-header-bg:transparent;
	--ww2-logo-filter:none;
}

/* ============================================================ BASE */
html,body{max-width:100%;overflow-x:hidden;}
body{background-color:#ffffff;color:var(--ww2-fg);}
img,video,iframe,table{max-width:100%;}

body,
.site,
.site-content,
.content-area,
.site-main,
.woocommerce,
.woocommerce-page,
.entry-content{
	background-color:transparent;
	color:var(--ww2-fg);
}
body:not(.home){background-color:var(--ww2-bg);}

h1,h2,h3,h4,h5,h6,
.entry-title,.product_title,.page-title{color:var(--ww2-fg);letter-spacing:.02em;}
p,li,td,th,dd,dt,label,figcaption{color:var(--ww2-fg);}
hr{border-color:var(--ww2-line);}

/* ---- The home page photograph -------------------------------------- */
body.home{background-color:#0b0b0b;}
body.home::before{
	content:'';position:fixed;inset:0;z-index:-2;
	background-image:var(--ww2-home-image,none);
	background-size:cover;
	background-position:center center;
	background-repeat:no-repeat;
	background-color:#0b0b0b;
}
body.home::after{
	content:'';position:fixed;inset:0;z-index:-1;
	background:linear-gradient(180deg,rgba(0,0,0,.66) 0%,rgba(0,0,0,.48) 42%,rgba(0,0,0,.78) 100%);
}
body.home .elementor-section,
body.home .elementor-column,
body.home .elementor-widget-wrap{background-color:transparent!important;}

/* ---- The photograph belongs to the front page and nowhere else ------
   Three independent locks: the variable is undefined off the front page,
   the pseudo elements that carry the image and its overlay are removed,
   and the page ground is forced back to solid white.                    */
body:not(.home){
	--ww2-home-image:none;
	background-color:#ffffff!important;
	background-image:none!important;
}
body:not(.home)::before,
body:not(.home)::after{
	content:none!important;
	display:none!important;
	background:none!important;
	background-image:none!important;
}

/* ---- Links: underline grows on hover, never at rest ----------------- */
a{
	color:var(--ww2-fg);
	text-decoration:none;
	background-image:linear-gradient(currentColor,currentColor);
	background-repeat:no-repeat;
	background-position:0 100%;
	background-size:0% 1px;
	transition:background-size .28s ease,color .2s ease;
	padding-bottom:1px;
}
a:hover,a:focus-visible{
	color:var(--ww2-fg);
	background-size:100% 1px;
	text-decoration:none;
	outline:none;
}
a.button,a.wp-block-button__link,.elementor-button,
a:has(img),.woocommerce-LoopProduct-link,.wp-block-image a{
	background-image:none;padding-bottom:0;
}

/* ============================================================ HEADER */
/* ---- The thin black bar at the very top of every page -------------- */
.ww2-topbar{
	background:#000000;
	color:#ffffff;
	position:relative;
	z-index:60;
}
.ww2-topbar__inner{
	max-width:var(--ww2-maxw);
	margin:0 auto;
	padding:0 var(--ww2-header-pad);
	min-height:40px;
	box-sizing:border-box;
	display:flex;align-items:center;justify-content:space-between;
	gap:6px 26px;flex-wrap:wrap;
}
.ww2-topbar__left,
.ww2-topbar__right{display:flex;align-items:center;gap:18px;flex-wrap:wrap;}
.ww2-topbar a{
	color:rgba(255,255,255,.80);
	font-size:12px;letter-spacing:.06em;
	display:inline-flex;align-items:center;gap:8px;
	padding-bottom:2px;
	background-image:linear-gradient(currentColor,currentColor);
	background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;
	transition:background-size .28s ease,color .2s ease;
}
.ww2-topbar a:hover{color:#ffffff;background-size:100% 1px;}
.ww2-topbar__ig{padding-bottom:0!important;background-image:none!important;}
.ww2-topbar .ww2-icon{width:16px;height:16px;}
.ww2-topbar .ww2-icon--mail{width:17px;height:17px;}
.ww2-topbar__nav{display:flex;align-items:center;gap:18px;list-style:none;margin:0;padding:0;}
.ww2-topbar__nav .ww2-nav__item{margin:0;}
.ww2-topbar__nav .ww2-nav__item a{
	font-size:12px;font-weight:600;letter-spacing:.1em;text-transform:uppercase;
	color:rgba(255,255,255,.80);
}
.ww2-topbar__nav .ww2-nav__item a:hover,
.ww2-topbar__nav .ww2-nav__item.is-current a{color:#ffffff;background-size:100% 1px;}
.ww2-topbar .ww2-cur-switch{gap:6px;}
.ww2-topbar .ww2-cur{color:rgba(255,255,255,.72);font-size:12px;}
.ww2-topbar .ww2-cur:hover,
.ww2-topbar .ww2-cur.is-active{color:#ffffff;}
.ww2-topbar .ww2-cur-sep{color:rgba(255,255,255,.45);font-size:12px;}

/* ---- The main bar: white with black type on every page ------------- */
.elementor-location-header{
	--ww2-fg:#000000;
	--ww2-muted:rgba(0,0,0,.62);
	--ww2-line:rgba(0,0,0,.16);
	--ww2-header-bg:#ffffff;
	background-color:#ffffff;
	position:relative;
	z-index:50;
}
.elementor-location-header .elementor-section,
body.home .elementor-location-header .elementor-section{
	background-color:var(--ww2-header-bg)!important;
	padding-top:0!important;
	padding-bottom:0!important;
	margin:0!important;
}
.elementor-location-header .elementor-container{
	padding-left:var(--ww2-header-pad);
	padding-right:var(--ww2-header-pad);
	box-sizing:border-box;
	position:relative;
}
.elementor-location-header .elementor-column > .elementor-widget-wrap{
	align-content:center;
	padding-top:10px!important;
	padding-bottom:10px!important;
}
.elementor-location-header .elementor-widget{margin-bottom:0!important;}
.elementor-location-header .elementor-widget-shortcode{width:100%;}
.elementor-location-header p,
.elementor-location-header a,
.elementor-location-header span,
.elementor-location-header svg,
.elementor-location-header button{color:var(--ww2-fg);}

/* Nothing above the header */
body .site,body .site-content{margin-top:0;}
.elementor-location-header + *{margin-top:0;}

/* ---- Logo: original artwork, original colour, centred -------------- */
.elementor-location-header .elementor-column:nth-child(2) > .elementor-widget-wrap{
	justify-content:center!important;align-items:center;width:100%;
	padding-top:22px!important;padding-bottom:16px!important;
}
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-widget-image{flex:0 1 auto;}
.elementor-location-header .elementor-widget-theme-site-logo,
.elementor-location-header .elementor-widget-image{width:100%;}
.elementor-location-header .elementor-widget-theme-site-logo .elementor-widget-container,
.elementor-location-header .elementor-widget-image .elementor-widget-container{display:flex;justify-content:center;}
.elementor-location-header .elementor-widget-theme-site-logo img,
.elementor-location-header .elementor-widget-image img{
	display:block;
	width:auto!important;
	height:auto;
	max-width:100%;
	max-height:var(--ww2-logo-h);
	object-fit:contain;
	background:transparent;
	margin:0 auto;
	filter:none!important;
}

/* ---- Text navigation ----------------------------------------------- */
.ww2-nav{display:flex;flex-direction:column;gap:8px;}
.ww2-nav--left{align-items:flex-start;text-align:left;}
.ww2-nav--right{align-items:flex-end;text-align:right;}
.ww2-nav__row{display:flex;flex-wrap:wrap;align-items:center;gap:7px 20px;margin:0;padding:0;list-style:none;}
.ww2-nav--right .ww2-nav__row{justify-content:flex-end;}
.ww2-nav__item{margin:0;padding:0;list-style:none;line-height:1;display:inline-flex;align-items:center;}
.ww2-nav__item a{
	display:inline-flex;align-items:center;gap:7px;
	font-size:var(--ww2-nav-size);
	line-height:1.25;
	letter-spacing:var(--ww2-track);
	text-transform:uppercase;
	font-weight:600;
	color:var(--ww2-fg);
	padding-bottom:3px;
	background-image:linear-gradient(currentColor,currentColor);
	background-repeat:no-repeat;
	background-position:0 100%;
	background-size:0% 1px;
	transition:background-size .28s ease,color .2s ease;
}
.ww2-nav__item a:hover,
.ww2-nav__item a:focus-visible,
.ww2-nav__item.is-current a{background-size:100% 1px;}

/* ---- Meta row ------------------------------------------------------ */
.ww2-nav__row--meta{gap:6px 16px;}
.ww2-nav--left .ww2-nav__row--meta .ww2-nav__item a,
.ww2-nav--right .ww2-nav__row--meta .ww2-nav__item a{
	font-size:var(--ww2-meta-size);font-weight:500;color:var(--ww2-muted);
}
.ww2-nav--left .ww2-nav__row--meta .ww2-nav__item--mail a{text-transform:none;letter-spacing:.02em;}
.ww2-nav__row--meta .ww2-nav__item a:hover,
.ww2-nav__row--meta .ww2-nav__item.is-current a{color:var(--ww2-fg);}

/* ---- Icons --------------------------------------------------------- */
.ww2-icon{width:1.25em;height:1.25em;display:block;flex:0 0 auto;}
.ww2-icon--mail{width:1.35em;height:1.35em;}
.ww2-nav__item--ig a{padding-bottom:0;background-image:none;font-size:var(--ww2-meta-size);}

/* ---- Currency ------------------------------------------------------ */
.ww2-cur-switch{display:inline-flex;align-items:center;gap:7px;}
.ww2-cur-sep{color:var(--ww2-muted);font-size:var(--ww2-meta-size);}
.ww2-cur{
	color:var(--ww2-muted);
	font-size:var(--ww2-meta-size);letter-spacing:var(--ww2-track);
	text-transform:uppercase;font-weight:500;padding-bottom:3px;
	background-image:linear-gradient(currentColor,currentColor);
	background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;
	transition:background-size .28s ease,color .2s ease;
}
.ww2-cur:hover{background-size:100% 1px;color:var(--ww2-fg);}
.ww2-cur.is-active{color:var(--ww2-fg);font-weight:700;}

/* ---- Menu button (hidden until the bar collapses) ------------------ */
.ww2-burger{
	display:none;
	position:absolute;top:50%;right:var(--ww2-header-pad);transform:translateY(-50%);
	width:46px;height:40px;padding:9px 6px;
	background:transparent;border:0;cursor:pointer;
	flex-direction:column;justify-content:space-between;
	z-index:60;
}
.ww2-burger span{display:block;height:2px;width:100%;background:var(--ww2-fg);transition:transform .25s ease,opacity .2s ease;}
.ww2-burger.is-open span:nth-child(1){transform:translateY(9px) rotate(45deg);}
.ww2-burger.is-open span:nth-child(2){opacity:0;}
.ww2-burger.is-open span:nth-child(3){transform:translateY(-9px) rotate(-45deg);}

/* ============================================================ MOBILE MENU */
.ww2-mm[hidden],.ww2-search-panel[hidden]{display:none!important;}
.ww2-mm{
	position:fixed;inset:0;z-index:100000;
	background:#000;color:#fff;
	overflow:hidden;
	display:flex;flex-direction:column;
}
body.ww2-menu-open{overflow:hidden;}
.ww2-mm__bar{
	position:relative;
	display:flex;align-items:center;justify-content:center;
	padding:18px 62px 6px;flex:0 0 auto;
}
.ww2-mm__logo{display:block;margin:0 auto;}
.ww2-mm__logo img{display:block;height:auto;width:auto;max-height:62px;max-width:calc(100vw - 148px);margin:0 auto;}
.ww2-mm__close{
	position:absolute;right:16px;top:50%;transform:translateY(-50%);
	background:transparent;border:0;color:#fff;font-size:38px;line-height:1;
	padding:0 6px;cursor:pointer;z-index:2;
}
.ww2-mm__inner{
	padding:14px 22px 48px;text-align:center;
	flex:1 1 auto;min-height:0;
	overflow-y:auto;-webkit-overflow-scrolling:touch;
}
.ww2-mm__mail{
	display:inline-flex;align-items:center;gap:9px;justify-content:center;
	color:rgba(255,255,255,.85);font-size:15px;margin:14px 0 22px;
	background-image:none;
}
.ww2-mm__mail .ww2-icon{width:20px;height:20px;}
.ww2-mm__search{display:flex;align-items:stretch;margin:0 0 30px;}
.ww2-mm__search input[type=search]{
	flex:1 1 auto;background:#f5f5f5!important;color:#000!important;
	border:0!important;border-radius:0!important;padding:15px 16px!important;font-size:16px;
}
.ww2-mm__search button{
	flex:0 0 auto;width:56px;background:#f5f5f5;border:0;color:#000;cursor:pointer;
	display:flex;align-items:center;justify-content:center;
}
.ww2-mm__search button svg{width:22px;height:22px;}
.ww2-mm__links{list-style:none;margin:0;padding:0;}
.ww2-mm__item{margin:0;}
.ww2-mm__item a{
	display:block;padding:15px 10px;
	font-size:17px;letter-spacing:.06em;text-transform:uppercase;font-weight:600;
	color:#fff;background-image:none;
}
.ww2-mm__item.is-current a{background:#fff;color:#000;}
.ww2-mm__foot{
	display:flex;align-items:center;justify-content:center;gap:22px;
	margin-top:32px;padding-top:22px;border-top:1px solid rgba(255,255,255,.2);
}
.ww2-mm__foot .ww2-cur{color:rgba(255,255,255,.75);font-size:14px;}
.ww2-mm__foot .ww2-cur.is-active{color:#fff;}
.ww2-mm__foot .ww2-cur-sep{color:rgba(255,255,255,.5);}
.ww2-mm__ig{color:rgba(255,255,255,.75);background-image:none;display:inline-flex;}
.ww2-mm__ig .ww2-icon{width:22px;height:22px;}

/* ============================================================ SEARCH PANEL */
.ww2-search-panel{
	position:fixed;left:0;right:0;top:var(--wp-admin--admin-bar--height,0px);z-index:9999;
	background:#000;border-bottom:1px solid rgba(255,255,255,.4);padding:18px var(--ww2-pad);
}
body.admin-bar .ww2-search-panel{top:32px;}
@media screen and (max-width:782px){body.admin-bar .ww2-search-panel{top:46px;}}
.ww2-search-panel__form{display:flex;gap:12px;align-items:center;max-width:var(--ww2-maxw);margin:0 auto;}
.ww2-search-panel__input{
	flex:1 1 auto;background:transparent;border:0;border-bottom:1px solid rgba(255,255,255,.4);
	color:#fff;font-size:16px;letter-spacing:.04em;padding:10px 2px;border-radius:0;
}
.ww2-search-panel__input:focus{outline:none;border-bottom-color:#fff;}
.ww2-search-panel__input::placeholder{color:rgba(255,255,255,.45);}
.ww2-search-panel__submit,.ww2-search-panel__close{
	background:transparent;color:#fff;border:1px solid rgba(255,255,255,.45);
	font-size:11px;letter-spacing:var(--ww2-track);text-transform:uppercase;padding:10px 16px;cursor:pointer;
	transition:background .2s ease,color .2s ease;
}
.ww2-search-panel__submit:hover,.ww2-search-panel__close:hover{background:#fff;color:#000;border-color:#fff;}

/* ============================================================ 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,.elementor-button,.wp-block-button__link,.button{
	background-color:var(--ww2-btn-bg)!important;
	color:var(--ww2-btn-fg)!important;
	border:1px solid var(--ww2-btn-bg)!important;
	border-radius:0!important;
	text-transform:uppercase;letter-spacing:var(--ww2-track);
	font-size:12px;font-weight:700;line-height:1.2;
	padding:15px 26px;box-shadow:none!important;text-shadow:none!important;
	transition:background-color .2s ease,color .2s ease;
}
.woocommerce a.button:hover,.woocommerce button.button:hover,.woocommerce input.button:hover,
.woocommerce #respond input#submit:hover,.woocommerce a.button.alt:hover,.woocommerce button.button.alt:hover,
.woocommerce input.button.alt:hover,.elementor-button:hover,.wp-block-button__link:hover,.button:hover{
	background-color:transparent!important;
	color:var(--ww2-btn-bg)!important;
	border-color:var(--ww2-btn-bg)!important;
}
body.home .elementor-button:hover,body.home .wp-block-button__link:hover,body.home .button:hover{
	color:#fff!important;border-color:#fff!important;
}
.woocommerce a.button.disabled,.woocommerce button.button:disabled{opacity:.35;cursor:not-allowed;}

/* ============================================================ FORMS */
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce form .form-row select,
.select2-container--default .select2-selection--single,
input[type=text],input[type=email],input[type=tel],input[type=password],
input[type=search],input[type=number],textarea,select{
	background-color:var(--ww2-field-bg)!important;
	color:var(--ww2-fg)!important;
	border:1px solid var(--ww2-line-strong)!important;
	border-radius:0!important;
	padding:12px 14px!important;font-size:15px;box-shadow:none!important;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row select:focus,input:focus,textarea:focus{outline:none;border-color:var(--ww2-fg)!important;}
.select2-container--default .select2-selection--single .select2-selection__rendered{color:var(--ww2-fg);line-height:normal;}
.select2-dropdown{background:#fff;color:#000;border:1px solid rgba(0,0,0,.35);}
.select2-container--default .select2-results__option--highlighted[aria-selected]{background:#000;color:#fff;}
.woocommerce form .form-row label,.woocommerce-form label,.woocommerce label{
	font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ww2-muted);
}
.required{color:var(--ww2-fg);}

/* ============================================================ PRODUCT GRID */
.woocommerce ul.products,.wc-block-grid__products{
	display:grid!important;
	grid-template-columns:repeat(4,minmax(0,1fr));
	gap:var(--ww2-gap);
	margin:0 0 48px;padding:0;list-style:none;
}
.woocommerce ul.products::before,.woocommerce ul.products::after{display:none!important;}
.woocommerce ul.products li.product{
	width:auto!important;margin:0!important;float:none!important;clear:none!important;
	display:flex;flex-direction:column;text-align:left;
	background:var(--ww2-panel);
	border:1px solid var(--ww2-line);
	position:relative;
	transition:border-color .2s ease;
}
.woocommerce ul.products li.product:hover{border-color:var(--ww2-line-strong);}
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link{
	display:flex;flex-direction:column;flex:1 1 auto;
}
.woocommerce ul.products li.product img{
	width:100%;height:auto;aspect-ratio:1/1;object-fit:cover;display:block;margin:0;border-radius:0;
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
	font-size:13px;line-height:1.45;letter-spacing:.045em;text-transform:uppercase;font-weight:600;
	color:var(--ww2-fg);
	padding:16px 16px 0;margin:0;
	min-height:3.9em;
	display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.woocommerce ul.products li.product .price{
	display:block;margin:auto 0 0;padding:6px 16px 16px;
	font-size:15px;font-weight:700;letter-spacing:.03em;color:var(--ww2-fg);text-align:left;
}
.woocommerce ul.products li.product .price del{color:var(--ww2-muted);font-weight:400;margin-right:8px;opacity:1;}
.woocommerce ul.products li.product .price ins{background:transparent;color:var(--ww2-fg);text-decoration:none;font-weight:700;}
.woocommerce ul.products li.product .button,
.woocommerce ul.products li.product .added_to_cart{
	display:block;margin:0 16px 16px;text-align:center;width:calc(100% - 32px);box-sizing:border-box;
}
.woocommerce ul.products li.product .star-rating{display:none;}

/* ---- Badges -------------------------------------------------------- */
.woocommerce ul.products li.product .onsale,
.woocommerce span.onsale,
.single-product .onsale{
	position:absolute!important;top:12px!important;left:12px!important;right:auto!important;
	margin:0!important;z-index:3;
	background:#000!important;background-color:#000!important;color:#fff!important;
	border:1px solid #000!important;
	border-radius:0!important;min-width:0!important;min-height:0!important;line-height:1!important;
	padding:7px 11px!important;font-size:11px!important;font-weight:700!important;
	letter-spacing:.14em!important;text-transform:uppercase!important;
}
.ww2-badge-sold{
	position:absolute;top:12px;left:12px;z-index:4;
	background:#fff!important;color:#000!important;border:1px solid #000!important;
	padding:6px 10px;font-size:11px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;line-height:1;
}
li.product.ww2-is-sold .onsale{display:none;}
li.product.ww2-is-sold img{filter:none;opacity:1;}
li.product.ww2-is-sold .price{color:var(--ww2-muted);}
.ww2-archive-excerpt{
	padding:0 16px;margin:8px 0 0;
	font-size:12.5px;line-height:1.6;color:var(--ww2-muted);
	display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;
}

/* ============================================================ SINGLE PRODUCT */
.single-product div.product{position:relative;}
.single-product div.product .product_title{
	font-size:30px;line-height:1.25;letter-spacing:.02em;text-transform:uppercase;
	padding-bottom:18px;border-bottom:1px solid var(--ww2-line);margin-bottom:22px;
}
.single-product div.product p.price,.single-product div.product span.price{
	font-size:24px;font-weight:700;color:var(--ww2-fg);
}
.single-product div.product .woocommerce-product-gallery img{border-radius:0;}
.ww2-badge-sold--single{position:absolute;top:16px;left:16px;z-index:5;}
.woocommerce div.product .woocommerce-tabs ul.tabs{border-bottom:1px solid var(--ww2-line);padding:0;margin-bottom:24px;}
.woocommerce div.product .woocommerce-tabs ul.tabs::before{display:none;}
.woocommerce div.product .woocommerce-tabs ul.tabs li{background:transparent;border:0;border-radius:0;margin:0 24px 0 0;padding:0;}
.woocommerce div.product .woocommerce-tabs ul.tabs li a{
	text-transform:uppercase;font-size:12px;letter-spacing:var(--ww2-track);color:var(--ww2-muted);font-weight:600;padding:12px 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a{color:var(--ww2-fg);border-bottom:1px solid var(--ww2-fg);}
.ww2-sold-notice{
	display:inline-block;border:1px solid var(--ww2-fg);padding:10px 16px;
	text-transform:uppercase;letter-spacing:var(--ww2-track);font-size:12px;font-weight:700;margin:0 0 20px;
}
.woocommerce .quantity .qty{
	background:var(--ww2-field-bg)!important;color:var(--ww2-fg)!important;border:1px solid var(--ww2-line-strong)!important;
	padding:14px 8px!important;width:70px;text-align:center;
}

/* ============================================================ SINGLE ITEM ADD TO CART */
/* Each piece is a single original, so the product page carries no quantity
   field and the add-to-cart button takes the whole line it used to share. */
.single-product div.product form.cart:not(.grouped_form) .quantity{
	display:none!important;
	width:0!important;height:0!important;
	margin:0!important;padding:0!important;border:0!important;float:none!important;
}
.single-product div.product form.cart:not(.grouped_form){
	display:block;margin:0 0 26px;
}
.single-product div.product form.cart:not(.grouped_form)::after{content:none;}
.single-product div.product form.cart:not(.grouped_form) .single_add_to_cart_button{
	display:block;float:none!important;
	width:100%;max-width:420px;margin:0;
	padding:20px 32px!important;
	font-size:14px;letter-spacing:.2em;line-height:1.2;
	text-align:center;
}
@media (max-width:1024px){
	.single-product div.product form.cart:not(.grouped_form) .single_add_to_cart_button{max-width:100%;}
}
@media (max-width:600px){
	.single-product div.product form.cart:not(.grouped_form) .single_add_to_cart_button{
		padding:18px 18px!important;font-size:13px;letter-spacing:.16em;
	}
}

/* ============================================================ NOTICES & TABLES */
.woocommerce-message,.woocommerce-info,.woocommerce-error,.woocommerce-noreviews{
	background:var(--ww2-panel-alt);color:var(--ww2-fg);
	border-top:2px solid var(--ww2-fg);border-radius:0;
}
.woocommerce-message::before,.woocommerce-info::before,.woocommerce-error::before{color:var(--ww2-fg);}
.woocommerce table.shop_table,
.woocommerce table.shop_table td,.woocommerce table.shop_table th,
.woocommerce table.shop_table tbody th,.woocommerce table.shop_table tfoot td,.woocommerce table.shop_table tfoot th,
.woocommerce-cart .cart-collaterals .cart_totals table,
.woocommerce-cart table.cart td,.woocommerce-cart table.cart th{
	background-color:transparent!important;color:var(--ww2-fg);border-color:var(--ww2-line);border-radius:0;
}
.woocommerce table.shop_table thead th{
	text-transform:uppercase;font-size:11px;letter-spacing:var(--ww2-track);color:var(--ww2-muted);
}

/* ============================================================ CHECKOUT */
.woocommerce-checkout h3,.woocommerce-billing-fields h3,#order_review_heading,
.woocommerce-cart .cart_totals h2,.woocommerce-account h2{
	text-transform:uppercase;letter-spacing:.08em;font-size:16px;
	border-bottom:1px solid var(--ww2-line);padding-bottom:12px;margin-bottom:22px;
}
.woocommerce-checkout #payment{
	background-color:var(--ww2-panel-alt)!important;border:1px solid var(--ww2-line);border-radius:0;
}
.woocommerce-checkout #payment ul.payment_methods{border-bottom:1px solid var(--ww2-line);padding:18px;margin:0;}
.woocommerce-checkout #payment ul.payment_methods li{
	list-style:none;margin:0 0 12px;padding:0 0 12px;background:transparent!important;
	border-bottom:1px solid var(--ww2-line);
}
.woocommerce-checkout #payment ul.payment_methods li:last-child{border-bottom:0;margin-bottom:0;padding-bottom:0;}
.woocommerce-checkout #payment ul.payment_methods label{
	font-size:14px;text-transform:uppercase;letter-spacing:.06em;color:var(--ww2-fg);font-weight:700;
}
.woocommerce-checkout #payment ul.payment_methods li input[type=radio]{accent-color:var(--ww2-fg);margin-right:8px;}
.woocommerce-checkout #payment ul.payment_methods li img{display:none;}
.woocommerce-checkout #payment div.payment_box{
	background:var(--ww2-panel);border:1px solid var(--ww2-line);color:var(--ww2-muted);
	border-radius:0;font-size:14px;margin-top:12px;
}
.woocommerce-checkout #payment div.payment_box::before{display:none;}
.woocommerce-checkout #payment div.form-row,
.woocommerce-checkout #payment .place-order{background:transparent!important;padding:18px;border-top:1px solid var(--ww2-line);}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text{background:transparent!important;}
.woocommerce-checkout #payment .woocommerce-privacy-policy-text p{color:var(--ww2-muted);font-size:13px;line-height:1.65;}

/* ---- Order-request notices ---------------------------------------- */
.ww2-notice{
	border:1px solid var(--ww2-line-strong);
	background:var(--ww2-panel-alt);
	padding:18px 20px;margin:0 0 24px;font-size:14px;line-height:1.65;color:var(--ww2-fg);
}
.ww2-notice--payment{border-left:3px solid var(--ww2-fg);}
.ww2-notice__title{
	display:block;text-transform:uppercase;letter-spacing:var(--ww2-track);
	font-size:11px;font-weight:700;margin-bottom:8px;color:var(--ww2-fg);
}
.ww2-notice ul{margin:10px 0 0 18px;padding:0;}
.ww2-notice li{margin:0 0 4px;}
.ww2-notice p{margin:0 0 10px;}
.ww2-notice p:last-child{margin-bottom:0;}
.ww2-thankyou__title{font-size:24px;text-transform:uppercase;letter-spacing:.1em;margin:0 0 16px;}
.woocommerce ul.order_details{
	background:var(--ww2-panel-alt);border:1px solid var(--ww2-line);padding:22px;margin:26px 0;
	display:flex;flex-wrap:wrap;gap:26px;list-style:none;
}
.woocommerce ul.order_details li{
	border:0;margin:0;padding:0;float:none;
	font-size:15px;font-weight:700;text-transform:none;color:var(--ww2-fg);
}

/* ============================================================ MY ACCOUNT */
.woocommerce-account .woocommerce-MyAccount-navigation ul{list-style:none;margin:0;padding:0;border:1px solid var(--ww2-line);}
.woocommerce-account .woocommerce-MyAccount-navigation li{border-bottom:1px solid var(--ww2-line);margin:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li:last-child{border-bottom:0;}
.woocommerce-account .woocommerce-MyAccount-navigation li a{
	display:block;padding:14px 18px;text-transform:uppercase;font-size:12px;
	letter-spacing:var(--ww2-track);color:var(--ww2-muted);background-image:none;
}
.woocommerce-account .woocommerce-MyAccount-navigation li.is-active a,
.woocommerce-account .woocommerce-MyAccount-navigation li a:hover{
	background-color:var(--ww2-fg);color:var(--ww2-bg);
}
.woocommerce form.login,.woocommerce form.register,
.woocommerce-account .woocommerce-form-login,.woocommerce-account .woocommerce-form-register{
	border:1px solid var(--ww2-line);border-radius:0;background:var(--ww2-panel-alt);padding:26px;
}

/* ============================================================ FOOTER */
.elementor-location-footer{
	background-color:var(--ww2-header-bg);border-top:1px solid var(--ww2-line);
}
.elementor-location-footer .elementor-section,
.elementor-location-footer .elementor-column,
.elementor-location-footer .elementor-widget-wrap{background-color:var(--ww2-header-bg)!important;}
body.home .elementor-location-footer,
body.home .elementor-location-footer .elementor-section{background-color:transparent!important;}
.elementor-location-footer .elementor-container{padding-left:var(--ww2-pad);padding-right:var(--ww2-pad);box-sizing:border-box;}
.elementor-location-footer,
.elementor-location-footer p,
.elementor-location-footer li,
.elementor-location-footer h1,.elementor-location-footer h2,
.elementor-location-footer h3,.elementor-location-footer h4{color:var(--ww2-fg);}
.elementor-location-footer a{color:var(--ww2-muted);}
.elementor-location-footer a:hover{color:var(--ww2-fg);}
/* Footer widgets carry their own colours; the state palette wins */
.elementor-location-footer .elementor-widget-text-editor,
.elementor-location-footer .elementor-widget-text-editor *,
.elementor-location-footer .elementor-widget-heading .elementor-heading-title,
.elementor-location-footer .elementor-heading-title{color:var(--ww2-fg)!important;}
.elementor-location-footer .elementor-widget-text-editor a,
.elementor-location-footer a{color:var(--ww2-muted)!important;}
.elementor-location-footer .elementor-widget-text-editor a:hover,
.elementor-location-footer a:hover{color:var(--ww2-fg)!important;}

/* WooCommerce inline links inside notices */
.woocommerce-info a,.woocommerce-message a,.woocommerce-error a,
a.showcoupon,.woocommerce-info a.showcoupon{color:var(--ww2-fg)!important;}

.ww2-fl{list-style:none;margin:0;padding:0;}
.ww2-fl li{margin:0 0 9px;font-size:13px;}

/* ============================================================ PAGE LAYOUT */
body:not(.elementor-page) .content-area,
body:not(.elementor-page) .widget-area,
.woocommerce-cart .content-area,
.woocommerce-checkout .content-area,
.woocommerce-account .content-area,
.single-product .content-area{
	max-width:var(--ww2-maxw);
	margin-left:auto;margin-right:auto;
	padding-left:var(--ww2-pad);padding-right:var(--ww2-pad);
	box-sizing:border-box;
}
.woocommerce .page-title,
.woocommerce-products-header__title,
body:not(.elementor-page) .entry-title,
.woocommerce-account .entry-title{
	font-size:26px;font-weight:700;text-transform:uppercase;letter-spacing:.1em;text-align:left;
	margin:32px 0 8px;padding-bottom:18px;border-bottom:1px solid var(--ww2-line);
}
.woocommerce .woocommerce-breadcrumb{
	font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ww2-muted);margin:0 0 20px;
}
.woocommerce .woocommerce-breadcrumb a{color:var(--ww2-muted);}
.storefront-sorting{
	display:flex;align-items:center;justify-content:flex-start;gap:20px;
	margin:0 0 26px!important;padding:0;
}
.storefront-sorting::before,.storefront-sorting::after{display:none!important;}
.storefront-sorting .woocommerce-notices-wrapper{flex:0 0 100%;order:-1;}
.storefront-sorting .woocommerce-notices-wrapper:empty{display:none;}
.storefront-sorting .woocommerce-ordering{margin:0!important;float:none!important;}
.storefront-sorting .woocommerce-result-count{
	margin:0 0 0 auto!important;float:none!important;
	font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--ww2-muted);line-height:44px;
}
.woocommerce .woocommerce-ordering select{
	background-color:var(--ww2-field-bg)!important;border:1px solid var(--ww2-line-strong)!important;
	color:var(--ww2-fg)!important;font-size:11px;text-transform:uppercase;letter-spacing:.1em;padding:12px 14px!important;
}
.ww2-archive-grid{margin-top:28px;}
.ww2-archive-empty{color:var(--ww2-muted);}

/* ============================================================ SHOP SIDEBAR */
body.woocommerce-shop main.site-main,
body.tax-product_cat main.site-main,
body.tax-product_tag main.site-main{
	display:grid;
	grid-template-columns:236px minmax(0,1fr);
	column-gap:52px;
	align-items:start;
}
main.site-main > .woocommerce-products-header{grid-column:1 / -1;}
main.site-main > .ww2-shop-sidebar{grid-column:1;grid-row:2 / span 40;align-self:start;}
body.woocommerce-shop main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar),
body.tax-product_cat main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar),
body.tax-product_tag main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar){grid-column:2;}

.ww2-shop-sidebar{text-align:left;}
.ww2-shop-cats__heading{
	font-size:12px;font-weight:700;text-transform:uppercase;letter-spacing:var(--ww2-track);
	margin:0 0 16px;padding:0 0 12px;border-bottom:1px solid var(--ww2-line);color:var(--ww2-fg);
}
.ww2-shop-cats{list-style:none;margin:0;padding:0;}
.ww2-shop-cats__item{margin:0 0 13px;line-height:1.4;}
.ww2-shop-cats__item a{
	font-size:13px;letter-spacing:.04em;text-transform:uppercase;font-weight:500;
	color:var(--ww2-muted);
	background-image:linear-gradient(currentColor,currentColor);
	background-repeat:no-repeat;background-position:0 100%;background-size:0% 1px;
	transition:background-size .28s ease,color .2s ease;
}
.ww2-shop-cats__item a:hover{color:var(--ww2-fg);background-size:100% 1px;}
.ww2-shop-cats__item.is-current a{color:var(--ww2-fg);font-weight:700;background-size:100% 1px;}

/* No rating stars on cards */
.woocommerce ul.products li.product .star-rating,
.woocommerce ul.products li.product .woocommerce-product-rating,
.woocommerce ul.products li.product .woocommerce-review-link{display:none!important;}

/* ============================================================ HOME PAGE */
body.home .site-content,body.home .content-area,body.home .site-main{padding:0;}
.ww2-home-hero{
	min-height:calc(100vh - 220px);
	display:flex;flex-direction:column;justify-content:center;
}
body.home .elementor-widget-heading .elementor-heading-title,
body.home .elementor-widget-text-editor,
body.home .elementor-widget-text-editor p,
body.home .elementor-widget-text-editor strong{color:#fff!important;}
body.home .elementor-widget-button .elementor-button{
	background-color:#fff!important;color:#000!important;border-color:#fff!important;
}
body.home .elementor-widget-button .elementor-button:hover{
	background-color:transparent!important;color:#fff!important;border-color:#fff!important;
}

/* ---- Internal pages are solid white with black type, whatever the
       page builder was set to before ----------------------------------- */
body:not(.home) div.elementor .elementor-section,
body:not(.home) div.elementor .elementor-column,
body:not(.home) div.elementor .elementor-widget-wrap,
body:not(.home) div.elementor .elementor-container{
	background-color:transparent!important;
	background-image:none!important;
}
body:not(.home) div.elementor .elementor-heading-title,
body:not(.home) div.elementor .elementor-widget-text-editor,
body:not(.home) div.elementor .elementor-widget-text-editor *,
body:not(.home) div.elementor .elementor-widget-icon-list .elementor-icon-list-text,
body:not(.home) div.elementor p,
body:not(.home) div.elementor li,
body:not(.home) div.elementor h1,
body:not(.home) div.elementor h2,
body:not(.home) div.elementor h3,
body:not(.home) div.elementor h4{color:var(--ww2-fg)!important;}
body:not(.home) div.elementor a:not(.elementor-button){color:var(--ww2-fg)!important;}

/* ---- Elementor / WPForms form fields ------------------------------- */
.elementor-field-label,.wpforms-field-label{
	color:var(--ww2-muted)!important;
	font-size:12px!important;text-transform:uppercase;letter-spacing:.08em;font-weight:600!important;
}
.elementor-field-group .elementor-field,
.wpforms-field-container input,.wpforms-field-container textarea,.wpforms-field-container select{
	background-color:var(--ww2-field-bg)!important;color:var(--ww2-fg)!important;
	border:1px solid var(--ww2-line-strong)!important;border-radius:0!important;padding:12px 14px!important;
}
.elementor-field-group .elementor-field::placeholder{color:var(--ww2-muted)!important;}

/* ============================================================ CONTENT PAGES */
.ww2-page{max-width:820px;}
.ww2-page h2{font-size:22px;text-transform:uppercase;letter-spacing:.06em;margin:38px 0 14px;}
.ww2-page h2:first-child{margin-top:0;}
.ww2-page h3{font-size:16px;text-transform:uppercase;letter-spacing:.06em;margin:26px 0 10px;}
.ww2-page p,.ww2-page li{font-size:15px;line-height:1.8;}

/* ============================================================ PRODUCT IMAGE */
/* The photograph sits centred inside the card with even space around it. */
.woocommerce ul.products li.product img,
.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img{
	width:100%;
	aspect-ratio:1 / 1;
	object-fit:contain;
	object-position:center;
	padding:20px;
	box-sizing:border-box;
	background:#ffffff;
	display:block;
	margin:0 auto;
}
li.product.ww2-is-sold img{filter:none;opacity:1;}

/* ============================================================ BREADCRUMB */
.ww2-breadcrumb{
	margin:26px 0 20px;
	font-size:11px;letter-spacing:.1em;text-transform:uppercase;
	color:var(--ww2-muted);line-height:1.7;
}
.ww2-breadcrumb a{color:var(--ww2-muted);}
.ww2-breadcrumb a:hover{color:var(--ww2-fg);}
.ww2-breadcrumb__sep{margin:0 9px;opacity:.55;}
.ww2-breadcrumb__current{color:var(--ww2-fg);font-weight:600;}

/* ============================================================ REVIEWS PAGE */
.ww2-reviews{max-width:900px;}
.ww2-review-form{
	border:1px solid var(--ww2-line);background:var(--ww2-panel-alt);
	padding:28px;margin:0 0 44px;
}
.ww2-review-form h3{
	margin:0 0 6px;font-size:16px;text-transform:uppercase;letter-spacing:.08em;
}
.ww2-review-form__intro{color:var(--ww2-muted);font-size:14px;margin:0 0 22px;}
.ww2-field{margin:0 0 18px;}
.ww2-field label{
	display:block;margin:0 0 7px;
	font-size:12px;text-transform:uppercase;letter-spacing:.08em;color:var(--ww2-muted);font-weight:600;
}
.ww2-field .req{color:var(--ww2-fg);}
.ww2-field input[type=text],
.ww2-field input[type=email],
.ww2-field textarea{
	width:100%;box-sizing:border-box;
	background:var(--ww2-field-bg)!important;color:var(--ww2-fg)!important;
	border:1px solid var(--ww2-line-strong)!important;border-radius:0!important;
	padding:13px 14px!important;font-size:15px;
}
.ww2-field textarea{min-height:150px;resize:vertical;}
.ww2-field input[type=file]{
	width:100%;font-size:14px;color:var(--ww2-fg);
	border:1px dashed var(--ww2-line-strong);padding:14px;background:var(--ww2-panel);
}
.ww2-field__hint{display:block;margin-top:7px;font-size:12px;color:var(--ww2-muted);}
.ww2-hp{position:absolute!important;left:-9999px!important;}
.ww2-review-form button[type=submit]{width:auto;}
.ww2-review-note{
	border:1px solid var(--ww2-line-strong);border-left:3px solid var(--ww2-fg);
	background:var(--ww2-panel-alt);padding:16px 18px;margin:0 0 26px;font-size:14px;
}
.ww2-review-note--error{border-left-color:#a11;}
.ww2-review-list{list-style:none;margin:0;padding:0;display:grid;gap:26px;}
.ww2-review{border:1px solid var(--ww2-line);padding:22px;display:grid;grid-template-columns:132px minmax(0,1fr);gap:22px;align-items:start;}
.ww2-review__photo img{display:block;width:100%;height:132px;object-fit:cover;}
.ww2-review__name{font-size:13px;text-transform:uppercase;letter-spacing:.08em;font-weight:700;margin:0 0 4px;}
.ww2-review__date{font-size:11px;letter-spacing:.08em;text-transform:uppercase;color:var(--ww2-muted);margin:0 0 12px;}
.ww2-review__text{margin:0;font-size:15px;line-height:1.75;}
.ww2-reviews__empty{color:var(--ww2-muted);}

/* ============================================================ RESPONSIVE */
@media (max-width:1500px){
	:root{--ww2-header-pad:52px;}
}
@media (max-width:1400px){
	.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(3,minmax(0,1fr));}
}
@media (max-width:1199px){
	:root{--ww2-header-pad:28px;--ww2-nav-size:13px;--ww2-meta-size:12px;--ww2-logo-h:78px;}
}

/* ---- Top bar on smaller screens ------------------------------------ */
@media (max-width:900px){
	.ww2-topbar__inner{gap:4px 18px;padding-top:8px;padding-bottom:8px;min-height:0;}
	.ww2-topbar__left,.ww2-topbar__right{gap:14px;}
	.ww2-topbar__nav{gap:14px;}
}
@media (max-width:620px){
	.ww2-topbar__inner{flex-direction:column;justify-content:center;gap:8px;}
	.ww2-topbar__left,.ww2-topbar__right{justify-content:center;}
}
@media (max-width:400px){
	.ww2-topbar__left,.ww2-topbar__right{gap:12px;}
	.ww2-topbar__nav{gap:12px;}
}
@media (max-width:360px){
	:root{--ww2-logo-h:36px;--ww2-header-pad:12px;}
}

/* ---- Under 1100px: bar collapses to logo plus menu button ---------- */
@media (max-width:1099px){
	:root{--ww2-header-pad:18px;--ww2-pad:20px;--ww2-gap:16px;--ww2-logo-h:54px;}

	.elementor-location-header .elementor-container{
		display:flex!important;flex-wrap:nowrap!important;align-items:center;justify-content:center;
		min-height:72px;
	}
	.elementor-location-header .elementor-column{width:auto!important;flex:0 0 auto;position:static!important;}
	.elementor-location-header .elementor-widget-wrap,
	.elementor-location-header .elementor-widget,
	.elementor-location-header .elementor-widget-container{position:static!important;}
	.elementor-location-header .elementor-column:first-child{
		width:0!important;flex:0 0 0!important;min-width:0!important;padding:0!important;overflow:visible;
	}
	.elementor-location-header .elementor-column:last-child{display:none!important;}
	.elementor-location-header .elementor-column:nth-child(2){flex:1 1 auto!important;width:auto!important;}
	.elementor-location-header .elementor-column > .elementor-widget-wrap{padding-top:11px!important;padding-bottom:11px!important;}
	.elementor-location-header .ww2-nav--left .ww2-nav__row,
	.elementor-location-header .ww2-nav--right{display:none!important;}
	.elementor-location-header .ww2-nav--left{display:block;}
	.ww2-burger{display:flex;}
	.elementor-location-header .elementor-widget-theme-site-logo{width:auto;}
	/* The logo can never reach the menu button */
	.elementor-location-header .elementor-widget-theme-site-logo img,
	.elementor-location-header .elementor-widget-image img{max-width:calc(100vw - 152px);}

	body.woocommerce-shop main.site-main,
	body.tax-product_cat main.site-main,
	body.tax-product_tag main.site-main{grid-template-columns:minmax(0,1fr);}
	main.site-main > .ww2-shop-sidebar{grid-column:1;grid-row:auto;margin-bottom:24px;}
	body.woocommerce-shop main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar),
	body.tax-product_cat main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar),
	body.tax-product_tag main.site-main > *:not(.woocommerce-products-header):not(.ww2-shop-sidebar){grid-column:1;}
	.ww2-shop-cats{display:flex;flex-wrap:wrap;gap:10px 20px;}
	.ww2-shop-cats__item{margin:0;}
	.storefront-sorting{flex-wrap:wrap;gap:12px;}
}

/* ---- Tablet ------------------------------------------------------- */
@media (max-width:1024px){
	.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(3,minmax(0,1fr));}
	.woocommerce div.product .woocommerce-product-gallery,
	.woocommerce div.product .summary{width:100%!important;float:none!important;margin:0 0 26px!important;}
	.ww2-review{grid-template-columns:110px minmax(0,1fr);gap:18px;}
	.ww2-review__photo img{height:110px;}
}

/* ---- Phones -------------------------------------------------------- */
@media (max-width:782px){
	:root{--ww2-pad:18px;}
	.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:repeat(2,minmax(0,1fr));}
	.woocommerce ul.products li.product img,
	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img{padding:14px;}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:12.5px;padding:13px 13px 0;min-height:3.6em;}
	.woocommerce ul.products li.product .price{padding:5px 13px 13px;font-size:14px;}
	.woocommerce ul.products li.product .button,
	.woocommerce ul.products li.product .added_to_cart{margin:0 13px 13px;width:calc(100% - 26px);font-size:11px;padding:13px 10px;}
	.single-product div.product .product_title{font-size:21px;}
	.woocommerce .page-title,.woocommerce-products-header__title,body:not(.elementor-page) .entry-title{font-size:18px;margin-top:20px;letter-spacing:.08em;}
	.woocommerce ul.order_details{flex-direction:column;gap:14px;}
	.ww2-page p,.ww2-page li{font-size:15px;}
	.woocommerce-checkout #payment ul.payment_methods label{font-size:13px;}
	.woocommerce table.shop_table_responsive tr td{text-align:right;}
	.ww2-review{grid-template-columns:minmax(0,1fr);}
	.ww2-review__photo img{height:auto;max-height:260px;object-fit:cover;}
	.ww2-review-form{padding:20px;}
}

@media (max-width:479px){
	:root{--ww2-pad:16px;--ww2-header-pad:14px;--ww2-gap:14px;--ww2-logo-h:44px;}
	.ww2-burger{width:40px;padding:9px 4px;}
	.woocommerce ul.products,.wc-block-grid__products{grid-template-columns:minmax(0,1fr);}
	.woocommerce ul.products li.product .woocommerce-loop-product__title{font-size:13px;min-height:0;-webkit-line-clamp:3;}
	.woocommerce ul.products li.product img,
	.woocommerce ul.products li.product a.woocommerce-LoopProduct-link img{aspect-ratio:4 / 3;padding:16px;}
	.ww2-mm__inner{padding:12px 18px 40px;}
	.ww2-mm__item a{font-size:16px;padding:14px 8px;}
	.woocommerce .woocommerce-ordering,.woocommerce .woocommerce-ordering select{width:100%;}
	.storefront-sorting .woocommerce-result-count{margin:0!important;line-height:1.6;}
}

/* Buttons stay comfortably tappable everywhere */
@media (max-width:1024px){
	.woocommerce a.button,.woocommerce button.button,.woocommerce input.button,
	.woocommerce #respond input#submit,.button{min-height:46px;}
	.ww2-nav__item a,.ww2-mm__item a{min-height:24px;}
}
/* ---- WW2ALEX validation messages ---- */
:root{--ww2-error:#c0261c;--ww2-error-bg:#fdeceb;--ww2-error-line:#c0261c;--ww2-ok:#1c1c1c;--ww2-mid:#8a8a8a;}
body.home{--ww2-error:#ff8177;--ww2-error-bg:rgba(192,38,28,.18);--ww2-error-line:#ff8177;--ww2-ok:#fff;--ww2-mid:#bdbdbd;}

.woocommerce .woocommerce-error,
.woocommerce-page .woocommerce-error,
ul.woocommerce-error,
.woocommerce-error{
background:var(--ww2-error-bg)!important;
color:var(--ww2-error)!important;
border-top:2px solid var(--ww2-error-line)!important;
border-right:0!important;border-bottom:0!important;border-left:0!important;
border-radius:0!important;
font-size:14px;line-height:1.55;
}
.woocommerce-error::before,
.woocommerce-error li::before{color:var(--ww2-error)!important;}
.woocommerce-error a{color:var(--ww2-error)!important;text-decoration:underline;}
.woocommerce-error strong{color:inherit;}

.ww2-error-list__intro{display:block;font-weight:700;}
ul.ww2-error-list{list-style:disc!important;margin:6px 0 0 18px!important;padding:0!important;}
ul.ww2-error-list li{margin:0 0 4px!important;padding:0!important;list-style:disc!important;}
ul.ww2-error-list li::before{content:none!important;}

.ww2-field-error{
display:block;margin:6px 0 0;padding:0;
color:var(--ww2-error);
font-size:13px;line-height:1.45;font-weight:600;
letter-spacing:.01em;
}

.woocommerce form .form-row input.input-text.ww2-invalid,
.woocommerce form .form-row textarea.ww2-invalid,
.woocommerce-page form .form-row input.input-text.ww2-invalid,
input.ww2-invalid,
textarea.ww2-invalid,
select.ww2-invalid{
border-color:var(--ww2-error)!important;
outline-color:var(--ww2-error)!important;
}

.ww2-review-note--error{color:var(--ww2-error);font-weight:600;}

/* ---- Password strength meter ---- */
.ww2-strength{display:block;margin:8px 0 0;}
.ww2-strength__track{display:flex;gap:4px;height:3px;margin:0 0 5px;}
.ww2-strength__seg{flex:1 1 0;background:currentColor;opacity:.14;border-radius:0;}
.ww2-strength__seg.is-lit{opacity:1;}
.ww2-strength__label{display:block;font-size:12px;line-height:1.4;letter-spacing:.06em;text-transform:uppercase;font-weight:600;}
.ww2-strength--0{color:var(--ww2-error);}
.ww2-strength--1{color:var(--ww2-mid);}
.ww2-strength--2{color:var(--ww2-ok);}
.ww2-strength[hidden]{display:none!important;}

@media (max-width:768px){
.woocommerce-error{font-size:14px;}
.ww2-field-error{font-size:13px;}
ul.ww2-error-list{margin-left:16px!important;}
}
/* ---- The red must beat the base "p, li, td, th, dd, dt, label" colour ---- */
.woocommerce-error,
.woocommerce-error li,
.woocommerce-error p,
.woocommerce-error label,
.woocommerce-error strong,
.woocommerce-error a,
.ww2-error-list,
.ww2-error-list li,
.ww2-error-list__intro,
.ww2-field-error,
.ww2-review-note--error{color:var(--ww2-error)!important;}

/* ---- Mobile safety: errors never overflow, clip or sit behind anything ---- */
.woocommerce-error,
.woocommerce-error li,
.ww2-error-list,
.ww2-error-list li,
.ww2-error-list__intro,
.ww2-field-error,
.ww2-review-note{
overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
.woocommerce-error,
.ww2-field-error{position:relative;z-index:5;}
@media (max-width:479px){
.woocommerce-error{padding-left:2.6em!important;padding-right:14px!important;}
}

/* ---- Checkout: WooCommerce prints its own per-field message under the input
        (.checkout-inline-error-message). It inherits body colour, so it was
        showing in black while the summary box above it was red. Same red,
        same size and weight as .ww2-field-error, so the two systems match. */
.woocommerce form .form-row .checkout-inline-error-message,
.woocommerce-page form .form-row .checkout-inline-error-message,
.checkout-inline-error-message{
color:var(--ww2-error)!important;
display:block;margin:6px 0 0;padding:0;
font-size:13px;line-height:1.45;font-weight:600;letter-spacing:.01em;
overflow-wrap:anywhere;word-break:break-word;max-width:100%;
}
.woocommerce form .form-row.woocommerce-invalid input.input-text,
.woocommerce form .form-row.woocommerce-invalid select,
.woocommerce-page form .form-row.woocommerce-invalid input.input-text{
border-color:var(--ww2-error)!important;
}

/* The lost-password and account-details forms now carry inline messages too,
   so keep their rows from collapsing when a message is inserted. */
.woocommerce-ResetPassword .form-row,
.woocommerce-EditAccountForm .form-row{position:relative;}
