/* =========================================================================
   URBN — streetwear WooCommerce theme
   ========================================================================= */

:root {
	--black: #0a0a0a;
	--near-black: #141414;
	--white: #ffffff;
	--grey-50: #f5f5f5;
	--grey-100: #ededed;
	--grey-200: #e2e2e2;
	--grey-400: #9a9a9a;
	--grey-600: #5a5a5a;
	--grey-800: #2a2a2a;
	--container: 1620px;
	--gutter: 24px;
	--font-display: 'Rubik', 'Helvetica Neue', Arial, sans-serif;
	--font-body: 'Inter', -apple-system, 'Segoe UI', Roboto, Helvetica, Arial, sans-serif;
}

*, *::before, *::after { box-sizing: border-box; }

html { -webkit-text-size-adjust: 100%; }

body {
	margin: 0;
	font-family: var(--font-body);
	color: var(--black);
	background: var(--white);
	line-height: 1.55;
	font-size: 15px;
	-webkit-font-smoothing: antialiased;
	/* Sticky footer: fill the viewport so the footer sits at the bottom
	   even when page content is short (e.g. empty cart). */
	min-height: 100vh;
	display: flex;
	flex-direction: column;
}
#page.site { flex: 1 0 auto; display: flex; flex-direction: column; }
/* Main content grows so short pages push the feature strip / footer to the bottom
   (no gap below the trust icons on an empty cart). */
#page.site > main,
#page.site > .site-main,
#page.site > .woocommerce-page-wrap { flex: 1 0 auto; }
.site-footer { flex-shrink: 0; }

img { max-width: 100%; height: auto; display: block; }

a { color: inherit; text-decoration: none; }

button { font-family: inherit; cursor: pointer; }

h1, h2, h3, h4 { margin: 0; }

/* Display font (Rubik) is variable — force weight 700 everywhere it's used. */
.site-logo,
.section-title,
.hero-title,
.category-card-title,
.brand-logo,
.wc-page-title,
.cart_totals h2,
.cross-sells h2,
.woocommerce-checkout h3,
#order_review_heading,
.related.products > h2,
.up-sells.products > h2,
.single-product div.product .product_title,
.account-hero-title,
.dash-stat-num,
.woocommerce-Address-title h2,
.woocommerce-Address-title h3,
.woocommerce-products-header__title,
.woocommerce h1.page-title { font-weight: 700; }

.urbn-container {
	width: 100%;
	max-width: var(--container);
	margin: 0 auto;
	padding: 0 var(--gutter);
}

.screen-reader-text {
	position: absolute !important;
	width: 1px; height: 1px;
	overflow: hidden; clip: rect(0 0 0 0);
	white-space: nowrap; border: 0;
}
.skip-link { position: absolute; left: -9999px; }
.skip-link:focus {
	left: 8px; top: 8px; z-index: 1000;
	background: #fff; color: #000; padding: 8px 14px;
}

/* ---------- Buttons ---------- */
.btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 8px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
	padding: 15px 34px;
	border: 2px solid transparent;
	transition: background .18s, color .18s, border-color .18s;
	white-space: nowrap;
}
.btn-sm { padding: 10px 22px; font-size: 12px; }
.btn-solid { background: var(--white); color: var(--black); }
.btn-solid:hover { background: var(--black); color: var(--white); }
.btn-outline { background: transparent; border-color: var(--black); color: var(--black); }
.btn-outline:hover { background: var(--black); color: var(--white); }
.btn-outline-light { border-color: var(--white); color: var(--white); }
.btn-outline-light:hover { background: var(--white); color: var(--black); }

/* ---------- Announcement bar ---------- */
.announcement-bar {
	background: var(--black);
	color: var(--white);
	text-align: center;
	font-size: 12px;
	letter-spacing: .16em;
	text-transform: uppercase;
	font-weight: 600;
	padding: 9px 16px;
}

/* ---------- Header ---------- */
.site-header {
	background: var(--black);
	color: var(--white);
	position: sticky;
	top: 0;
	z-index: 200;
}
.header-inner {
	display: flex;
	align-items: center;
	gap: 24px;
	height: 74px;
}
.site-branding { flex: 0 0 auto; }
.site-logo {
	font-family: var(--font-display);
	font-size: 30px;
	letter-spacing: .04em;
	color: var(--white);
	line-height: 1;
	display: inline-block;
}
.custom-logo-link { display: inline-block; }
.custom-logo { max-height: 40px; width: auto; }

.main-nav { flex: 1 1 auto; display: flex; justify-content: center; }
.nav-menu {
	display: flex;
	align-items: center;
	gap: 34px;
	list-style: none;
	margin: 0; padding: 0;
}
.nav-menu li { position: relative; }
.nav-menu > li > a {
	display: inline-flex;
	align-items: center;
	gap: 6px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .12em;
	text-transform: uppercase;
	color: var(--white);
	padding: 8px 0;
	position: relative;
}
.nav-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0; bottom: 0;
	width: 0; height: 2px;
	background: var(--white);
	transition: width .2s;
}
.nav-menu > li:hover > a::after,
.nav-menu > li.current-menu-item > a::after { width: 100%; }

/* dropdown */
.nav-menu .sub-menu {
	position: absolute;
	top: 100%; left: 0;
	min-width: 210px;
	background: var(--white);
	color: var(--black);
	list-style: none;
	margin: 0; padding: 8px 0;
	box-shadow: 0 12px 30px rgba(0,0,0,.18);
	opacity: 0; visibility: hidden;
	transform: translateY(6px);
	transition: .18s;
	z-index: 10;
}
.nav-menu li:hover > .sub-menu { opacity: 1; visibility: visible; transform: translateY(0); }
.nav-menu .sub-menu a {
	display: block;
	padding: 9px 18px;
	font-size: 13px;
	letter-spacing: .06em;
	text-transform: uppercase;
	color: var(--black);
}
.nav-menu .sub-menu a:hover { background: var(--grey-50); }
.menu-item-has-children > a::before {
	/* small caret via unicode kept subtle */
}

.header-actions { flex: 0 0 auto; display: flex; align-items: center; gap: 16px; }
.icon-btn {
	background: transparent;
	border: 0;
	color: var(--white);
	width: 24px; height: 24px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	position: relative;
	padding: 0;
}
.icon-btn svg { width: 22px; height: 22px; }
.urbn-cart-count {
	position: absolute;
	top: -8px; right: -10px;
	background: var(--white);
	color: var(--black);
	font-size: 10px;
	font-weight: 700;
	min-width: 16px; height: 16px;
	border-radius: 999px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 0 4px;
	line-height: 1;
}

.menu-toggle {
	display: none;
	flex-direction: column;
	gap: 5px;
	background: transparent;
	border: 0;
	padding: 6px 0;
	width: 28px;
}
.menu-toggle span { display: block; height: 2px; background: var(--white); transition: .2s; }

.header-search-panel {
	background: var(--near-black);
	border-top: 1px solid rgba(255,255,255,.1);
	padding: 16px 0;
}
.header-search-panel form { display: flex; gap: 10px; max-width: 640px; margin: 0 auto; }
.header-search-panel input[type="search"],
.header-search-panel input[type="text"] {
	flex: 1;
	background: transparent;
	border: 1px solid rgba(255,255,255,.3);
	color: #fff;
	padding: 12px 16px;
	font-size: 14px;
}
.header-search-panel input::placeholder { color: rgba(255,255,255,.5); }
.header-search-panel button {
	background: #fff; color: #000;
	border: 0; padding: 0 22px;
	text-transform: uppercase; font-weight: 700; letter-spacing: .1em; font-size: 12px;
}

/* ---------- Sections shared ---------- */
.section-light { background: var(--white); padding: 70px 0; }
.section-dark { background: var(--black); color: var(--white); padding: 70px 0; }
.section-head {
	display: flex;
	align-items: center;
	justify-content: space-between;
	margin-bottom: 34px;
}
.section-title {
	font-family: var(--font-display);
	font-size: clamp(28px, 4vw, 42px);
	letter-spacing: .01em;
	text-transform: uppercase;
	line-height: 1;
}
.section-title-light { color: var(--white); margin-bottom: 34px; }
.section-link {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	font-weight: 700;
	font-size: 13px;
	letter-spacing: .12em;
	text-transform: uppercase;
}
.section-link svg { width: 18px; height: 18px; }
.section-link:hover { opacity: .6; }

/* ---------- Hero ---------- */
.hero {
	position: relative;
	background: var(--black);
	color: var(--white);
	overflow: hidden;
}
.hero-slides { position: relative; }
.hero-slide {
	display: none;
	min-height: 560px;
	background-size: cover;
	background-position: center right;
	background-color: #1a1a1a;
	align-items: center;
	position: relative;
}
.hero-slide::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.82) 0%, rgba(0,0,0,.5) 45%, rgba(0,0,0,.05) 100%);
}
.hero-slide.is-active { display: flex; }
.hero-content { position: relative; z-index: 2; padding: 60px var(--gutter); }
.hero-title {
	font-family: var(--font-display);
	font-size: clamp(42px, 7vw, 84px);
	line-height: .95;
	text-transform: uppercase;
	max-width: 12ch;
}
.hero-subtitle {
	font-size: 18px;
	margin: 20px 0 32px;
	color: rgba(255,255,255,.85);
}
.hero-buttons { display: flex; gap: 16px; flex-wrap: wrap; }
.hero-dots {
	position: absolute;
	left: 50%; transform: translateX(-50%);
	bottom: 34px;
	width: 100%;
	max-width: var(--container);
	padding: 0 var(--gutter);
	display: flex;
	align-items: center;
	gap: 18px;
	z-index: 3;
}
.hero-dot {
	background: transparent; border: 0;
	color: rgba(255,255,255,.5);
	font-size: 13px; font-weight: 700; letter-spacing: .1em;
	display: flex; align-items: center; gap: 10px;
	padding: 0;
}
.hero-dot::after { content: ""; width: 0; height: 2px; background: #fff; transition: width .25s; }
.hero-dot.is-active { color: #fff; }
.hero-dot.is-active::after { width: 46px; }

/* ---------- Product grid / cards ---------- */
ul.products {
	list-style: none;
	margin: 0; padding: 0;
	display: grid;
	grid-template-columns: repeat(5, 1fr);
	gap: 28px 22px;
}
.product-grid { margin: 0; }

/* Neutralize WooCommerce's default float/percentage-width on loop items so
   they behave as CSS grid cells (otherwise images shrink to ~22% width). */
.woocommerce ul.products li.product,
ul.products li.product,
ul.products li.urbn-product-card {
	width: auto !important;
	float: none !important;
	margin: 0 !important;
	padding: 0 !important;
	clear: none !important;
}
/* WooCommerce's clearfix ::before/::after become stray grid items in our grid
   (they were leaving an empty first cell). Remove them. */
.woocommerce ul.products::before,
.woocommerce ul.products::after,
.woocommerce-page ul.products::before,
.woocommerce-page ul.products::after,
ul.products::before,
ul.products::after { content: none !important; display: none !important; }
.urbn-product-card { position: relative; text-align: left; }
.urbn-card-link { display: block; }
.urbn-card-media {
	position: relative;
	background: var(--grey-50);
	aspect-ratio: 1 / 1;
	overflow: hidden;
	margin-bottom: 14px;
}
.urbn-card-media img {
	width: 100%; height: 100%;
	object-fit: cover;
	transition: transform .5s ease;
}
.urbn-product-card:hover .urbn-card-media img { transform: scale(1.05); }
.urbn-card-media .onsale {
	position: absolute;
	top: 12px; left: 12px;
	background: var(--black);
	color: #fff;
	font-size: 10px; font-weight: 700; letter-spacing: .12em;
	padding: 5px 10px;
	z-index: 2;
	text-transform: uppercase;
}
.urbn-card-title {
	font-size: 13px;
	font-weight: 700;
	letter-spacing: .08em;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.urbn-card-price { font-size: 14px; color: var(--grey-600); font-weight: 500; }
.urbn-card-price del { color: var(--grey-400); margin-right: 6px; }
.urbn-card-price ins { text-decoration: none; color: var(--black); }
.urbn-card-actions { margin-top: 12px; opacity: 0; transform: translateY(6px); transition: .2s; }
.urbn-product-card:hover .urbn-card-actions { opacity: 1; transform: translateY(0); }
.urbn-card-actions .button {
	display: inline-block;
	width: 100%;
	text-align: center;
	background: var(--black);
	color: #fff;
	border: 0;
	padding: 11px 14px;
	font-size: 11px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
}
.urbn-card-actions .button:hover { background: var(--grey-800); }
.urbn-card-actions .added_to_cart { display: none; }

/* dark section product text */
.section-dark .urbn-card-title { color: #fff; }
.section-dark .urbn-card-price { color: rgba(255,255,255,.7); }

/* ---------- Shop by category ---------- */
.category-grid {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 18px;
}
.category-card {
	position: relative;
	aspect-ratio: 3 / 3.4;
	background-size: cover;
	background-position: center;
	background-color: #222;
	overflow: hidden;
	display: flex;
	align-items: flex-end;
}
.category-card::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(180deg, rgba(0,0,0,.05) 40%, rgba(0,0,0,.75) 100%);
	transition: background .3s;
}
.category-card:hover::before { background: linear-gradient(180deg, rgba(0,0,0,.2) 20%, rgba(0,0,0,.8) 100%); }
.category-card-overlay { position: relative; z-index: 2; padding: 26px; }
.category-card-title {
	font-family: var(--font-display);
	font-size: 26px;
	color: #fff;
	text-transform: uppercase;
	margin-bottom: 6px;
}
.category-card-cta {
	display: inline-block;
	font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	color: #fff;
	border-bottom: 2px solid #fff;
	padding-bottom: 3px;
}

/* ---------- Featured brands ---------- */
.featured-brands .section-title { text-align: center; margin-bottom: 40px; }
.brand-row {
	display: flex;
	align-items: center;
	justify-content: space-between;
	flex-wrap: wrap;
	gap: 30px 40px;
}
.brand-logo {
	font-family: var(--font-display);
	font-size: 26px;
	letter-spacing: .04em;
	color: #111;
	opacity: .78;
	filter: grayscale(1);
	transition: opacity .2s;
}
.brand-logo:hover { opacity: 1; }

/* ---------- Feature strip ---------- */
.feature-strip { background: var(--black); color: #fff; padding: 30px 0; }
.feature-strip-inner {
	display: grid;
	grid-template-columns: repeat(4, 1fr);
	gap: 24px;
}
.feature-item { display: flex; align-items: center; gap: 14px; justify-content: center; }
.feature-icon svg { width: 30px; height: 30px; color: #fff; }
.feature-text strong {
	display: block;
	font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
}
.feature-text span { font-size: 12px; color: rgba(255,255,255,.6); }

/* ---------- Footer ---------- */
.site-footer { background: var(--black); color: #fff; padding: 60px 0 40px; }
.footer-inner {
	display: grid;
	grid-template-columns: 1.4fr 1fr 1fr 1fr 1fr;
	gap: 30px;
}
.footer-brand .site-logo { font-size: 34px; margin-bottom: 16px; }
.footer-brand .custom-logo { margin-bottom: 16px; }
.footer-copyright { font-size: 12px; color: rgba(255,255,255,.5); }
.footer-heading {
	font-size: 12px; font-weight: 700; letter-spacing: .14em; text-transform: uppercase;
	margin-bottom: 18px;
}
.footer-menu { list-style: none; margin: 0; padding: 0; }
.footer-menu li { margin-bottom: 10px; }
.footer-menu a { font-size: 13px; color: rgba(255,255,255,.65); }
.footer-menu a:hover { color: #fff; }
.social-icons { display: flex; gap: 16px; }
.social-icons a { color: rgba(255,255,255,.7); }
.social-icons svg { width: 22px; height: 22px; }
.social-icons a:hover { color: #fff; }

/* =========================================================================
   WooCommerce — archive / shop
   ========================================================================= */
.woocommerce-page-wrap { padding: 46px var(--gutter) 70px; }
.woocommerce-products-header__title,
.woocommerce h1.page-title,
.page-header .section-title {
	font-family: var(--font-display);
	text-transform: uppercase;
}
.woocommerce-products-header {
	margin-bottom: 30px;
}
.woocommerce-result-count { color: var(--grey-600); font-size: 13px; }
.woocommerce-ordering select {
	padding: 12px 42px 12px 16px; border: 1px solid var(--grey-200);
	text-transform: uppercase; font-size: 12px; letter-spacing: .06em;
	-webkit-appearance: none; -moz-appearance: none; appearance: none;
	background-color: #fff;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 14px center;
	background-size: 14px;
	border-radius: 0;
}
.woocommerce nav.woocommerce-pagination ul { border: 0; margin-top: 40px; }
.woocommerce nav.woocommerce-pagination ul li { border: 0; }
.woocommerce nav.woocommerce-pagination ul li a,
.woocommerce nav.woocommerce-pagination ul li span {
	border: 1px solid var(--grey-200);
	padding: 10px 14px;
	font-weight: 600;
}
.woocommerce nav.woocommerce-pagination ul li span.current {
	background: var(--black); color: #fff; border-color: var(--black);
}

/* =========================================================================
   WooCommerce — single product
   ========================================================================= */
.woocommerce-breadcrumb {
	font-size: 12px; letter-spacing: .1em; text-transform: uppercase;
	color: var(--grey-400);
	margin-bottom: 26px;
}
.woocommerce-breadcrumb a { color: var(--grey-600); }
.woocommerce-breadcrumb a:hover { color: var(--black); }
.single-product div.product {
	display: grid;
	grid-template-columns: 1.4fr 1fr;
	column-gap: 56px;
	align-items: start;
}
/* Gallery fills the left and spans down beside the summary + tabs stack. */
.single-product div.product .woocommerce-product-gallery {
	grid-column: 1; grid-row: 1 / span 2;
	align-self: start; min-width: 0;
}
.single-product div.product .woocommerce-tabs { grid-column: 2; grid-row: 2; min-width: 0; margin-top: 40px; }
.single-product div.product .urbn-reviews-section { grid-column: 1 / 3; min-width: 0; }
.single-product div.product .related.products,
.single-product div.product .up-sells.products { grid-column: 1 / 3; }
.single-product div.product .woocommerce-product-gallery { width: auto !important; float: none; margin: 0; }
.single-product div.product .summary,
.single-product div.product .entry-summary {
	grid-column: 2; grid-row: 1;
	width: auto !important; float: none !important; margin: 0 !important; min-width: 0;
}
.single-product div.product .woocommerce-product-gallery__image { background: var(--grey-50); }
.single-product div.product .flex-control-thumbs {
	display: flex; flex-wrap: wrap; gap: 10px; margin: 12px 0 0; padding: 0;
}
.single-product div.product .flex-control-thumbs li { width: 76px; }

.single-product div.product .product_title {
	font-family: var(--font-display);
	font-size: clamp(28px, 3.4vw, 40px);
	text-transform: uppercase;
	line-height: 1;
	margin: 0 0 14px;
}
.single-product .summary .price {
	font-size: 24px !important;
	font-weight: 700;
	color: var(--black) !important;
	margin-bottom: 6px;
}
.single-product .summary .price del { color: var(--grey-400); font-weight: 400; }
.single-product .summary .woocommerce-product-details__short-description { color: var(--grey-600); margin: 18px 0; }
.single-product .summary .woocommerce-product-details__short-description ul { padding-left: 18px; }

.single-product .summary .cart { margin-top: 8px; display: block; overflow: hidden; }
/* Match WooCommerce's own specificity (.woocommerce div.product form.cart .quantity)
   so our unfloat + bottom margin actually win. */
.woocommerce div.product form.cart .quantity {
	float: none !important;
	display: block !important;
	width: max-content;
	margin: 0 0 22px !important;
}
.single-product .summary .single_add_to_cart_button,
.single-product .summary .urbn-buy-now {
	width: 100%;
	display: block;
	text-align: center;
	padding: 16px 20px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	border-radius: 0 !important;
	margin-bottom: 12px;
}
.single-product .summary .single_add_to_cart_button {
	background: var(--black) !important; color: #fff !important; border: 2px solid var(--black) !important;
}
.single-product .summary .single_add_to_cart_button:hover { background: var(--grey-800) !important; }
.single-product .summary .urbn-buy-now {
	background: #fff !important; color: var(--black) !important; border: 2px solid var(--black) !important;
}
.single-product .summary .urbn-buy-now:hover { background: var(--black) !important; color: #fff !important; }

/* variation swatches (color / size) */
.single-product table.variations { border: 0; margin: 18px 0; }
.single-product table.variations td, .single-product table.variations th { padding: 8px 0; border: 0; vertical-align: middle; }
.single-product table.variations label {
	font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.single-product table.variations select {
	padding: 12px 14px; border: 1px solid var(--grey-200); min-width: 200px;
}

/* trust row */
.product-trust {
	display: flex;
	gap: 18px 22px;
	margin-top: 26px;
	flex-wrap: wrap;
	justify-content: space-between;
}
.product-trust-item { display: flex; align-items: center; gap: 10px; }
.product-trust-icon svg { width: 26px; height: 26px; color: var(--black); }
.product-trust-text strong { display: block; font-size: 11px; letter-spacing: .08em; text-transform: uppercase; }
.product-trust-text span { font-size: 11px; color: var(--grey-600); }

/* tabs + related */
.woocommerce-tabs { margin-top: 60px; }
/* NOTE: full ".woocommerce div.product" prefix to beat WooCommerce's default tab CSS. */
.woocommerce div.product .woocommerce-tabs ul.tabs {
	display: flex; flex-wrap: wrap; gap: 10px; list-style: none;
	margin: 0 0 36px; padding: 0; border: 0; overflow: visible;
}
.woocommerce div.product .woocommerce-tabs ul.tabs::before,
.woocommerce div.product .woocommerce-tabs ul.tabs::after { display: none; content: none; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li {
	display: inline-block; margin: 0; padding: 0; border: 1px solid var(--grey-200);
	background: #fff; border-radius: 0;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li::before,
.woocommerce div.product .woocommerce-tabs ul.tabs li::after { display: none; content: none; border: 0; }
.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	display: block; padding: 13px 24px; margin: 0;
	font-size: 12px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	color: var(--grey-600); transition: color .15s;
}
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover { background: #fff; border-color: var(--black); }
.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a { color: var(--black); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active { background: var(--black); border-color: var(--black); }
.woocommerce div.product .woocommerce-tabs ul.tabs li.active a { color: #fff; }

.woocommerce div.product .woocommerce-tabs .panel {
	margin: 0; padding: 34px; border: 1px solid var(--grey-200); background: var(--grey-50);
	min-height: 240px; /* keeps the block from resizing when switching tabs */
}
.woocommerce div.product .woocommerce-tabs .panel h2 {
	font-family: var(--font-display); text-transform: uppercase; font-size: 24px; margin: 0 0 18px;
}
.woocommerce div.product .woocommerce-tabs .panel > p { color: var(--grey-600); max-width: 760px; }
.woocommerce div.product .woocommerce-tabs .panel > p + p { margin-top: 12px; }
.urbn-tab-list { list-style: none; margin: 0; padding: 0; max-width: 760px; }
.urbn-tab-list li {
	position: relative; padding: 12px 0 12px 26px;
	border-bottom: 1px solid var(--grey-200); color: var(--grey-800); font-size: 14px;
}
.urbn-tab-list li:last-child { border-bottom: 0; }
.urbn-tab-list li::before {
	content: ""; position: absolute; left: 4px; top: 50%; transform: translateY(-50%);
	width: 6px; height: 6px; background: var(--black); border-radius: 50%;
}

/* ---- Reviews ---- */
#reviews .woocommerce-Reviews-title,
#reviews h2 { font-family: var(--font-display); text-transform: uppercase; font-size: 24px; margin-bottom: 18px; }
#reviews .woocommerce-noreviews { color: var(--grey-600); margin-bottom: 24px; }
#reviews .commentlist { list-style: none; margin: 0 0 34px; padding: 0; }
#reviews .commentlist li.review { margin-bottom: 16px; }
#reviews .commentlist li .comment_container {
	display: block; border: 0; padding: 22px 24px; background: var(--grey-50);
}
#reviews .commentlist li img.avatar { display: none; }
#reviews .commentlist li .comment-text { margin: 0 !important; padding: 0 !important; border: 0 !important; }
#reviews .woocommerce-review__author { font-weight: 700; }
#reviews .woocommerce-review__dash { display: none; }
#reviews .woocommerce-review__published-date { color: var(--grey-400); font-size: 12px; margin-left: 8px; }
#reviews .comment-text p { margin: 8px 0 0; color: var(--grey-600); }

#review_form_wrapper { border-top: 1px solid var(--grey-100); padding-top: 26px; max-width: 640px; }
.comment-reply-title {
	display: block; font-weight: 700; text-transform: uppercase; letter-spacing: .06em;
	font-size: 14px; margin-bottom: 18px;
}
#respond .comment-form-rating > label,
#respond .comment-form-comment > label,
#respond .comment-form-author > label,
#respond .comment-form-email > label {
	display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em;
	text-transform: uppercase; margin-bottom: 8px;
}
#respond .comment-form-rating { margin-bottom: 18px; }
#respond p.stars { font-size: 22px; margin: 0; }
#respond p.stars a { color: var(--black); }
#respond p.stars a::before { color: var(--black); }
#respond textarea#comment,
#respond input[type="text"],
#respond input[type="email"] {
	width: 100%; box-sizing: border-box; border: 1px solid var(--grey-200);
	border-radius: 0; padding: 14px; font-size: 14px;
}
#respond textarea#comment { min-height: 140px; resize: vertical; }
#respond textarea#comment:focus,
#respond input:focus { outline: none; border-color: var(--black); }
#respond .form-submit { margin-top: 8px; }
#respond .form-submit input#submit {
	background: var(--black); color: #fff; border: 0; border-radius: 0;
	padding: 16px 40px; font-size: 13px; font-weight: 700; letter-spacing: .12em;
	text-transform: uppercase; cursor: pointer; transition: background .18s;
}
#respond .form-submit input#submit:hover { background: var(--grey-800); }

/* Full-width reviews section (moved out of the tabs) */
.urbn-reviews-section { border-top: 1px solid var(--grey-200); margin-top: 60px; padding-top: 44px; }
.urbn-reviews-heading { font-family: var(--font-display); text-transform: uppercase; font-size: clamp(24px, 3vw, 34px); margin: 0 0 30px; }
.urbn-reviews-section #reviews { display: grid; grid-template-columns: 1fr 1fr; gap: 50px; align-items: start; }
.urbn-reviews-section #comments,
.urbn-reviews-section #review_form_wrapper { min-width: 0; }
.urbn-reviews-section #review_form_wrapper { border-top: 0; padding-top: 0; max-width: none; }
.urbn-reviews-section .woocommerce-Reviews-title { display: none; }
.urbn-reviews-section .commentlist { margin-bottom: 0; }
@media (max-width: 860px) {
	.urbn-reviews-section #reviews { grid-template-columns: 1fr; gap: 34px; }
}
.related.products, .up-sells.products {
	margin-top: 60px;
}
.related.products > h2, .up-sells.products > h2 {
	font-family: var(--font-display);
	font-size: clamp(24px, 3vw, 34px);
	text-transform: uppercase;
	margin-bottom: 28px;
}

/* cart / checkout basic polish */
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button {
	background: var(--black); color: #fff; border-radius: 0;
	text-transform: uppercase; letter-spacing: .08em; font-weight: 700;
	padding: 14px 24px;
}
.woocommerce a.button:hover, .woocommerce button.button:hover { background: var(--grey-800); color: #fff; }
.woocommerce a.button.alt, .woocommerce button.button.alt { background: var(--black); }
.woocommerce .cart-collaterals .cart_totals h2,
.woocommerce-checkout h3 { font-family: var(--font-display); text-transform: uppercase; }

/* contact form */
.urbn-contact-form { max-width: 720px; margin-top: 8px; }
.urbn-contact-form .urbn-field-row { display: grid; grid-template-columns: 1fr 1fr; gap: 18px; }
.urbn-contact-form .urbn-field { margin: 0 0 18px; }
.urbn-contact-form label { display: block; font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 8px; }
.urbn-contact-form label .req { color: #c0261e; }
.urbn-contact-form input[type="text"],
.urbn-contact-form input[type="email"],
.urbn-contact-form textarea {
	width: 100%; box-sizing: border-box; border: 1px solid var(--grey-200);
	border-radius: 0; padding: 14px; font-size: 14px; font-family: inherit; background: #fff;
}
.urbn-contact-form input:focus,
.urbn-contact-form textarea:focus { outline: none; border-color: var(--black); }
.urbn-contact-form textarea { resize: vertical; min-height: 150px; }
.urbn-contact-form .btn-solid { border: 0; cursor: pointer; margin-top: 4px; }
.urbn-contact-form .urbn-hp { position: absolute; left: -9999px; width: 1px; height: 1px; opacity: 0; }
.urbn-form-notice {
	border-left: 3px solid var(--black); background: var(--grey-50);
	padding: 14px 18px; margin: 0 0 22px; font-size: 14px; max-width: 720px;
}
.urbn-form-notice.is-success { border-left-color: #1c6b2f; }
.urbn-form-notice.is-error { border-left-color: #c0261e; }
@media (max-width: 560px) {
	.urbn-contact-form .urbn-field-row { grid-template-columns: 1fr; gap: 0; }
}

/* blog / pages */
.page-content { padding: 50px var(--gutter) 70px; max-width: var(--container); margin: 0 auto; }
.page-header { margin-bottom: 32px; }
.post-list { display: grid; grid-template-columns: repeat(3, 1fr); gap: 30px; }
.post-card .post-thumb { display: block; margin-bottom: 14px; }
.post-title { font-size: 20px; margin-bottom: 8px; }
.entry-content { max-width: 760px; }
.entry-content h2, .entry-content h3 { margin: 1.4em 0 .5em; }
.entry-content p { margin: 0 0 1.1em; }

/* =========================================================================
   Responsive
   ========================================================================= */
@media (max-width: 1100px) {
	.product-grid, ul.products { grid-template-columns: repeat(3, 1fr); }
	.footer-inner { grid-template-columns: 1fr 1fr 1fr; }
	.footer-brand { grid-column: 1 / -1; }
}

@media (max-width: 860px) {
	.menu-toggle { display: flex; }
	.main-nav {
		position: fixed;
		top: 0; left: 0; bottom: 0;
		width: 78%; max-width: 320px;
		background: var(--black);
		flex-direction: column;
		justify-content: flex-start;
		padding: 90px 30px 30px;
		transform: translateX(-100%);
		transition: transform .28s ease;
		z-index: 300;
		overflow-y: auto;
	}
	body.nav-open .main-nav { transform: translateX(0); }
	body.nav-open::after {
		content: ""; position: fixed; inset: 0; background: rgba(0,0,0,.5); z-index: 250;
	}
	.nav-menu { flex-direction: column; align-items: flex-start; gap: 4px; width: 100%; }
	.nav-menu > li { width: 100%; border-bottom: 1px solid rgba(255,255,255,.1); }
	.nav-menu > li > a { padding: 14px 0; width: 100%; }
	.nav-menu .sub-menu { position: static; opacity: 1; visibility: visible; transform: none; box-shadow: none; background: transparent; padding: 0 0 8px 14px; }
	.nav-menu .sub-menu a { color: rgba(255,255,255,.7); }
	.header-inner { justify-content: space-between; }
	.site-branding { flex: 1; text-align: center; }

	/* Single column: reset the desktop grid placements so everything stacks. */
	.single-product div.product { grid-template-columns: 1fr; column-gap: 0; row-gap: 30px; }
	.single-product div.product .woocommerce-product-gallery,
	.single-product div.product .summary,
	.single-product div.product .entry-summary,
	.single-product div.product .woocommerce-tabs,
	.single-product div.product .urbn-reviews-section,
	.single-product div.product .related.products,
	.single-product div.product .up-sells.products {
		grid-column: 1 !important;
		grid-row: auto !important;
		width: 100% !important;
	}
	.single-product div.product .summary,
	.single-product div.product .entry-summary { text-align: left; }
	.single-product div.product .woocommerce-product-gallery { max-width: none; margin: 0; }
	.woocommerce div.product form.cart .quantity { margin-left: auto !important; margin-right: auto !important; }
	.single-product .product-trust { justify-content: center; }
	.category-grid { grid-template-columns: repeat(2, 1fr); }
	.product-grid, ul.products { grid-template-columns: repeat(2, 1fr); }
	.feature-strip-inner { grid-template-columns: repeat(2, 1fr); }
	.post-list { grid-template-columns: 1fr 1fr; }
	.hero-slide { min-height: 460px; }
	.section-light, .section-dark { padding: 50px 0; }
}

@media (max-width: 520px) {
	.product-grid, ul.products { grid-template-columns: 1fr 1fr; gap: 18px 14px; }
	.category-grid { grid-template-columns: 1fr; }
	.feature-strip-inner { grid-template-columns: 1fr; }
	.footer-inner { grid-template-columns: 1fr 1fr; }
	.brand-row { justify-content: center; }
	.post-list { grid-template-columns: 1fr; }
	.hero-title { font-size: 44px; }
	.hero-dots { bottom: 18px; }
}

/* =========================================================================
   WooCommerce — Cart & Checkout (classic shortcode templates)
   ========================================================================= */
.wc-page-title {
	font-family: var(--font-display);
	font-size: clamp(30px, 4vw, 46px);
	text-transform: uppercase;
	line-height: 1;
	margin: 0 0 30px;
}

/* ---- WooCommerce notices ---- */
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	border-top: 0;
	border-left: 3px solid var(--black);
	background: var(--grey-50);
	color: var(--black);
	border-radius: 0;
	padding: 14px 18px;
	font-size: 14px;
}
/* Hide WooCommerce's notice icon (::before) and its clearfix (::after). In a
   flex notice the ::after becomes a stray 3rd item that shoved "Undo?" to the
   middle; removing both keeps text left and the action link hard right. */
.woocommerce-message::before,
.woocommerce-message::after,
.woocommerce-info::before,
.woocommerce-info::after,
.woocommerce-error::before,
.woocommerce-error::after { display: none !important; content: none !important; }
.woocommerce-message,
.woocommerce-info,
.woocommerce-error {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 16px;
}
.woocommerce-error { border-left-color: #c0261e; }

/* ---- Form fields (shared) ---- */
.woocommerce form .form-row label { font-size: 12px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; margin-bottom: 6px; }
.woocommerce form .form-row input.input-text,
.woocommerce form .form-row textarea,
.woocommerce .select2-container .select2-selection,
.woocommerce-page select,
.woocommerce input[type="text"],
.woocommerce input[type="email"],
.woocommerce input[type="tel"],
.woocommerce input[type="password"],
.woocommerce input[type="number"] {
	border: 1px solid var(--grey-200);
	border-radius: 0;
	padding: 13px 14px;
	font-size: 14px;
	background: #fff;
	color: var(--black);
	box-shadow: none;
}
.woocommerce form .form-row input.input-text:focus,
.woocommerce form .form-row textarea:focus,
.woocommerce input:focus { outline: none; border-color: var(--black); }

/* =========================================================================
   CART
   ========================================================================= */
/* Cart/checkout/account use the full container width (like the navbar),
   not the narrow prose max-width applied to regular pages. */
.woocommerce-cart .entry-content,
.woocommerce-checkout .entry-content,
.woocommerce-account .entry-content { max-width: none; }

.woocommerce-cart .woocommerce-page-wrap { padding-top: 40px; }
.woocommerce-cart-form table.shop_table {
	border: 0;
	border-collapse: collapse;
	width: 100%;
}
.woocommerce table.shop_table th {
	text-transform: uppercase;
	letter-spacing: .08em;
	font-size: 12px;
	font-weight: 700;
	border-bottom: 2px solid var(--black);
	padding: 14px 12px;
	background: transparent;
}
.woocommerce table.shop_table td {
	border-top: 0;
	border-bottom: 1px solid var(--grey-100);
	padding: 18px 12px;
	vertical-align: middle;
}
.woocommerce-cart-form .product-thumbnail img { width: 84px; height: 84px; object-fit: cover; background: var(--grey-50); }
.woocommerce-cart-form td.product-name a { font-weight: 700; text-transform: uppercase; letter-spacing: .04em; font-size: 14px; }
.woocommerce-cart-form td.product-name a:hover { color: var(--grey-600); }
.woocommerce a.remove {
	color: var(--black) !important;
	border: 1px solid var(--grey-200);
	width: 26px; height: 26px; line-height: 24px;
	font-weight: 400;
	border-radius: 0;
}
.woocommerce a.remove:hover { background: var(--black) !important; color: #fff !important; }
.woocommerce .quantity .qty {
	width: 72px;
	border: 1px solid var(--grey-200);
	padding: 11px 8px;
	text-align: center;
	border-radius: 0;
}
.woocommerce-cart-form .actions { padding-top: 22px; }
.woocommerce-cart-form .coupon { display: flex; gap: 10px; float: none; }
/* Beat WooCommerce's ".woocommerce table.cart td.actions .input-text" (0,4,2 -> 80px). */
.woocommerce #content table.cart td.actions .coupon .input-text,
.woocommerce table.cart td.actions .coupon .input-text,
.woocommerce-page #content table.cart td.actions .coupon .input-text,
.woocommerce-page table.cart td.actions .coupon .input-text {
	width: 200px;
	flex: 0 0 200px;
}
/* Quantities auto-update on change, so the manual update button is hidden. */
.woocommerce-cart-form .actions button[name="update_cart"],
.woocommerce-cart-form .actions input[name="update_cart"] { display: none !important; }

/* cart totals box */
.cart-collaterals { margin-top: 40px; display: flex; justify-content: flex-end; }
.cart-collaterals .cart_totals {
	width: 100%;
	max-width: 420px;
	border: 1px solid var(--grey-200);
	padding: 28px;
	float: none;
}
.cart_totals h2 { font-family: var(--font-display); font-size: 24px; text-transform: uppercase; margin-bottom: 18px; }
.cart_totals table.shop_table th,
.cart_totals table.shop_table td { border: 0; border-bottom: 1px solid var(--grey-100); padding: 18px 0; vertical-align: top; }
.cart_totals table.shop_table th { width: 38%; padding-left: 18px; padding-right: 24px; }
.cart_totals table.shop_table td { padding-right: 18px; }
.cart_totals table.shop_table tr:last-child th,
.cart_totals table.shop_table tr:last-child td { border-bottom: 0; }
.cart_totals .wc-proceed-to-checkout { padding-top: 26px; }
.cart_totals .order-total .amount { font-size: 20px; font-weight: 700; }
.cart_totals .wc-proceed-to-checkout { padding: 22px 0 0; }
.cart_totals .wc-proceed-to-checkout a.checkout-button {
	display: block; width: 100%; text-align: center;
	background: var(--black); color: #fff;
	font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	padding: 17px; border-radius: 0;
}
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover { background: var(--grey-800); }

/* cross-sells */
.cross-sells h2 { font-family: var(--font-display); text-transform: uppercase; font-size: 24px; margin: 40px 0 24px; }

/* =========================================================================
   CHECKOUT
   ========================================================================= */
.woocommerce-checkout #customer_details { }
.woocommerce-checkout .col2-set,
.woocommerce-checkout #customer_details.col2-set { width: 100%; }
.woocommerce-checkout form.checkout {
	display: grid;
	grid-template-columns: 1.3fr 1fr;
	grid-template-rows: auto 1fr;
	column-gap: 50px;
	row-gap: 18px;
	align-items: start;
}
.woocommerce-checkout #customer_details { grid-column: 1; grid-row: 1 / span 2; min-width: 0; }
.woocommerce-checkout #order_review_heading { grid-column: 2; grid-row: 1; margin-top: 0; min-width: 0; }
.woocommerce-checkout #order_review { grid-column: 2; grid-row: 2; min-width: 0; }
/* Order notes: only allow vertical resize so dragging can't widen the column. */
.woocommerce-checkout textarea,
#order_comments { resize: vertical; max-width: 100%; width: 100%; box-sizing: border-box; }

/* Compact checkout coupon form (was a wide input with a big gap to the button). */
form.checkout_coupon { display: flex; flex-wrap: wrap; align-items: flex-start; gap: 10px; }
form.checkout_coupon > p:not(.form-row) { flex: 1 1 100%; margin: 0 0 8px; }
form.checkout_coupon .form-row { margin: 0; padding: 0; width: auto; float: none; }
form.checkout_coupon .input-text { width: 300px; max-width: 100%; height: 48px; }
form.checkout_coupon button { white-space: nowrap; height: 48px; }
form.checkout_coupon .clear { display: none; }
/* An error/notice inside the coupon form goes full-width below the input+button. */
form.checkout_coupon .woocommerce-error,
form.checkout_coupon .woocommerce-message,
form.checkout_coupon .woocommerce-info { flex: 1 1 100%; order: 5; margin: 12px 0 0; }

/* Ring spinner shown while a cart AJAX update is in flight (matches the
   circle-in-circle loader used elsewhere). */
@keyframes urbn-spin { to { transform: rotate(360deg); } }
.urbn-spin { position: relative; pointer-events: none; }
.urbn-spin::before {
	content: ""; position: absolute; inset: 0; z-index: 2;
	background: rgba(255,255,255,.6);
}
.urbn-spin::after {
	content: ""; position: absolute; top: 50%; left: 50%; z-index: 3;
	width: 26px; height: 26px; margin: -13px 0 0 -13px;
	border: 3px solid rgba(0,0,0,.18);
	border-top-color: var(--black);
	border-radius: 50%;
	animation: urbn-spin .7s linear infinite;
}
.woocommerce-checkout #customer_details .col-1,
.woocommerce-checkout #customer_details .col-2 { width: 100%; float: none; margin-bottom: 20px; }
.woocommerce-checkout h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 22px; margin-bottom: 18px; }
#order_review_heading { font-family: var(--font-display); text-transform: uppercase; font-size: 22px; margin: 0 0 18px; }

.woocommerce-checkout #order_review {
	border: 1px solid var(--grey-200);
	padding: 26px;
	position: sticky;
	top: 96px;
}
.woocommerce-checkout #order_review table.shop_table th,
.woocommerce-checkout #order_review table.shop_table td { border: 0; border-bottom: 1px solid var(--grey-100); padding: 14px 18px; }
.woocommerce-checkout #order_review .order-total .amount { font-size: 20px; font-weight: 700; }

#payment { background: var(--grey-50); border-radius: 0; }
#payment ul.payment_methods { border-bottom: 1px solid var(--grey-200); padding: 18px; }
#payment div.payment_box { background: #fff; border: 1px solid var(--grey-200); }
#payment div.payment_box::before { border-bottom-color: #fff; }
.woocommerce-checkout #payment #place_order,
.woocommerce #place_order {
	display: block; width: 100%; text-align: center;
	background: var(--black) !important; color: #fff !important;
	font-size: 14px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase;
	padding: 18px; border-radius: 0; margin-top: 10px;
}
.woocommerce-checkout #payment #place_order:hover { background: var(--grey-800) !important; }

.woocommerce-form-login-toggle,
.woocommerce-form-coupon-toggle { margin-bottom: 20px; }

@media (max-width: 860px) {
	.woocommerce-checkout form.checkout { grid-template-columns: 1fr; gap: 30px; }
	.woocommerce-checkout #customer_details,
	.woocommerce-checkout #order_review,
	.woocommerce-checkout #order_review_heading { grid-column: 1; }
	.woocommerce-checkout #order_review { position: static; }
	.cart-collaterals .cart_totals { max-width: 100%; }
	.woocommerce-cart-form .coupon { flex-wrap: wrap; }
	.woocommerce-cart-form .coupon .input-text { max-width: 100%; min-width: 0; }
}

/* =========================================================================
   MY ACCOUNT
   ========================================================================= */
.account-hero {
	position: relative;
	background-size: cover;
	background-position: center;
	background-color: var(--black);
	color: #fff;
	padding: 80px 0;
	min-height: 240px;
	display: flex;
	align-items: center;
}
.account-hero::before {
	content: "";
	position: absolute; inset: 0;
	background: linear-gradient(90deg, rgba(0,0,0,.85) 0%, rgba(0,0,0,.45) 60%, rgba(0,0,0,.15) 100%);
}
.account-hero-inner { position: relative; z-index: 2; }
.account-hero-title {
	font-family: var(--font-display);
	font-size: clamp(38px, 6vw, 64px);
	text-transform: uppercase;
	line-height: 1;
}
.account-breadcrumb { margin-top: 12px; font-size: 13px; letter-spacing: .08em; text-transform: uppercase; color: rgba(255,255,255,.7); }
.account-breadcrumb a { color: rgba(255,255,255,.7); }
.account-breadcrumb a:hover { color: #fff; }
.account-breadcrumb span { margin: 0 8px; }

/* two-column account layout: sidebar + content */
.woocommerce-account .woocommerce {
	display: grid;
	grid-template-columns: 264px 1fr;
	gap: 30px;
	align-items: start;
}
.woocommerce-account .woocommerce > .woocommerce-notices-wrapper { grid-column: 1 / -1; }
/* WooCommerce's clearfix ::before/::after become stray grid items here; remove them.
   Also neutralize its float/percentage-width on nav & content so they fill the tracks. */
.woocommerce-account .woocommerce::before,
.woocommerce-account .woocommerce::after { content: none !important; display: none !important; }
.woocommerce-account .urbn-account-nav,
.woocommerce-account .woocommerce-MyAccount-navigation,
.woocommerce-account .woocommerce-MyAccount-content {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
}

/* sidebar */
.urbn-account-nav {
	border: 1px solid var(--grey-200);
	padding: 14px;
}
.urbn-account-nav ul { list-style: none; margin: 0; padding: 0; }
.urbn-account-nav__item a {
	display: flex;
	align-items: center;
	gap: 12px;
	padding: 13px 14px;
	font-size: 13px;
	font-weight: 600;
	letter-spacing: .05em;
	text-transform: uppercase;
	color: var(--grey-600);
	transition: background .15s, color .15s;
}
.urbn-account-nav__item a:hover { background: var(--grey-50); color: var(--black); }
.urbn-account-nav__item.is-active a { background: var(--black); color: #fff; }
.urbn-account-nav__icon { display: inline-flex; }
.urbn-account-nav__icon svg { width: 18px; height: 18px; }
.urbn-account-nav__label { flex: 1; }
.urbn-account-nav__badge {
	background: var(--black);
	color: #fff;
	font-size: 9px;
	font-weight: 700;
	letter-spacing: .1em;
	padding: 3px 7px;
}
.urbn-account-nav__item.is-active .urbn-account-nav__badge { background: #fff; color: var(--black); }

/* content cards */
.urbn-dashboard { display: flex; flex-direction: column; gap: 22px; }
.dash-card { border: 1px solid var(--grey-200); padding: 28px; }
.dash-heading {
	font-size: 14px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; margin: 0;
}
.dash-card-head { display: flex; align-items: center; justify-content: space-between; margin-bottom: 22px; }

/* profile + overview */
.dash-top {
	display: grid;
	grid-template-columns: 300px 1fr;
	gap: 30px;
	align-items: center;
}
.dash-profile { text-align: center; border-right: 1px solid var(--grey-100); padding-right: 24px; }
.dash-name { font-size: 20px; font-weight: 700; margin-bottom: 4px; }
.dash-email { color: var(--grey-600); font-size: 14px; margin: 0 0 16px; }
.dash-edit { display: inline-flex; }
.dash-overview .dash-heading { margin-bottom: 22px; }
.dash-stats { display: grid; grid-template-columns: repeat(2, 1fr); gap: 10px; }
.dash-stat { text-align: center; padding: 8px; border-right: 1px solid var(--grey-100); }
.dash-stat:last-child { border-right: 0; }
.dash-stat-icon svg { width: 30px; height: 30px; color: var(--black); }
.dash-stat-num { display: block; font-family: var(--font-display); font-size: 34px; line-height: 1; margin: 8px 0 2px; }
.dash-stat-label { display: block; font-size: 13px; color: var(--grey-600); margin-bottom: 8px; }
.dash-stat-link { font-size: 12px; text-decoration: underline; text-underline-offset: 3px; }
.dash-stat-link:hover { color: var(--grey-600); }

/* orders table */
.dash-orders { width: 100%; border-collapse: collapse; }
.dash-orders th {
	text-align: left; font-size: 11px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	color: var(--grey-600); padding: 0 10px 14px; border-bottom: 1px solid var(--grey-200);
}
.dash-orders td { padding: 16px 10px; border-bottom: 1px solid var(--grey-100); font-size: 14px; }
.dash-order-id { font-weight: 700; }
.dash-orders-empty td { padding: 26px 10px; color: var(--grey-600); }
.dash-link { text-decoration: underline; text-underline-offset: 3px; }
.dash-link:hover { color: var(--grey-600); }
.pill {
	display: inline-block; font-size: 11px; font-weight: 700; letter-spacing: .04em;
	padding: 5px 12px; border-radius: 999px;
}
.pill--green { background: #d8f0dd; color: #1c6b2f; }
.pill--blue  { background: #d9e6fb; color: #21508f; }
.pill--amber { background: #fbeecf; color: #8a5a12; }
.pill--grey  { background: var(--grey-100); color: var(--grey-600); }
.pill--red   { background: #f8d7d5; color: #9a2820; }

/* light feature strip variant (account page) */
.feature-strip--light { background: var(--grey-50); color: var(--black); }
.feature-strip--light .feature-icon svg { color: var(--black); }
.feature-strip--light .feature-text span { color: var(--grey-600); }

@media (max-width: 980px) {
	.woocommerce-account .woocommerce { grid-template-columns: 1fr; }
	.dash-top { grid-template-columns: 1fr; }
	.dash-profile { border-right: 0; border-bottom: 1px solid var(--grey-100); padding: 0 0 24px; }
}
@media (max-width: 640px) {
	.dash-stats { grid-template-columns: 1fr; }
	.dash-stat { border-right: 0; border-bottom: 1px solid var(--grey-100); padding-bottom: 16px; }
	.dash-orders { display: block; overflow-x: auto; }
	.woocommerce-account .woocommerce-Addresses { grid-template-columns: 1fr; }
}

/* =========================================================================
   Account — select2 dropdowns, addresses, forms, toggles
   ========================================================================= */
.select2-container--default .select2-selection--single {
	height: 48px !important;
	border: 1px solid var(--grey-200) !important;
	border-radius: 0 !important;
	display: flex;
	align-items: center;
}
.select2-container--default .select2-selection--single .select2-selection__rendered {
	line-height: normal !important;
	padding-left: 14px;
	padding-right: 30px;
	color: var(--black);
}
.select2-container--default .select2-selection--single .select2-selection__placeholder { color: var(--grey-400); }
.select2-container--default .select2-selection--single .select2-selection__arrow { height: 46px; right: 8px; }
.select2-dropdown { border: 1px solid var(--grey-200); border-radius: 0; }
.select2-container--default .select2-search--dropdown .select2-search__field { border: 1px solid var(--grey-200); padding: 8px 10px; }
.select2-container--default .select2-results__option { padding: 9px 12px; font-size: 14px; }
.select2-container--default .select2-results__option--highlighted[aria-selected],
.select2-container--default .select2-results__option--highlighted[data-selected] { background: var(--black); color: #fff; }

/* addresses */
.woocommerce-account .woocommerce-Addresses {
	display: grid; grid-template-columns: 1fr 1fr; gap: 30px; margin-top: 18px;
}
.woocommerce-account .woocommerce-Addresses::before,
.woocommerce-account .woocommerce-Addresses::after { content: none !important; display: none !important; }
.woocommerce-account .woocommerce-Address { width: auto !important; float: none !important; margin: 0 !important; }
.woocommerce-Address-title { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin-bottom: 14px; }
.woocommerce-Address-title h2,
.woocommerce-Address-title h3 { font-family: var(--font-display); text-transform: uppercase; font-size: 22px; margin: 0; }
.woocommerce-Address-title .edit {
	font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	text-decoration: underline; text-underline-offset: 3px; white-space: nowrap;
}
.woocommerce-Address address { font-style: normal; color: var(--grey-600); line-height: 1.7; }

/* account forms (edit account, password, addresses edit) */
.woocommerce-account .woocommerce-MyAccount-content form { max-width: 640px; }
.woocommerce-account .woocommerce-MyAccount-content .col2-set { max-width: none; }
.urbn-fieldset { border: 1px solid var(--grey-200); padding: 20px 24px 6px; margin: 0 0 22px; }
.urbn-fieldset legend { font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase; padding: 0 8px; }
.woocommerce-account .woocommerce-MyAccount-content form .form-row { margin-bottom: 16px; }
.woocommerce-account .woocommerce-MyAccount-content label {
	display: block; font-size: 12px; font-weight: 700; letter-spacing: .05em; text-transform: uppercase; margin-bottom: 6px;
}
.woocommerce-account .woocommerce-MyAccount-content .button {
	background: var(--black); color: #fff; border: 0; border-radius: 0;
	padding: 15px 30px; font-size: 13px; font-weight: 700; letter-spacing: .12em; text-transform: uppercase; cursor: pointer;
}
.woocommerce-account .woocommerce-MyAccount-content .button:hover { background: var(--grey-800); }
.urbn-form-intro { color: var(--grey-600); margin: -4px 0 22px; }
.urbn-account-meta { display: flex; gap: 10px; align-items: baseline; margin-bottom: 22px; font-size: 13px; }
.urbn-account-meta-label { text-transform: uppercase; letter-spacing: .06em; font-weight: 700; font-size: 11px; color: var(--grey-600); }

/* notification toggles */
.urbn-notifications-form { max-width: 640px; }
.urbn-toggle-row {
	display: flex; align-items: center; justify-content: space-between; gap: 20px;
	padding: 18px 0; border-bottom: 1px solid var(--grey-100); cursor: pointer;
}
.urbn-toggle-text strong { display: block; font-size: 14px; }
.urbn-toggle-text span { font-size: 13px; color: var(--grey-600); }
.urbn-switch { position: relative; flex: 0 0 auto; width: 46px; height: 26px; }
.urbn-switch input { position: absolute; inset: 0; opacity: 0; width: 100%; height: 100%; margin: 0; cursor: pointer; }
.urbn-switch-track { display: block; width: 46px; height: 26px; border-radius: 999px; background: var(--grey-200); position: relative; transition: background .18s; }
.urbn-switch-track::after {
	content: ""; position: absolute; top: 3px; left: 3px; width: 20px; height: 20px;
	background: #fff; border-radius: 50%; transition: transform .18s; box-shadow: 0 1px 3px rgba(0,0,0,.3);
}
.urbn-switch input:checked + .urbn-switch-track { background: var(--black); }
.urbn-switch input:checked + .urbn-switch-track::after { transform: translateX(20px); }
.urbn-notifications-form .button { margin-top: 24px; }

/* =========================================================================
   Navbar notifications bell + dropdown
   ========================================================================= */
.urbn-notif { position: relative; display: inline-flex; }
.urbn-notif-toggle { position: relative; }
.urbn-notif-count {
	position: absolute; top: -8px; right: -10px;
	background: #fff; color: var(--black);
	font-size: 10px; font-weight: 700; line-height: 1;
	min-width: 16px; height: 16px; padding: 0 4px; border-radius: 999px;
	display: inline-flex; align-items: center; justify-content: center;
}
.urbn-notif-count.is-empty { display: none; }
.urbn-notif-panel {
	position: absolute; top: calc(100% + 14px); right: 0;
	width: 360px; max-width: calc(100vw - 32px);
	background: #fff; color: var(--black);
	border: 1px solid var(--grey-200);
	box-shadow: 0 18px 44px rgba(0,0,0,.22);
	z-index: 400;
}
.urbn-notif-head {
	display: flex; align-items: center; justify-content: space-between;
	padding: 14px 18px; border-bottom: 1px solid var(--grey-100);
	font-size: 12px; font-weight: 700; letter-spacing: .1em; text-transform: uppercase;
}
.urbn-notif-readall {
	background: transparent; border: 0; color: var(--grey-600);
	font-size: 11px; font-weight: 700; letter-spacing: .06em; text-transform: uppercase;
	text-decoration: underline; text-underline-offset: 3px; cursor: pointer; padding: 0;
}
.urbn-notif-readall:hover { color: var(--black); }
.urbn-notif-list { max-height: 380px; overflow-y: auto; }
.urbn-notif-item {
	display: block; padding: 14px 18px; border-bottom: 1px solid var(--grey-100);
	position: relative; transition: background .15s;
}
.urbn-notif-item:hover { background: var(--grey-50); }
.urbn-notif-item strong { display: block; font-size: 13px; margin-bottom: 3px; }
.urbn-notif-item span { display: block; font-size: 12px; color: var(--grey-600); line-height: 1.5; }
.urbn-notif-item time { display: block; font-size: 11px; color: var(--grey-400); margin-top: 6px; }
.urbn-notif-item.is-unread { background: #fafafa; }
.urbn-notif-item.is-unread::before {
	content: ""; position: absolute; top: 20px; left: 6px;
	width: 6px; height: 6px; border-radius: 50%; background: var(--black);
}
.urbn-notif-item.is-unread strong { padding-left: 10px; }
.urbn-notif-item.is-unread span,
.urbn-notif-item.is-unread time { padding-left: 10px; }
.urbn-notif-empty { padding: 30px 18px; text-align: center; color: var(--grey-400); font-size: 13px; margin: 0; }
.urbn-notif-viewall {
	display: block; text-align: center; padding: 13px;
	font-size: 12px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase;
	border-top: 1px solid var(--grey-100);
}
.urbn-notif-viewall:hover { background: var(--grey-50); }

/* account notifications feed list */
.urbn-notif-feed { margin: 0 0 34px; border: 1px solid var(--grey-200); }
.urbn-notif-feed .urbn-notif-item:last-child { border-bottom: 0; }

@media (max-width: 520px) {
	.urbn-notif-panel { position: fixed; top: 120px; right: 16px; left: 16px; width: auto; }
}

/* =========================================================================
   Unified black buttons — one consistent default + hover everywhere.
   Default: black fill, white text, black border. Hover: inverts to white
   fill + black text (same behaviour as the hero VIEW LOOKBOOK button).
   ========================================================================= */
.single-product .summary .single_add_to_cart_button,
.woocommerce a.button, .woocommerce button.button, .woocommerce input.button,
.woocommerce a.button.alt, .woocommerce button.button.alt,
.woocommerce #respond input#submit,
.cart_totals .wc-proceed-to-checkout a.checkout-button,
.woocommerce-checkout #payment #place_order, .woocommerce #place_order,
.woocommerce-account .woocommerce-MyAccount-content .button,
.urbn-contact-form button[type="submit"],
.woocommerce-cart-form .actions .button {
	background: var(--black) !important;
	color: #fff !important;
	border: 2px solid var(--black) !important;
	border-radius: 0 !important;
	padding: 15px 32px !important;
	font-size: 13px !important;
	font-weight: 700 !important;
	letter-spacing: .12em !important;
	text-transform: uppercase !important;
	cursor: pointer;
	box-shadow: none !important;
	transition: background .18s ease, color .18s ease, border-color .18s ease !important;
}
.single-product .summary .single_add_to_cart_button:hover,
.woocommerce a.button:hover, .woocommerce button.button:hover, .woocommerce input.button:hover,
.woocommerce a.button.alt:hover, .woocommerce button.button.alt:hover,
.woocommerce #respond input#submit:hover,
.cart_totals .wc-proceed-to-checkout a.checkout-button:hover,
.woocommerce-checkout #payment #place_order:hover, .woocommerce #place_order:hover,
.woocommerce-account .woocommerce-MyAccount-content .button:hover,
.urbn-contact-form button[type="submit"]:hover,
.woocommerce-cart-form .actions .button:hover {
	background: #fff !important;
	color: var(--black) !important;
	border-color: var(--black) !important;
}

/* BUY IT NOW is the complementary outline button: white default -> black on hover. */
.single-product .summary .urbn-buy-now {
	transition: background .18s ease, color .18s ease, border-color .18s ease !important;
}
