/* EKVINTA page refinements. Keep these independent of the active theme. */
body.home,
body:not(.home):not(.page-id-38) {
	--ekv-accent: #FA8C16;
	--ekv-brand-orange: #FA8C16;
}

/* Give the brand index the same outer width as the homepage sections. */
body.page-id-4461 #main .entry-content.is-layout-constrained {
	box-sizing: border-box;
	width: min(1600px, calc(100% - 32px)) !important;
	max-width: none !important;
	margin: 24px auto 64px !important;
}
body.page-id-4461 #main .ekvinta-brand-index {
	width: 100% !important;
	max-width: none !important;
	margin-inline: auto !important;
}

/* A visible breathing space before the footer on the named page types. */
body:is(.single-product, .page-id-3842, .page-id-3472, .page-id-1767) #main {
	margin-bottom: clamp(32px, 4vw, 64px) !important;
}
body:is(.tax-product_cat, .post-type-archive-product) #main {
	margin-bottom: clamp(32px, 4vw, 64px) !important;
}

/* The outer product page panel should match the rounded inner cards. */
body.single-product #main {
	padding-top: 16px;
	background: #fff !important;
}
body.single-product #main > .ct-container-full > article {
	box-sizing: border-box;
	width: min(1600px, calc(100% - 32px));
	margin-inline: auto;
	border-radius: 26px;
	background: #f5f5f7;
	overflow: hidden;
}

/* Guide and About pages use the homepage's width, spacing and calm cards. */
body:is(.page-id-3842, .page-id-3472) #main .entry-content.is-layout-constrained {
	box-sizing: border-box;
	width: min(1600px, calc(100% - 32px)) !important;
	max-width: none !important;
	margin-inline: auto !important;
}
body:is(.page-id-3842, .page-id-3472) #main .entry-content > .elementor {
	width: 100%;
	max-width: none;
}
body:is(.page-id-3842, .page-id-3472) #main .elementor .elementor-heading-title {
	color: #1d1d1f !important;
	letter-spacing: -.035em;
	line-height: 1.14;
}
body:is(.page-id-3842, .page-id-3472) #main .elementor :is(p, li) {
	color: #424245;
	line-height: 1.6;
}
body.page-id-3842 #main .elementor-element-5bcc1a2,
body.page-id-3472 #main .elementor-element-05d5f64 {
	--padding-top: clamp(24px, 3vw, 42px);
	--padding-bottom: clamp(24px, 3vw, 42px);
	--padding-left: clamp(20px, 3vw, 42px);
	--padding-right: clamp(20px, 3vw, 42px);
	box-sizing: border-box;
	border: 1px solid #e5e5e7;
	border-radius: 26px !important;
	box-shadow: 0 10px 28px rgba(29, 29, 31, .045);
	overflow: hidden;
}
body.page-id-3842 #main .elementor-element-5bcc1a2 {
	background: #fff !important;
}
body.page-id-3842 #main .elementor-element-75b0ae4 {
	border: 1px solid #e5e5e7;
	border-radius: 22px !important;
	background: #fff !important;
}
body.page-id-3842 #main .elementor-element-5de6b71d {
	border-radius: 18px !important;
	background: #f5f5f7 !important;
}
body.page-id-3472 #main .elementor-element-05d5f64 {
	background: #fff !important;
}

/* A real, readable example directly below the condition descriptions. */
.ekvinta-condition-example {
	margin-top: 22px;
	padding: 18px 20px;
	border-left: 4px solid #FA8C16;
	border-radius: 14px;
	background: #fff;
	color: #1d1d1f;
}
.ekvinta-condition-example__score {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 5px;
}
.ekvinta-condition-example__score span {
	display: grid;
	width: 22px;
	height: 22px;
	place-items: center;
	border: 1px solid #b8b8b8;
	border-radius: 50%;
	color: #9b9ba1;
	font-size: 13px;
	font-weight: 700;
}
.ekvinta-condition-example__score .is-filled {
	border-color: #FA8C16;
	background: #FA8C16;
	color: #1d1d1f;
}
.ekvinta-condition-example__score strong {
	margin-left: 10px;
	font-size: 16px;
}
.ekvinta-condition-example p {
	margin: 12px 0 0 !important;
	color: #424245 !important;
	font-size: 15px;
	line-height: 1.55;
}

/* Account dashboard, notices, forms and endpoint pages. */
body.page-id-1767 #main .entry-content.is-layout-constrained {
	box-sizing: border-box;
	width: min(1600px, calc(100% - 32px)) !important;
	max-width: none !important;
	margin: 28px auto 0 !important;
}
body.page-id-1767 #main .ct-woo-account {
	align-items: start;
	gap: clamp(16px, 2vw, 28px);
}
body.page-id-1767 #main .ct-account-welcome,
body.page-id-1767 #main .ct-account-welcome * {
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
	opacity: 1 !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-navigation,
body.page-id-1767 #main .woocommerce-MyAccount-content {
	border: 1px solid #e5e5e7 !important;
	border-radius: 22px !important;
	box-shadow: 0 8px 24px rgba(29, 29, 31, .045) !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-navigation {
	background: #f5f5f7 !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content {
	min-height: 0 !important;
	height: auto !important;
	background: #fff !important;
	color: #1d1d1f !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(p, label, legend, small, td, th) {
	color: #1d1d1f !important;
	font-size: 15px;
	line-height: 1.55;
}
body.page-id-1767 #main .woocommerce-MyAccount-content > p {
	max-width: 74ch;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
	box-sizing: border-box;
	min-height: 0 !important;
	margin: 0 0 18px !important;
	padding: 16px 18px 16px 48px !important;
	border: 1px solid #e5e5e7 !important;
	border-radius: 16px !important;
	background: #f5f5f7 !important;
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
	box-shadow: none !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) :is(span, p, strong, a:not(.button)) {
	color: #1d1d1f !important;
	-webkit-text-fill-color: #1d1d1f !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before {
	color: #FA8C16 !important;
	-webkit-text-fill-color: #FA8C16 !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(a.button, button.button, input.button, .woocommerce-Button) {
	min-height: 44px;
	padding: 11px 22px !important;
	border: 1px solid #FA8C16 !important;
	border-radius: 999px !important;
	background: #FA8C16 !important;
	color: #fff !important;
	-webkit-text-fill-color: #fff !important;
	font-size: 14px !important;
	font-weight: 700 !important;
	text-decoration: none !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(a.button, button.button, input.button, .woocommerce-Button):is(:hover, :focus-visible) {
	border-color: #FA8C16 !important;
	background: #FA8C16 !important;
	color: #fff !important;
	box-shadow: 0 0 0 3px rgba(250, 140, 22, .2);
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(fieldset, .woocommerce-address-fields) {
	margin-block: 24px;
	padding: clamp(16px, 2vw, 26px);
	border: 1px solid #d8d8dd;
	border-radius: 18px;
	background: #f9f9fb;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(input.input-text, input[type="password"], select, textarea) {
	background: #fff !important;
	color: #1d1d1f !important;
	border: 1px solid #c9c9ce !important;
	border-radius: 12px !important;
}
body.page-id-1767 #main .woocommerce-MyAccount-content :is(input.input-text, input[type="password"], select, textarea):focus {
	border-color: #FA8C16 !important;
	outline: 2px solid rgba(250, 140, 22, .22);
}

/* Consistent orange on existing custom accents and wishlist controls. */
body.home .elementor-38 :is(.elementor-element-99d6416, .elementor-element-4afa57b) .elementor-button:is(:hover, :focus-visible),
body.home .elementor-38 .elementor-element-gesloxzx .elementor-element-4089fdb .elementor-button:is(:hover, :focus-visible),
body.home .elementor-element-19ca87d .elementor-button:hover,
body.home .elementor-38 ul.products[data-products="type-2"] > li.product > .ct-woo-card-actions > :is(a.button:not(.added), a.added_to_cart):hover,
body.woocommerce:not(.single-product) ul.products[data-products="type-2"] > li.product > .ct-woo-card-actions > :is(a.button:not(.added), a.added_to_cart):hover {
	border-color: #FA8C16 !important;
	background: #FA8C16 !important;
	color: #fff !important;
}
body.home .elementor-element-adb147d .elementor-heading-title {
	border-left-color: #FA8C16 !important;
}
body :is(.ekvinta-wishlist-header, .ekvinta-wishlist-toggle, .ekvinta-wishlist-remove):hover,
body .ekvinta-wishlist-toggle.is-active,
body .ekvinta-wishlist-eyebrow,
body .ekvinta-wishlist-card__brand {
	color: #FA8C16 !important;
}
body .ekvinta-wishlist-toggle.is-active svg,
body .ekvinta-wishlist-remove svg {
	fill: #FA8C16 !important;
	stroke: #FA8C16 !important;
}
body :is(.ekvinta-wishlist-clear, .ekvinta-wishlist-shop, .ekvinta-wishlist-card__button):hover,
body:is(.woocommerce-cart, .page-id-1765) .fs-free-shipping-notice-progress-bar > span {
	background: #FA8C16 !important;
}
body:is(.woocommerce-cart, .page-id-1765) .woocommerce-notices-wrapper .woocommerce-info::before,
body.page-id-4461 .ekvinta-brand-index :is(.ekvinta-brand-index__nav a, .ekvinta-brand-index__grid a):hover {
	color: #FA8C16 !important;
}
body.single-product .ekvinta-condition-rating__icon circle {
	stroke: #FA8C16 !important;
}
body.single-product .ekvinta-condition-rating__icon.is-filled circle {
	fill: #FA8C16 !important;
}

@media (max-width: 767px) {
	body.page-id-4461 #main .entry-content.is-layout-constrained,
	body:is(.page-id-3842, .page-id-3472, .page-id-1767) #main .entry-content.is-layout-constrained,
	body.single-product #main > .ct-container-full > article {
		width: calc(100% - 24px) !important;
	}
	body.single-product #main > .ct-container-full > article {
		border-radius: 18px;
	}
	body.page-id-1767 #main .ct-woo-account {
		gap: 16px;
	}
	body.page-id-1767 #main .woocommerce-MyAccount-content {
		padding: 20px !important;
	}
	body.page-id-1767 #main .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error) {
		padding: 16px !important;
	}
	body.page-id-1767 #main .woocommerce-MyAccount-content :is(.woocommerce-info, .woocommerce-message, .woocommerce-error)::before {
		display: none !important;
	}
	.ekvinta-condition-example {
		padding: 16px;
	}
}
