/*
 Theme Name:   Woodmart Child
 Description:  SSENSE-style child theme for Woodmart
 Author:       XTemos
 Author URI:   http://xtemos.com
 Template:     woodmart
 Version:      2.0.0
 Text Domain:  woodmart
*/

/* ============================================================
   DESIGN TOKENS — mirror SSENSE's visual language
   ============================================================ */
:root {
	--ssns-black:    #000000;
	--ssns-white:    #ffffff;
	--ssns-grey:     #767676;
	--ssns-border:   #d1d1d1;
	--ssns-light:    #f5f5f5;
	/* Exact SSENSE font stack extracted from their app bundle */
	--ssns-font:     "Favorit SSENSE Regular", "Helvetica Neue", Helvetica, Arial, sans-serif;
	--ssns-size-xs:  11px;
	--ssns-size-sm:  13px;
	--ssns-size-md:  15px;
	/* SSENSE uses 55px fixed padding on desktop, 31px tablet, 23px mobile */
	--ssns-pad:      55px;
	/* Header is exactly 55px tall in SSENSE's grid-template-rows */
	--ssns-header-h: 80px;
}

/* ============================================================
   BASE RESETS (scoped to child theme additions)
   ============================================================ */
.ssns-header *,
.ssns-footer *,
.ssns-home * {
	box-sizing: border-box;
}

/* ============================================================
   GLOBAL BODY / TYPOGRAPHY
   ============================================================ */
body {
	font-family: var(--ssns-font);
	font-size: var(--ssns-size-sm);
	color: var(--ssns-black);
	background: var(--ssns-white);
	-webkit-font-smoothing: antialiased;
}

/* ============================================================
   HEADER — mirrors SSENSE: position fixed, 55px, uppercase
   ============================================================ */
.ssns-header {
	position: fixed;
	top: 0;
	left: 0;
	width: 100%;
	min-height: var(--ssns-header-h);
	z-index: 500;
	background: var(--ssns-white);
	border-bottom: 1px solid var(--ssns-black);
	transition: transform 0.3s ease;
}

/* Push page content below the fixed header */
.wd-page-wrapper {
	padding-top: var(--ssns-header-h);
}

.ssns-header--hidden {
	transform: translateY(-100%);
}

/* Announcement bar */
.ssns-header__announce {
	background: var(--ssns-black);
	color: var(--ssns-white);
	text-align: center;
	font-size: var(--ssns-size-xs);
	padding: 8px 0;
	letter-spacing: 0.03em;
}
.ssns-header__announce p {
	margin: 0;
}

/* Outer row — SSENSE uses 55px side padding, not max-width centering */
.ssns-header__row {
	padding: 0 var(--ssns-pad);
}

/* Main header bar — flexible 3-column: nav | logo | nav */
.ssns-header__bar .ssns-header__row {
	display: grid;
	grid-template-columns: 1fr auto 1fr;
	align-items: center;
	min-height: var(--ssns-header-h);
}

/* Nav links — SSENSE: font-size 11px, font-weight 500, text-transform uppercase */
.ssns-nav {
	display: flex;
	align-items: center;
	gap: 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssns-nav a,
.ssns-nav a:visited {
	font-family: var(--ssns-font);
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	color: var(--ssns-black);
	text-decoration: none;
	text-transform: uppercase;
	letter-spacing: 0.02em;
	white-space: nowrap;
}

.ssns-nav a:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* Left nav */
.ssns-header__nav--left {
	justify-self: start;
}

/* Right nav */
.ssns-header__nav--right {
	justify-self: end;
}
.ssns-nav--right {
	justify-content: flex-end;
}

/* Logo — SSENSE: min-height 55px, line-height 55px, centered */
.ssns-header__logo {
	min-height: var(--ssns-header-h);
	line-height: var(--ssns-header-h);
	text-align: center;
	display: flex;
	justify-content: center;
	align-items: center;
}
.ssns-header__logo-link,
.ssns-header__logo-link:visited {
	display: inline-flex;
	align-items: center;
	color: var(--ssns-black);
	text-decoration: none;
}
.ssns-header__logo-img {
	height: 64px;
	width: auto;
	display: block;
	object-fit: contain;
	max-width: 220px;
}

/* Text wordmark logo */
.ssns-header__wordmark {
	font-family: 'Helvetica Neue', Helvetica, Arial, sans-serif;
	font-size: 22px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #000;
	text-decoration: none;
	white-space: nowrap;
	display: block;
}
.ssns-header__wordmark--mobile {
	font-size: 16px;
	letter-spacing: 0.18em;
}
/* Text fallback — display as uppercase wordmark */
.ssns-header__logo-text {
	font-size: 18px;
	font-weight: 700;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	line-height: 1;
}

/* Hide mobile controls on desktop — must beat Woodmart overrides */
.ssns-header__mobile {
	display: none !important;
}

/* Search overlay — shown/hidden via [hidden] attribute by JS */
.ssns-header__search-drawer {
	position: fixed;
	inset: 0;
	z-index: 9999;
	background: #fff;
	display: flex;
	flex-direction: column;
	align-items: center;
	justify-content: center;
	padding: 60px 24px 40px;
}
.ssns-search-overlay__inner {
	width: 100%;
	max-width: 680px;
	position: relative;
}
.ssns-search-overlay__label {
	display: block;
	font-size: 11px;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: #666;
	margin-bottom: 20px;
	text-align: center;
}
.ssns-header__search-drawer .search-form,
.ssns-header__search-drawer .searchform {
	display: flex;
	width: 100%;
	border-bottom: 2px solid var(--ssns-black);
}
.ssns-header__search-drawer input[type="search"],
.ssns-header__search-drawer input[type="text"] {
	flex: 1;
	height: 56px;
	padding: 0 8px;
	border: 0;
	background: transparent;
	font-size: 22px;
	font-family: inherit;
	color: var(--ssns-black);
	outline: none;
	min-width: 0;
}
.ssns-header__search-drawer input[type="search"]::placeholder,
.ssns-header__search-drawer input[type="text"]::placeholder {
	color: #aaa;
}
.ssns-header__search-drawer button[type="submit"],
.ssns-header__search-drawer .search-submit {
	height: 56px;
	padding: 0 20px;
	border: 0;
	background: transparent;
	color: var(--ssns-black);
	font-size: 11px;
	font-family: inherit;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	cursor: pointer;
	white-space: nowrap;
	flex-shrink: 0;
}
.ssns-header__search-drawer button[type="submit"]:hover,
.ssns-header__search-drawer .search-submit:hover {
	text-decoration: underline;
}
.ssns-search-overlay__hint {
	margin-top: 20px;
	font-size: 11px;
	letter-spacing: 0.06em;
	color: #999;
	text-align: center;
}
.ssns-header__search-close {
	position: absolute;
	top: 20px;
	right: 20px;
	width: 40px;
	height: 40px;
	border: 0;
	background: transparent;
	font-size: 24px;
	line-height: 40px;
	text-align: center;
	cursor: pointer;
	color: var(--ssns-black);
	display: flex;
	align-items: center;
	justify-content: center;
}
.ssns-header__search-close:hover {
	opacity: 0.5;
}
@media (max-width: 767px) {
	.ssns-header__search-drawer {
		justify-content: flex-start;
		padding-top: 80px;
	}
	.ssns-header__search-drawer input[type="search"],
	.ssns-header__search-drawer input[type="text"] {
		font-size: 18px;
		height: 48px;
	}
	.ssns-header__search-drawer button[type="submit"],
	.ssns-header__search-drawer .search-submit {
		height: 48px;
	}
}

/* ── Mobile nav sidebar ──────────────────────────────────────────── */
/* style="display:none" in HTML — JS sets .style.display directly.  */
/* Animations via @keyframes; no transition-from-none issues.       */
.ssns-mobile-nav {
	position: fixed;
	top: 0;
	left: 0;
	width: 300px;
	max-width: 88vw;
	height: 100%;
	background: #fff;
	border-right: 1px solid #e0e0e0;
	z-index: 100000;
	overflow-y: auto;
	overflow-x: hidden;
	-webkit-overflow-scrolling: touch;
	box-sizing: border-box;
}
.ssns-mobile-nav.ssns-mobile-nav--open {
	animation: ssns-nav-in 0.3s cubic-bezier(0.4, 0, 0.2, 1) both;
}
.ssns-mobile-nav.ssns-mobile-nav--closing {
	animation: ssns-nav-out 0.25s cubic-bezier(0.4, 0, 0.2, 1) both;
}
@keyframes ssns-nav-in {
	from { transform: translateX(-100%); }
	to   { transform: translateX(0); }
}
@keyframes ssns-nav-out {
	from { transform: translateX(0); }
	to   { transform: translateX(-100%); }
}

/* Overlay */
.ssns-mobile-nav__overlay {
	position: fixed;
	inset: 0;
	background: rgba(0,0,0,0.5);
	z-index: 99999;
}
.ssns-mobile-nav__overlay.ssns-mobile-nav__overlay--open {
	animation: ssns-overlay-in 0.3s ease both;
}
.ssns-mobile-nav__overlay.ssns-mobile-nav__overlay--closing {
	animation: ssns-overlay-out 0.25s ease both;
}
@keyframes ssns-overlay-in  { from { opacity: 0; } to { opacity: 1; } }
@keyframes ssns-overlay-out { from { opacity: 1; } to { opacity: 0; } }

/* Nav inner layout */
.ssns-mobile-nav__inner {
	display: flex;
	flex-direction: column;
	min-height: 100%;
}
.ssns-mobile-nav__head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	padding: 16px 20px;
	border-bottom: 1px solid var(--ssns-border);
	flex-shrink: 0;
}
.ssns-mobile-nav__title {
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	color: var(--ssns-black);
}
.ssns-mobile-nav__close {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 36px;
	height: 36px;
	padding: 0;
	border: 0;
	background: transparent;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
}
.ssns-mobile-nav__list {
	margin: 0;
	padding: 8px 0 20px;
	list-style: none;
	flex: 1;
}
.ssns-mobile-nav__list li {
	margin: 0;
}
.ssns-mobile-nav__list a {
	display: block;
	padding: 14px 24px;
	font-size: 12px;
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ssns-black);
	text-decoration: none;
	border-bottom: 1px solid var(--ssns-border);
	-webkit-tap-highlight-color: transparent;
}
.ssns-mobile-nav__list a:hover {
	background: var(--ssns-light);
}
.ssns-mobile-nav__footer {
	border-top: 1px solid var(--ssns-border);
	padding: 0 0 24px;
	flex-shrink: 0;
}
.ssns-mobile-nav__utility {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ssns-mobile-nav__utility a {
	display: block;
	padding: 12px 24px;
	font-size: 11px;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ssns-grey);
	text-decoration: none;
}
.ssns-mobile-nav__utility a:hover {
	color: var(--ssns-black);
}

/* ── Nav sidebar slide animation ─────────────────────────────── */
#ssns-nav-sidebar {
	transition: transform 0.28s cubic-bezier(0.4,0,0.2,1);
}
#ssns-nav-sidebar.is-open {
	transform: translateX(0) !important;
}

/* ── Search bar — WooCommerce form reset ──────────────────────── */
#ssns-search-bar .search-form,
#ssns-search-bar .searchform,
#ssns-search-bar form {
	flex: 1;
	display: flex;
	align-items: center;
	margin: 0;
	padding: 0;
}
#ssns-search-bar input[type="search"],
#ssns-search-bar input[type="text"] {
	flex: 1;
	border: 0;
	outline: 0;
	font-size: 14px;
	font-family: var(--ssns-font);
	background: transparent;
	padding: 0;
	height: 56px;
	color: #000;
}
#ssns-search-bar input[type="search"]::placeholder,
#ssns-search-bar input[type="text"]::placeholder {
	color: #aaa;
}
#ssns-search-bar button[type="submit"],
#ssns-search-bar .search-submit {
	display: none; /* search triggered by Enter key */
}

/* Icon button (mobile search / bag) */
.ssns-header__icon-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	background: transparent;
	border: 0;
	padding: 6px;
	cursor: pointer;
	-webkit-tap-highlight-color: transparent;
	color: var(--ssns-black);
	text-decoration: none;
}
.ssns-header__bag-btn {
	gap: 3px;
}
.ssns-header__bag-count {
	font-size: 10px;
	font-weight: 500;
	line-height: 1;
}

/* ============================================================
   HIDE WOODMART DEFAULT HEADER + PAGE TITLE + BREADCRUMBS
   (child theme fully replaces these areas)
   ============================================================ */
.wd-header,
.wd-sticky-header,
.whb-general-header,
.wd-toolbar {
	display: none !important;
}

/* ============================================================
   FRONT PAGE — break out of Woodmart's .container constraint
   ============================================================ */

/* Kill Woodmart's page title bar entirely on front page */
.ssns-front-page .wd-page-title,
.ssns-front-page .page-title,
.ssns-front-page .wd-breadcrumbs,
.ssns-front-page .breadcrumbs-container,
.ssns-front-page .wd-page-top,
.ssns-front-page .page-header,
.ssns-front-page [class*="page-title"],
.ssns-front-page [class*="page-header"],
.ssns-front-page .blog-page-title,
.ssns-front-page .woodmart-title-section,
.ssns-front-page .wd-page-content > .wd-title-container,
.ssns-front-page .main-page-wrapper > .page-title-container,
.ssns-front-page .woodmart-page-title {
	display: none !important;
}

/* Make Woodmart's .container full-width on front page so ssns-home fills the viewport */
.ssns-front-page #main-content.container,
.ssns-front-page .content-layout-wrapper.container,
.ssns-front-page .wd-content-layout.container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin-left: 0 !important;
	margin-right: 0 !important;
}

/* Remove Woodmart page wrapper padding on front page */
.ssns-front-page .main-page-wrapper,
.ssns-front-page .wd-page-content {
	padding: 0 !important;
	margin: 0 !important;
}

/* ssns-home takes 100% width, containers use padding for gutters */
.ssns-home {
	width: 100%;
}
.ssns-home__container {
	width: 100%;
}

/* ============================================================
   FOOTER
   ============================================================ */
.ssns-footer {
	background: var(--ssns-black);
	color: rgba(255,255,255,0.8);
	font-size: var(--ssns-size-sm);
}

.ssns-footer__row {
	padding: 0 var(--ssns-pad);
}

/* Navigation columns */
.ssns-footer__columns {
	padding: 48px 0 40px;
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.ssns-footer__columns .ssns-footer__row {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: 32px;
}
.ssns-footer__heading {
	margin: 0 0 16px;
	font-size: var(--ssns-size-xs);
	font-weight: 400;
	color: rgba(255,255,255,0.5);
	letter-spacing: 0.04em;
	text-transform: uppercase;
}
.ssns-footer__list {
	margin: 0;
	padding: 0;
	list-style: none;
}
.ssns-footer__list li + li {
	margin-top: 10px;
}
.ssns-footer__list a,
.ssns-footer__list a:visited {
	color: rgba(255,255,255,0.85);
	text-decoration: none;
	font-size: var(--ssns-size-sm);
}
.ssns-footer__list a:hover {
	color: var(--ssns-white);
	text-decoration: underline;
}

/* Email signup */
.ssns-footer__signup {
	padding: 24px 0;
	border-bottom: 1px solid rgba(255,255,255,0.15);
}
.ssns-footer__signup .ssns-footer__row {
	display: flex;
	align-items: center;
	gap: 24px;
	flex-wrap: wrap;
}
.ssns-footer__signup-copy {
	margin: 0;
	flex: 1 1 280px;
	font-size: var(--ssns-size-sm);
	color: rgba(255,255,255,0.7);
}
.ssns-footer__signup-form {
	display: flex;
	gap: 0;
	flex: 0 1 400px;
}
.ssns-footer__signup-form input {
	flex: 1;
	height: 40px;
	padding: 0 14px;
	border: 1px solid rgba(255,255,255,0.3);
	border-right: 0;
	background: transparent;
	color: var(--ssns-white);
	font-size: var(--ssns-size-sm);
}
.ssns-footer__signup-form input::placeholder {
	color: rgba(255,255,255,0.45);
}
.ssns-footer__signup-form button {
	height: 40px;
	padding: 0 18px;
	border: 1px solid rgba(255,255,255,0.6);
	background: transparent;
	color: var(--ssns-white);
	font-size: var(--ssns-size-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	cursor: pointer;
}
.ssns-footer__signup-form button:hover {
	background: rgba(255,255,255,0.1);
}

/* Bottom bar */
.ssns-footer__bottom {
	padding: 18px 0 20px;
}
.ssns-footer__bottom-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 14px;
}
.ssns-footer__logo-link,
.ssns-footer__logo-link:visited {
	color: var(--ssns-white);
	text-decoration: none;
}
.ssns-footer__logo-text {
	font-size: 15px;
	font-weight: 700;
	letter-spacing: 0.15em;
	text-transform: uppercase;
}
.ssns-footer__legal {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;
	margin: 0;
	padding: 0;
	list-style: none;
}
.ssns-footer__legal li,
.ssns-footer__legal a,
.ssns-footer__legal a:visited {
	font-size: var(--ssns-size-xs);
	color: rgba(255,255,255,0.55);
	text-decoration: none;
}
.ssns-footer__legal a:hover {
	color: var(--ssns-white);
}
.ssns-footer__address {
	font-size: var(--ssns-size-xs);
}

/* ============================================================
   SHARED FRONT PAGE UTILITIES
   ============================================================ */
.ssns-home__container {
	padding: 0 var(--ssns-pad);
}

.ssns-home__tag {
	margin: 0 0 8px;
	font-size: var(--ssns-size-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ssns-grey);
}

.ssns-home__section-head {
	display: flex;
	align-items: flex-end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.ssns-home__section-title {
	margin: 0;
	font-size: clamp(22px, 3vw, 32px);
	font-weight: 400;
	letter-spacing: -0.01em;
}

.ssns-home__text-link,
.ssns-home__text-link:visited {
	font-size: var(--ssns-size-xs);
	color: var(--ssns-black);
	text-decoration: underline;
	text-underline-offset: 3px;
	letter-spacing: 0.04em;
	white-space: nowrap;
}

/* Buttons */
.ssns-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 42px;
	padding: 0 22px;
	font-size: var(--ssns-size-xs);
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	cursor: pointer;
	transition: background 0.15s, color 0.15s, border-color 0.15s;
	font-family: var(--ssns-font);
}
.ssns-btn--primary,
.ssns-btn--primary:visited {
	background: var(--ssns-black);
	color: var(--ssns-white);
	border: 1px solid var(--ssns-black);
}
.ssns-btn--primary:hover {
	background: #333;
	border-color: #333;
	color: var(--ssns-white);
}
.ssns-btn--outline,
.ssns-btn--outline:visited {
	background: transparent;
	color: var(--ssns-black);
	border: 1px solid var(--ssns-black);
}
.ssns-btn--outline:hover {
	background: var(--ssns-black);
	color: var(--ssns-white);
}
.ssns-btn--dark,
.ssns-btn--dark:visited {
	background: #111;
	color: var(--ssns-white);
	border: 1px solid #111;
}
/* White button — for use over dark images */
.ssns-btn--white,
.ssns-btn--white:visited {
	background: var(--ssns-white);
	color: var(--ssns-black);
	border: 1px solid var(--ssns-white);
}
.ssns-btn--white:hover {
	background: rgba(255,255,255,0.85);
}

/* ============================================================
   FRONT PAGE — BANNER (full-width image, text overlay — SSENSE style)
   ============================================================ */
.ssns-home__banner {
	position: relative;
	width: 100%;
	min-height: 400px;
	background: #c0c0c0;
	overflow: hidden;
}
.ssns-home__banner-media {
	display: block;
	width: 100%;
	aspect-ratio: 16 / 7;
	min-height: 400px;
	background: #c0c0c0;
}
.ssns-home__banner-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}
.ssns-home__banner-inner {
	position: absolute;
	bottom: 32px;
	left: 0;
	right: 0;
	padding: 0 var(--ssns-pad);
}
.ssns-home__banner-title {
	margin: 0 0 12px;
	font-size: clamp(28px, 4vw, 52px);
	font-weight: 400;
	letter-spacing: -0.01em;
	line-height: 1.1;
	color: var(--ssns-white);
	text-shadow: 0 1px 4px rgba(0,0,0,0.4);
}
.ssns-home__banner-sub {
	margin: 0 0 20px;
	font-size: var(--ssns-size-sm);
	color: rgba(255,255,255,0.85);
	max-width: 52ch;
	text-shadow: 0 1px 3px rgba(0,0,0,0.35);
}
.ssns-home__banner-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
}

/* ============================================================
   FRONT PAGE — CATEGORY CARDS (clean 3-col, no border box)
   ============================================================ */
.ssns-home__categories {
	padding: 0;
}
.ssns-home__cat-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2px;
	background: var(--ssns-black);
}
.ssns-cat-card {
	position: relative;
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	text-decoration: none;
	background: #c0c0c0;
}

/* Real image fills the card */
.ssns-cat-card__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.5s ease;
}
.ssns-cat-card:hover .ssns-cat-card__img {
	transform: scale(1.04);
}

.ssns-cat-card__inner {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	justify-content: flex-end;
	padding: 20px 18px;
	background: linear-gradient(0deg, rgba(0,0,0,0.38) 0%, transparent 55%);
}
.ssns-cat-card__label {
	font-size: 15px;
	font-weight: 500;
	color: var(--ssns-white);
	text-transform: uppercase;
	letter-spacing: 0.05em;
	line-height: 1.2;
}
.ssns-cat-card__action {
	margin-top: 4px;
	font-size: var(--ssns-size-xs);
	color: rgba(255,255,255,0.72);
	text-transform: uppercase;
	letter-spacing: 0.07em;
}
.ssns-cat-card:hover .ssns-cat-card__label {
	text-decoration: underline;
	text-underline-offset: 2px;
}

/* ============================================================
   FRONT PAGE — NEW ARRIVALS PRODUCT GRID (borderless, SSENSE style)
   ============================================================ */
.ssns-home__new-arrivals {
	padding: 40px 0;
	border-bottom: 1px solid var(--ssns-border);
}
.ssns-home__product-grid {
	display: grid;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 2px;
}
.ssns-product-card {
	/* No card borders — SSENSE just shows image + text */
}
.ssns-product-card__media {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--ssns-light);
}
.ssns-product-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.2s ease;
}
.ssns-product-card:hover .ssns-product-card__media img {
	opacity: 0.88;
}
.ssns-product-card__placeholder {
	width: 100%;
	height: 100%;
	background: #e4e4e4;
}
.ssns-product-card__body {
	padding: 10px 0 16px;
}
/* Designer/brand name — small, grey, uppercase (like SSENSE's brand label) */
.ssns-product-card__designer {
	display: block;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	color: var(--ssns-black);
	letter-spacing: 0.04em;
	margin-bottom: 2px;
	text-transform: uppercase;
}
/* Product name — lighter weight, smaller */
.ssns-product-card__name {
	margin: 0 0 10px;
	font-size: var(--ssns-size-xs);
	font-weight: 400;
	line-height: 1.5;
	color: var(--ssns-grey);
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.ssns-product-card__name a,
.ssns-product-card__name a:visited {
	color: var(--ssns-grey);
	text-decoration: none;
}
.ssns-product-card__name a:hover {
	text-decoration: underline;
}

.ssns-home__empty {
	padding: 40px 0;
	text-align: center;
	color: var(--ssns-grey);
}
.ssns-home__empty p {
	margin-bottom: 16px;
}

/* ============================================================
   FRONT PAGE — EDITORIAL
   ============================================================ */
.ssns-home__editorial {
	padding: 40px 0;
	border-bottom: 1px solid var(--ssns-border);
}
.ssns-home__editorial-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 24px;
}
.ssns-editorial-card {
	display: block;
	color: inherit;
	text-decoration: none;
}
.ssns-editorial-card__media {
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--ssns-light);
	margin-bottom: 14px;
}
.ssns-editorial-card__media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: transform 0.4s ease;
}
.ssns-editorial-card:hover .ssns-editorial-card__media img {
	transform: scale(1.03);
}
.ssns-editorial-card__placeholder {
	width: 100%;
	height: 100%;
	background: #e4e4e4;
}
.ssns-editorial-card__tag {
	display: block;
	font-size: var(--ssns-size-xs);
	color: var(--ssns-grey);
	text-transform: uppercase;
	letter-spacing: 0.06em;
	margin-bottom: 6px;
}
.ssns-editorial-card__title {
	margin: 0;
	font-size: var(--ssns-size-md);
	font-weight: 400;
	line-height: 1.4;
}
.ssns-editorial-card:hover .ssns-editorial-card__title {
	text-decoration: underline;
	text-underline-offset: 3px;
}

/* ============================================================
   FRONT PAGE — FEATURE SPLIT
   ============================================================ */
.ssns-home__feature {
	padding: 60px 0;
	border-bottom: 1px solid var(--ssns-border);
}
.ssns-home__feature-grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 60px;
	align-items: center;
}
.ssns-home__feature-media {
	aspect-ratio: 4 / 5;
	overflow: hidden;
	background: var(--ssns-light);
}
.ssns-home__feature-placeholder {
	width: 100%;
	height: 100%;
	background: #e0e0e0;
}
.ssns-home__feature-media img {
	width: 100%;
	height: 100%;
	object-fit: cover;
}
.ssns-home__feature-title {
	margin: 0 0 18px;
	font-size: clamp(36px, 5vw, 72px);
	font-weight: 400;
	line-height: 0.97;
	letter-spacing: -0.02em;
}
.ssns-home__feature-text {
	margin: 0 0 28px;
	font-size: var(--ssns-size-md);
	color: var(--ssns-grey);
	max-width: 45ch;
}

/* ============================================================
   FRONT PAGE — WHATSAPP CONTACT BAND
   ============================================================ */
.ssns-home__contact-band {
	padding: 32px 0;
	background: var(--ssns-black);
}
.ssns-home__contact-inner {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 24px;
	flex-wrap: wrap;
}
.ssns-home__contact-copy {
	margin: 0;
	font-size: var(--ssns-size-md);
	color: rgba(255,255,255,0.8);
	max-width: 55ch;
}
.ssns-home__contact-band .ssns-btn--dark {
	background: var(--ssns-white);
	color: var(--ssns-black);
	border-color: var(--ssns-white);
}
.ssns-home__contact-band .ssns-btn--dark:hover {
	background: #e5e5e5;
}

/* ============================================================
   WHATSAPP BUTTON (existing ecopper system)
   ============================================================ */
/* WhatsApp button — black to match SSENSE design language */
.ecopper-whatsapp-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 38px;
	padding: 0 16px;
	border: 1px solid var(--ssns-black);
	border-radius: 0;
	background: var(--ssns-black);
	color: #fff !important;
	font-family: var(--ssns-font);
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s, color 0.15s;
}

.ecopper-whatsapp-button:hover,
.ecopper-whatsapp-button:focus {
	background: #333;
	border-color: #333;
	color: #fff !important;
}

.ecopper-whatsapp-button-loop {
	width: 100%;
	margin-top: 12px;
}

.ecopper-whatsapp-button-single {
	margin-top: 12px;
}

.ecopper-whatsapp-note {
	margin-top: 12px;
	color: #5b6270;
	font-size: 14px;
	line-height: 1.6;
}

.ecopper-contact-page,
.ecopper-order-page,
.ecopper-footer-block {
	max-width: 980px;
	margin: 0 auto;
}

.ecopper-contact-page,
.ecopper-order-page {
	padding: 28px;
	border: 1px solid #e5e7eb;
	border-radius: 24px;
	background: #fff;
	box-shadow: 0 20px 50px rgba(15, 23, 42, 0.06);
}

.ecopper-contact-page h2,
.ecopper-order-page h2,
.ecopper-footer-block h4 {
	margin-bottom: 16px;
	color: #0f172a;
}

.ecopper-contact-page ul,
.ecopper-order-page ol,
.ecopper-footer-block ul {
	margin: 0 0 20px 20px;
}

.ecopper-contact-page li,
.ecopper-order-page li,
.ecopper-footer-block li {
	margin-bottom: 10px;
}

.ecopper-footer-block {
	color: #d7dde6;
}

.ecopper-footer-block p,
.ecopper-footer-block a,
.ecopper-footer-block li {
	color: #d7dde6;
}

.ecopper-footer-block a:hover,
.ecopper-footer-block a:focus {
	color: #ffffff;
}

.price,
.woocommerce-Price-amount,
.amount,
.price-from,
.price-to {
	display: none !important;
}

.wd-header-cart,
.wd-tools-element.wd-header-cart,
.wd-header-my-account,
.wd-tools-element.wd-header-my-account,
.wd-tools-element.wd-header-wishlist,
.wd-tools-element.wd-header-compare,
.wd-wishlist-btn,
.wd-compare-btn,
.compare-btn-wrapper,
.open-quick-view,
.quick-view-button,
.wd-shop-tools .wd-tools-element[class*="wishlist"],
.wd-shop-tools .wd-tools-element[class*="compare"] {
	display: none !important;
}


/* ============================================================
   RESPONSIVE — TABLET (max 1024px) — SSENSE: padding 31px
   ============================================================ */
@media (max-width: 1024px) {
	:root { --ssns-pad: 31px; }

	.ssns-home__product-grid {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ssns-home__editorial-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ssns-footer__columns .ssns-footer__row {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
	.ssns-home__feature-grid {
		gap: 36px;
	}
}

/* ============================================================
   RESPONSIVE — MOBILE (≤991px) — SSENSE mobile header
   ============================================================ */
@media (max-width: 991px) {
	:root {
		--ssns-header-h: 70px;
	}

	/* ── 1. Hide desktop-only elements ──────────────────── */
	.ssns-header__bar .ssns-header__nav,
	.ssns-header__bar .ssns-header__logo:not(.ssns-header__logo--mobile) {
		display: none !important;
	}

	/* ── 2. Reset bar row — no longer a 3-col grid ───────── */
	.ssns-header__bar .ssns-header__row {
		display: block;
		padding: 0;
		min-height: 0;
	}

	/* ── 3. Show mobile row ─────────────────────────────── */
	.ssns-header__mobile {
		display: grid !important;
		grid-template-columns: 44px minmax(0, 1fr) auto;
		align-items: center;
		width: 100%;
		min-height: var(--ssns-header-h);
		padding: 0 var(--ssns-pad);
		gap: 8px;
		box-sizing: border-box;
		background: #fff;
	}

	/* ── 4. Burger button ───────────────────────────────── */
	#ssns-burger,
	.ssns-header__burger {
		display: flex !important;
		align-items: center;
		justify-content: center;
		width: 44px;
		height: 44px;
		padding: 0;
		margin: 0;
		border: 0;
		background: transparent !important;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		flex-shrink: 0;
		outline: none;
	}
	/* Force the 3 lines to be black — ID + element beats any class rule */
	#ssns-burger svg,
	#ssns-burger svg line,
	.ssns-header__burger svg,
	.ssns-header__burger svg line {
		display: block !important;
		stroke: #000000 !important;
		fill: none !important;
	}

	/* ── 5. Logo centered ────────────────────────────────── */
	.ssns-header__logo--mobile {
		display: flex !important;
		justify-content: center;
		align-items: center;
		overflow: visible !important;
	}
	.ssns-header__logo--mobile .ssns-header__logo-link {
		display: flex !important;
		align-items: center;
	}
	.ssns-header__logo--mobile .ssns-header__logo-img,
	#ssns-header .ssns-header__mobile .ssns-header__logo-img {
		height: 54px !important;
		width: auto !important;
		display: block !important;
		object-fit: contain !important;
		max-width: 200px !important;
	}
	.ssns-header__logo--mobile .ssns-header__logo-link {
		color: #000;
		text-decoration: none;
	}
	.ssns-header__logo--mobile .ssns-header__logo-text {
		font-size: 14px;
		font-weight: 700;
		letter-spacing: 0.2em;
		text-transform: uppercase;
		color: #000;
	}

	/* ── 6. Right tools: search + bag icons ──────────────── */
	.ssns-header__mobile-tools {
		display: flex;
		align-items: center;
		justify-content: flex-end;
		gap: 4px;
		flex-shrink: 0;
	}
	.ssns-header__icon-btn {
		display: inline-flex;
		align-items: center;
		justify-content: center;
		background: transparent;
		border: 0;
		padding: 6px;
		cursor: pointer;
		-webkit-tap-highlight-color: transparent;
		color: #000;
		text-decoration: none;
	}
	/* Force search/bag icon SVGs to be black */
	#ssns-mobile-search svg,
	#ssns-mobile-search svg circle,
	#ssns-mobile-search svg line,
	.ssns-header__icon-btn svg,
	.ssns-header__icon-btn svg circle,
	.ssns-header__icon-btn svg line,
	.ssns-header__icon-btn svg path {
		display: block !important;
		stroke: #000000 !important;
		fill: none !important;
	}
	/* Bag path is fill-based */
	.ssns-header__bag-btn svg path {
		fill: none !important;
		stroke: #000000 !important;
	}
	.ssns-header__bag-count {
		font-size: 10px;
		font-weight: 500;
		color: #000;
		line-height: 1;
	}

	/* ── 7. Announce banner ──────────────────────────────── */
	.ssns-header__announce p {
		font-size: 10px;
	}

	/* ── 8. Hide footer nav columns on mobile ───────────── */
	.ssns-footer__columns {
		display: none;
	}
	.ssns-footer__top {
		flex-direction: column;
	}
	.ssns-footer__social {
		justify-content: flex-start;
	}
	.ssns-footer__signup .ssns-footer__row {
		flex-direction: column;
		align-items: flex-start;
	}
	.ssns-footer__signup-form {
		flex: 0 1 auto;
		width: 100%;
	}
	.ssns-footer__bottom-row {
		flex-direction: column;
		align-items: flex-start;
	}
}

/* ============================================================
   RESPONSIVE — MOBILE (max 768px) — SSENSE: padding 23px
   ============================================================ */
@media (max-width: 768px) {
	:root {
		--ssns-pad: 23px;
	}

	/* On small phones shrink logo text slightly */
	.ssns-header__logo--mobile .ssns-header__logo-text {
		font-size: 13px;
		letter-spacing: 0.18em;
	}

	/* Homepage */
	.ssns-home__banner {
		padding: 40px 0 36px;
	}
	.ssns-home__banner-actions {
		flex-direction: column;
		align-items: flex-start;
	}
	.ssns-home__cat-grid {
		grid-template-columns: 1fr;
	}
	.ssns-cat-card {
		border-right: 0;
		border-bottom: 1px solid var(--ssns-black);
		aspect-ratio: 2 / 1;
	}
	.ssns-cat-card:last-child {
		border-bottom: 0;
	}
	.ssns-home__product-grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.ssns-product-card:nth-child(4n) {
		border-right: 1px solid var(--ssns-border);
	}
	.ssns-product-card:nth-child(2n) {
		border-right: 0;
	}
	.ssns-home__editorial-grid {
		grid-template-columns: 1fr;
	}
	.ssns-home__section-head {
		flex-direction: column;
		align-items: flex-start;
		gap: 10px;
	}
	.ssns-home__feature-grid {
		grid-template-columns: 1fr;
		gap: 24px;
	}
	.ssns-home__feature {
		padding: 36px 0;
	}
	.ssns-home__contact-inner {
		flex-direction: column;
		align-items: flex-start;
	}

	/* Footer nav already hidden at 991px */
	.ssns-footer__signup .ssns-footer__row {
		flex-direction: column;
		align-items: flex-start;
	}
	.ssns-footer__signup-form {
		flex: 0 1 auto;
		width: 100%;
		max-width: 100%;
	}
	.ssns-footer__bottom-row {
		flex-direction: column;
		align-items: flex-start;
		gap: 8px;
	}
	.ssns-footer__nav-list,
	.ssns-footer__social,
	.ssns-footer__legal {
		gap: 10px 14px;
	}

	/* Shop catalog chips: wrap on mobile */
	.ssns-catalog__toolbar {
		flex-direction: column;
		align-items: flex-start;
	}
	.ssns-catalog__chips {
		width: 100%;
		overflow-x: auto;
		flex-wrap: nowrap;
		-webkit-overflow-scrolling: touch;
		padding-bottom: 4px;
	}
	.ssns-catalog__chip {
		flex-shrink: 0;
	}

	/* Content pages: comfortable padding */
	.page .entry-content,
	.single-post .entry-content {
		padding: 24px 0 36px;
	}

	/* WooCommerce tabs: scrollable on mobile */
	.woocommerce-tabs .tabs {
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		white-space: nowrap;
		flex-wrap: nowrap !important;
	}
}

/* ============================================================
   FRONT PAGE — REMOVE WOODMART PADDING OVERHEAD
   ============================================================ */
.ecopper-front-page .main-page-wrapper,
.ssns-front-page .main-page-wrapper {
	padding-top: 0;
}
.ecopper-front-page .wd-page-content,
.ssns-front-page .wd-page-content {
	margin-bottom: 0;
}

/* ============================================================
   CONTENT PAGES — hide sidebar, full-width layout
   ============================================================ */
/* Regular pages and posts don't need a sidebar */
.page .wd-sidebar.sidebar-container,
.page aside.wd-sidebar,
.blog .wd-sidebar.sidebar-container,
.blog aside.wd-sidebar,
.single-post .wd-sidebar.sidebar-container,
.single-post aside.wd-sidebar {
	display: none !important;
}
.page .wd-content-area,
.blog .wd-content-area,
.single-post .wd-content-area {
	--wd-col-lg: 12 !important;
	--wd-col-md: 12 !important;
	--wd-col-sm: 12 !important;
	width: 100% !important;
	max-width: 100% !important;
}
/* Nice typography for content pages */
.page .entry-content,
.single-post .entry-content {
	max-width: 72ch;
	font-size: var(--ssns-size-md);
	line-height: 1.7;
	color: #333;
	padding: 32px 0 48px;
}

/* ============================================================
   HIDE WOOCOMMERCE DEFAULT ELEMENTS
   ============================================================ */
.wd-header-cart,
.wd-tools-element.wd-header-cart,
.wd-tools-element.wd-header-wishlist,
.wd-tools-element.wd-header-compare,
.wd-wishlist-btn,
.wd-compare-btn,
.compare-btn-wrapper,
.open-quick-view,
.quick-view-button,
.wd-shop-tools .wd-tools-element[class*=wishlist],
.wd-shop-tools .wd-tools-element[class*=compare],
/* Single product: hide Woodmart extras */
.single-product .wd-social-icons,
.single-product .social-share,
.single-product .product-share,
.single-product .wd-wishlist-btn,
.single-product .wd-compare-btn,
.single-product .product_meta,
.single-product .woocommerce-review-link,
.single-product .woocommerce-product-rating {
	display: none !important;
}
.post-type-archive-product .shop-loop-head,
.tax-product_cat .shop-loop-head,
.tax-product_tag .shop-loop-head {
	display: none;
}

/* ============================================================
   SHOP ARCHIVE — SSENSE-style product grid
   ============================================================ */

/* Hide Woodmart's page-title section on shop/archive/product pages */
.post-type-archive-product .wd-page-title,
.post-type-archive-product .page-title,
.post-type-archive-product .wd-breadcrumbs,
.post-type-archive-product .breadcrumbs-container,
.post-type-archive-product .wd-page-top,
.post-type-archive-product [class*="page-title"],
.tax-product_cat .wd-page-title,
.tax-product_cat .page-title,
.tax-product_cat .wd-breadcrumbs,
.tax-product_cat [class*="page-title"],
.single-product .wd-page-title,
.single-product .page-title,
.single-product .wd-breadcrumbs,
.single-product [class*="page-title"] {
	display: none !important;
}

/* Make the shop archive full-width like the front page */
.post-type-archive-product #main-content.container,
.tax-product_cat #main-content.container,
.tax-product_tag #main-content.container {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
}

/* ── SSENSE catalog layout ──────────────────────────── */
.ssns-catalog {
	padding: 0 var(--ssns-pad) 64px;
	padding-top: 20px;
}

/* Category page heading */
.ssns-catalog__heading {
	padding: 32px 0 8px;
	border-bottom: 1px solid var(--ssns-border);
	margin-bottom: 24px;
}
.ssns-catalog__heading-title {
	font-size: 22px;
	font-weight: 500;
	letter-spacing: 0.12em;
	text-transform: uppercase;
	margin: 0 0 6px;
}
.ssns-catalog__heading-desc {
	font-size: 12px;
	color: var(--ssns-grey);
	margin: 0;
}

/* Toolbar: chips on left, sort on right */
.ssns-catalog__toolbar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 12px;
	padding: 16px 0 20px;
	border-bottom: 1px solid var(--ssns-border);
	margin-bottom: 24px;
}

/* Category chips */
.ssns-catalog__chips {
	display: flex;
	flex-wrap: wrap;
	gap: 6px;
}
.ssns-catalog__chip,
.ssns-catalog__chip:visited {
	display: inline-flex;
	align-items: center;
	height: 30px;
	padding: 0 12px;
	border: 1px solid var(--ssns-border);
	background: transparent;
	color: var(--ssns-black);
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.05em;
	text-transform: uppercase;
	text-decoration: none;
	transition: background 0.15s, border-color 0.15s, color 0.15s;
}
.ssns-catalog__chip:hover,
.ssns-catalog__chip--active {
	border-color: var(--ssns-black);
	background: var(--ssns-black);
	color: var(--ssns-white);
}

/* Sort / result count */
.ssns-catalog__sort {
	display: flex;
	align-items: center;
	gap: 12px;
	font-size: var(--ssns-size-xs);
	color: var(--ssns-grey);
}
.ssns-catalog__sort .woocommerce-result-count {
	margin: 0;
	font-size: var(--ssns-size-xs);
	color: var(--ssns-grey);
}
.ssns-catalog__sort .woocommerce-ordering select {
	border: 1px solid var(--ssns-border);
	background: transparent;
	font-family: var(--ssns-font);
	font-size: var(--ssns-size-xs);
	color: var(--ssns-black);
	padding: 4px 8px;
	cursor: pointer;
	appearance: none;
}

/* Product grid — 4 columns, borderless like SSENSE */
.ssns-catalog .products.columns-3,
.ssns-catalog .products.columns-4,
.ssns-catalog .products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
	gap: 2px !important;
	list-style: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.ssns-catalog .products::before,
.ssns-catalog .products::after {
	display: none !important;
}

/* Product card */
.ecopper-archive-card {
	margin: 0 !important;
	padding: 0;
	background: var(--ssns-white);
	list-style: none;
}
.ecopper-archive-card__image {
	display: block;
	aspect-ratio: 3 / 4;
	overflow: hidden;
	background: var(--ssns-light);
}
.ecopper-archive-card__image img {
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
	transition: opacity 0.2s ease;
}
.ecopper-archive-card:hover .ecopper-archive-card__image img {
	opacity: 0.88;
}
.ecopper-archive-card__body {
	padding: 10px 0 14px;
}
.ecopper-archive-card__category {
	display: block;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	color: var(--ssns-black);
	letter-spacing: 0.04em;
	text-transform: uppercase;
	margin-bottom: 2px;
}
.ecopper-archive-card__title {
	margin: 0 0 10px;
	font-size: var(--ssns-size-xs);
	font-weight: 400;
	line-height: 1.5;
	text-transform: uppercase;
	letter-spacing: 0.02em;
}
.ecopper-archive-card__title a,
.ecopper-archive-card__title a:visited {
	color: var(--ssns-grey);
	text-decoration: none;
}
.ecopper-archive-card__title a:hover {
	text-decoration: underline;
}
.ecopper-archive-card__cta {
	margin-top: 8px;
}
.ecopper-archive-card__cta .ecopper-archive-card__view-btn {
	margin-top: 0;
	margin-bottom: 10px;
}
.ecopper-archive-card__cta .ecopper-whatsapp-button-loop {
	width: 100%;
	margin-top: 0;
}
.ecopper-archive-card__view-btn {
	display: inline-block;
	margin-top: 10px;
	font-size: 11px;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	color: #000;
	text-decoration: none;
	border-bottom: 1px solid #000;
	padding-bottom: 1px;
	transition: opacity 0.2s;
}
.ecopper-archive-card__view-btn:hover {
	opacity: 0.5;
}

/* Fix login button color */
.woocommerce .woocommerce-form-login .woocommerce-form__input-checkbox + span,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit,
.woocommerce a.button,
.woocommerce .button.alt,
.woocommerce #payment #place_order {
	background: var(--ssns-black) !important;
	color: var(--ssns-white) !important;
	border: 1px solid var(--ssns-black) !important;
	border-radius: 0 !important;
	font-family: var(--ssns-font) !important;
	font-size: var(--ssns-size-xs) !important;
	font-weight: 500 !important;
	letter-spacing: 0.06em !important;
	text-transform: uppercase !important;
}
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.woocommerce a.button:hover {
	background: #333 !important;
	border-color: #333 !important;
	color: var(--ssns-white) !important;
}

/* Responsive shop grid */
@media (max-width: 1024px) {
	.ssns-catalog { padding-left: var(--ssns-pad); padding-right: var(--ssns-pad); }
	.ssns-catalog .products,
	.ssns-catalog .products.columns-3,
	.ssns-catalog .products.columns-4 {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
}
@media (max-width: 768px) {
	.ssns-catalog { padding-left: var(--ssns-pad); padding-right: var(--ssns-pad); }
	.ssns-catalog .products,
	.ssns-catalog .products.columns-3,
	.ssns-catalog .products.columns-4 {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
}

/* ============================================================
   SINGLE PRODUCT
   ============================================================ */

/* Page body — no extra padding, no WoodMart wrappers interfering */
.single-product body {
	overflow-x: hidden;
}
.single-product .wd-page-content,
.single-product .main-page-wrapper {
	padding-top: 0 !important;
}
.single-product #main-content.container,
.single-product .content-layout-wrapper.container,
.single-product .wd-content-area {
	max-width: 100% !important;
	width: 100% !important;
	padding-left: 0 !important;
	padding-right: 0 !important;
	margin: 0 !important;
	flex: none !important;
}
.single-product .wd-sidebar.sidebar-container,
.single-product aside.wd-sidebar,
.single-product .widget-area {
	display: none !important;
}

/* Product wrapper */
.ecopper-single-product {
	padding: 0;
	box-sizing: border-box;
	width: 100%;
}
.ecopper-single-product .container {
	box-sizing: border-box;
	width: 100%;
	max-width: 100% !important;
	padding-left: var(--ssns-pad) !important;
	padding-right: var(--ssns-pad) !important;
}

/* Breadcrumbs */
.ecopper-single-product__breadcrumbs {
	padding: 14px 0;
	font-size: var(--ssns-size-xs);
	color: var(--ssns-grey);
	border-bottom: 1px solid var(--ssns-border);
	margin-bottom: 32px;
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}
.ecopper-single-product__breadcrumbs a {
	color: var(--ssns-grey);
	text-decoration: none;
}

/* Desktop: two-column grid */
.ecopper-single-product__grid {
	display: grid;
	grid-template-columns: 60% 40%;
	gap: 0;
	align-items: start;
	width: 100%;
	box-sizing: border-box;
}

/* Media column — sticky on desktop */
.ecopper-single-product__media {
	position: sticky;
	top: calc(var(--ssns-header-h) + 20px);
	width: 100%;
	box-sizing: border-box;
}
.ecopper-single-product__media .woocommerce-product-gallery {
	margin: 0 !important;
	width: 100% !important;
}
.ecopper-single-product__media .woocommerce-product-gallery__wrapper img {
	width: 100%;
	height: auto;
	display: block;
}

/* Summary column */
.ecopper-single-product__summary {
	padding: 0 0 48px var(--ssns-pad);
	border-left: 1px solid var(--ssns-border);
	box-sizing: border-box;
}
.ecopper-single-product__category {
	display: block;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.08em;
	text-transform: uppercase;
	color: var(--ssns-grey);
	margin-bottom: 8px;
}
.ecopper-single-product__summary .product_title {
	font-size: clamp(18px, 2vw, 26px);
	font-weight: 400;
	letter-spacing: -0.01em;
	margin: 0 0 20px;
	line-height: 1.25;
}
.ecopper-single-product__summary .woocommerce-product-details__short-description {
	font-size: var(--ssns-size-sm);
	color: var(--ssns-grey);
	margin-bottom: 24px;
	line-height: 1.6;
}
.ecopper-single-product__summary .ecopper-whatsapp-button-single {
	display: block;
	width: 100%;
	text-align: center;
	padding: 14px 24px;
	margin-bottom: 12px;
	background: var(--ssns-black) !important;
	color: var(--ssns-white) !important;
	font-size: var(--ssns-size-xs) !important;
	font-weight: 500 !important;
	letter-spacing: 0.08em !important;
	text-transform: uppercase !important;
	text-decoration: none;
	border: 1px solid var(--ssns-black) !important;
	border-radius: 0 !important;
	box-sizing: border-box;
}
.ecopper-single-product__summary .ecopper-whatsapp-button-single:hover {
	background: #222 !important;
	border-color: #222 !important;
}
.ecopper-single-product__summary .ecopper-whatsapp-note {
	font-size: 11px;
	color: var(--ssns-grey);
	margin: 0 0 24px;
	line-height: 1.5;
}

/* Service info blocks */
.ecopper-single-product__service {
	margin-top: 24px;
	border-top: 1px solid var(--ssns-border);
}
.ecopper-single-product__service-item {
	padding: 16px 0;
	border-bottom: 1px solid var(--ssns-border);
}
.ecopper-single-product__service-item h3 {
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	margin: 0 0 6px;
}
.ecopper-single-product__service-item p {
	font-size: var(--ssns-size-xs);
	color: var(--ssns-grey);
	margin: 0;
	line-height: 1.55;
}

/* After-product tabs */
.ecopper-single-product__after {
	padding-top: 40px;
	border-top: 1px solid var(--ssns-border);
	margin-top: 48px;
}
.ecopper-single-product__after .container {
	padding-left: var(--ssns-pad) !important;
	padding-right: var(--ssns-pad) !important;
	max-width: 100% !important;
}

/* Tablet */
@media (max-width: 1024px) {
	.ecopper-single-product__grid {
		grid-template-columns: 55% 45%;
	}
}

/* Mobile — single column */
@media (max-width: 768px) {
	.ecopper-single-product__grid {
		display: block;
		width: 100%;
	}
	.ecopper-single-product__media {
		position: static;
		width: 100%;
	}
	.ecopper-single-product__media .woocommerce-product-gallery {
		width: 100% !important;
	}
	.ecopper-single-product__media .woocommerce-product-gallery img {
		width: 100%;
		height: auto;
	}
	.ecopper-single-product__media .flex-control-thumbs {
		display: flex !important;
		flex-direction: row !important;
		overflow-x: auto;
		-webkit-overflow-scrolling: touch;
		gap: 6px;
		padding: 8px 0 4px;
		margin: 0;
		list-style: none;
		scrollbar-width: none;
	}
	.ecopper-single-product__media .flex-control-thumbs::-webkit-scrollbar {
		display: none;
	}
	.ecopper-single-product__media .flex-control-thumbs li {
		flex: 0 0 64px;
		width: 64px;
		height: 64px;
		margin: 0;
	}
	.ecopper-single-product__media .flex-control-thumbs img {
		width: 64px !important;
		height: 64px !important;
		object-fit: cover;
	}
	.ecopper-single-product__summary {
		padding: 20px 0 32px;
		border-left: none;
		border-top: 1px solid var(--ssns-border);
		width: 100%;
		box-sizing: border-box;
	}
	.ecopper-single-product__summary .product_title {
		font-size: 20px;
		margin-bottom: 14px;
	}
	.ecopper-single-product__summary .ecopper-whatsapp-button-single {
		min-height: 48px;
		padding: 14px;
		font-size: 13px !important;
	}
	.ecopper-single-product__service-item {
		padding: 12px 0;
	}
}

/* Small phones */
@media (max-width: 480px) {
	:root {
		--ssns-pad: 16px;
	}
	.ecopper-single-product__media .woocommerce-product-gallery__wrapper img {
		height: auto;
	}
	.ecopper-single-product__summary .product_title {
		font-size: 18px;
	}
}

/* ============================================================
   WOOCOMMERCE TABS — SSENSE-style black underline tabs
   ============================================================ */
.woocommerce-tabs .tabs {
	border-bottom: 1px solid var(--ssns-border) !important;
	padding: 0 !important;
	margin: 0 0 24px !important;
	list-style: none !important;
	display: flex !important;
	gap: 0 !important;
}
.woocommerce-tabs .tabs li {
	border: none !important;
	background: none !important;
	margin: 0 !important;
	padding: 0 !important;
}
.woocommerce-tabs .tabs li a {
	display: block;
	padding: 12px 20px 10px;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.06em;
	text-transform: uppercase;
	color: var(--ssns-grey);
	text-decoration: none;
	border-bottom: 2px solid transparent;
}
.woocommerce-tabs .tabs li.active a {
	color: var(--ssns-black);
	border-bottom-color: var(--ssns-black);
}
.woocommerce-tabs .tabs li a:hover {
	color: var(--ssns-black);
}
.woocommerce-tabs .panel {
	padding: 0 !important;
	border: none !important;
	background: none !important;
	font-size: var(--ssns-size-sm);
	color: var(--ssns-grey);
	line-height: 1.65;
}

/* ============================================================
   CHILD THEME OVERRIDES — closer SSENSE structure
   ============================================================ */
:root {
	--ssns-banner-h: 44px;
	--ssns-header-total-h: calc(var(--ssns-header-h) + var(--ssns-banner-h));
}

.wd-page-wrapper {
	padding-top: var(--ssns-header-total-h);
}

.ssns-header {
	border-bottom: 0;
	box-shadow: none;
}

.ssns-header__announce {
	height: var(--ssns-banner-h);
	padding: 0;
	background: #e8e8e8;
	color: var(--ssns-black);
}

.ssns-header__announce .ssns-header__row {
	display: flex;
	align-items: center;
	justify-content: center;
	height: 100%;
}

.ssns-header__announce p {
	font-size: var(--ssns-size-xs);
	line-height: 1;
}

.ssns-header__bar {
	border-bottom: 1px solid var(--ssns-border);
}

.ssns-header__logo-text {
	font-size: 20px;
	font-weight: 700;
	letter-spacing: 0.18em;
}

.ssns-link-button {
	appearance: none;
	border: 0;
	background: transparent;
	padding: 0;
	margin: 0;
	font: inherit;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	line-height: 1;
	letter-spacing: 0.02em;
	text-transform: uppercase;
	color: var(--ssns-black);
	cursor: pointer;
}

.ssns-link-button:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ssns-popover {
	position: relative;
}

.ssns-popover details {
	position: relative;
}

.ssns-popover summary {
	list-style: none;
	cursor: pointer;
	font-size: var(--ssns-size-xs);
	font-weight: 500;
	letter-spacing: 0.02em;
	text-transform: uppercase;
}

.ssns-popover summary::-webkit-details-marker {
	display: none;
}

.ssns-popover__panel {
	position: absolute;
	top: calc(100% + 10px);
	left: 50%;
	transform: translateX(-50%);
	min-width: 220px;
	padding: 16px 18px;
	background: var(--ssns-white);
	border: 1px solid #888;
	box-shadow: 0 8px 24px rgba(0,0,0,0.08);
	z-index: 20;
}

.ssns-popover__panel--wide {
	min-width: 300px;
}

.ssns-popover__list {
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssns-popover__list li + li {
	margin-top: 10px;
}

.ssns-popover__list a,
.ssns-popover__list span {
	font-size: var(--ssns-size-xs);
	color: var(--ssns-black);
	text-decoration: none;
}

.ssns-popover__list a:hover {
	text-decoration: underline;
}

/* burger styles live only inside the mobile media query below */


.ssns-footer {
	background: var(--ssns-white);
	color: var(--ssns-black);
	border-top: 1px solid var(--ssns-border);
	font-size: var(--ssns-size-xs);
}

.ssns-footer__top {
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 32px;
	padding: 22px 0 18px;
}

.ssns-footer__nav,
.ssns-footer__bottom {
	flex: 1 1 auto;
}

.ssns-footer__nav-list,
.ssns-footer__social,
.ssns-footer__legal {
	display: flex;
	flex-wrap: wrap;
	gap: 16px 20px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ssns-footer__nav-list a,
.ssns-footer__social a,
.ssns-footer__legal a,
.ssns-footer summary {
	font-size: var(--ssns-size-xs);
	font-weight: 400;
	color: var(--ssns-black);
	text-decoration: none;
	text-transform: none;
	letter-spacing: 0;
}

.ssns-footer__nav-list a:hover,
.ssns-footer__social a:hover,
.ssns-footer__legal a:hover,
.ssns-footer summary:hover {
	text-decoration: underline;
	text-underline-offset: 2px;
}

.ssns-footer__social {
	justify-content: flex-end;
}

.ssns-footer__bottom {
	padding: 0 0 22px;
}

.ssns-footer__signup-form {
	display: grid;
	gap: 12px;
}

.ssns-footer__signup-form p {
	font-size: var(--ssns-size-xs);
	line-height: 1.5;
}

.ssns-footer__signup-form input[type="email"] {
	height: 35px;
	border: 1px solid #888;
	padding: 0 10px;
	background: var(--ssns-white);
	color: var(--ssns-black);
}

.ssns-footer__signup-options {
	display: flex;
	gap: 16px;
}

.ssns-footer__signup-options label {
	display: flex;
	align-items: center;
	gap: 6px;
	font-size: var(--ssns-size-xs);
}

.ssns-footer__signup-form button {
	height: 35px;
	border: 1px solid var(--ssns-black);
	background: var(--ssns-white);
	color: var(--ssns-black);
	font-size: var(--ssns-size-xs);
	text-transform: uppercase;
	letter-spacing: 0.04em;
}

.ssns-homepage {
	background: var(--ssns-white);
}

.ed-HomePage {
	margin: 0;
	padding: 0;
	overflow: hidden;
}

.ed-HomePageContainer-item {
	margin-bottom: 40px;
}

.ed-HomePageContainer-item:first-child {
	margin-top: 20px;
}

.ed-FiftyFifty,
.ed-TileLayout {
	padding: 0 55px;
}

.ed-ThreeThirds {
	padding: 0 30px;
}

.ed-FlexGrid {
	display: grid;
	gap: 20px;
}

.ed-FlexGrid--gutterHomepageFiftyFifty {
	grid-template-columns: repeat(2, minmax(0, 1fr));
}

.ed-FlexGrid--gutterHomepageThreeThirds {
	grid-template-columns: repeat(3, minmax(0, 1fr));
}

.ed-ArticleTile {
	display: block;
	color: var(--ssns-black);
	text-decoration: none;
}

.ed-ArticleTile:hover .ed-ArticleTileText-headline span,
.ed-Row-tile:hover .ed-RowThumbnail-headline,
.ed-Dense-large-article-tile:hover .headline,
.ed-Dense-medium-article-tile:hover .headline,
.ed-Dense-small-article-tile:hover .headline {
	text-decoration: underline;
	text-underline-offset: 3px;
}

.ed-ArticleTile-image {
	margin-bottom: 10px;
}

.ed-LoadImage {
	position: relative;
	overflow: hidden;
	background: #f4f4f4;
}

.ed-LoadImage-image {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
	display: block;
}

.ed-ArticleTileText {
	display: flex;
	flex-direction: column;
}

.ed-ArticleTileText-headline {
	margin: 0;
	font-size: 28px;
	line-height: 1.18;
	font-weight: 300;
	text-transform: uppercase;
	letter-spacing: -0.02em;
}

.ed-ArticleTileText-label,
.ed-RowThumbnail-category,
.category,
.category-date,
.ed-ArticleTileText-categoryDate,
.ed-Row-ctaLink,
.ed-ButtonCTA-label {
	font-size: var(--ssns-size-xs);
	line-height: 1.4;
}

.ed-ArticleTileText-label {
	display: block;
	margin-bottom: 6px;
	font-style: normal;
	text-transform: none;
}

.ed-ArticleTileText-categoryDate {
	margin-top: 12px;
	color: var(--ssns-grey);
}

.ed-ArticleTileText-subHeadline {
	margin-top: 6px;
	font-size: 18px;
	line-height: 1.45;
	max-width: 36ch;
}

.ed-ArticleTileText--threeThirds .ed-ArticleTileText-headline {
	font-size: 20px;
	line-height: 1.25;
}

.ed-ArticleTileText--threeThirds .ed-ArticleTileText-subHeadline {
	font-size: 15px;
	line-height: 1.45;
}

.ed-ArticleTileText-cta {
	margin-top: 14px;
}

.ed-ButtonCTA {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 140px;
	height: 36px;
	padding: 0 18px;
	border: 1px solid #979797;
	color: var(--ssns-black);
	text-transform: uppercase;
	text-decoration: none;
	background: var(--ssns-white);
}

.ed-ButtonCTA--fixedWidth {
	min-width: 176px;
}

.ed-Row {
	padding: 0 20px;
}

.ed-Row-track {
	display: grid;
	grid-template-columns: repeat(5, minmax(240px, 1fr));
	gap: 20px;
	overflow-x: auto;
	padding-bottom: 8px;
}

.ed-Row-tile {
	display: flex;
	flex-direction: row;
	min-height: 172px;
	padding: 10px 0;
	border-top: 1px solid #979797;
	border-bottom: 1px solid #979797;
	color: var(--ssns-black);
	text-decoration: none;
}

.ed-Row-titleCTA {
	flex-direction: column;
	justify-content: space-between;
}

.ed-Row-title {
	margin: 0;
	font-size: 11px;
	line-height: 1.3;
	font-weight: 500;
	text-transform: uppercase;
}

.ed-RowThumbnail {
	display: flex;
	gap: 12px;
	width: 100%;
}

.ed-RowThumbnail-imageContainer {
	flex: 0 0 34%;
}

.ed-RowThumbnail-textContainer {
	position: relative;
	flex: 1 1 auto;
}

.ed-RowThumbnail-headline {
	margin: 0;
	font-size: 13px;
	line-height: 1.35;
	text-transform: uppercase;
}

.ed-RowThumbnail-category {
	position: absolute;
	left: 0;
	bottom: 0;
}

.ed-Row-cta {
	display: none;
	margin-top: 16px;
}

.ed-Dense {
	padding: 0 40px;
}

.ed-Dense-grid {
	display: grid;
	grid-template-columns: minmax(0, 3fr) minmax(0, 2fr) minmax(0, 1.3fr);
	gap: 20px;
}

.ed-Dense-articles--large {
	display: grid;
	gap: 24px;
}

.ed-Dense-large-article-tile,
.ed-Dense-medium-article-tile,
.ed-Dense-small-article-tile {
	display: flex;
	color: var(--ssns-black);
	text-decoration: none;
}

.ed-Dense-large-article-tile {
	gap: 16px;
}

.ed-Dense-large-article-tile .tile-image {
	flex: 0 0 45%;
}

.ed-Dense-large-article-tile .tile-info {
	flex: 1 1 auto;
}

.ed-Dense-large-article-tile .headline {
	margin: 0 0 12px;
	font-size: 28px;
	line-height: 1.18;
	font-weight: 300;
	text-transform: uppercase;
}

.ed-Dense-large-article-tile .abstract,
.ed-Dense-medium-article-tile .abstract {
	margin: 10px 0 0;
	font-size: 18px;
	line-height: 1.45;
}

.ed-Dense-medium-article-tile {
	flex-direction: column;
	gap: 12px;
}

.ed-Dense-medium-article-tile .headline {
	margin: 0;
	font-size: 22px;
	line-height: 1.2;
	font-weight: 300;
	text-transform: uppercase;
}

.ed-Dense-articles--small {
	display: grid;
	gap: 14px;
}

.ed-Dense-small-article-tile {
	gap: 12px;
	align-items: flex-start;
}

.ed-Dense-small-article-tile .tile-image {
	flex: 0 0 34%;
}

.ed-Dense-small-article-tile .headline {
	margin: 0 0 6px;
	font-size: 13px;
	line-height: 1.35;
	font-weight: 500;
	text-transform: uppercase;
}

.ed-Dense-small-article-tile .category {
	display: block;
}

@media (max-width: 1200px) {
	.ssns-header__row,
	.ssns-footer__row,
	.ed-FiftyFifty,
	.ed-TileLayout {
		padding-left: 31px;
		padding-right: 31px;
	}

	.ed-ThreeThirds,
	.ed-Dense {
		padding-left: 24px;
		padding-right: 24px;
	}

	.ed-Dense-grid {
		grid-template-columns: 1fr 1fr;
	}

	.ed-Dense-articles--small {
		grid-column: 1 / -1;
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 991px) {
	/* Keep the mobile offset in sync with the actual fixed header height. */
	.wd-page-wrapper {
		padding-top: var(--ssns-header-total-h);
	}

	/* Editorial content */
	.ed-FlexGrid--gutterHomepageFiftyFifty,
	.ed-FlexGrid--gutterHomepageThreeThirds,
	.ed-Dense-grid {
		grid-template-columns: 1fr;
	}
	.ed-Dense-articles--small {
		grid-template-columns: 1fr;
	}
	.ed-Row-cta {
		display: flex;
		justify-content: center;
	}
}

@media (max-width: 767px) {
	/* Consistent 23px gutters on mobile */
	.ssns-header__row,
	.ssns-footer__row,
	.ed-FiftyFifty,
	.ed-ThreeThirds,
	.ed-TileLayout,
	.ed-Dense {
		padding-left: 23px;
		padding-right: 23px;
	}

	/* Popover anchor resets on small screens */
	.ssns-popover__panel,
	.ssns-popover__panel--wide {
		left: 0;
		right: auto;
		transform: none;
		min-width: 260px;
	}

	/* Editorial tiles */
	.ed-HomePageContainer-item {
		margin-bottom: 28px;
	}
	.ed-ArticleTileText-headline,
	.ed-Dense-large-article-tile .headline {
		font-size: 18px;
		line-height: 1.2;
	}
	.ed-ArticleTileText-subHeadline,
	.ed-Dense-large-article-tile .abstract,
	.ed-Dense-medium-article-tile .abstract {
		font-size: 14px;
		line-height: 1.45;
	}
	.ed-Dense-large-article-tile,
	.ed-Dense-small-article-tile {
		flex-direction: column;
	}
	.ed-Row {
		padding-left: 23px;
		padding-right: 23px;
	}
	.ed-Row-track {
		grid-template-columns: 1fr;
		overflow: visible;
		padding-bottom: 0;
	}
	.ed-Row-tile {
		min-height: 0;
	}

	/* Search overlay starts from top on mobile */
	.ssns-header__search-drawer {
		justify-content: flex-start;
		padding-top: 70px;
	}
}
