/* ==========================================================================
   Toys for Kids — brand layer on top of WoodMart
   1. Design tokens          6. Product cards
   2. WoodMart variables     7. Single product
   3. Base typography        8. Cart drawer, mini cart, checkout
   4. Buttons & forms        9. Announcement bar + WhatsApp
   5. Header & menus        10. Footer, utilities, motion
   ========================================================================== */

/* 1. Design tokens -------------------------------------------------------- */
:root {
	--tfk-coral: #E24A2A;          /* buttons, links (AA with white text) */
	--tfk-coral-hover: #C93C1F;
	--tfk-coral-shadow: #B8361C;
	--tfk-coral-bright: #FF6B4A;   /* decoration only */
	--tfk-teal: #0B7F78;           /* badges, icons (AA with white text) */
	--tfk-teal-bright: #12A39A;    /* decoration */
	--tfk-yellow: #FFC93C;         /* sale tags, stars */
	--tfk-purple: #6A48F0;         /* "New" badges, age cards */
	--tfk-purple-bright: #7B5CFA;
	--tfk-navy: #1E2A47;
	--tfk-muted: #4A5470;
	--tfk-cream: #FFF9F2;
	--tfk-white: #FFFFFF;
	--tfk-line: #F3E3D3;
	--tfk-peach: #FFEDE6;
	--tfk-mint: #E3F7F4;
	--tfk-lemon: #FFF6D6;
	--tfk-lavender: #EFEBFF;
	--tfk-font-head: 'Fredoka', 'Trebuchet MS', sans-serif;
	--tfk-font-body: 'Nunito', 'Trebuchet MS', sans-serif;
	--tfk-r-sm: 14px;
	--tfk-r-md: 18px;
	--tfk-r-lg: 24px;
	--tfk-r-xl: 32px;
	--tfk-shadow: 0 4px 14px rgba(30, 42, 71, .06);
	--tfk-shadow-hover: 0 14px 30px rgba(30, 42, 71, .12);
}

/* 2. WoodMart variables (doubled selector beats the theme's own :root) ---- */
:root:root {
	--wd-primary-color: var(--tfk-coral);
	--wd-alternative-color: var(--tfk-teal);
	--wd-link-color: var(--tfk-coral);
	--wd-link-color-hover: var(--tfk-coral-hover);
	--wd-text-font: var(--tfk-font-body);
	--wd-text-color: var(--tfk-navy);
	--wd-title-font: var(--tfk-font-head);
	--wd-title-font-weight: 700;
	--wd-title-color: var(--tfk-navy);
	--wd-entities-title-font: var(--tfk-font-body);
	--wd-entities-title-font-weight: 700;
	--wd-entities-title-color: var(--tfk-navy);
	--wd-entities-title-color-hover: var(--tfk-coral);
	--wd-widget-title-font: var(--tfk-font-head);
	--wd-header-el-font: var(--tfk-font-body);
	--wd-header-el-font-weight: 800;
	--wd-primary-font: var(--tfk-font-head);
	--wd-brd-radius: var(--tfk-r-md);
	--wd-form-brd-radius: var(--tfk-r-sm);
	--wd-form-brd-width: 2px;
	--wd-form-brd-color: var(--tfk-line);
	--wd-form-brd-color-focus: var(--tfk-teal-bright);
	--btn-default-bgcolor: var(--tfk-navy);
	--btn-default-bgcolor-hover: #2C3A60;
	--btn-default-color: #fff;
	--btn-default-color-hover: #fff;
	--btn-default-brd-radius: var(--tfk-r-sm);
	--btn-accented-bgcolor: var(--tfk-coral);
	--btn-accented-bgcolor-hover: var(--tfk-coral-hover);
	--btn-accented-brd-radius: var(--tfk-r-sm);
	--btn-font-family: var(--tfk-font-body);
	--btn-font-weight: 800;
	--btn-transform: none;
	--wd-bordered-brd-color: var(--tfk-line);
	--color-gray-300: var(--tfk-line);
	--bgcolor-white: #fff;
}

/* 3. Base typography ------------------------------------------------------ */
body {
	background-color: var(--tfk-cream);
	color: var(--tfk-navy);
	font-family: var(--tfk-font-body);
}
h1, h2, h3, h4, h5, h6,
.title, .wd-title, .page-title .title, .widget-title, .wd-el-title {
	font-family: var(--tfk-font-head);
	color: var(--tfk-navy);
	letter-spacing: -.005em;
	text-wrap: balance;
}
a { color: var(--tfk-coral); }
a:hover { color: var(--tfk-coral-hover); }
::selection { background: var(--tfk-yellow); color: var(--tfk-navy); }

.main-page-wrapper,
.website-wrapper { background-color: var(--tfk-cream); }

/* Breadcrumbs */
.woocommerce-breadcrumb,
.wd-breadcrumbs,
.yoast-breadcrumb,
.rank-math-breadcrumb { font-weight: 700; color: var(--tfk-muted); }
.woocommerce-breadcrumb a,
.wd-breadcrumbs a,
.rank-math-breadcrumb a { color: var(--tfk-muted); }

/* 4. Buttons & forms ------------------------------------------------------ */
.btn, .button, button.button, input[type="submit"],
.wd-btn, .woocommerce-button,
.single_add_to_cart_button, .add_to_cart_button, .checkout-button, #place_order {
	border-radius: var(--tfk-r-sm);
	font-family: var(--tfk-font-body);
	font-weight: 800;
	text-transform: none;
	letter-spacing: 0;
	min-height: 46px;
	transition: background-color .2s, transform .15s, box-shadow .2s;
}
.btn-color-primary, .btn.btn-color-primary,
.single_add_to_cart_button, .checkout-button, #place_order,
.wd-add-btn .add_to_cart_button, .add_to_cart_button {
	background-color: var(--tfk-coral);
	color: #fff;
}
.btn-color-primary:hover,
.single_add_to_cart_button:hover, .checkout-button:hover, #place_order:hover,
.add_to_cart_button:hover {
	background-color: var(--tfk-coral-hover);
	color: #fff;
}
.single_add_to_cart_button, .checkout-button, #place_order {
	min-height: 56px;
	border-radius: 16px;
	font-size: 17px;
	box-shadow: 0 6px 0 var(--tfk-coral-shadow);
}
.single_add_to_cart_button:active, .checkout-button:active, #place_order:active {
	transform: translateY(3px);
	box-shadow: 0 3px 0 var(--tfk-coral-shadow);
}

input[type="text"], input[type="email"], input[type="tel"], input[type="number"],
input[type="search"], input[type="password"], input[type="url"],
select, textarea, .select2-container .select2-selection {
	border: 2px solid var(--tfk-line);
	border-radius: var(--tfk-r-sm);
	background-color: #fff;
	color: var(--tfk-navy);
	font-family: var(--tfk-font-body);
	min-height: 48px;
}
input:focus, select:focus, textarea:focus { border-color: var(--tfk-teal-bright); }
label { font-weight: 700; }

/* Quantity stepper */
.quantity { border-radius: var(--tfk-r-sm); overflow: hidden; }
.quantity input[type="button"], .quantity .minus, .quantity .plus {
	background: var(--tfk-cream);
	border-color: var(--tfk-line);
	font-weight: 800;
	min-width: 40px;
}
.quantity input.qty { font-weight: 800; }

/* 5. Header & menus ------------------------------------------------------- */
.whb-header, .whb-main-header, .whb-general-header { background-color: #fff; }
.whb-sticked .whb-main-header { box-shadow: 0 6px 20px rgba(30, 42, 71, .08); }
.whb-header-bottom { border-top: 1px solid var(--tfk-line); }

/* Main navigation items: rounded pills on hover / current */
.wd-nav-main > li > a,
.whb-header .wd-nav > li > a {
	font-family: var(--tfk-font-body);
	font-weight: 800;
	font-size: 15px;
	text-transform: none;
	letter-spacing: 0;
	border-radius: 12px;
}
.wd-nav-main > li:hover > a,
.wd-nav-main > li.current-menu-item > a { color: var(--tfk-coral); }
.wd-nav-main > li.tfk-menu-sale > a { background: var(--tfk-coral); color: #fff; padding-inline: 14px; }
.wd-nav-main > li.tfk-menu-sale > a:hover { background: var(--tfk-coral-hover); color: #fff; }

/* Menu label badges ("New", "Hot") — WoodMart menu label colours */
.menu-label { border-radius: 999px; font-weight: 800; text-transform: uppercase; font-size: 10px; letter-spacing: .04em; }
.menu-label-primary { background-color: var(--tfk-coral); }
.menu-label-secondary, .menu-label-blue { background-color: var(--tfk-purple); }
.menu-label-green { background-color: var(--tfk-teal); }
.menu-label-orange, .menu-label-red { background-color: var(--tfk-coral); }

/* Wordmark logo (header "text" element) */
.tfk-logo {
	display: inline-flex;
	align-items: baseline;
	gap: 6px;
	font-family: var(--tfk-font-head);
	font-weight: 700;
	font-size: 34px;
	line-height: 1;
	text-decoration: none;
	white-space: nowrap;
}
.tfk-logo:hover { text-decoration: none; }
.tfk-logo__toys { color: var(--tfk-coral-bright); }
.tfk-logo__for { color: var(--tfk-teal-bright); font-size: .6em; font-weight: 600; display: inline-block; transform: rotate(-8deg); }
.tfk-logo__kids { color: var(--tfk-purple-bright); position: relative; padding-right: 16px; }
.tfk-logo__kids::after {
	content: "";
	position: absolute;
	right: 0;
	top: -4px;
	width: 15px;
	height: 15px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23FFC93C' d='M12 2.8l2.8 5.7 6.3.9-4.6 4.4 1.1 6.2L12 17l-5.6 3 1.1-6.2L2.9 9.4l6.3-.9z'/%3E%3C/svg%3E") no-repeat center / contain;
}
.whb-sticked .tfk-logo { font-size: 28px; }
@media (max-width: 1024px) { .tfk-logo { font-size: 25px; gap: 4px; } }
.tfk-logo-wrap { margin: 0; }
.tfk-track-link { font-weight: 700; font-size: 14px; color: var(--tfk-muted); text-decoration: none; }
.tfk-track-link:hover { color: var(--tfk-coral); }

/* Search column fills the space between logo and icons */
.whb-general-header .whb-col-center { flex: 1 1 auto; padding-inline: 32px; }
.whb-general-header .whb-col-center .wd-search-form,
.whb-general-header .whb-col-center .searchform { width: 100%; max-width: 640px; margin-inline: auto; }

/* Header search: big rounded pill */
.whb-header .searchform,
.whb-header .wd-search-form .searchform {
	border-radius: 999px;
	overflow: hidden;
}
.whb-header .searchform input[type="text"],
.whb-header .searchform input[type="search"] {
	background: var(--tfk-cream);
	border: 2px solid var(--tfk-line);
	border-radius: 999px;
	padding-inline-start: 22px;
	min-height: 52px;
	font-size: 16px;
}
.whb-header .searchform .searchsubmit {
	border-radius: 999px;
	background: var(--tfk-coral);
	color: #fff;
	margin: 4px;
	height: calc(100% - 8px);
}

/* Cart / wishlist counters */
.wd-tools-count,
.wd-header-cart .wd-cart-number,
.wd-header-wishlist .wd-tools-count {
	background-color: var(--tfk-yellow);
	color: var(--tfk-navy);
	font-weight: 800;
}

/* Mega menu dropdowns */
.wd-dropdown, .wd-dropdown-menu, .wd-sub-menu-wrapp, .mega-menu-list, .wd-dropdown-results {
	border-radius: var(--tfk-r-xl);
	box-shadow: 0 30px 60px rgba(30, 42, 71, .2);
	overflow: hidden;
}
.wd-dropdown-menu.wd-design-full-width .wd-sub-menu,
.wd-dropdown-menu .wd-sub-menu > li > a { font-weight: 700; }

/* Mobile side menu (drawer) */
.mobile-nav, .wd-side-hidden { border-radius: 0 28px 28px 0; }
.mobile-nav .wd-nav-mobile > li > a { font-weight: 700; font-size: 15px; min-height: 50px; }
.wd-nav-mob-tab .nav-link-text { font-weight: 800; }

/* 6. Product cards -------------------------------------------------------- */
.wd-product,
.product-grid-item {
	--wd-prod-bg: #fff;
}
.product-grid-item .product-wrapper,
.wd-product .product-wrapper {
	background: #fff;
	border-radius: 22px;
	padding: 12px;
	box-shadow: var(--tfk-shadow);
	transition: transform .2s, box-shadow .2s;
	height: 100%;
}
.product-grid-item:hover .product-wrapper,
.wd-product:hover .product-wrapper {
	transform: translateY(-4px);
	box-shadow: var(--tfk-shadow-hover);
}
.product-grid-item .product-element-top,
.wd-product .product-element-top {
	border-radius: 16px;
	overflow: hidden;
	background: var(--tfk-peach);
}
.product-grid-item:nth-child(4n+2) .product-element-top { background: var(--tfk-mint); }
.product-grid-item:nth-child(4n+3) .product-element-top { background: var(--tfk-lemon); }
.product-grid-item:nth-child(4n+4) .product-element-top { background: var(--tfk-lavender); }

.wd-entities-title, .product-title, .woocommerce-loop-product__title {
	font-family: var(--tfk-font-body);
	font-weight: 700;
	font-size: 16px;
	line-height: 1.35;
	display: -webkit-box;
	-webkit-line-clamp: 2;
	-webkit-box-orient: vertical;
	overflow: hidden;
}

/* Prices: "Rs. 2,999" in Fredoka, sale price coral, old price struck grey */
.price, .amount { font-family: var(--tfk-font-head); font-weight: 700; color: var(--tfk-navy); }
.product-grid-item .price { font-size: 21px; }
.price ins, .price ins .amount { color: var(--tfk-coral); text-decoration: none; }
.price del, .price del .amount { color: #6B7389; font-family: var(--tfk-font-body); font-weight: 600; font-size: .7em; }

/* Labels: sale (yellow), new (purple), hot, out of stock */
.product-labels .product-label,
.product-label {
	border-radius: 999px;
	font-family: var(--tfk-font-body);
	font-weight: 800;
	font-size: 12px;
	text-transform: none;
	letter-spacing: 0;
	padding: 4px 10px;
	min-height: 0;
	line-height: 1.4;
}
.product-label.onsale { background-color: var(--tfk-yellow); color: var(--tfk-navy); }
.product-label.new { background-color: var(--tfk-purple); color: #fff; }
.product-label.featured, .product-label.hot { background-color: var(--tfk-coral); color: #fff; }
.product-label.out-of-stock { background-color: var(--tfk-navy); color: #fff; }

/* Stars */
.star-rating span::before, .star-rating::before { color: var(--tfk-yellow); }
.star-rating::before { color: #E4D6C8; }

/* Hover action buttons (quick view, wishlist, compare) */
.wd-buttons .wd-action-btn > a,
.wd-buttons [class*="wd-"] > a,
.wd-quick-view-btn > a, .wd-wishlist-btn > a, .wd-compare-btn > a {
	border-radius: 50%;
}
.wd-buttons { border-radius: 999px; box-shadow: 0 2px 8px rgba(30, 42, 71, .12); }

/* Add-to-cart on cards: full-width rounded */
.product-grid-item .wd-add-btn .add_to_cart_button,
.product-grid-item .wd-add-btn .button { border-radius: var(--tfk-r-sm); width: 100%; }

/* Colour swatches */
.wd-swatch, .swatch-on-grid .wd-swatch { border-radius: 50%; box-shadow: 0 0 0 2px #fff, 0 0 0 3px #E4D6C8; }
.wd-swatch.wd-active, .wd-swatch.active-swatch { box-shadow: 0 0 0 2px #fff, 0 0 0 4px var(--tfk-navy); }

/* Age tag added by functions.php */
.tfk-age-tag {
	display: inline-block;
	align-self: flex-start;
	background: var(--tfk-lavender);
	color: #5A3BD9;
	font-weight: 800;
	font-size: 12px;
	line-height: 1.4;
	padding: 4px 10px;
	border-radius: 999px;
	margin: 6px 0 4px;
}

/* Shop toolbar, filters, pagination */
.shop-loop-head, .wd-shop-tools {
	background: #fff;
	border-radius: var(--tfk-r-md);
	padding: 10px 14px;
}
.woocommerce-ordering select { font-weight: 800; }
.wd-active-filters .wd-widget-title, .wd-clear-filters a, .wd-active-filters a {
	border-radius: 999px;
	font-weight: 800;
}
.sidebar-container .widget, .wd-sidebar .widget, .filters-area .widget {
	background: #fff;
	border-radius: var(--tfk-r-lg);
	padding: 20px;
	box-shadow: var(--tfk-shadow);
}
.wd-widget-title, .widget-title { font-size: 18px; }
.woocommerce-widget-layered-nav-list a, .wd-filter-list a { font-weight: 600; }
.price_slider .ui-slider-range, .ui-slider .ui-slider-range { background: var(--tfk-coral); }
.price_slider .ui-slider-handle, .ui-slider .ui-slider-handle { border-color: var(--tfk-coral); background: #fff; }
.wd-loop-footer .btn, .wd-load-more {
	border: 2px solid var(--tfk-navy);
	background: #fff;
	color: var(--tfk-navy);
	border-radius: 999px;
	min-height: 54px;
	padding-inline: 36px;
}
.wd-loop-footer .btn:hover, .wd-load-more:hover { background: var(--tfk-navy); color: #fff; }

/* Category thumbnails / chips */
.wd-cat .wrapp-category, .category-grid-item .wrapp-category { border-radius: var(--tfk-r-lg); overflow: hidden; }
.wd-cat .wd-entities-title, .category-grid-item .wd-entities-title { font-weight: 800; }

/* 7. Single product ------------------------------------------------------- */
.single-product .product_title { font-family: var(--tfk-font-head); font-size: clamp(28px, 3vw, 40px); line-height: 1.1; }
.single-product .summary .price { font-size: 34px; }
.woocommerce-product-gallery .wd-carousel-item img,
.woocommerce-product-gallery__image img,
.woocommerce-product-gallery .wd-gallery-images { border-radius: 28px; }
.woocommerce-product-gallery .wd-gallery-thumb img,
.woocommerce-product-gallery .wd-thumb img { border-radius: 16px; }
.single-product .stock.in-stock { color: var(--tfk-teal); font-weight: 800; }
.single-product .stock.out-of-stock { color: var(--tfk-coral); font-weight: 800; }

/* Variation buttons */
.variations .wd-swatch.wd-text, .wd-swatches-product .wd-swatch.wd-text {
	border: 2px solid var(--tfk-line);
	border-radius: var(--tfk-r-sm);
	min-height: 46px;
	padding-inline: 16px;
	font-weight: 800;
	box-shadow: none;
}
.variations .wd-swatch.wd-text.wd-active { border-color: var(--tfk-navy); background: var(--tfk-lemon); }

/* Tabs */
.woocommerce-tabs .wd-nav-tabs > li > a,
.woocommerce-tabs .tabs > li > a {
	font-family: var(--tfk-font-body);
	font-weight: 800;
	font-size: 16px;
	text-transform: none;
}
.woocommerce-tabs .wd-nav-tabs > li.active > a { color: var(--tfk-navy); }
.woocommerce-tabs .wd-nav-tabs > li > a::after { background-color: var(--tfk-coral); height: 4px; border-radius: 2px; }

/* Order on WhatsApp (added by functions.php) */
.tfk-wa-order {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 10px;
	width: 100%;
	min-height: 56px;
	margin: 12px 0 4px;
	border-radius: 16px;
	background: var(--tfk-teal);
	color: #fff;
	font-weight: 800;
	font-size: 17px;
	text-decoration: none;
	transition: background-color .2s;
}
.tfk-wa-order:hover, .tfk-wa-order:focus-visible { background: #086660; color: #fff; }

/* 8. Cart drawer, mini cart, checkout ------------------------------------ */
.cart-widget-side, .wd-side-hidden.wd-right { border-radius: 28px 0 0 28px; }
.cart-widget-side .widget_shopping_cart .total,
.woocommerce-mini-cart__total { font-family: var(--tfk-font-head); font-size: 20px; }
.woocommerce-mini-cart-item .remove { color: #6B7389; }
.woocommerce-mini-cart__buttons .checkout { background: var(--tfk-coral); color: #fff; min-height: 56px; border-radius: 16px; }
.woocommerce-mini-cart__buttons .btn-cart, .woocommerce-mini-cart__buttons .wc-forward:not(.checkout) {
	border: 2px solid var(--tfk-navy);
	background: #fff;
	color: var(--tfk-navy);
	border-radius: 16px;
}
/* WoodMart free-shipping progress bar */
.wd-free-progress-bar .progress-area,
.wd-progress-bar .progress-area { background: #fff; border-radius: 5px; height: 10px; }
.wd-free-progress-bar .progress-bar,
.wd-progress-bar .progress-bar { background: var(--tfk-coral-bright); border-radius: 5px; }
.wd-free-progress-bar, .wd-progress-bar { background: var(--tfk-lemon); border-radius: 16px; padding: 14px 16px; font-weight: 800; }

/* Cart page & checkout cards */
.woocommerce-cart-form, .cart_totals, .woocommerce-checkout-review-order,
.woocommerce-checkout .col2-set > div, .woocommerce-billing-fields, .woocommerce-additional-fields,
.checkout-order-review {
	background: #fff;
	border-radius: var(--tfk-r-lg);
	padding: 24px;
	box-shadow: var(--tfk-shadow);
}
.woocommerce-checkout h3, #order_review_heading { font-family: var(--tfk-font-head); }
.wc_payment_methods > li {
	border: 2px solid var(--tfk-line);
	border-radius: var(--tfk-r-md);
	padding: 14px 16px;
	margin-bottom: 10px;
	background: #fff;
}
.wc_payment_methods > li:has(input:checked) { border-color: var(--tfk-navy); background: var(--tfk-cream); }
.wc_payment_methods .payment_box { background: transparent; padding: 8px 0 0 28px; color: var(--tfk-muted); }
.wc_payment_methods .payment_box::before { display: none; }
.order-total .amount { font-size: 26px; }

/* Notices */
.woocommerce-message, .woocommerce-info, .wc-block-components-notice-banner {
	border-radius: var(--tfk-r-md);
	background: var(--tfk-mint);
	color: var(--tfk-teal);
	border: 0;
	font-weight: 700;
}
.woocommerce-error { border-radius: var(--tfk-r-md); background: var(--tfk-peach); color: #9A2E16; border: 0; font-weight: 700; }

/* 9. Announcement bar + floating WhatsApp -------------------------------- */
.tfk-announce {
	background: var(--tfk-navy);
	color: var(--tfk-cream);
	height: 40px;
	overflow: hidden;
	display: flex;
	align-items: center;
	font-family: var(--tfk-font-body);
	font-size: 14px;
	font-weight: 700;
	position: relative;
	z-index: 400;
}
.tfk-announce__track { display: flex; width: max-content; animation: tfk-marquee 38s linear infinite; }
.tfk-announce:hover .tfk-announce__track { animation-play-state: paused; }
.tfk-announce__group { display: flex; gap: 64px; padding-inline-end: 64px; white-space: nowrap; }
.tfk-announce__item { display: inline-flex; align-items: center; gap: 10px; }
@keyframes tfk-marquee { from { transform: translateX(0); } to { transform: translateX(-50%); } }

.tfk-wa-float {
	position: fixed;
	right: 24px;
	bottom: 24px;
	z-index: 390;
	display: flex;
	align-items: center;
	gap: 10px;
	height: 60px;
	padding: 0 22px 0 16px;
	border-radius: 999px;
	background: var(--tfk-teal);
	color: #fff;
	font-weight: 800;
	font-size: 15px;
	text-decoration: none;
	box-shadow: 0 12px 28px rgba(11, 127, 120, .4);
	transition: transform .2s, background-color .2s;
}
.tfk-wa-float:hover, .tfk-wa-float:focus-visible { background: #086660; color: #fff; transform: translateY(-2px); }
/* Keep clear of WoodMart's mobile bottom toolbar and scroll-to-top button */
.scrollToTop { right: 24px; bottom: 96px; }
@media (max-width: 1024px) {
	.tfk-wa-float { width: 60px; padding: 0; justify-content: center; right: 16px; bottom: 76px; }
	.tfk-wa-float__label { display: none; }
	.tfk-announce { height: 34px; font-size: 13px; }
}

/* 10. Footer, utilities, motion ------------------------------------------- */
.footer-container, .wd-footer, .main-footer { background-color: var(--tfk-navy); color: #E8EBF3; }
.footer-container a, .wd-footer a { color: #E8EBF3; }
.footer-container a:hover, .wd-footer a:hover { color: var(--tfk-yellow); }
.footer-container .widget-title, .wd-footer .widget-title { color: var(--tfk-yellow); }
.copyrights-wrapper,
.wd-copyrights,
.copyrights-wrapper .container { background-color: var(--tfk-navy); color: #C9CFDD; }
.copyrights-wrapper { border-top: 1px solid rgba(255, 255, 255, .12); padding-bottom: 8px; }
.copyrights-wrapper a { color: #E8EBF3; }
.copyrights-wrapper a:hover { color: var(--tfk-yellow); }

/* Page title band (shop, blog, pages): soft peach band with navy title */
.page-title, .page-title-default, .wd-page-title {
	background-color: var(--tfk-peach) !important;
	background-image: none !important;
	color: var(--tfk-navy);
}
.page-title .title, .page-title .entry-title, .wd-page-title .title,
.page-title .woocommerce-breadcrumb, .page-title .breadcrumbs, .page-title a {
	color: var(--tfk-navy) !important;
}
.page-title .title { font-size: clamp(34px, 4vw, 54px); }

/* Blog cards */
.blog-post-loop .article-inner, .wd-post .wd-post-inner, .post-single-page .article-inner {
	background: #fff;
	border-radius: var(--tfk-r-lg);
}
.meta-post-categories, .wd-post-cat { border-radius: 999px; background-color: var(--tfk-coral); }
.entry-meta, .wd-post-meta, .entry-meta a, .wd-post-meta a { color: var(--tfk-muted); }
/* Wave on top of the footer */
.footer-container { position: relative; }
.footer-container::before {
	content: "";
	position: absolute;
	left: 0; right: 0; top: -59px;
	height: 60px;
	background: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 1440 60' preserveAspectRatio='none'%3E%3Cpath d='M0 60V30C160 0 320 0 480 25s320 45 480 15 320-40 480-10V60z' fill='%231E2A47'/%3E%3C/svg%3E") no-repeat center / 100% 100%;
	pointer-events: none;
}

/* Homepage (Elementor) touches */
.tfk-pill--white .elementor-heading-title {
	display: inline-flex;
	background: #fff;
	border-radius: 999px;
	padding: 8px 16px;
	box-shadow: 0 4px 12px rgba(30, 42, 71, .06);
}
.tfk-hero-img img {
	aspect-ratio: 1;
	object-fit: cover;
	box-shadow: 0 24px 50px rgba(30, 42, 71, .18);
	border: 8px solid #fff;
}
.tfk-btn-chunky .elementor-button { box-shadow: 0 8px 0 var(--tfk-coral-shadow); }
.tfk-age-card, .tfk-age-card .elementor-widget-wrap { transition: transform .2s, box-shadow .2s; }
.tfk-age-card:hover { transform: translateY(-4px); box-shadow: var(--tfk-shadow-hover); }
.tfk-trust { box-shadow: 0 6px 20px rgba(30, 42, 71, .05); }
.tfk-trust .elementor-icon { border-radius: 20px !important; }
.tfk-video { border-radius: 22px; overflow: hidden; }
.tfk-video .elementor-wrapper { border-radius: 22px; background: rgba(255, 255, 255, .08); min-height: 120px; }
.tfk-videos .wd-carousel-container, .tfk-band .wd-carousel-container { --wd-arrow-color: var(--tfk-navy); }

/* Mega menu: category columns as soft tiles */
.tfk-mega-cats > .wd-dropdown-menu .wd-sub-menu,
.tfk-mega-cats .wd-dropdown-menu .wd-sub-menu-wrapp > .wd-sub-menu {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}
.tfk-mega-cats .wd-sub-menu > li > a {
	font-family: var(--tfk-font-body);
	font-weight: 800;
	color: var(--tfk-navy);
	text-transform: none;
}
.tfk-mega .wd-sub-menu > li {
	background: var(--tfk-cream);
	border-radius: var(--tfk-r-md);
	padding: 14px;
}
.tfk-mega .wd-sub-menu > li:nth-child(4n+1) { background: var(--tfk-peach); }
.tfk-mega .wd-sub-menu > li:nth-child(4n+2) { background: var(--tfk-mint); }
.tfk-mega .wd-sub-menu > li:nth-child(4n+3) { background: var(--tfk-lemon); }
.tfk-mega .wd-sub-menu > li:nth-child(4n+4) { background: var(--tfk-lavender); }
.tfk-mega .wd-sub-menu li li > a { font-weight: 600; color: var(--tfk-muted); }

/* Brand footer (footer.php) — "body" prefix beats WoodMart's inline theme-settings CSS */
body .footer-container.tfk-footer {
	background-color: var(--tfk-navy);
	color: #E8EBF3;
	margin-top: 60px;
	padding-top: 48px;
}
.tfk-footer__grid {
	display: grid;
	grid-template-columns: minmax(0, 1.4fr) repeat(4, minmax(0, 1fr));
	gap: 36px;
	padding-bottom: 36px;
}
.tfk-footer h3 {
	font-family: var(--tfk-font-head);
	font-weight: 600;
	font-size: 19px;
	color: var(--tfk-yellow);
	margin: 0 0 14px;
}
.tfk-footer p { color: #C9CFDD; font-size: 15px; line-height: 1.6; margin: 14px 0 16px; }
.tfk-footer ul { list-style: none; margin: 0; padding: 0; display: flex; flex-direction: column; gap: 10px; }
.tfk-footer a { color: #E8EBF3; text-decoration: none; font-size: 15px; }
.tfk-footer a:hover, .tfk-footer a:focus-visible { color: var(--tfk-yellow); }
.tfk-footer__contact li { display: flex; gap: 10px; align-items: flex-start; color: #E8EBF3; font-size: 15px; }
.tfk-footer__contact svg { flex: none; color: #4FD1C5; margin-top: 2px; }
.tfk-footer__social { display: flex; gap: 10px; flex-wrap: wrap; }
.tfk-footer__social a {
	width: 44px; height: 44px; border-radius: 14px;
	background: rgba(255, 255, 255, .1);
	display: grid; place-items: center; color: #fff;
}
.tfk-footer__social a:hover { background: var(--tfk-coral); color: #fff; }
.tfk-footer__btn {
	display: inline-flex; align-items: center; justify-content: center;
	min-height: 48px; padding: 0 22px; border-radius: 14px;
	background: var(--tfk-coral); color: #fff !important; font-weight: 800;
}
.tfk-footer__btn:hover { background: var(--tfk-coral-hover); }
.tfk-logo--light .tfk-logo__toys { color: #FF8A6E; }
.tfk-logo--light .tfk-logo__for { color: #4FD1C5; }
.tfk-logo--light .tfk-logo__kids { color: #B3A1FF; }
.tfk-footer__bar { border-top: 1px solid rgba(255, 255, 255, .12); }
.tfk-footer__bar-inner {
	display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px;
	padding-top: 18px; padding-bottom: 22px;
	font-size: 14px; color: #C9CFDD;
}
.tfk-footer__legal { display: flex; flex-wrap: wrap; gap: 20px; }
.tfk-footer__legal a { color: #C9CFDD; font-size: 14px; }
.tfk-footer__pay { display: flex; flex-wrap: wrap; gap: 8px; }
.tfk-footer__pay span { background: #fff; color: var(--tfk-navy); font-weight: 800; font-size: 12px; padding: 5px 10px; border-radius: 8px; }
@media (max-width: 1024px) {
	.tfk-footer__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.tfk-footer__brand { grid-column: 1 / -1; }
}
@media (max-width: 575px) {
	.tfk-footer__grid { grid-template-columns: minmax(0, 1fr); gap: 28px; }
	body .footer-container.tfk-footer { padding-top: 32px; padding-bottom: 72px; }
	.tfk-footer__bar-inner { flex-direction: column; align-items: flex-start; }
}

/* Page title band: removed on every page (heading kept for screen readers and SEO) */
body .page-title {
	position: absolute !important;
	width: 1px !important;
	height: 1px !important;
	padding: 0 !important;
	margin: -1px !important;
	overflow: hidden !important;
	clip: rect(0, 0, 0, 0) !important;
	white-space: nowrap !important;
	border: 0 !important;
}

/* With the title band gone, give normal pages a little breathing room under the header */
body:not(.home):not(.page-template-elementor_header_footer) .main-page-wrapper { padding-top: 36px; }

/* Homepage: let Elementor sections span the full width (content stays boxed inside) */
body.home .main-page-wrapper { padding-top: 0; }
body.home .main-page-wrapper > .container,
body.page-template-elementor_header_footer .main-page-wrapper > .container {
	max-width: none;
	width: 100%;
	padding-left: 0;
	padding-right: 0;
}
body.home .main-page-wrapper > .container > .row,
body.page-template-elementor_header_footer .main-page-wrapper > .container > .row { margin-left: 0; margin-right: 0; }
body.home .site-content,
body.page-template-elementor_header_footer .site-content { padding-left: 0; padding-right: 0; }

/* Hero slider ------------------------------------------------------------ */
.tfk-hero-slider {
	position: relative;
	overflow: hidden;
	width: 100%;
}
.tfk-hero-slider__track {
	display: flex;
	transition: transform .6s cubic-bezier(.65, 0, .35, 1);
	will-change: transform;
}
.tfk-slide { flex: 0 0 100%; min-width: 100%; background: var(--tfk-peach); }
.tfk-slide--mint { background: var(--tfk-mint); }
.tfk-slide--lemon { background: var(--tfk-lemon); }
.tfk-slide--lavender { background: var(--tfk-lavender); }
.tfk-slide__inner {
	max-width: 1280px;
	margin: 0 auto;
	padding: 56px 24px 120px;
	display: grid;
	grid-template-columns: minmax(0, 1.15fr) minmax(0, 1fr);
	gap: 48px;
	align-items: center;
	min-height: 520px;
}
.tfk-slide__copy { display: flex; flex-direction: column; align-items: flex-start; gap: 20px; }
.tfk-slide__label {
	display: inline-flex; align-items: center; gap: 8px;
	background: #fff; color: var(--tfk-coral);
	font-weight: 800; font-size: 14px; letter-spacing: .06em; text-transform: uppercase;
	padding: 8px 16px; border-radius: 999px;
	box-shadow: 0 4px 12px rgba(30, 42, 71, .06);
}
.tfk-slide--mint .tfk-slide__label { color: var(--tfk-teal); }
.tfk-slide--lavender .tfk-slide__label { color: var(--tfk-purple); }
.tfk-slide--lemon .tfk-slide__label { color: #8A5A00; }
.tfk-slide__title {
	margin: 0;
	font-family: var(--tfk-font-head);
	font-weight: 700;
	font-size: clamp(38px, 5vw, 66px);
	line-height: 1.02;
	color: var(--tfk-navy);
	text-wrap: balance;
}
.tfk-slide__text { margin: 0; font-size: 19px; line-height: 1.6; color: #3A4562; max-width: 480px; }
.tfk-slide__actions { display: flex; flex-wrap: wrap; align-items: center; gap: 18px; }
.tfk-slide__btn {
	display: inline-flex; align-items: center; gap: 10px;
	min-height: 56px; padding: 0 30px; border-radius: 999px;
	background: var(--tfk-coral); color: #fff; font-weight: 800; font-size: 17px; text-decoration: none;
	box-shadow: 0 8px 0 var(--tfk-coral-shadow);
	transition: background-color .2s, transform .15s, box-shadow .15s;
}
.tfk-slide__btn:hover, .tfk-slide__btn:focus-visible { background: var(--tfk-coral-hover); color: #fff; }
.tfk-slide__btn:active { transform: translateY(4px); box-shadow: 0 4px 0 var(--tfk-coral-shadow); }
.tfk-slide__link { color: var(--tfk-navy); font-weight: 800; text-decoration: underline; text-underline-offset: 4px; }
.tfk-slide__media { position: relative; display: grid; place-items: center; min-height: 420px; }
.tfk-slide__blob {
	position: absolute; width: min(440px, 92%); aspect-ratio: 1;
	border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%;
	background: var(--tfk-coral-bright);
}
.tfk-slide--mint .tfk-slide__blob { background: var(--tfk-teal-bright); }
.tfk-slide--lavender .tfk-slide__blob { background: var(--tfk-purple-bright); }
.tfk-slide--lemon .tfk-slide__blob { background: var(--tfk-yellow); }
.tfk-slide__ring {
	position: absolute; width: min(390px, 82%); aspect-ratio: 1;
	border: 3px dashed rgba(255, 255, 255, .75);
	border-radius: 58% 42% 37% 63% / 54% 39% 61% 46%;
}
.tfk-slide__img {
	position: relative;
	width: min(330px, 72%) !important;
	height: auto;
	aspect-ratio: 1;
	object-fit: cover;
	border-radius: 32px;
	border: 8px solid #fff;
	box-shadow: 0 24px 50px rgba(30, 42, 71, .18);
	transform: rotate(-3deg);
}
.tfk-slide__price {
	position: absolute; right: 8%; top: 8%;
	width: 108px; height: 108px; border-radius: 50%;
	background: var(--tfk-yellow); color: var(--tfk-navy);
	display: flex; flex-direction: column; align-items: center; justify-content: center;
	font-family: var(--tfk-font-head); font-weight: 700; font-size: 21px; line-height: 1.05;
	transform: rotate(10deg);
	box-shadow: 0 10px 20px rgba(30, 42, 71, .15);
}
.tfk-slide__price small { font-size: 13px; }
.tfk-hero-slider__nav {
	position: absolute; left: 50%; bottom: 64px; transform: translateX(-50%);
	width: 100%; max-width: 1280px; padding: 0 24px;
	display: flex; align-items: center; gap: 16px; z-index: 2;
}
.tfk-hero-slider__arrow {
	width: 48px; height: 48px; border-radius: 50%; border: 0;
	background: #fff; color: var(--tfk-navy);
	display: grid; place-items: center; cursor: pointer;
	box-shadow: 0 4px 12px rgba(30, 42, 71, .1);
	padding: 0;
}
.tfk-hero-slider__arrow:hover { background: var(--tfk-navy); color: #fff; }
.tfk-hero-slider__dots { display: flex; gap: 8px; }
.tfk-hero-slider__dot {
	width: 12px; height: 12px; border-radius: 6px; border: 0; padding: 0;
	background: rgba(30, 42, 71, .25); cursor: pointer;
	transition: width .3s, background-color .3s;
}
.tfk-hero-slider__dot.is-active { width: 36px; background: var(--tfk-navy); }
.tfk-hero-slider__wave { position: absolute; left: 0; bottom: -1px; width: 100%; height: 60px; display: block; }
@media (max-width: 1024px) {
	.tfk-slide__inner { grid-template-columns: minmax(0, 1fr); gap: 20px; padding: 28px 16px 110px; min-height: 0; text-align: left; }
	.tfk-slide__media { min-height: 260px; order: -1; }
	.tfk-slide__blob { width: min(250px, 70%); }
	.tfk-slide__ring { width: min(220px, 62%); }
	.tfk-slide__img { width: min(190px, 52%) !important; border-width: 6px; border-radius: 24px; }
	.tfk-slide__price { width: 78px; height: 78px; font-size: 15px; right: 6%; top: 4%; }
	.tfk-slide__text { font-size: 16px; }
	.tfk-hero-slider__nav { bottom: 56px; padding: 0 16px; justify-content: center; }
}
@media (max-width: 575px) {
	.tfk-slide__btn { width: 100%; justify-content: center; }
	.tfk-slide__link { display: none; }
	.tfk-hero-slider__arrow { width: 44px; height: 44px; }
}
@media (prefers-reduced-motion: reduce) {
	.tfk-hero-slider__track { transition: none; }
}

/* Shop page title: category links as pills, hide "Uncategorized" */
.wd-nav-product-cat .cat-item-15 { display: none; }
.page-title .wd-nav-product-cat > li > a {
	background: #fff;
	border-radius: 999px;
	padding: 8px 14px;
	font-weight: 800;
}
.page-title .wd-nav-product-cat > li > a .nav-link-text { color: var(--tfk-navy); text-transform: none; }
.page-title .wd-nav-product-cat .nav-link-count { color: var(--tfk-muted); }
.page-title .wd-nav-product-cat.wd-style-underline .nav-link-text::after { display: none; }

/* Make sure brand overrides win over WoodMart's inline theme-settings styles */
body .page-title-default { background-color: var(--tfk-peach); }
body .website-wrapper, body .main-page-wrapper { background-color: var(--tfk-cream); }

/* Responsive: homepage sections on phones */
@media (max-width: 767px) {
	.tfk-hero .elementor-widget-icon-list .elementor-icon-list-items { gap: 8px 16px; }
	.tfk-age-card { padding: 18px !important; min-height: 0 !important; }
	.tfk-newsletter .elementor-button { width: 100%; justify-content: center; }
	.tfk-announce__group { gap: 40px; padding-inline-end: 40px; }
}

/* Reusable helpers for Elementor sections (add as CSS classes) */
.tfk-bg-peach { background-color: var(--tfk-peach); }
.tfk-bg-mint { background-color: var(--tfk-mint); }
.tfk-bg-lemon { background-color: var(--tfk-lemon); }
.tfk-bg-lavender { background-color: var(--tfk-lavender); }
.tfk-bg-navy { background-color: var(--tfk-navy); color: #fff; }
.tfk-card { background: #fff; border-radius: var(--tfk-r-lg); box-shadow: var(--tfk-shadow); }
.tfk-blob { border-radius: 42% 58% 63% 37% / 41% 44% 56% 59%; }
.tfk-eyebrow { font-family: var(--tfk-font-body); font-weight: 800; font-size: 14px; letter-spacing: .08em; text-transform: uppercase; }
.tfk-pill { display: inline-flex; align-items: center; gap: 6px; border-radius: 999px; padding: 6px 14px; font-weight: 800; font-size: 13px; }

:focus-visible { outline: 3px solid var(--tfk-purple-bright); outline-offset: 2px; }

@media (prefers-reduced-motion: reduce) {
	.tfk-announce__track { animation: none; }
	.product-grid-item .product-wrapper, .wd-product .product-wrapper, .tfk-wa-float { transition: none; }
}
