/**
 * Storefront polish shared by Elementor pages and the WooCommerce product UI.
 * Selectors are intentionally attached to stable semantic classes/Elementor IDs.
 */

/* Homepage product cards: restore the missing New label and remove wishlist UI. */
.home .elementor-element-h170709 .nishka-loop-sale-badge:not(:empty) {
	display: inline-flex !important;
	align-items: center !important;
	justify-content: center !important;
	width: fit-content !important;
	min-width: max-content !important;
	min-height: 28px !important;
	padding: 5px 11px !important;
	border-radius: 999px !important;
}


.nishka-loop-favorite,
.nishka-card-wishlist,
.nishka-product-wishlist {
	display: none !important;
}

/* The Elementor header cart is a visual container, so expose its affordance. */
.elementor-location-header .elementor-element-6086a09 {
	cursor: pointer;
}

.elementor-location-header .elementor-element-6086a09:focus-visible {
	outline: 2px solid var(--color-brand-coral, #d65364);
	outline-offset: 6px;
	border-radius: 5px;
}

/* Mobile navigation: a compact disclosure instead of a clipped horizontal rail. */
.nishka-mobile-menu-toggle {
	display: none;
}

@media (max-width: 767px) {
	.elementor-location-header .elementor-element-5551163 {
		display: flex !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 10px !important;
		padding: 10px 16px 14px !important;
	}

	.nishka-mobile-menu-toggle {
		display: flex;
		align-items: center;
		justify-content: space-between;
		width: 100%;
		min-height: 44px;
		padding: 10px 14px;
		border: 1px solid #e4d8d0;
		border-radius: 8px;
		background: #fff;
		color: #201e1d;
		font: inherit;
		font-size: .82rem;
		font-weight: 750;
		letter-spacing: .05em;
		text-transform: uppercase;
		cursor: pointer;
	}

	.nishka-mobile-menu-toggle::after {
		content: "+";
		font-size: 1.25rem;
		font-weight: 400;
		line-height: 1;
		transition: transform .2s ease;
	}

	.nishka-mobile-menu-toggle[aria-expanded="true"]::after {
		transform: rotate(45deg);
	}

	.elementor-location-header .elementor-element-e035da4 {
		display: grid !important;
		grid-template-columns: 1fr !important;
		gap: 0 !important;
		width: 100% !important;
		overflow: hidden !important;
		border: 1px solid #e9e0d9 !important;
		border-radius: 8px !important;
		background: #fff !important;
		box-shadow: 0 14px 32px rgb(82 57 43 / 10%) !important;
	}

	.elementor-location-header .elementor-element-e035da4[hidden] {
		display: none !important;
	}

	.elementor-location-header .elementor-element-e035da4 .nishka-nav-link {
		width: 100% !important;
		margin: 0 !important;
		border-bottom: 1px solid #f0e7e1 !important;
	}

	.elementor-location-header .elementor-element-e035da4 .nishka-nav-link:last-child {
		border-bottom: 0 !important;
	}

	.elementor-location-header .elementor-element-e035da4 .nishka-nav-link a {
		display: block !important;
		width: 100% !important;
		padding: 13px 15px !important;
		text-decoration: none !important;
	}
}

@media (min-width: 768px) {
	.elementor-location-header .elementor-element-e035da4[hidden] {
		display: flex !important;
	}
}

/* Contact form controls. */
body.nishka-contact-page .elementor-field-type-select .elementor-select-wrapper {
	position: relative !important;
	border: 0 !important;
	background: transparent !important;
}

body.nishka-contact-page .elementor-field-type-select select {
	width: 100% !important;
	min-height: 48px !important;
	padding: 10px 46px 10px 14px !important;
	border: 1px solid #dfd3ca !important;
	border-radius: 8px !important;
	background-color: #fff !important;
	box-shadow: none !important;
	color: var(--color-storefront-ink, #171817) !important;
}

body.nishka-contact-page .elementor-field-type-select select:focus {
	border-color: var(--color-brand-coral, #d65364) !important;
	outline: 0 !important;
	box-shadow: 0 0 0 3px rgb(214 83 100 / 12%) !important;
}

body.nishka-contact-page .elementor-field-type-select .select-caret-down-wrapper {
	right: 16px !important;
	left: auto !important;
	top: 50% !important;
	width: 14px !important;
	height: 14px !important;
	transform: translateY(-50%) !important;
	pointer-events: none !important;
}

body.nishka-contact-page .elementor-field-type-acceptance .elementor-field-option {
	display: flex !important;
	align-items: center !important;
	gap: 11px !important;
}

body.nishka-contact-page .elementor-field-type-acceptance input[type="checkbox"] {
	flex: 0 0 18px !important;
	width: 18px !important;
	height: 18px !important;
	min-height: 18px !important;
	margin: 0 !important;
}

body.nishka-contact-page .elementor-field-type-acceptance label {
	margin: 0 !important;
	line-height: 1.5 !important;
}

body.nishka-contact-page .e-form__buttons {
	justify-content: flex-start !important;
}

body.nishka-contact-page .e-form__buttons .elementor-button {
	width: auto !important;
	min-width: 0 !important;
	max-width: 290px !important;
	padding-inline: 28px !important;
}

/* Editorial heroes: restore imagery in the existing editable panel structure. */
.nishka-editorial-media {
	position: relative !important;
	isolation: isolate;
	overflow: hidden !important;
}

.nishka-editorial-media::before {
	position: absolute;
	inset: 0;
	background: linear-gradient(135deg, rgb(255 255 255 / 26%), transparent 48%);
	content: "";
	pointer-events: none;
	z-index: 2;
}

.nishka-editorial-media > .nishka-editorial-media-panel {
	position: relative !important;
	min-height: clamp(230px, 28vw, 410px) !important;
	overflow: hidden !important;
	border-radius: 9px !important;
	background-image: url("../images/nishka-category-strip.webp") !important;
	background-repeat: no-repeat !important;
	background-size: 500% 100% !important;
	box-shadow: inset 0 0 0 1px rgb(255 255 255 / 36%) !important;
}

.nishka-editorial-media > .nishka-editorial-media-panel:nth-child(1) {
	background-position: 0 50% !important;
}

.nishka-editorial-media > .nishka-editorial-media-panel:nth-child(2) {
	background-position: 50% 50% !important;
}

.nishka-editorial-media > .nishka-editorial-media-panel:nth-child(3) {
	background-position: 100% 50% !important;
}

.nishka-policy-hero__image {
	min-height: clamp(310px, 34vw, 520px);
	border-radius: 12px;
	background: url("../images/nishka-home-hero.webp") 72% center / cover no-repeat;
	box-shadow: 0 24px 60px rgb(82 57 43 / 13%);
}

/* Contact FAQ: give the section a recognisable surface and clearer cards. */
body.nishka-contact-page .elementor-element-d76a6b3 {
	border-block: 1px solid #eaded6 !important;
	background:
		radial-gradient(circle at 8% 14%, rgb(214 83 100 / 8%), transparent 28%),
		linear-gradient(145deg, #f7f0ea 0%, #fffaf6 58%, #f1e8df 100%) !important;
}

body.nishka-contact-page .nishka-contact-faq-item {
	margin-bottom: 14px !important;
	padding: 0 !important;
	border: 1px solid #e5d8cf !important;
	border-radius: 10px !important;
	background: rgb(255 255 255 / 88%) !important;
	box-shadow: 0 10px 26px rgb(82 57 43 / 6%) !important;
	transition: transform .2s ease, border-color .2s ease, box-shadow .2s ease !important;
}

body.nishka-contact-page .nishka-contact-faq-item:hover {
	transform: translateY(-1px);
	border-color: #d9c8bd !important;
	box-shadow: 0 14px 32px rgb(82 57 43 / 9%) !important;
}

body.nishka-contact-page .nishka-contact-faq-question {
	position: relative !important;
	padding: 23px 58px 23px 24px !important;
}

body.nishka-contact-page .nishka-contact-faq-question::after {
	position: absolute;
	top: 50%;
	right: 22px;
	color: var(--color-brand-coral, #d65364);
	font-size: 1.35rem;
	font-weight: 400;
	line-height: 1;
	transform: translateY(-50%);
	transition: transform .2s ease;
	content: "+";
}

body.nishka-contact-page .nishka-contact-faq-question[aria-expanded="true"]::after {
	transform: translateY(-50%) rotate(45deg);
}

body.nishka-contact-page .nishka-contact-faq-answer {
	padding: 0 24px 24px !important;
}

/* Policy calls-to-action need light copy on their established green surface. */
.nishka-policy-page .nishka-editorial-cta,
.nishka-policy-page .nishka-policy-contact {
	overflow: hidden !important;
	border-radius: 11px !important;
	background:
		radial-gradient(circle at 94% 12%, rgb(255 255 255 / 12%), transparent 32%),
		#245f48 !important;
}

.nishka-policy-page .nishka-editorial-cta :is(h2, h3, p),
.nishka-policy-page .nishka-editorial-cta > span,
.nishka-policy-page .nishka-policy-contact :is(h2, h3, p) {
	color: #fff !important;
}

.nishka-policy-page .nishka-editorial-cta .nishka-editorial-eyebrow,
.nishka-policy-page .nishka-policy-contact .nishka-policy-eyebrow {
	color: #f3c6cc !important;
}

.nishka-policy-page .nishka-editorial-cta a,
.nishka-policy-page .nishka-policy-contact > a {
	border-color: #fff !important;
	background: #fff !important;
	color: #245f48 !important;
}

/* Make the footer transition visible without competing with its content. */
.elementor-location-footer > footer {
	border-top: 4px solid #d8818d !important;
	background: linear-gradient(180deg, #f2e8e0 0%, #f8f2ed 30%, #fefcfa 100%) !important;
	box-shadow: 0 -18px 44px rgb(82 57 43 / 5%) !important;
}

.elementor-location-footer .elementor-element-529e729 {
	background: rgb(255 255 255 / 34%) !important;
}

@media (max-width: 767px) {
	.nishka-editorial-media > .nishka-editorial-media-panel {
		min-height: 230px !important;
	}

	body.nishka-contact-page .e-form__buttons .elementor-button {
		width: 100% !important;
		max-width: none !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	.nishka-mobile-menu-toggle::after,
	body.nishka-contact-page .nishka-contact-faq-item,
	body.nishka-contact-page .nishka-contact-faq-question::after {
		transition: none !important;
	}
}
