/**
 * Native shop header + footer shell.
 * Scoped to body.rad-shop-context so public ShopEngine is unchanged.
 */

/* -------------------------------------------------------------------------
   Header — ivory, quiet luxury
   ------------------------------------------------------------------------- */

body.rad-shop-context .elementor-location-header {
	background: var(--rad-color-header-bg);
	border-bottom: 1px solid var(--rad-color-border);
	color: var(--rad-color-text);
}

body.rad-shop-context .elementor-location-header .e-con {
	--background-color: var(--rad-color-header-bg);
	background-color: var(--rad-color-header-bg) !important;
	background-image: none !important;
}

body.rad-shop-context .elementor-location-header .e-con-inner {
	min-width: 0;
	max-width: 100%;
}

body.rad-shop-context .elementor-location-header .elementor-icon-list-text,
body.rad-shop-context .elementor-location-header .elementor-icon-list-item,
body.rad-shop-context .elementor-location-header .elementor-icon-list-item a {
	color: var(--rad-color-muted) !important;
	font-family: var(--rad-font-body);
	font-size: 0.75rem;
	letter-spacing: 0.02em;
}

body.rad-shop-context .elementor-location-header .elementor-icon-list-icon i,
body.rad-shop-context .elementor-location-header .elementor-icon-list-icon svg {
	color: var(--rad-color-accent-dark) !important;
	fill: currentColor !important;
	width: 0.85rem;
	height: 0.85rem;
	font-size: 0.85rem;
}

body.rad-shop-context .elementor-location-header .elementor-icon-list-item a:hover,
body.rad-shop-context .elementor-location-header .elementor-icon-list-item a:focus-visible {
	color: var(--rad-color-accent-dark) !important;
}

body.rad-shop-context .elementor-location-header .elementor-widget-image img {
	max-height: 3.25rem;
	width: auto;
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu .elementor-item {
	color: var(--rad-color-text) !important;
	background: transparent !important;
	font-family: var(--rad-font-heading);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	padding: 0.85rem 0.35rem !important;
	border-radius: 0 !important;
	border-bottom: 1px solid transparent;
	transition: color 0.2s ease, border-color 0.2s ease;
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu .elementor-item:hover,
body.rad-shop-context .elementor-location-header .elementor-nav-menu .elementor-item:focus-visible {
	color: var(--rad-color-accent-dark) !important;
	background: transparent !important;
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu .elementor-item-active,
body.rad-shop-context .elementor-location-header .elementor-nav-menu .current-menu-item > .elementor-item {
	color: var(--rad-color-text) !important;
	border-bottom-color: var(--rad-color-accent);
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu--dropdown {
	background: var(--rad-color-surface) !important;
	border: 1px solid var(--rad-color-border) !important;
	box-shadow: none !important;
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu--dropdown .elementor-sub-item,
body.rad-shop-context .elementor-location-header .elementor-nav-menu--dropdown .elementor-item {
	color: var(--rad-color-text) !important;
	background: transparent !important;
	border-bottom: 0 !important;
}

body.rad-shop-context .elementor-location-header .elementor-nav-menu--dropdown a:hover,
body.rad-shop-context .elementor-location-header .elementor-nav-menu--dropdown a:focus-visible {
	color: var(--rad-color-accent-dark) !important;
	background: var(--rad-color-bg) !important;
}

body.rad-shop-context .elementor-location-header .elementor-menu-toggle {
	color: var(--rad-color-text) !important;
	background: transparent !important;
	border: 0 !important;
	width: 2.75rem;
	height: 2.75rem;
}

body.rad-shop-context .elementor-location-header .elementor-menu-toggle:hover,
body.rad-shop-context .elementor-location-header .elementor-menu-toggle:focus-visible {
	color: var(--rad-color-accent-dark) !important;
}

body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button {
	background: transparent !important;
	border: 1px solid var(--rad-color-border) !important;
	box-shadow: none !important;
	border-radius: var(--rad-radius-sm) !important;
	color: var(--rad-color-text) !important;
	padding: 0.4rem 0.6rem !important;
	min-height: 2.5rem;
	max-width: 100%;
}

body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button:hover,
body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button:focus-visible {
	border-color: var(--rad-color-accent) !important;
	color: var(--rad-color-accent-dark) !important;
	background: var(--rad-color-surface) !important;
}

body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button .woocommerce-Price-amount,
body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button .elementor-button-text {
	color: inherit !important;
	font-family: var(--rad-font-body);
	font-size: 0.75rem;
	font-weight: 500;
}

body.rad-shop-context .elementor-location-header .elementor-button-icon svg,
body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button i {
	width: 1rem;
	height: 1rem;
	font-size: 1rem;
	color: inherit;
	fill: currentColor;
}

body.rad-shop-context .elementor-location-header .elementor-button-icon-qty,
body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle .elementor-button-icon-qty {
	background: var(--rad-color-accent-dark) !important;
	color: var(--rad-color-surface) !important;
	border: 0 !important;
	min-width: 1.05rem;
	height: 1.05rem;
	font-size: 0.62rem;
	font-weight: 600;
	line-height: 1.05rem;
}

body.rad-shop-context .elementor-location-header.elementor-sticky--effects,
body.rad-shop-context .elementor-location-header .elementor-sticky--active,
body.rad-shop-context .elementor-sticky--active.elementor-location-header,
body.rad-shop-context .elementor-location-header .elementor-sticky--active .e-con {
	background-color: rgba(247, 244, 238, 0.97) !important;
	box-shadow: none;
	border-bottom-color: var(--rad-color-border);
}

body.rad-shop-context .elementor-location-header .elementor-sticky--active .elementor-nav-menu .elementor-item {
	padding-top: 0.65rem !important;
	padding-bottom: 0.65rem !important;
}

body.rad-shop-context .elementor-location-header .elementor-sticky--active .elementor-widget-image img {
	max-height: 2.75rem;
}

@media (max-width: 767px) {
	body.rad-shop-context .elementor-location-header .elementor-widget-image img {
		max-height: 2.6rem;
	}

	body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle .elementor-button-text {
		position: absolute;
		width: 1px;
		height: 1px;
		overflow: hidden;
		clip: rect(0, 0, 0, 0);
	}

	body.rad-shop-context .elementor-location-header .elementor-menu-cart__toggle_button {
		padding: 0.45rem 0.5rem !important;
	}
}

/* -------------------------------------------------------------------------
   Footer — charcoal, editorial
   ------------------------------------------------------------------------- */

body.rad-shop-context .elementor-location-footer {
	background: var(--rad-color-footer-bg);
	color: var(--rad-color-footer-text);
	border-top: 1px solid var(--rad-color-accent);
	padding-top: 0.25rem;
	margin-top: 0;
}

body.rad-shop-context .elementor-location-footer .e-con {
	--background-color: var(--rad-color-footer-bg);
	background-color: var(--rad-color-footer-bg) !important;
	background-image: none !important;
}

body.rad-shop-context .elementor-location-footer .elementor-heading-title {
	color: var(--rad-color-footer-text) !important;
	font-family: var(--rad-font-heading) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.16em;
	text-transform: uppercase;
	line-height: 1.4;
}

body.rad-shop-context .elementor-location-footer .elementor-icon-list-text,
body.rad-shop-context .elementor-location-footer .elementor-icon-list-item a,
body.rad-shop-context .elementor-location-footer .elementor-icon-box-title,
body.rad-shop-context .elementor-location-footer .elementor-icon-box-description,
body.rad-shop-context .elementor-location-footer .elementor-widget-text-editor,
body.rad-shop-context .elementor-location-footer .elementor-widget-text-editor p {
	color: var(--rad-color-footer-muted) !important;
	font-family: var(--rad-font-body);
	font-size: 0.9rem;
	line-height: 1.7;
}

body.rad-shop-context .elementor-location-footer a {
	color: var(--rad-color-footer-text) !important;
	text-decoration: none;
	transition: color 0.2s ease;
}

body.rad-shop-context .elementor-location-footer a:hover,
body.rad-shop-context .elementor-location-footer a:focus-visible {
	color: var(--rad-color-accent) !important;
}

body.rad-shop-context .elementor-location-footer .elementor-nav-menu a {
	font-family: var(--rad-font-heading);
	font-size: 0.72rem;
	font-weight: 600;
	letter-spacing: 0.1em;
	text-transform: uppercase;
	padding: 0.35rem 0 !important;
	line-height: 1.6;
}

body.rad-shop-context .elementor-location-footer .elementor-divider-separator,
body.rad-shop-context .elementor-location-footer .elementor-divider {
	border-color: var(--rad-color-accent) !important;
}

body.rad-shop-context .elementor-location-footer .elementor-divider-separator {
	max-width: 3rem;
	border-width: 1px !important;
	border-top-color: var(--rad-color-accent) !important;
}

body.rad-shop-context .elementor-location-footer .elementor-social-icon {
	background: transparent !important;
	color: var(--rad-color-accent) !important;
	border: 1px solid rgba(196, 176, 122, 0.35) !important;
}

body.rad-shop-context .elementor-location-footer .elementor-social-icon:hover,
body.rad-shop-context .elementor-location-footer .elementor-social-icon:focus-visible {
	color: var(--rad-color-footer-text) !important;
	border-color: var(--rad-color-accent) !important;
	background: transparent !important;
}

body.rad-shop-context .elementor-location-footer .elementor-icon-box-icon i,
body.rad-shop-context .elementor-location-footer .elementor-icon-list-icon i,
body.rad-shop-context .elementor-location-footer .elementor-icon-list-icon svg {
	color: var(--rad-color-accent) !important;
	fill: currentColor !important;
}

body.rad-shop-context .elementor-location-footer .cpel-switcher,
body.rad-shop-context .elementor-location-footer .cpel-switcher a {
	color: var(--rad-color-footer-muted) !important;
}

body.rad-shop-context .elementor-location-footer img {
	opacity: 0.92;
}

@media (min-width: 768px) {
	body.rad-shop-context .elementor-location-footer {
		padding-top: 0.5rem;
	}
}
