/* V53 · favorites, frictionless rails, and a photographic homepage manifesto. */

/* Small heart at the true top-right of the image; reveal it only on image hover. */
body .product-grid-item .product-element-top>.wrapp-buttons{
	top:5px!important;
	right:5px!important;
	bottom:auto!important;
	left:auto!important;
	width:28px!important;
	height:28px!important;
	opacity:0!important;
	visibility:hidden!important;
	transform:translateY(-3px)!important;
	transition:opacity .16s ease,transform .16s ease,visibility .16s ease!important;
	pointer-events:none;
}
body .product-grid-item .product-element-top:hover>.wrapp-buttons,
body .product-grid-item:focus-within .product-element-top>.wrapp-buttons{
	opacity:1!important;
	visibility:visible!important;
	transform:none!important;
	pointer-events:auto;
}
body .product-grid-item .product-element-top .wd-buttons,
body .product-grid-item .product-element-top .wd-wishlist-btn,
body .product-grid-item .product-element-top .wd-wishlist-btn>a{
	display:block!important;
	width:28px!important;
	height:28px!important;
	min-width:28px!important;
	min-height:28px!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	background:transparent!important;
	box-shadow:none!important;
}
body .product-grid-item .product-element-top .wd-buttons>:not(.wd-wishlist-btn){
	display:none!important;
}
body .product-grid-item .product-element-top .wd-wishlist-btn>a{
	color:#2d2c27!important;
	filter:drop-shadow(0 1px 1px rgba(255,255,255,.92));
}
body .product-grid-item .product-element-top .wd-wishlist-btn>a:before{
	font-size:16px!important;
	line-height:28px!important;
}
body .product-grid-item .product-element-top .wd-wishlist-btn>a.added{
	border-radius:0!important;
	background:transparent!important;
	color:#9a5d45!important;
}
@media (hover:none),(pointer:coarse){
	body .product-grid-item .product-element-top>.wrapp-buttons{
		opacity:.78!important;
		visibility:visible!important;
		transform:none!important;
		pointer-events:auto;
	}
}

/* The account menu is identical on Favorites and every other buyer endpoint. */
body.woocommerce-account.sw-account-endpoint-wishlist .woocommerce-MyAccount-navigation{
	position:sticky!important;
	top:122px!important;
	float:none!important;
	width:auto!important;
	padding:26px 20px!important;
	border:1px solid rgba(44,42,36,.12)!important;
	border-radius:18px!important;
	background:rgba(250,248,243,.74)!important;
	box-shadow:0 18px 60px rgba(43,38,31,.07)!important;
}
body.woocommerce-account.sw-account-endpoint-wishlist .woocommerce-MyAccount-navigation li{
	position:relative!important;
}
body.woocommerce-account.sw-account-endpoint-wishlist .woocommerce-MyAccount-navigation a{
	display:block!important;
	padding:14px 14px 14px 49px!important;
	border:0!important;
	border-radius:10px!important;
	background:transparent!important;
}
body.woocommerce-account.sw-account-endpoint-wishlist .woocommerce-MyAccount-navigation li:is(:hover,.is-active) a{
	background:#e9e3d8!important;
}

/* One composited rail, one transform write per animation frame. */
body.home .sw-product-rail[data-sw-rail-v51]{
	contain:layout paint style;
}
body.home .sw-product-rail[data-sw-rail-v51] .sw-product-rail-track{
	transform-style:flat;
}
body.home .sw-product-rail[data-sw-rail-v51]:is(.is-dragging,.is-coasting) .sw-product-rail-track{
	will-change:transform!important;
}
body.home .sw-product-rail[data-sw-rail-v51] .sw-new-product{
	contain:layout paint style;
}

/* Generated 3:1 studio image supports—not competes with—the manifesto copy. */
body.home #manufacturing.sw-editorial-intro-image{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	min-height:430px;
	background-color:#d9d1c4!important;
	background-image:
		linear-gradient(90deg,rgba(237,232,223,.96) 0%,rgba(237,232,223,.9) 42%,rgba(237,232,223,.54) 72%,rgba(237,232,223,.28) 100%),
		var(--sw-editorial-image)!important;
	background-position:center!important;
	background-size:cover!important;
}
body.home #manufacturing.sw-editorial-intro-image:after{
	position:absolute;
	z-index:-1;
	inset:0;
	border:1px solid rgba(42,39,33,.09);
	border-radius:inherit;
	content:"";
	pointer-events:none;
}
body.home #manufacturing.sw-editorial-intro-image .sw-editorial-copy{
	padding:clamp(28px,3vw,44px)!important;
	border:1px solid rgba(255,255,255,.46)!important;
	border-radius:16px;
	background:rgba(247,244,237,.78)!important;
	box-shadow:0 18px 50px rgba(56,45,33,.08);
	backdrop-filter:blur(10px);
}

@media(max-width:1000px){
	body.woocommerce-account.sw-account-endpoint-wishlist .woocommerce-MyAccount-navigation{
		position:static!important;
		width:100%!important;
	}
}
@media(max-width:800px){
	body.home #manufacturing.sw-editorial-intro-image{
		min-height:0;
		background-image:linear-gradient(rgba(237,232,223,.9),rgba(237,232,223,.82)),var(--sw-editorial-image)!important;
		background-position:68% center!important;
	}
}

/* V54.2 · Account tools lead the page; the editorial image follows them. */
body.woocommerce-account .sw-page-my-account-2{
	display:flex;
	flex-direction:column;
}
body.woocommerce-account .sw-page-my-account-2>.sw-page-content{
	order:1;
	padding-top:28px!important;
	padding-bottom:54px!important;
}
body.woocommerce-account .sw-page-my-account-2>.sw-page-hero{
	order:2;
}
body.woocommerce-account .main-page-wrapper{
	padding-top:96px!important;
}

@media(max-width:800px){
	body.woocommerce-account .sw-page-my-account-2>.sw-page-content{
		padding-top:20px!important;
		padding-bottom:38px!important;
	}
}

/* V70 · Compact navigation lockup with a crisp, live-text trade descriptor. */
body .sw-site-header .sw-brand{
	gap:0!important;
}
body .sw-site-header .sw-logo-lockup{
	display:flex;
	width:116px;
	align-items:center;
	flex-direction:column;
	justify-content:center;
}
body .sw-site-header .sw-stacked-logo{
	display:block;
	width:100%;
	max-height:46px;
	height:auto;
	flex:0 0 auto;
	object-fit:contain;
	filter:none;
	transition:filter .25s ease;
}
body .sw-site-header .sw-logo-tagline{
	display:block;
	width:100%;
	margin:2px 0 0!important;
	color:currentColor!important;
	font:600 4.7px/1.1 var(--sw-site-sans)!important;
	letter-spacing:.17em!important;
	text-align:center;
	white-space:nowrap;
	opacity:.78;
}
body.home .sw-site-header:not(.is-scrolled) .sw-stacked-logo{
	filter:invert(1);
}

/* The email card keeps a photographic ceramic showroom below a dark mask. */
body .sw-contact-primary.sw-contact-primary-quotation{
	position:relative;
	isolation:isolate;
	overflow:hidden;
	background-color:#1f211d!important;
	background-image:
		linear-gradient(90deg,rgba(17,18,15,.62) 0%,rgba(20,21,18,.48) 52%,rgba(20,21,18,.32) 100%),
		var(--sw-contact-email-image)!important;
	background-position:46% center!important;
	background-size:cover!important;
}
body .sw-contact-primary.sw-contact-primary-quotation>span{
	color:rgba(255,255,255,.9)!important;
	text-shadow:0 2px 16px rgba(0,0,0,.45);
}
body .sw-contact-primary.sw-contact-primary-quotation h2{
	text-shadow:0 3px 22px rgba(0,0,0,.5);
}
body .sw-contact-primary.sw-contact-primary-quotation p{
	color:rgba(255,255,255,.8)!important;
	text-shadow:0 2px 18px rgba(0,0,0,.5);
}
body .sw-contact-primary.sw-contact-primary-quotation:after{
	position:absolute;
	z-index:-1;
	inset:0;
	border:1px solid rgba(255,255,255,.12);
	border-radius:inherit;
	content:"";
	pointer-events:none;
}

/* Password visibility controls are the eye only—no dark disc or outline. */
body.woocommerce-account .password-input>.show-password-input,
body.woocommerce-account .password-input>button.show-password-input{
	display:flex!important;
	top:0!important;
	right:0!important;
	left:auto!important;
	align-items:center!important;
	justify-content:center!important;
	width:52px!important;
	height:100%!important;
	min-height:0!important;
	margin:0!important;
	padding:0!important;
	border:0!important;
	border-radius:0!important;
	outline:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:#575951!important;
	transform:none!important;
}
body.woocommerce-account .password-input>.show-password-input:hover,
body.woocommerce-account .password-input>.show-password-input:focus-visible{
	border:0!important;
	outline:0!important;
	background:transparent!important;
	box-shadow:none!important;
	color:#9a5d45!important;
}
body.woocommerce-account .password-input>.show-password-input:before{
	font-size:18px!important;
}

@media(max-width:800px){
	body .sw-site-header .sw-logo-lockup{
		width:96px;
	}
	body .sw-site-header .sw-stacked-logo{
		max-height:39px;
	}
	body .sw-site-header .sw-logo-tagline{
		margin-top:1px!important;
		font-size:3.8px!important;
		letter-spacing:.13em!important;
	}
}
/* Product collection titles reuse the exact Products-menu artwork across the
 * full banner, rather than confining it to one side. */
.tax-product_cat .sw-category-intro{
	background-color:#1b1e1a!important;
	background-position:center,center 46%!important;
	background-repeat:no-repeat!important;
	background-size:cover,cover!important;
}
@media(max-width:800px){
	.tax-product_cat .sw-category-intro{
		background-position:center,center 42%!important;
		background-size:cover,cover!important;
	}
}
/* Home process section: a compact, editorial factory backdrop. */
body.home #process.sw-process {
	position: relative;
	isolation: isolate;
	min-height: 0;
	overflow: hidden;
	padding: clamp(72px, 8vw, 118px) 0;
	background-color: #272820 !important;
	background-image: linear-gradient(100deg, rgba(21, 23, 19, .94) 0%, rgba(25, 27, 22, .83) 38%, rgba(25, 27, 22, .52) 65%, rgba(25, 27, 22, .30) 100%), var(--sw-section-image) !important;
	background-position: center !important;
	background-size: cover !important;
}

body.home #process .sw-process-inner {
	display: grid !important;
	grid-template-columns: minmax(0, .78fr) minmax(0, 1.22fr);
	align-items: center;
	gap: clamp(46px, 7vw, 112px) !important;
	width: min(1400px, calc(100% - 72px));
}

body.home #process .sw-process-heading {
	position: static !important;
	padding: 0 !important;
	text-align: left !important;
}

body.home #process .sw-process-heading .sw-kicker { color: #c7c79a !important; }

body.home #process .sw-process-heading h2 {
	max-width: 560px;
	margin: 0 !important;
	font-size: clamp(46px, 4.6vw, 72px) !important;
	line-height: 1.02 !important;
	letter-spacing: -.04em !important;
}

body.home #process .sw-process-heading > p:last-child {
	max-width: 420px;
	margin: 24px 0 0 !important;
	color: rgba(255, 255, 255, .70) !important;
	font-size: 14px !important;
	line-height: 1.75 !important;
}

body.home #process .sw-process-list {
	display: grid !important;
	grid-template-columns: repeat(2, minmax(0, 1fr));
	gap: 1px;
	margin: 0 !important;
	padding: 1px !important;
	border: 1px solid rgba(255, 255, 255, .20);
	background: rgba(255, 255, 255, .16);
	list-style: none;
	backdrop-filter: blur(8px);
}

body.home #process .sw-process-list li {
	display: block !important;
	min-height: 180px;
	margin: 0 !important;
	padding: 26px 28px !important;
	border: 0 !important;
	background: rgba(28, 30, 25, .70);
}

body.home #process .sw-process-list span {
	display: block !important;
	margin-bottom: 48px;
	color: #c7c79a !important;
	font-size: 10px !important;
}

body.home #process .sw-process-list h3 {
	margin: 0 0 10px !important;
	color: #fff !important;
	font-size: 24px !important;
	line-height: 1.18 !important;
}

body.home #process .sw-process-list p {
	margin: 0 !important;
	color: rgba(255, 255, 255, .65) !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

@media (max-width: 900px) {
	body.home #process { padding: 70px 0 !important; }
	body.home #process .sw-process-inner { grid-template-columns: 1fr !important; width: calc(100% - 36px) !important; gap: 42px !important; }
	body.home #process .sw-process-heading h2 { max-width: 600px; }
}

@media (max-width: 580px) {
	body.home #process .sw-process-list { grid-template-columns: 1fr !important; }
	body.home #process .sw-process-list li { min-height: 0; padding: 24px !important; }
	body.home #process .sw-process-list span { margin-bottom: 30px; }
}

/* Scroll-linked factory scene: the page moves through the workshop with the process. */
body.home #process.sw-process {
	min-height: 1380px;
	padding: clamp(112px, 12vw, 176px) 0;
	background-image: linear-gradient(90deg, rgba(19, 21, 18, .92) 0%, rgba(22, 24, 20, .83) 42%, rgba(22, 24, 20, .56) 70%, rgba(22, 24, 20, .40) 100%), var(--sw-section-image) !important;
	background-position: center calc(50% + var(--sw-process-shift, 0px)) !important;
	background-size: cover !important;
	will-change: background-position;
}

body.home #process .sw-process-inner {
	display: grid !important;
	grid-template-columns: minmax(300px, .82fr) minmax(0, 1.18fr);
	align-items: start;
	gap: clamp(64px, 10vw, 160px) !important;
}

body.home #process .sw-process-heading {
	position: sticky !important;
	top: 140px;
	padding-top: 12px !important;
}

body.home #process .sw-process-heading h2 {
	max-width: 590px;
	font-size: clamp(52px, 5.2vw, 82px) !important;
	line-height: .98 !important;
}

body.home #process .sw-process-heading > p:last-child { max-width: 440px; }

body.home #process .sw-process-list {
	display: block !important;
	margin: 0 !important;
	padding: 0 !important;
	border: 0;
	background: transparent;
	backdrop-filter: none;
}

body.home #process .sw-process-list li {
	display: grid !important;
	grid-template-columns: 62px minmax(0, 1fr);
	gap: 24px;
	min-height: 0;
	margin: 0 !important;
	padding: 48px 0 !important;
	border-top: 1px solid rgba(255, 255, 255, .28) !important;
	background: transparent;
}

body.home #process .sw-process-list li:last-child { border-bottom: 1px solid rgba(255, 255, 255, .28) !important; }
body.home #process .sw-process-list span { margin: 5px 0 0 !important; }
body.home #process .sw-process-list h3 { font-size: clamp(28px, 2.4vw, 38px) !important; }
body.home #process .sw-process-list p { max-width: 540px; font-size: 15px !important; line-height: 1.72 !important; }

@media (max-width: 900px) {
	body.home #process.sw-process { min-height: 0; padding: 96px 0 !important; background-position: center calc(50% + var(--sw-process-shift, 0px)) !important; }
	body.home #process .sw-process-inner { grid-template-columns: 1fr !important; gap: 64px !important; }
	body.home #process .sw-process-heading { position: static !important; }
}

@media (max-width: 580px) {
	body.home #process.sw-process { padding: 78px 0 !important; }
	body.home #process .sw-process-list li { grid-template-columns: 42px minmax(0, 1fr); gap: 16px; padding: 34px 0 !important; }
	body.home #process .sw-process-list h3 { font-size: 27px !important; }
}

@media (prefers-reduced-motion: reduce) {
	body.home #process.sw-process { --sw-process-shift: 0px !important; }
}

/* Tighter process layout with a deliberately oversized scrollable image crop. */
body.home #process.sw-process {
	min-height: 1030px;
	padding: clamp(78px, 7vw, 108px) 0;
	background-position: center center, center calc(50% + var(--sw-process-shift, 0px)) !important;
	background-size: cover, 118% auto !important;
}

body.home #process .sw-process-inner {
	gap: clamp(48px, 7vw, 104px) !important;
}

body.home #process .sw-process-heading { top: 112px; }

body.home #process .sw-process-heading h2 {
	max-width: 490px;
	font-size: clamp(44px, 4.25vw, 66px) !important;
	line-height: 1.01 !important;
}

body.home #process .sw-process-heading > p:last-child {
	max-width: 385px;
	margin-top: 19px !important;
	font-size: 13px !important;
	line-height: 1.65 !important;
}

body.home #process .sw-process-list li {
	grid-template-columns: 48px minmax(0, 1fr);
	gap: 20px;
	padding: 30px 0 !important;
}

body.home #process .sw-process-list span { margin-top: 3px !important; }
body.home #process .sw-process-list h3 { margin-bottom: 7px !important; font-size: clamp(24px, 2vw, 31px) !important; }
body.home #process .sw-process-list p { max-width: 480px; font-size: 13px !important; line-height: 1.6 !important; }

@media (max-width: 900px) {
	body.home #process.sw-process { min-height: 0; padding: 76px 0 !important; background-size: cover, 150% auto !important; }
	body.home #process .sw-process-inner { gap: 44px !important; }
}

/* Lock both columns to the same top baseline and give the scroll crop much more travel. */
body.home #process.sw-process {
	min-height: 980px;
	background-size: cover, 150% auto !important;
}

body.home #process .sw-process-inner {
	grid-template-columns: minmax(310px, .78fr) minmax(0, 1.22fr) !important;
	align-items: start !important;
}

body.home #process .sw-process-heading {
	grid-column: 1 !important;
	grid-row: 1 !important;
	align-self: start !important;
	top: 104px;
}

body.home #process .sw-process-list {
	grid-column: 2 !important;
	grid-row: 1 !important;
	align-self: start !important;
}

body.home #process .sw-process-heading h2 { font-size: clamp(42px, 3.7vw, 58px) !important; }
body.home #process .sw-process-list li { padding: 26px 0 !important; }

@media (max-width: 900px) {
	body.home #process.sw-process { background-size: cover, 185% auto !important; }
	body.home #process .sw-process-heading,
	body.home #process .sw-process-list { grid-column: auto !important; grid-row: auto !important; }
}

/* One left-aligned reading column: the workshop remains uninterrupted on the right. */
body.home #process.sw-process {
	min-height: 1120px;
	background-position: center center, center calc(50% + var(--sw-process-shift, 0px)) !important;
	background-size: cover, 140% auto !important;
	background-repeat: no-repeat !important;
}

body.home #process .sw-process-inner {
	display: block !important;
	width: min(1400px, calc(100% - 96px));
	margin-inline: auto;
}

body.home #process .sw-process-heading {
	position: static !important;
	width: min(590px, 46%);
	padding: 0 !important;
}

body.home #process .sw-process-list {
	width: min(650px, 52%);
	margin-top: 54px !important;
}

body.home #process .sw-process-list li {
	grid-template-columns: 46px minmax(0, 1fr);
	padding: 24px 0 !important;
}

@media (max-width: 900px) {
	body.home #process.sw-process { min-height: 0; background-size: cover !important; }
	body.home #process .sw-process-inner { width: calc(100% - 36px); }
	body.home #process .sw-process-heading,
	body.home #process .sw-process-list { width: min(640px, 100%); }
	body.home #process .sw-process-list { margin-top: 40px !important; }
}

/* Restore the two-column editorial layout while keeping both image edges visible. */
body.home #process.sw-process {
	min-height: 1030px;
	background-size: cover, 100% auto !important;
}

body.home #process .sw-process-inner {
	display: grid !important;
	grid-template-columns: minmax(310px, .78fr) minmax(0, 1.22fr) !important;
	align-items: start !important;
	gap: clamp(48px, 7vw, 104px) !important;
	width: min(1400px, calc(100% - 96px));
}

body.home #process .sw-process-heading {
	position: sticky !important;
	grid-column: 1 !important;
	grid-row: 1 !important;
	width: auto;
	top: 104px;
}

body.home #process .sw-process-list {
	grid-column: 2 !important;
	grid-row: 1 !important;
	width: auto;
	margin: 0 !important;
}

@media (max-width: 900px) {
	body.home #process.sw-process { min-height: 0; background-size: cover !important; }
	body.home #process .sw-process-inner { display: grid !important; grid-template-columns: 1fr !important; width: calc(100% - 36px); }
body.home #process .sw-process-heading,
body.home #process .sw-process-list { position: static !important; grid-column: auto !important; grid-row: auto !important; width: auto; }
}

/* Keep the undistorted full-width photo, but use a shorter viewport for stronger vertical travel. */
body.home #process.sw-process {
	min-height: 780px;
	padding: clamp(58px, 5.2vw, 84px) 0;
	background-size: cover, 100% auto !important;
}

body.home #process .sw-process-heading h2 { font-size: clamp(40px, 3.35vw, 54px) !important; }
body.home #process .sw-process-heading > p:last-child { margin-top: 16px !important; }
body.home #process .sw-process-list li { padding: 18px 0 !important; }
body.home #process .sw-process-list h3 { font-size: clamp(23px, 1.8vw, 28px) !important; }
body.home #process .sw-process-list p { font-size: 12px !important; line-height: 1.5 !important; }

@media (max-width: 900px) {
	body.home #process.sw-process { min-height: 0; padding: 72px 0 !important; background-size: cover !important; }
}
