/**
 * Phase 10 — FTA-like density: script hero, N-col rails, campaign strip, quieter shop.
 * Loaded after phase9.css. Din Couture brand only.
 */

:root {
	--dinc-fs-script: clamp(3.25rem, 8vw, 6.5rem);
	--dinc-rail-gap: 0.2rem;
}

/* ===== Hero campaign ===== */
.dinc-hero--campaign {
	min-height: min(92vh, 56rem);
	position: relative;
}

.dinc-hero--campaign .dinc-hero__content--campaign {
	position: absolute;
	inset: 0;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	padding: clamp(1.5rem, 4vw, 3.5rem);
	max-width: none;
	z-index: 2;
	text-align: left;
}

.dinc-hero__script {
	margin: 0;
	font-family: var(--dinc-font-script);
	font-size: var(--dinc-fs-script);
	font-weight: 400;
	line-height: 0.95;
	color: #fff;
	letter-spacing: 0.01em;
	text-shadow: 0 2px 24px rgba(0, 0, 0, 0.35);
}

.dinc-hero__edit {
	margin: 0.65rem 0 1.75rem;
	font-family: var(--dinc-font-body);
	font-size: clamp(0.7rem, 1.1vw, 0.85rem);
	font-weight: 500;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.92);
}

.dinc-hero--campaign .dinc-hero__shade {
	/* Light veil only — keep product photos bright; text uses shadow for contrast. */
	background: linear-gradient(
		180deg,
		rgba(0, 0, 0, 0.04) 0%,
		rgba(0, 0, 0, 0.10) 55%,
		rgba(0, 0, 0, calc(var(--dinc-hero-overlay, 18) / 100)) 100%
	);
	opacity: 1;
	pointer-events: none;
}

.dinc-hero--campaign .dinc-hero__script,
.dinc-hero--campaign .dinc-hero__edit,
.dinc-hero--campaign .dinc-text-cta {
	text-shadow: 0 1px 2px rgba(0, 0, 0, 0.35), 0 6px 18px rgba(0, 0, 0, 0.28);
}

/* Text CTAs (no box) */
.dinc-text-cta {
	display: inline-block;
	font-family: var(--dinc-font-body);
	font-size: 0.75rem;
	font-weight: 500;
	letter-spacing: 0.24em;
	text-transform: uppercase;
	color: #fff !important;
	text-decoration: none !important;
	border: 0;
	background: transparent;
	padding: 0.35rem 0;
	box-shadow: none !important;
	transition: opacity var(--dinc-transition);
}

.dinc-text-cta:hover,
.dinc-text-cta:focus-visible {
	opacity: 0.7;
	color: #fff !important;
}

.dinc-text-cta--on-media {
	margin-top: 1rem;
}

/* ===== Rails ===== */
.dinc-home--p10 .dinc-rail {
	margin: 0;
	padding: 0;
	background: #fff;
	color: #111;
}

.dinc-home--p10 .dinc-rail .woocommerce,
.dinc-home--p10 .dinc-grid,
.dinc-home--p10 ul.products,
.dinc-home--p10 ul.products li.product,
.dinc-home--p10 .woocommerce-LoopProduct-link,
.dinc-home--p10 .woocommerce ul.products li.product {
	background: #fff !important;
	color: #111 !important;
}

.dinc-home--p10 ul.products li.product .woocommerce-loop-product__title,
.dinc-home--p10 ul.products li.product .price,
.dinc-home--p10 ul.products li.product .price * {
	color: #111 !important;
}

.dinc-home--p10 ul.products li.product .dinc-badge {
	opacity: 0;
	transition: opacity 0.2s ease;
}

.dinc-home--p10 ul.products li.product:hover .dinc-badge,
.dinc-home--p10 ul.products li.product:focus-within .dinc-badge {
	opacity: 1;
}

.dinc-rail__bar {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 1rem;
	padding: 1.1rem var(--dinc-gutter) 0.85rem;
}

.dinc-rail__label {
	margin: 0;
	font-family: var(--dinc-font-body);
	font-size: 0.68rem;
	font-weight: 500;
	letter-spacing: 0.22em;
	text-transform: uppercase;
	color: #111;
}

.dinc-rail__link {
	font-size: 0.65rem;
	letter-spacing: 0.2em;
	text-transform: uppercase;
	color: #6b6b6b !important;
	text-decoration: none !important;
}

.dinc-rail__link:hover {
	color: #111 !important;
}

/* Grid utilities */
.dinc-grid {
	padding: 0;
}

.dinc-grid .woocommerce,
.dinc-grid .woocommerce ul.products,
.dinc-home--p10 ul.products {
	margin: 0 !important;
	padding: 0 !important;
	display: grid !important;
	gap: var(--dinc-rail-gap) !important;
	width: 100% !important;
	max-width: none !important;
}

.dinc-grid--4 .woocommerce ul.products,
.dinc-grid--4 ul.products {
	grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
}

.dinc-grid--3 .woocommerce ul.products,
.dinc-grid--3 ul.products {
	grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
}

.dinc-grid--6 .woocommerce ul.products,
.dinc-grid--6 ul.products {
	grid-template-columns: repeat(6, minmax(0, 1fr)) !important;
}

.dinc-grid .woocommerce ul.products::before,
.dinc-grid .woocommerce ul.products::after,
.dinc-home--p10 ul.products::before,
.dinc-home--p10 ul.products::after {
	display: none !important;
	content: none !important;
}

.dinc-grid .woocommerce ul.products li.product,
.dinc-home--p10 ul.products li.product {
	width: auto !important;
	margin: 0 !important;
	float: none !important;
	padding: 0 !important;
}

.dinc-grid--quiet ul.products li.product .woocommerce-loop-product__title,
.dinc-grid--quiet ul.products li.product .price,
.dinc-grid--quiet ul.products li.product .button,
.dinc-grid--quiet ul.products li.product .dinc-qv-btn,
.dinc-grid--quiet ul.products li.product .star-rating {
	opacity: 0;
	transition: opacity 0.25s ease;
}

.dinc-grid--quiet ul.products li.product:hover .woocommerce-loop-product__title,
.dinc-grid--quiet ul.products li.product:hover .price,
.dinc-grid--quiet ul.products li.product:hover .button,
.dinc-grid--quiet ul.products li.product:hover .dinc-qv-btn,
.dinc-grid--quiet ul.products li.product:focus-within .woocommerce-loop-product__title,
.dinc-grid--quiet ul.products li.product:focus-within .price,
.dinc-grid--quiet ul.products li.product:focus-within .button,
.dinc-grid--quiet ul.products li.product:focus-within .dinc-qv-btn {
	opacity: 1;
}

.dinc-grid--tall ul.products li.product img,
.dinc-grid--tall ul.products li.product .attachment-woocommerce_thumbnail {
	aspect-ratio: 3 / 4.4;
	object-fit: cover;
	width: 100%;
}

.dinc-grid--6 ul.products li.product img {
	aspect-ratio: 3 / 4;
	object-fit: cover;
	width: 100%;
}

/* Lifestyle mosaic 5-col */
.dinc-mosaic {
	display: grid;
	grid-template-columns: repeat(5, minmax(0, 1fr));
	gap: var(--dinc-rail-gap);
	padding: 0;
}

.dinc-mosaic__item {
	display: block;
	overflow: hidden;
	line-height: 0;
	background: #111;
}

.dinc-mosaic__item img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: cover;
	transition: transform 0.55s var(--dinc-ease);
}

.dinc-mosaic__item:hover img {
	transform: scale(1.04);
}

/* Full-bleed campaign */
.dinc-campaign {
	margin: 0;
	padding: 0;
	background: #000;
}

.dinc-campaign__link {
	position: relative;
	display: block;
	min-height: min(48vh, 28rem);
	overflow: hidden;
	text-decoration: none !important;
	color: #fff !important;
}

.dinc-campaign__img {
	position: absolute;
	inset: 0;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

.dinc-campaign__shade {
	position: absolute;
	inset: 0;
	background: linear-gradient(90deg, rgba(0, 0, 0, 0.45) 0%, rgba(0, 0, 0, 0.15) 55%, rgba(0, 0, 0, 0.35) 100%);
	z-index: 1;
}

.dinc-campaign__copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: flex-end;
	min-height: min(48vh, 28rem);
	padding: clamp(1.5rem, 4vw, 3rem);
}

.dinc-campaign__script {
	font-family: var(--dinc-font-script);
	font-size: clamp(2.5rem, 6vw, 4.5rem);
	line-height: 1;
}

.dinc-campaign__edit {
	margin-top: 0.4rem;
	font-size: 0.72rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
}

/* Consult minimal */
.dinc-consult--minimal {
	background: #000;
	color: #fff;
	text-align: center;
	padding: 4.5rem var(--dinc-gutter);
	border: 0;
}

.dinc-consult__script {
	margin: 0;
	font-family: var(--dinc-font-script);
	font-size: clamp(2.75rem, 5vw, 4rem);
	font-weight: 400;
	color: #fff;
}

.dinc-consult__edit {
	margin: 0.5rem 0 1.75rem;
	font-size: 0.7rem;
	letter-spacing: 0.28em;
	text-transform: uppercase;
	color: rgba(255, 255, 255, 0.75);
}

.dinc-consult--minimal .dinc-text-cta {
	color: #fff !important;
}

/* Tighten home section chrome leftovers */
.dinc-home--p10 .dinc-section__head {
	display: none;
}

/* ===== Quieter shop ===== */
body.woocommerce-shop .woocommerce-result-count,
body.tax-product_cat .woocommerce-result-count,
body.woocommerce-shop .dinc-shop-count,
body.tax-product_cat .dinc-shop-count {
	opacity: 0.45;
	font-size: 0.68rem;
	letter-spacing: 0.14em;
}

body.woocommerce-shop ul.products li.product .onsale,
body.woocommerce-shop ul.products li.product .dinc-badge,
body.tax-product_cat ul.products li.product .dinc-badge,
body.woocommerce-shop .dinc-mto-badge,
body.tax-product_cat .dinc-mto-badge {
	opacity: 0;
	transition: opacity 0.2s ease;
}

body.woocommerce-shop ul.products li.product:hover .onsale,
body.woocommerce-shop ul.products li.product:hover .dinc-badge,
body.woocommerce-shop ul.products li.product:hover .dinc-mto-badge,
body.tax-product_cat ul.products li.product:hover .dinc-badge,
body.tax-product_cat ul.products li.product:hover .dinc-mto-badge,
body.woocommerce-shop ul.products li.product:focus-within .dinc-badge,
body.tax-product_cat ul.products li.product:focus-within .dinc-badge {
	opacity: 1;
}

body.woocommerce-shop .page-title,
body.woocommerce-shop h1.woocommerce-products-header__title {
	font-size: 0.72rem !important;
	letter-spacing: 0.28em !important;
	font-family: var(--dinc-font-body) !important;
	font-weight: 500 !important;
	text-transform: uppercase !important;
}

/* Responsive rails */
@media (max-width: 1024px) {
	.dinc-grid--6 .woocommerce ul.products,
	.dinc-grid--6 ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr)) !important;
	}
	.dinc-grid--4 .woocommerce ul.products,
	.dinc-grid--4 ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.dinc-mosaic {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 640px) {
	.dinc-grid--3 .woocommerce ul.products,
	.dinc-grid--3 ul.products,
	.dinc-grid--6 .woocommerce ul.products,
	.dinc-grid--6 ul.products,
	.dinc-grid--4 .woocommerce ul.products,
	.dinc-grid--4 ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
	}
	.dinc-mosaic {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}
	.dinc-hero__script {
		font-size: clamp(2.75rem, 14vw, 4rem);
	}
	.dinc-hero--campaign .dinc-hero__content--campaign {
		align-items: flex-start;
	}
}

@media (prefers-reduced-motion: reduce) {
	.dinc-mosaic__item:hover img {
		transform: none;
	}
}
