/* nunshen-ui — home page hero (2026-10, director's design inspired by apoticari; scripts/home/apply-home-hero.php builds it
   with native Elementor widgets, this file gives the look). Title + subtitle centred, then two 4:5 photo cards with a 1 px
   black frame, a caption on the boutique photo and a white bar under each photo (uppercase label + black button).
   Desktop: 2 columns, max 1296 px. Phones: 1 column. Front page only (FR + EN). */

/* "body .elementor …": above Elementor's own per-element rules (.elementor-<page> .elementor-element.elementor-element-<id>) */
body .elementor .e-con.nui-home-hero {
	--padding-top: 72px;
	--padding-bottom: 88px;
	--padding-left: clamp(20px, 5vw, 72px);
	--padding-right: clamp(20px, 5vw, 72px);
	--gap: 0px;
	--row-gap: 0px;
	--column-gap: 0px;
	background: var(--nui-creme, #F4F0EC);
}
body .elementor .nui-home-hero .nui-home-hero__title { margin: 0 !important; }
.nui-home-hero .nui-home-hero__title .elementor-heading-title {
	margin: 0;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	font-size: 44px;
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.15;
	text-transform: uppercase;
	text-align: center;
	color: var(--nui-black, #000);
}
.nui-home-hero .nui-home-hero__sub,
.nui-home-hero .nui-home-hero__sub p {
	margin: 0;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	font-size: 19px;
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.4;
	text-align: center;
	color: var(--nui-black, #000);
}
body .elementor .nui-home-hero .nui-home-hero__sub { margin: 12px 0 52px !important; }

body .elementor .nui-home-hero .nui-home-hero__cards.e-con {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: 32px;
	width: 100%;
	max-width: 1296px;
	margin: 0 auto;
}
body .elementor .nui-home-card.e-con { --gap: 12px; --row-gap: 12px; gap: 12px; min-width: 0; }

/* photo: 4:5, 1 px black frame, image fills it */
body .elementor .nui-home-card .nui-home-card__media.e-con {
	position: relative;
	display: block;
	aspect-ratio: 4 / 5;
	overflow: hidden;
	border: 1px solid var(--nui-black, #000);
	background: var(--nui-line, #E3DED8);
}
.nui-home-card__media .nui-home-card__img,
.nui-home-card__media .nui-home-card__img .elementor-widget-container { position: absolute; inset: 0; margin: 0; }
.nui-home-card__media .nui-home-card__img img {
	display: block;
	width: 100% !important;
	height: 100% !important;
	max-width: none;
	object-fit: cover;
	transition: transform .8s cubic-bezier(.2, .7, .2, 1);
}
.nui-home-card:hover .nui-home-card__img img { transform: scale(1.02); }
.nui-home-card__media .nui-home-card__caption {
	position: absolute;
	z-index: 1;
	left: 28px;
	right: 28px;
	bottom: 22px;
	margin: 0;
}
.nui-home-card__caption p {
	margin: 0;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	font-size: 15px;
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.35;
	color: #1A1A1A;
}

/* white bar: label left, button right */
body .elementor .nui-home-card .nui-home-card__bar.e-con {
	display: flex;
	flex-direction: row;
	flex-wrap: wrap;
	align-items: center;
	justify-content: space-between;
	gap: 12px 16px;
	min-height: 76px;
	padding: 16px 22px;
	background: #fff;
}
.nui-home-card__bar .nui-home-card__label,
.nui-home-card__bar .nui-home-card__btn { width: auto; margin: 0; }
.nui-home-card__label .elementor-heading-title {
	margin: 0;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	font-size: 14px;
	font-weight: var(--nui-w-regular, 400);
	line-height: 1.3;
	letter-spacing: .08em;
	text-transform: uppercase;
	color: var(--nui-black, #000);
}
.nui-home-card__btn .elementor-button {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	height: 44px;
	padding: 0 28px;
	border: 1px solid var(--nui-black, #000);
	border-radius: var(--nui-radius, 1px);
	background: var(--nui-black, #000);
	color: #fff;
	font-family: var(--nui-font, "CORE SANS", sans-serif);
	font-size: 15px;
	font-weight: var(--nui-w-bold, 600);
	line-height: 1;
	text-transform: none;
	letter-spacing: 0;
	transition: background .2s ease, color .2s ease;
}
.nui-home-card__btn .elementor-button:hover,
.nui-home-card__btn .elementor-button:focus { background: var(--nui-black, #000); color: #fff; }
@media (hover: hover) {
	.nui-home-card__btn .elementor-button:hover { background: #fff; color: var(--nui-black, #000); }
}
.nui-home-card__btn .elementor-button:focus-visible { outline: 2px solid var(--nui-black, #000); outline-offset: 2px; }

/* tablets: tighter */
@media (max-width: 1024px) {
	body .elementor .e-con.nui-home-hero { --padding-top: 56px; --padding-bottom: 64px; }
	.nui-home-hero .nui-home-hero__title .elementor-heading-title { font-size: 36px; }
	body .elementor .nui-home-hero .nui-home-hero__cards.e-con { gap: 20px; }
	body .elementor .nui-home-card .nui-home-card__bar.e-con { flex-wrap: nowrap; gap: 10px; padding: 14px 14px 14px 16px; }
	.nui-home-card__label .elementor-heading-title { font-size: 12px; letter-spacing: .06em; }
	.nui-home-card__btn .elementor-button { height: 40px; padding: 0 16px; font-size: 14px; white-space: nowrap; }
	.nui-home-card__caption { left: 18px; right: 18px; bottom: 16px; }
}
/* phones: one column */
@media (max-width: 767px) {
	body .elementor .e-con.nui-home-hero { --padding-top: 36px; --padding-bottom: 48px; --padding-left: 16px; --padding-right: 16px; }
	.nui-home-hero .nui-home-hero__title .elementor-heading-title { font-size: 26px; line-height: 1.2; }
	.nui-home-hero .nui-home-hero__sub,
	.nui-home-hero .nui-home-hero__sub p { font-size: 16px; }
	body .elementor .nui-home-hero .nui-home-hero__sub { margin: 8px 0 28px !important; }
	body .elementor .nui-home-hero .nui-home-hero__cards.e-con { grid-template-columns: 1fr; gap: 28px; }
	body .elementor .nui-home-card .nui-home-card__bar.e-con { min-height: 64px; padding: 12px 12px 12px 16px; }
	.nui-home-card__label .elementor-heading-title { font-size: 13px; }
	.nui-home-card__btn .elementor-button { height: 42px; padding: 0 20px; font-size: 14px; }
	.nui-home-card__media .nui-home-card__caption { left: 16px; right: 16px; bottom: 14px; }
	.nui-home-card__caption p { font-size: 13px; }
}
@media (prefers-reduced-motion: reduce) {
	.nui-home-card__img img { transition: none; }
	.nui-home-card:hover .nui-home-card__img img { transform: none; }
}
