/* =========================================================================
   Toys for Kids — design-match fixes (desktop + mobile). Loaded last.
   ====================================================================== */

/* ---------- Elementor global colours & fonts → brand ---------- */
body[class*="elementor-kit-"],
.elementor-kit-8 {
	--e-global-color-primary: #1E2A47;
	--e-global-color-secondary: #FF6B4A;
	--e-global-color-text: #3A4562;
	--e-global-color-accent: #12A39A;
	--e-global-typography-primary-font-family: "Fredoka";
	--e-global-typography-primary-font-weight: 700;
	--e-global-typography-secondary-font-family: "Fredoka";
	--e-global-typography-secondary-font-weight: 600;
	--e-global-typography-text-font-family: "Nunito";
	--e-global-typography-text-font-weight: 400;
	--e-global-typography-accent-font-family: "Nunito";
	--e-global-typography-accent-font-weight: 800;
}
.elementor-widget-text-editor,
.elementor-widget-icon-box .elementor-icon-box-description,
.elementor-widget-button .elementor-button { font-family: "Nunito", sans-serif; }

/* ---------- Homepage: coloured bands edge to edge ---------- */
body.home .main-page-wrapper { padding-top: 0 !important; }
body.home .main-page-wrapper > .container { max-width: none !important; padding-left: 0 !important; padding-right: 0 !important; }
body.home .main-page-wrapper .content-layout-wrapper { margin-left: 0 !important; margin-right: 0 !important; }
body.home .main-page-wrapper .site-content { padding-left: 0; padding-right: 0; }
.tfk-hero-wrap { margin-top: 0 !important; }

/* ---------- Product cards (WoodMart loops) ---------- */
.product-grid-item .product-wrapper,
.wd-product .product-wrapper { box-shadow: 0 4px 14px rgba(30, 42, 71, .06); padding: 12px; }
.product-grid-item:hover .product-wrapper,
.wd-product:hover .product-wrapper { box-shadow: 0 14px 30px rgba(30, 42, 71, .12); }
body .wd-product .product-information,
body .wd-product .product-element-bottom { text-align: left; padding-left: 4px; padding-right: 4px; }
body .wd-product .wd-entities-title { font-family: "Nunito", sans-serif; font-weight: 700; font-size: 16px; line-height: 1.35; min-height: 43px; display: -webkit-box; -webkit-line-clamp: 2; -webkit-box-orient: vertical; overflow: hidden; }
body .wd-product .wd-entities-title a { color: #1E2A47; }
body .wd-product .wd-product-cats { display: none; }
body .wd-product .wrapp-product-price { justify-content: flex-start; }
body .wd-product .tfk-age-tag { flex-basis: auto !important; margin-bottom: 2px; }
body .wd-product .wrapp-product-price .price { flex-basis: 100%; }
body .wd-product .price { font-family: "Fredoka", sans-serif; font-weight: 700; font-size: 21px; color: #1E2A47; }
body .wd-product .price del { font-family: "Nunito", sans-serif; font-size: 14px; font-weight: 600; color: #6B7389; }
body .wd-product .price ins { color: #E24A2A; text-decoration: none; }
body .wd-product .product-labels .product-label { min-width: 0; min-height: 0; padding: 5px 10px; border-radius: 999px; font-size: 12px; font-weight: 800; line-height: 1; }
body .wd-product .product-labels .onsale { background: #FFC93C; color: #1E2A47; }
body .wd-product .product-labels .featured { background: #E24A2A; color: #fff; }
body .wd-product .product-labels .out-of-stock { background: #1E2A47; color: #fff; }

/* ---------- Single product: tidy extras ---------- */
body.single-product .product_meta .wd-social-icons:empty,
body.single-product .product-share:has(.wd-social-icons:empty) { display: none; }
body.single-product .wd-wishlist-btn a,
body.single-product .wd-wishlist-btn .button { font-weight: 800; color: #1E2A47; }
body.single-product .summary-inner .wd-wishlist-btn { margin-top: 12px; }

/* ---------- Shop / category banner placement ---------- */
.tfk-shop-head {
	flex: 0 0 100%;
	max-width: 100%;
	order: -10;
	width: 100%;
	margin-bottom: 10px;
}
.tfk-shop-head .tfk-cat-banner {
	width: 100vw;
	margin-left: calc(50% - 50vw);
	margin-top: -40px;
}
.tfk-shop-head .tfk-chips { padding-left: 0 !important; padding-right: 0 !important; }
body.woocommerce-shop .wd-breadcrumbs,
body.tax-product_cat .wd-breadcrumbs { display: none; }
.tfk-mtools, .tfk-mtools__found { display: none; }

.tfk-shop-head { padding-left: 15px; padding-right: 15px; }

/* ---------- Cart / checkout / account: full width, no blog sidebar ---------- */
body.woocommerce-cart .sidebar-container,
body.woocommerce-checkout .sidebar-container,
body.woocommerce-account .sidebar-container { display: none !important; }
body.woocommerce-cart .site-content,
body.woocommerce-checkout .site-content,
body.woocommerce-account .site-content { flex: 0 0 100% !important; max-width: 100% !important; width: 100% !important; }
body.woocommerce-account:not(.logged-in) .woocommerce > h2,
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .wd-registration-page { max-width: 480px; margin-left: auto; margin-right: auto; }
body.woocommerce-account:not(.logged-in) .woocommerce > form.login,
body.woocommerce-account:not(.logged-in) .wd-registration-page form {
	background: #fff; border: 2px solid #F3E3D3; border-radius: 24px; padding: 28px !important;
}
body.woocommerce-account:not(.logged-in) .woocommerce > h2 { font-family: "Fredoka", sans-serif; font-size: 32px; text-transform: none; margin-top: 10px; }
body.woocommerce-account .woocommerce-form-login__submit { width: 100%; border-radius: 999px !important; min-height: 50px; font-size: 16px !important; font-weight: 800 !important; text-transform: none !important; }
body.woocommerce-cart .wc-empty-cart-message,
body.woocommerce-cart .cart-empty,
body.woocommerce-cart .return-to-shop { text-align: center; }
body.woocommerce-cart .return-to-shop .button { border-radius: 999px !important; min-height: 50px; padding: 0 28px !important; font-size: 16px !important; font-weight: 800 !important; text-transform: none !important; }

/* ---------- Mobile header extras (search + chips) ---------- */
.tfk-mhead { display: none; }

/* ---------- Mobile sticky bars (hidden on desktop) ---------- */
.tfk-mbar { display: none; }

/* ======================================================================
   Tablet & phone
   ==================================================================== */
@media (max-width: 1024px) {
	/* Header: burger | logo | cart (navy) like the design */
	.whb-general-header .whb-mobile-left .wd-header-mobile-nav > a {
		width: 44px; height: 44px; border-radius: 14px; background: #FFF9F2;
		display: grid !important; place-items: center; padding: 0 !important;
	}
	.whb-general-header .whb-mobile-right .wd-header-cart > a {
		position: relative; width: 44px; height: 44px; border-radius: 14px; background: #1E2A47; color: #fff !important;
		display: grid !important; place-items: center; padding: 0 !important;
	}
	.whb-general-header .whb-mobile-right .wd-header-cart .wd-tools-icon { color: #fff; }
	.whb-general-header .whb-mobile-right .wd-header-cart .wd-tools-icon::before { color: #fff; }
	.whb-general-header .whb-mobile-right .wd-header-cart .wd-cart-number,
	.whb-general-header .whb-mobile-right .wd-header-cart .wd-tools-count {
		position: absolute; top: -5px; right: -5px; min-width: 20px; height: 20px; border-radius: 10px;
		background: #FFC93C; color: #1E2A47; font-size: 11px; font-weight: 800; line-height: 20px; text-align: center;
	}
	.whb-general-header .whb-mobile-right .wd-header-cart .wd-cart-subtotal { display: none; }

	/* Search + chips under the header */
	.tfk-mhead { display: block; background: #fff; padding: 0 16px 10px; box-shadow: 0 4px 14px rgba(30, 42, 71, .06); position: relative; z-index: 3; }
	.tfk-msearch {
		display: flex; align-items: center; gap: 10px;
		height: 48px; padding: 0 16px; border-radius: 999px;
		background: #FFF9F2; border: 2px solid #F3E3D3; color: #4A5470;
	}
	.tfk-msearch input[type="search"] {
		flex: 1; min-width: 0; height: 44px; border: 0 !important; background: transparent !important; box-shadow: none !important;
		padding: 0 !important; font-family: "Nunito", sans-serif; font-size: 16px; color: #1E2A47;
	}
	.tfk-mchips { display: flex; gap: 8px; overflow-x: auto; padding: 10px 0 2px; margin: 0 -16px; padding-left: 16px; padding-right: 16px; scrollbar-width: none; }
	.tfk-mchips::-webkit-scrollbar { display: none; }
	.tfk-mchip {
		flex: none; height: 36px; padding: 0 14px; border-radius: 999px;
		display: inline-flex; align-items: center; gap: 6px;
		font-family: "Nunito", sans-serif; font-weight: 800; font-size: 14px;
		background: #fff; color: #1E2A47 !important; border: 2px solid #F3E3D3; text-decoration: none !important;
	}
	.tfk-mchip span { background: #6A48F0; color: #fff; font-size: 10px; padding: 2px 6px; border-radius: 999px; }
	.tfk-mchip--sale { background: #E24A2A; color: #fff !important; border-color: #E24A2A; }
	.tfk-mchip--new { background: #6A48F0; color: #fff !important; border-color: #6A48F0; }

	/* Floating WhatsApp: sit above WoodMart's bottom toolbar, icon only */
	.tfk-wa-float { bottom: 76px !important; right: 14px !important; }
	.tfk-wa-float__label { display: none !important; }
	body.tfk-has-mbar .tfk-wa-float { display: none !important; }
	body.tfk-has-mbar .wd-toolbar { display: none !important; }

	/* WoodMart bottom toolbar → brand look */
	.wd-toolbar { box-shadow: 0 -6px 20px rgba(30, 42, 71, .08); border-radius: 18px 18px 0 0; }
	.wd-toolbar .wd-toolbar-label { font-family: "Nunito", sans-serif; font-weight: 800; color: #1E2A47; }

	/* Sticky bars */
	.tfk-mbar {
		display: flex; gap: 10px;
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 390;
		background: #fff; box-shadow: 0 -8px 24px rgba(30, 42, 71, .1);
		padding: 12px 16px calc(12px + env(safe-area-inset-bottom));
		border-radius: 22px 22px 0 0;
	}
	body.tfk-has-mbar { padding-bottom: 96px; }
	.tfk-mbar__wa {
		flex: none; width: 60px; height: 56px; border-radius: 16px;
		background: #0B7F78; color: #fff !important; display: grid; place-items: center;
	}
	.tfk-mbar__cart, .tfk-mbar__place {
		flex: 1; height: 56px; border: 0; border-radius: 16px; background: #E24A2A; color: #fff;
		font-family: "Nunito", sans-serif; font-weight: 800; font-size: 16px; text-transform: none;
		display: flex; align-items: center; justify-content: center; gap: 8px; cursor: pointer;
	}
	.tfk-mbar__cart b { font-weight: 800; }
	.tfk-mbar__oos { flex: 1; display: grid; place-items: center; font-weight: 800; color: #4A5470; }
	.tfk-mbar--checkout { flex-direction: column; gap: 8px; }
	.tfk-mbar__row { display: flex; justify-content: space-between; align-items: baseline; }
	.tfk-mbar__row span { font-weight: 800; font-size: 14px; color: #4A5470; }
	.tfk-mbar__row strong { font-family: "Fredoka", sans-serif; font-weight: 700; font-size: 24px; color: #1E2A47; }
	.tfk-mbar__place { flex: none; width: 100%; }
	body.woocommerce-checkout.tfk-has-mbar { padding-bottom: 140px; }

	/* Shop: design-style banner card + sticky Filters/Sort bar */
	.tfk-shop-head .tfk-cat-banner { width: auto; margin: 0 0 4px; border-radius: 24px; padding: 16px 18px; }
	.tfk-shop-head .tfk-cat-banner__wave { display: none; }
	.tfk-shop-head .tfk-cat-banner__inner { padding: 0 !important; gap: 12px; }
	.tfk-shop-head .tfk-cat-banner__desc { display: none; }
	.tfk-shop-head .tfk-cat-banner__title { font-size: 32px !important; margin-bottom: 4px !important; }
	.tfk-shop-head .tfk-crumbs { font-size: 12px; margin-bottom: 4px; }
	.tfk-shop-head .tfk-cat-banner__count { background: none; padding: 0; color: #4A5470; font-size: 13px; }
	.tfk-shop-head .tfk-cat-banner__art { width: 96px; height: 96px; }
	.tfk-shop-head .tfk-cat-banner__blob { opacity: 1; background: #FF6B4A; }
	.tfk-shop-head .tfk-cat-banner__card { width: 64px; height: 64px; border-radius: 18px; transform: translate(-50%, -50%) rotate(-5deg); }
	.tfk-shop-head .tfk-cat-banner__card .tfk-ico { width: 38px; height: 38px; }
	.tfk-shop-head .tfk-cat-banner__star { display: none; }
	.tfk-shop-head .tfk-chips { margin: 0 -15px; padding: 10px 15px 2px !important; }

	.tfk-mtools {
		display: flex; gap: 10px;
		position: sticky; top: 60px; z-index: 20;
		background: #FFF9F2; padding: 10px 0; margin-bottom: 2px;
	}
	.tfk-mtools__filters {
		flex: 1; height: 48px; border: 0; border-radius: 14px; background: #1E2A47; color: #fff;
		font-family: "Nunito", sans-serif; font-weight: 800; font-size: 15px; text-transform: none;
		display: flex; align-items: center; justify-content: center; gap: 8px; padding: 0 10px;
	}
	.tfk-mtools__count { background: #FFC93C; color: #1E2A47; font-size: 12px; min-width: 22px; height: 22px; border-radius: 11px; display: grid; place-items: center; }
	.tfk-mtools__sort { flex: 1; margin: 0; }
	.tfk-mtools__sort select {
		width: 100%; height: 48px; border: 2px solid #F3E3D3 !important; border-radius: 14px !important; padding: 0 12px !important;
		font-family: "Nunito", sans-serif; font-weight: 800; font-size: 15px; color: #1E2A47; background-color: #fff;
	}
	.tfk-mtools__found { display: none !important; }
	.tfk-mtools__sort select { padding-right: 32px !important; text-overflow: ellipsis; }
	body.woocommerce-shop .shop-loop-head,
	body.tax-product_cat .shop-loop-head,
	body.tax-product_tag .shop-loop-head { display: none !important; }
}

@media (max-width: 767px) {
	/* Homepage hero: rounded card inset like the mobile design */
	body.home .tfk-hero-wrap { padding: 12px 16px 0 !important; }
	body.home .tfk-hero-slider { border-radius: 28px; overflow: hidden; }
	body.home .tfk-hero-slider .tfk-slide__inner { padding-bottom: 40px; }
	body.home .tfk-hero-slider__wave { display: none; }

	/* Elementor section spacing */
	body.home .elementor-element.e-con.e-parent { --padding-left: 16px; --padding-right: 16px; }
	body.home .elementor-heading-title { word-break: normal; }
	body.home h2.elementor-heading-title { font-size: 28px !important; line-height: 1.15 !important; }

	/* Shop by age: 2 × 2 grid */
	.elementor-element-a0000013 { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px !important; }
	.elementor-element-a0000013 > .e-con {
		--width: 100% !important; width: 100% !important; max-width: none !important;
		min-height: 170px; --padding-top: 16px; --padding-right: 16px; --padding-bottom: 16px; --padding-left: 16px;
		padding: 16px !important; gap: 4px !important;
	}
	.elementor-element-a0000013 > .e-con .elementor-widget-text-editor { display: none; }
	.elementor-element-a0000013 > .e-con .elementor-heading-title { font-size: 18px !important; line-height: 1.15 !important; }
	.elementor-element-a0000013 > .e-con > .elementor-widget-heading:first-child .elementor-heading-title { font-size: 38px !important; line-height: 1 !important; }
	.elementor-element-a0000013 > .e-con .elementor-widget-button { margin-top: auto; }
	.elementor-element-a0000013 > .e-con .elementor-button { padding: 8px 14px !important; font-size: 13px !important; white-space: nowrap; }

	/* Hero slider on phones: no arrows, dots under the button */
	body .tfk-hero-slider__arrow { display: none !important; }
	body .tfk-hero-slider__nav { bottom: 22px !important; }
	body .tfk-hero-slider .tfk-slide__inner { padding-bottom: 64px !important; }

	/* Header sits flush with the search bar */
	header.whb-header { margin-bottom: 0 !important; }
	.tfk-mhead { margin-bottom: 14px; }
	body.home .tfk-mhead { margin-bottom: 0; }

	/* Collections: side-scrolling cards */
	.elementor-element-a0000030 > .e-con-inner,
	.elementor-element-a0000030.e-con-full {
		display: flex !important; flex-direction: row !important; flex-wrap: nowrap !important;
		overflow-x: auto; scroll-snap-type: x mandatory; gap: 12px !important; scrollbar-width: none;
	}
	.elementor-element-a0000030 > .e-con-inner > .e-con,
	.elementor-element-a0000030 > .e-con { flex: 0 0 300px !important; width: 300px !important; min-height: 260px !important; scroll-snap-align: start; }

	/* Trust strip: compact 2 × 2 */
	.elementor-element-a0000080 > .e-con-inner,
	.elementor-element-a0000080.e-con-full { display: grid !important; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 16px !important; }
	.elementor-element-a0000080 .elementor-widget-icon-box { width: auto !important; max-width: none !important; }
	.elementor-element-a0000080 .elementor-icon-box-wrapper { text-align: left !important; display: flex; flex-direction: column; align-items: flex-start; gap: 8px; }
	.elementor-element-a0000080 .elementor-icon-box-icon { margin: 0 !important; }
	.elementor-element-a0000080 .elementor-icon { font-size: 26px !important; padding: 12px !important; }
	.elementor-element-a0000080 .elementor-icon-box-title { font-size: 16px !important; margin: 0 0 2px !important; }
	.elementor-element-a0000080 .elementor-icon-box-description { font-size: 13px !important; }
	.elementor-element-a0000080 { margin-left: 16px !important; margin-right: 16px !important; border-radius: 24px; }

	/* SEO text: single column */
	.elementor-element-a0000094 { flex-direction: column !important; }
	.elementor-element-a0000094 > * { width: 100% !important; max-width: none !important; }

	/* Newsletter */
	.elementor-element-a00000a0 { margin-left: 16px !important; margin-right: 16px !important; }
	.elementor-element-a00000a0 .elementor-button { width: 100%; justify-content: center; }

	/* Product cards on phones: compact like the design */
	.product-grid-item .product-wrapper, .wd-product .product-wrapper { padding: 8px; border-radius: 20px; }
	body .wd-product .wd-entities-title { font-size: 14px; min-height: 38px; }
	body .wd-product .price { font-size: 18px; }
	body .wd-product .tfk-age-tag { font-size: 11px; padding: 3px 8px; }

	/* Footer: Shop + Help side by side, tighter lists */
	.tfk-footer__grid { display: grid !important; grid-template-columns: 1fr 1fr; gap: 24px 16px !important; }
	.tfk-footer__brand, .tfk-footer__contact, .tfk-footer__club { grid-column: 1 / -1; }
	.tfk-footer__col ul li { margin-bottom: 4px; }
	.tfk-footer__col a { padding: 4px 0; display: inline-block; }
	.tfk-footer__bar-inner { flex-direction: column; align-items: flex-start; gap: 12px; }
	.tfk-footer__legal { display: flex; flex-wrap: wrap; gap: 6px 14px; }
	.tfk-footer .tfk-footer__btn { width: auto !important; white-space: nowrap; padding: 0 24px !important; }

	/* Single product (mobile) */
	body.single-product .tfk-info-box { padding: 14px; }
	body.single-product .woocommerce-tabs .tabs { display: flex; overflow-x: auto; flex-wrap: nowrap; scrollbar-width: none; }
	body.single-product .woocommerce-tabs .tabs li { flex: none; }

	/* Cart / checkout (mobile) */
	body.woocommerce-cart .shop_table td { padding-left: 8px; padding-right: 8px; }
	body.woocommerce-checkout #place_order { display: none !important; }
}
