/**
 * Kids-storefront brand polish for Junotoys Child.
 * Keep: color tokens, page/section gradients, decorative shapes, light button states.
 * Do NOT: product-card borders/lifts, gallery frames, layout metric remaps.
 */

/* ── Design tokens ─────────────────────────────────────────── */

:root {
	--ks-background: #fcfbf8;
	--ks-foreground: #2c3148;
	--ks-card: #ffffff;
	--ks-primary: #e8872a;
	--ks-primary-foreground: #ffffff;
	--ks-accent: #e56b4a;
	--ks-secondary: #f5f0e4;
	--ks-muted: #f6f3ec;
	--ks-muted-foreground: #6b7085;
	--ks-border: #e8e3d8;
	--ks-ring: #e8872a;
	--ks-destructive: #d94a3a;

	--ks-sky: #5ba8d9;
	--ks-sun: #e8c04a;
	--ks-coral: #e56b4a;
	--ks-mint: #4db88a;
	--ks-purple: #8b3db8;
	--ks-pink: #e85a9a;
	--ks-cream: #f7f2e8;

	--ks-shadow-sm: 0 1px 2px rgba(44, 49, 72, 0.06);
	--ks-shadow: 0 6px 18px rgba(44, 49, 72, 0.08);
	--ks-gradient-cta: linear-gradient(90deg, var(--ks-primary), var(--ks-accent), var(--ks-pink));
	--ks-gradient-add: linear-gradient(135deg, var(--ks-primary), var(--ks-accent), var(--ks-pink));

	/* Gentle section-box defaults (opt-in file may refine) */
	--ik-surface: var(--ks-card);
	--ik-border: color-mix(in srgb, var(--ks-border) 70%, transparent);
	--ik-shadow: 0 6px 24px rgba(44, 49, 72, 0.06);
	--ik-shadow-hover: 0 10px 28px rgba(44, 49, 72, 0.09);

	/* Remap Juno scheme → kids-store palette */
	--theme-color-bg_color: var(--ks-background);
	--theme-color-bd_color: var(--ks-border);
	--theme-color-text: var(--ks-muted-foreground);
	--theme-color-text_light: #8a8fa3;
	--theme-color-text_dark: var(--ks-foreground);
	--theme-color-text_link: var(--ks-primary);
	--theme-color-text_hover: var(--ks-accent);
	--theme-color-text_link2: var(--ks-mint);
	--theme-color-text_hover2: #3a9a72;
	--theme-color-text_link3: var(--ks-sun);
	--theme-color-text_hover3: #d4a82e;
	--theme-color-alter_bg_color: var(--ks-card);
	--theme-color-alter_bg_hover: var(--ks-muted);
	--theme-color-alter_bd_color: var(--ks-border);
	--theme-color-alter_bd_hover: #ddd6c8;
	--theme-color-alter_text: var(--ks-muted-foreground);
	--theme-color-alter_light: #8a8fa3;
	--theme-color-alter_dark: var(--ks-foreground);
	--theme-color-alter_link: var(--ks-primary);
	--theme-color-alter_hover: var(--ks-accent);
	--theme-color-alter_link2: var(--ks-mint);
	--theme-color-alter_hover2: #3a9a72;
	--theme-color-alter_link3: var(--ks-sun);
	--theme-color-alter_hover3: #d4a82e;
	--theme-color-input_bd_color: var(--ks-border);
	--theme-color-input_bd_hover: color-mix(in srgb, var(--ks-primary) 45%, var(--ks-border));
	--theme-color-input_text: var(--ks-muted-foreground);
	--theme-color-input_dark: var(--ks-foreground);
}

/* ── Base atmosphere ───────────────────────────────────────── */

body.theme-junotoys,
body.wp-child-theme-junotoys-child {
	background-color: var(--ks-background);
	color: var(--ks-foreground);
}

body.theme-junotoys .body_wrap,
body.theme-junotoys .page_content_wrap {
	background-color: transparent;
}

body.theme-junotoys h1,
body.theme-junotoys h2,
body.theme-junotoys h3,
body.theme-junotoys h4,
body.theme-junotoys h5,
body.theme-junotoys h6,
body.theme-junotoys .sc_item_title {
	color: var(--ks-foreground);
}

body.theme-junotoys a:hover,
body.theme-junotoys a:focus {
	color: var(--ks-accent);
}

/* Soft cream wash + faint dot texture (no layout impact) */
body.theme-junotoys .page_content_wrap {
	background-image:
		radial-gradient(ellipse 90% 50% at 10% -5%, color-mix(in srgb, var(--ks-sun) 14%, transparent), transparent 55%),
		radial-gradient(ellipse 70% 40% at 95% 8%, color-mix(in srgb, var(--ks-sky) 12%, transparent), transparent 50%),
		radial-gradient(ellipse 60% 35% at 50% 100%, color-mix(in srgb, var(--ks-coral) 8%, transparent), transparent 55%),
		radial-gradient(oklch(0.62 0.18 45 / 0.045) 1.1px, transparent 1.1px);
	background-size: auto, auto, auto, 22px 22px;
	background-attachment: local;
}

/* ── Page-level atmosphere only (no Elementor section blobs) ─────
   Do NOT put isolation/filter/backdrop-filter on header — that
   traps the modern mini-cart (position:fixed) inside the header box
   and clips all line items.
*/

@keyframes ks-shape-drift-a {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(18px, -22px) scale(1.06);
	}
}

@keyframes ks-shape-drift-b {
	0%,
	100% {
		transform: translate(0, 0) scale(1);
	}
	50% {
		transform: translate(-16px, 14px) scale(0.94);
	}
}

body.theme-junotoys .page_content_wrap {
	position: relative;
	isolation: isolate;
}

body.theme-junotoys .page_content_wrap::before,
body.theme-junotoys .page_content_wrap::after {
	content: "";
	position: absolute;
	border-radius: 50%;
	pointer-events: none;
	z-index: 0;
	filter: blur(48px);
	opacity: 0.22;
	mix-blend-mode: multiply;
}

body.theme-junotoys .page_content_wrap::before {
	width: min(280px, 42vw);
	height: min(280px, 42vw);
	top: 6%;
	right: -4%;
	background: color-mix(in srgb, var(--ks-sky) 55%, transparent);
	animation: ks-shape-drift-a 16s ease-in-out infinite;
}

body.theme-junotoys .page_content_wrap::after {
	width: min(240px, 38vw);
	height: min(240px, 38vw);
	bottom: 12%;
	left: -3%;
	background: color-mix(in srgb, var(--ks-coral) 45%, transparent);
	animation: ks-shape-drift-b 19s ease-in-out infinite;
}

/* Keep page content above page-level blobs only */
body.theme-junotoys .page_content_wrap > * {
	position: relative;
	z-index: 1;
}

/* Soft gradient bands on common shop / content shells (no borders) */
body.theme-junotoys .woocommerce-products-header,
body.theme-junotoys .list_products_header {
	background: linear-gradient(
		180deg,
		color-mix(in srgb, var(--ks-cream) 70%, transparent) 0%,
		transparent 100%
	);
}

/* Related / upsells: no own fill — inherit surrounding section background */
body.theme-junotoys .related.products,
body.theme-junotoys .upsells.products,
body.theme-junotoys.woocommerce .related.products,
body.theme-junotoys.woocommerce .upsells.products {
	background: transparent !important;
	background-image: none !important;
}

body.theme-junotoys .related.products::before,
body.theme-junotoys .related.products::after,
body.theme-junotoys .upsells.products::before,
body.theme-junotoys .upsells.products::after {
	content: none !important;
	display: none !important;
}

/* ── Header chrome (color only) ────────────────────────────── */

body.theme-junotoys .top_panel.top_panel_custom {
	/* No backdrop-filter/filter here — they become containing blocks for
	   position:fixed and collapse the modern cart side panel to header height. */
	background: color-mix(in srgb, var(--ks-background) 92%, white) !important;
}

body.theme-junotoys .top_panel .sc_layouts_row,
body.theme-junotoys .top_panel .elementor-section.sc_layouts_row {
	background-color: transparent !important;
}

body.theme-junotoys .menu_main_nav > li > a,
body.theme-junotoys .sc_layouts_menu .menu-item > a {
	font-weight: 600;
	transition: color 0.2s ease;
}

body.theme-junotoys .menu_main_nav > li > a:hover,
body.theme-junotoys .menu_main_nav > li.current-menu-item > a,
body.theme-junotoys .menu_main_nav > li.current-menu-ancestor > a,
body.theme-junotoys .sc_layouts_menu .menu-item:hover > a,
body.theme-junotoys .sc_layouts_menu .current-menu-item > a {
	color: var(--ks-primary) !important;
}

body.theme-junotoys .sc_layouts_cart .sc_layouts_cart_details,
body.theme-junotoys .sc_layouts_cart .sc_layouts_cart_icon {
	color: var(--ks-foreground);
}

body.theme-junotoys .sc_layouts_cart .sc_layouts_cart_items_counter {
	background: var(--ks-primary) !important;
	color: var(--ks-primary-foreground) !important;
}

/* Restore modern / dropdown mini-cart visibility (ThemeREX layouts cart) */
body.theme-junotoys .sc_layouts_cart,
body.theme-junotoys .elementor-widget-trx_sc_layouts_cart,
body.theme-junotoys .elementor-widget-trx_sc_layouts_cart .elementor-widget-container {
	overflow: visible !important;
}

body.theme-junotoys .sc_layouts_cart.modern .sc_layouts_cart_widget,
body.theme-junotoys .sc_layouts_cart:not(.modern) .sc_layouts_cart_widget {
	visibility: visible;
	pointer-events: auto;
	z-index: 100100 !important;
}

body.theme-junotoys .sc_layouts_cart.modern .sc_layouts_cart_widget .widget_shopping_cart,
body.theme-junotoys .sc_layouts_cart.modern .sc_layouts_cart_widget .widget_shopping_cart_content,
body.theme-junotoys .sc_layouts_cart.modern .sc_layouts_cart_widget ul.cart_list {
	visibility: visible;
	opacity: 1;
}

/* ── Buttons (color / gradient / shadow only — no size changes) ─ */

body.theme-junotoys .sc_button:not(.sc_button_simple):not(.sc_button_bordered),
body.theme-junotoys .theme_button,
body.theme-junotoys .woocommerce a.button,
body.theme-junotoys .woocommerce button.button,
body.theme-junotoys .woocommerce input.button,
body.theme-junotoys .woocommerce #respond input#submit,
body.theme-junotoys .woocommerce a.button.alt,
body.theme-junotoys .woocommerce button.button.alt,
body.theme-junotoys .woocommerce input.button.alt,
body.theme-junotoys .wp-block-button__link,
body.theme-junotoys .single_add_to_cart_button {
	background: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
	color: var(--ks-primary-foreground) !important;
	font-weight: 600 !important;
	box-shadow: var(--ks-shadow-sm);
	transition: box-shadow 0.2s ease, filter 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

body.theme-junotoys .sc_button:not(.sc_button_simple):not(.sc_button_bordered):hover,
body.theme-junotoys .theme_button:hover,
body.theme-junotoys .woocommerce a.button:hover,
body.theme-junotoys .woocommerce button.button:hover,
body.theme-junotoys .woocommerce input.button:hover,
body.theme-junotoys .woocommerce #respond input#submit:hover,
body.theme-junotoys .woocommerce a.button.alt:hover,
body.theme-junotoys .woocommerce button.button.alt:hover,
body.theme-junotoys .woocommerce input.button.alt:hover,
body.theme-junotoys .wp-block-button__link:hover,
body.theme-junotoys .single_add_to_cart_button:hover {
	background: var(--ks-accent) !important;
	border-color: var(--ks-accent) !important;
	color: var(--ks-primary-foreground) !important;
	box-shadow: var(--ks-shadow);
	filter: brightness(1.03);
}

body.theme-junotoys .sc_button:not(.sc_button_simple):not(.sc_button_bordered):active,
body.theme-junotoys .theme_button:active,
body.theme-junotoys .woocommerce a.button:active,
body.theme-junotoys .woocommerce button.button:active,
body.theme-junotoys .single_add_to_cart_button:active {
	filter: brightness(0.97);
	box-shadow: var(--ks-shadow-sm);
}

/* Gradient CTA for primary checkout / add-to-cart actions */
body.theme-junotoys .woocommerce .single_add_to_cart_button.button.alt,
body.theme-junotoys .woocommerce-cart .wc-proceed-to-checkout a.checkout-button,
body.theme-junotoys .woocommerce #place_order {
	background-image: var(--ks-gradient-cta) !important;
	border-color: transparent !important;
	box-shadow: 0 4px 14px rgba(232, 135, 42, 0.28);
}

body.theme-junotoys .woocommerce .single_add_to_cart_button.button.alt:hover,
body.theme-junotoys .woocommerce-cart .wc-proceed-to-checkout a.checkout-button:hover,
body.theme-junotoys .woocommerce #place_order:hover {
	filter: brightness(1.04);
	box-shadow: 0 6px 18px rgba(229, 107, 74, 0.32);
}

body.theme-junotoys .sc_button.sc_button_bordered,
body.theme-junotoys .woocommerce a.button.bordered {
	background: transparent !important;
	border-color: var(--ks-border) !important;
	color: var(--ks-foreground) !important;
	box-shadow: none;
}

body.theme-junotoys .sc_button.sc_button_bordered:hover {
	border-color: var(--ks-primary) !important;
	color: var(--ks-primary) !important;
}

/* Quick-add: color only (no scale / size change) */
body.theme-junotoys.woocommerce ul.products li.product .icons .shop_cart,
body.theme-junotoys .woocommerce ul.products li.product .icons .shop_cart,
body.theme-junotoys.woocommerce ul.products li.product .icons .button,
body.theme-junotoys .woocommerce ul.products li.product .icons .button {
	background-image: var(--ks-gradient-add) !important;
	border-color: transparent !important;
	color: var(--ks-primary-foreground) !important;
	box-shadow: 0 3px 10px rgba(232, 135, 42, 0.28);
}

body.theme-junotoys.woocommerce ul.products li.product .icons .shop_cart:hover,
body.theme-junotoys .woocommerce ul.products li.product .icons .shop_cart:hover {
	filter: brightness(1.05);
}

/* Sale badge color only */
body.theme-junotoys.woocommerce span.onsale,
body.theme-junotoys .woocommerce span.onsale,
body.theme-junotoys.woocommerce ul.products li.product .onsale {
	background: #059669 !important;
	color: #fff !important;
}

/* ── Product color accents only (no boxes / borders / lifts) ── */

/* Center product card content (shop grid + related / upsells) */
body.theme-junotoys.woocommerce ul.products li.product .post_data,
body.theme-junotoys .woocommerce ul.products li.product .post_data,
body.theme-junotoys.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.theme-junotoys .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.theme-junotoys.woocommerce ul.products li.product .price,
body.theme-junotoys .woocommerce ul.products li.product .price,
body.theme-junotoys.woocommerce ul.products li.product .star-rating,
body.theme-junotoys .woocommerce ul.products li.product .star-rating {
	text-align: center;
}

body.theme-junotoys.woocommerce ul.products li.product .star-rating,
body.theme-junotoys .woocommerce ul.products li.product .star-rating {
	margin-left: auto;
	margin-right: auto;
}

body.theme-junotoys.woocommerce ul.products li.product .woocommerce-loop-product__title,
body.theme-junotoys.woocommerce ul.products li.product .woocommerce-loop-product__title a,
body.theme-junotoys .woocommerce ul.products li.product .woocommerce-loop-product__title,
body.theme-junotoys .woocommerce ul.products li.product .woocommerce-loop-product__title a {
	color: var(--ks-foreground);
	transition: color 0.2s ease;
}

body.theme-junotoys.woocommerce ul.products li.product:hover .woocommerce-loop-product__title a,
body.theme-junotoys .woocommerce ul.products li.product:hover .woocommerce-loop-product__title a {
	color: var(--ks-primary);
}

body.theme-junotoys.woocommerce ul.products li.product .price,
body.theme-junotoys.woocommerce ul.products li.product .price .amount,
body.theme-junotoys .woocommerce ul.products li.product .price,
body.theme-junotoys .woocommerce ul.products li.product .price .amount {
	color: var(--ks-primary) !important;
	font-weight: 700;
}

body.theme-junotoys.woocommerce ul.products li.product .price del,
body.theme-junotoys.woocommerce ul.products li.product .price del .amount,
body.theme-junotoys .woocommerce ul.products li.product .price del {
	color: var(--ks-muted-foreground) !important;
	font-weight: 500;
	opacity: 0.85;
}

/* ── Single product (colors only — no gallery frame) ───────── */

body.theme-junotoys.woocommerce div.product .product_title,
body.theme-junotoys .woocommerce div.product .product_title {
	color: var(--ks-foreground);
	font-weight: 700;
}

body.theme-junotoys.woocommerce div.product p.price,
body.theme-junotoys.woocommerce div.product span.price,
body.theme-junotoys.woocommerce div.product p.price .amount,
body.theme-junotoys .woocommerce div.product p.price,
body.theme-junotoys .woocommerce div.product span.price {
	color: var(--ks-primary) !important;
	font-weight: 700;
}

/* Explicitly leave gallery unframed */
body.theme-junotoys.woocommerce div.product .woocommerce-product-gallery,
body.theme-junotoys .woocommerce div.product .woocommerce-product-gallery,
body.theme-junotoys.woocommerce div.product .woocommerce-product-gallery__wrapper,
body.theme-junotoys.woocommerce div.product .woocommerce-product-gallery__image,
body.theme-junotoys.woocommerce div.product .woocommerce-product-gallery img {
	border: none !important;
	background: transparent !important;
	box-shadow: none !important;
}

body.theme-junotoys.woocommerce div.product .woocommerce-tabs ul.tabs li a {
	font-weight: 700;
	color: var(--ks-muted-foreground);
}

body.theme-junotoys.woocommerce div.product .woocommerce-tabs ul.tabs li.active a,
body.theme-junotoys.woocommerce div.product .woocommerce-tabs ul.tabs li:hover a {
	color: var(--ks-primary) !important;
}

/* ikrimikri PDP helpers — color links only */
body.theme-junotoys .ikrimikri-product-scroll-link a {
	color: var(--ks-primary) !important;
	font-weight: 600;
	text-decoration: underline;
	text-underline-offset: 0.18em;
}

body.theme-junotoys .ikrimikri-product-scroll-link a:hover {
	color: var(--ks-accent) !important;
}

body.theme-junotoys .ikrimikri-product-attributes__heading,
body.theme-junotoys .ikrimikri-product-faq__question {
	color: var(--ks-foreground);
}

body.theme-junotoys .ikrimikri-product-faq__answer {
	color: var(--ks-muted-foreground);
}

body.theme-junotoys.woocommerce div.product form.cart .variations select:focus {
	border-color: var(--ks-primary);
	outline: 2px solid color-mix(in srgb, var(--ks-primary) 25%, transparent);
	outline-offset: 1px;
}

/* ── Creator archive (light gradient, no hard product-style box) ─ */

body.theme-junotoys .attr-creator-profile {
	display: flex;
	gap: 1.25rem;
	align-items: center;
	flex-wrap: wrap;
	background: linear-gradient(
		135deg,
		color-mix(in srgb, var(--ks-sky) 8%, transparent) 0%,
		transparent 100%
	);
	padding: 1.25rem 0;
	margin: 0 0 1.75rem;
}

body.theme-junotoys .attr-creator-profile img,
body.theme-junotoys .attr-creator-image {
	width: 96px !important;
	max-width: 96px !important;
	height: 96px !important;
	object-fit: cover;
}

body.theme-junotoys .attr-creator-profile h3 {
	margin: 0 0 0.35rem;
	color: var(--ks-foreground);
	font-weight: 700;
}

body.theme-junotoys .attr-creator-profile p {
	margin: 0;
	color: var(--ks-muted-foreground);
	line-height: 1.55;
	max-width: 42rem;
}

/* ── Footer / sidebar (color only) ─────────────────────────── */

body.theme-junotoys .footer_wrap {
	background: color-mix(in srgb, var(--ks-muted) 70%, white) !important;
}

body.theme-junotoys .footer_wrap .widget_title,
body.theme-junotoys .footer_wrap .widgettitle,
body.theme-junotoys .footer_wrap h5 {
	color: var(--ks-foreground) !important;
	font-weight: 700;
}

body.theme-junotoys .footer_wrap a:hover {
	color: var(--ks-primary) !important;
}

body.theme-junotoys .sidebar .widget .widget_title,
body.theme-junotoys .sidebar .widget .widgettitle {
	color: var(--ks-foreground) !important;
	font-weight: 700;
}

body.theme-junotoys .sidebar .widget a:hover {
	color: var(--ks-primary) !important;
}

body.theme-junotoys .woocommerce .widget_price_filter .ui-slider .ui-slider-range,
body.theme-junotoys .woocommerce .widget_price_filter .ui-slider .ui-slider-handle {
	background-color: var(--ks-primary) !important;
}

body.theme-junotoys .woocommerce .widget_price_filter .price_slider_wrapper .ui-widget-content {
	background: var(--ks-secondary) !important;
}

body.theme-junotoys .woocommerce-widget-layered-nav-list li.chosen a::before,
body.theme-junotoys .woocommerce-widget-layered-nav-list li a:hover::before {
	background-color: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
}

/* ── Forms focus (color only) ──────────────────────────────── */

body.theme-junotoys input:focus,
body.theme-junotoys textarea:focus,
body.theme-junotoys select:focus {
	border-color: var(--ks-primary) !important;
	box-shadow: 0 0 0 3px color-mix(in srgb, var(--ks-primary) 22%, transparent) !important;
	outline: none;
}

/* ── Pagination / notices (color only) ─────────────────────── */

body.theme-junotoys .nav-links .page-numbers.current,
body.theme-junotoys .woocommerce nav.woocommerce-pagination ul li span.current {
	background-color: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
	color: #fff !important;
}

body.theme-junotoys .nav-links .page-numbers:hover,
body.theme-junotoys .woocommerce nav.woocommerce-pagination ul li a:hover {
	color: var(--ks-primary) !important;
	border-color: var(--ks-primary) !important;
}

body.theme-junotoys .woocommerce-message,
body.theme-junotoys .woocommerce-info {
	border-top-color: var(--ks-primary);
	background: color-mix(in srgb, var(--ks-primary) 6%, white);
}

body.theme-junotoys .woocommerce-error {
	border-top-color: var(--ks-destructive);
}

/* ── Elementor heading color ───────────────────────────────── */

body.theme-junotoys.elementor-default .elementor-widget-heading .elementor-heading-title {
	color: var(--ks-foreground);
}

/* Soft rainbow divider utility (opt-in class) */
.ks-section-divider {
	display: block;
	height: 3px;
	width: 100%;
	margin: 0;
	border: 0;
	background: linear-gradient(
		90deg,
		transparent 0%,
		var(--ks-sun) 12%,
		var(--ks-coral) 50%,
		var(--ks-purple) 88%,
		transparent 100%
	);
}

/* ── Mobile + a11y ─────────────────────────────────────────── */

@media (max-width: 767px) {
	body.theme-junotoys .attr-creator-profile {
		gap: 0.85rem;
		padding: 1rem 0;
	}

	body.theme-junotoys .attr-creator-profile img,
	body.theme-junotoys .attr-creator-image {
		width: 72px !important;
		max-width: 72px !important;
		height: 72px !important;
	}

	body.theme-junotoys .page_content_wrap {
		background-size: auto, auto, auto, 18px 18px;
	}

	body.theme-junotoys .page_content_wrap::before,
	body.theme-junotoys .page_content_wrap::after {
		opacity: 0.14;
		filter: blur(40px);
	}
}

@media (prefers-reduced-motion: reduce) {
	body.theme-junotoys .page_content_wrap::before,
	body.theme-junotoys .page_content_wrap::after {
		animation: none !important;
	}

	body.theme-junotoys .sc_button,
	body.theme-junotoys .woocommerce a.button,
	body.theme-junotoys .woocommerce button.button {
		transition: none !important;
	}
}
