/* ============================================================
   KIDSORY BRAND SYSTEM
   ============================================================ */

:root {
	--ks-pink: #ff4164;
	--ks-orange: #ff9914;
	--ks-blue: #149ed1;
	--ks-purple: #a45bb8;
	--ks-green: #8dbc00;

	--ks-dark: #19382f;
	--ks-text: #243b35;

	--ks-cream: #fffaf4;
	--ks-soft-pink: #fff0f3;
	--ks-soft-blue: #eef9ff;
	--ks-soft-orange: #fff5e6;
	--ks-soft-purple: #f8f0fb;
	--ks-soft-green: #f4f9e8;

	--ks-white: #ffffff;

	--ks-radius-sm: 12px;
	--ks-radius-md: 18px;
	--ks-radius-lg: 28px;

	--ks-shadow:
		0 12px 30px rgba(28, 62, 51, 0.08);
}


/* GLOBAL */

body {
	background: var(--ks-cream);
	color: var(--ks-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--ks-dark);
}


/* LINKS */

a {
	transition:
		color .2s ease,
		background-color .2s ease,
		transform .2s ease;
}


/* BUTTONS */

button,
.button,
input[type="submit"],
.wp-element-button,
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 999px !important;
	font-weight: 700;
}


/* MAIN WOOCOMMERCE BUTTONS */

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
	background: var(--ks-pink) !important;
	color: #fff !important;
	border: 0 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover {
	background: var(--ks-orange) !important;
	color: #fff !important;
	transform: translateY(-1px);
}


/* PRODUCT CARDS */

.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid rgba(25, 56, 47, .08);
	border-radius: var(--ks-radius-lg);
	padding: 14px;
	box-shadow: var(--ks-shadow);
	overflow: hidden;
}

.woocommerce ul.products li.product img {
	border-radius: 20px;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-4px);
	box-shadow:
		0 18px 40px rgba(28, 62, 51, .12);
}


/* SALE BADGE */

.woocommerce span.onsale {
	background: var(--ks-pink);
	color: #fff;
	border-radius: 999px;
}


/* AGE BADGE */

.ks-product-age-badge {
	background: var(--ks-soft-blue);
	color: var(--ks-blue);
	border-radius: 999px;
}


/* CATEGORY LABEL */

.ks-product-meta {
	color: var(--ks-pink);
	font-weight: 700;
}


/* FORM FIELDS */

input,
select,
textarea {
	border-radius: var(--ks-radius-sm);
}


/* CHECKOUT / CART CARDS */

.wc-block-components-order-summary,
.wc-block-checkout__order-notes,
.woocommerce-checkout-review-order {
	border-radius: var(--ks-radius-md);
}


/* SELECTION COLOR */

::selection {
	background: var(--ks-orange);
	color: #fff;
}

/* ============================================================
   KIDSORY PREMIUM VISUAL LAYER
   ============================================================ */

:root {
--kp-ink: #183028;
--kp-ink-soft: #344b43;
--kp-cream: #fffaf2;
--kp-white: #ffffff;

--kp-peach: #ffd9c8;
--kp-coral: #f57855;
--kp-blue: #dcecf7;
--kp-yellow: #f7e5a3;
--kp-sage: #dbe9d8;
--kp-lilac: #e7def5;
--kp-mint: #d9eee7;

--kp-line: rgba(24, 48, 40, 0.10);

--kp-shadow:
0 20px 60px rgba(24, 48, 40, 0.08);

--kp-shadow-hover:
0 28px 75px rgba(24, 48, 40, 0.14);
}


/* ============================================================
   HEADER POLISH
   ============================================================ */

.admin-bar .ks-header {
top: 32px;
}

.ks-header {
box-shadow:
0 7px 28px rgba(24, 48, 40, 0.05);
}

.ks-header-main {
min-height: 82px;
}

.ks-brand-text {
font-size: 31px;
font-weight: 900;
letter-spacing: -1.8px;
}

.ks-menu {
gap: 24px;
}

.ks-menu > li > a {
font-weight: 700;
}

.ks-header-actions {
gap: 14px;
}

.ks-search input[type="search"] {
width: 210px;
background: #fff;
border-color: var(--kp-line);
}

.ks-search button {
background: var(--kp-ink);
}

.ks-cart-count {
background: var(--kp-coral);
}


/* ============================================================
   PREMIUM HOME
   ============================================================ */

.ks-premium-home {
overflow: hidden;
background: var(--kp-cream);
}


/* ============================================================
   HERO
   ============================================================ */

.ks-premium-hero {
padding:
76px
0
68px;
}

.ks-premium-hero-grid {
display: grid;
grid-template-columns:
minmax(0, 0.95fr)
minmax(500px, 1.05fr);
gap: 68px;
align-items: center;
}

.ks-premium-hero-copy {
position: relative;
z-index: 2;
}

.ks-premium-eyebrow,
.ks-premium-kicker {
color: var(--kp-coral);
font-size: 12px;
font-weight: 900;
letter-spacing: 0.16em;
text-transform: uppercase;
}

.ks-premium-eyebrow {
display: flex;
align-items: center;
gap: 10px;
margin-bottom: 18px;
}

.ks-premium-eyebrow > span {
width: 30px;
height: 2px;
background: var(--kp-coral);
}

.ks-premium-hero h1 {
max-width: 690px;
margin: 0;

color: var(--kp-ink);

font-size:
clamp(
54px,
6.3vw,
94px
);

line-height: 0.94;
letter-spacing: -0.065em;
}

.ks-premium-hero h1 span {
display: block;
color: var(--kp-coral);
}

.ks-hero-lead {
max-width: 610px;

margin:
28px
0
30px;

color: var(--kp-ink-soft);

font-size: 19px;
line-height: 1.7;
}

.ks-premium-actions {
display: flex;
flex-wrap: wrap;
gap: 12px;
}

.ks-premium-btn {
display: inline-flex;
align-items: center;
justify-content: center;
gap: 18px;

min-height: 56px;

padding:
0
25px;

border:
1px solid var(--kp-line);

border-radius: 999px;

font-size: 14px;
font-weight: 800;

transition:
transform 0.2s ease,
box-shadow 0.2s ease,
background 0.2s ease;
}

.ks-premium-btn:hover {
transform: translateY(-3px);
box-shadow:
0 12px 30px rgba(24, 48, 40, 0.10);
}

.ks-premium-btn-dark {
background: var(--kp-ink);
color: #fff;
}

.ks-premium-btn-dark:hover {
background: var(--kp-coral);
}

.ks-premium-btn-light {
background: #fff;
color: var(--kp-ink);
}

.ks-hero-benefits {
display: flex;
flex-wrap: wrap;
gap: 26px;

margin-top: 38px;
}

.ks-hero-benefits > div {
display: flex;
align-items: center;
gap: 9px;
}

.ks-hero-benefits strong {
display: grid;
place-items: center;

min-width: 34px;
height: 34px;

padding:
0
7px;

border-radius: 50%;

background: #fff;

box-shadow:
0 8px 24px rgba(24,48,40,0.08);

font-size: 10px;
}

.ks-hero-benefits span {
color: var(--kp-ink-soft);
font-size: 13px;
font-weight: 650;
}


/* ============================================================
   HERO PRODUCT VISUAL
   ============================================================ */

.ks-premium-hero-visual {
position: relative;

min-height: 570px;

border-radius: 44px;

background:
linear-gradient(
145deg,
#dcece6,
#fff0df 58%,
#f8d9ca
);

overflow: hidden;
}

.ks-hero-blob {
position: absolute;
border-radius: 50%;
filter: blur(2px);
}

.ks-hero-blob-one {
width: 260px;
height: 260px;
right: -70px;
top: -60px;
background: rgba(255,255,255,0.60);
}

.ks-hero-blob-two {
width: 190px;
height: 190px;
left: -55px;
bottom: -45px;
background: rgba(247,229,163,0.55);
}

.ks-hero-label {
position: absolute;
top: 34px;
left: 36px;
z-index: 2;

padding:
9px
14px;

border-radius: 999px;

background: rgba(255,255,255,0.88);

color: var(--kp-ink);

font-size: 10px;
font-weight: 900;
letter-spacing: 0.12em;
}

.ks-hero-products {
position: relative;
width: 100%;
height: 100%;
min-height: 570px;
}

.ks-hero-product {
position: absolute;

width: 225px;

padding: 12px;

border:
1px solid rgba(255,255,255,0.7);

border-radius: 24px;

background: rgba(255,255,255,0.92);

box-shadow:
0 25px 60px rgba(24,48,40,0.13);

transition:
transform .25s ease,
box-shadow .25s ease;
}

.ks-hero-product:hover {
box-shadow:
0 32px 80px rgba(24,48,40,0.20);
}

.ks-hero-product-1 {
left: 52px;
top: 122px;
transform: rotate(-6deg);
}

.ks-hero-product-1:hover {
transform:
rotate(-3deg)
translateY(-7px);
}

.ks-hero-product-2 {
right: 48px;
top: 75px;
transform: rotate(5deg);
}

.ks-hero-product-2:hover {
transform:
rotate(2deg)
translateY(-7px);
}

.ks-hero-product-3 {
right: 112px;
bottom: 38px;
transform: rotate(-2deg);
}

.ks-hero-product-3:hover {
transform:
rotate(0)
translateY(-7px);
}

.ks-hero-product-image {
overflow: hidden;
border-radius: 18px;
background: #f4f7f5;
}

.ks-hero-product-image img {
display: block;

width: 100%;
aspect-ratio: 1 / 1;

object-fit: cover;
}

.ks-hero-product-info {
padding:
13px
7px
7px;
}

.ks-hero-product-info small {
display: block;

margin-bottom: 4px;

color: var(--kp-coral);

font-size: 9px;
font-weight: 900;
letter-spacing: .1em;
text-transform: uppercase;
}

.ks-hero-product-info strong {
display: block;

color: var(--kp-ink);

font-size: 13px;
line-height: 1.35;
}

.ks-hero-product-info > span {
display: block;
margin-top: 5px;

font-size: 13px;
font-weight: 800;
}

.ks-hero-empty {
position: absolute;
inset: 0;

display: flex;
flex-direction: column;
align-items: center;
justify-content: center;
}


/* ============================================================
   TRUST BAR
   ============================================================ */

.ks-premium-trust {
background: var(--kp-ink);
color: #fff;
}

.ks-premium-trust-grid {
display: grid;
grid-template-columns:
repeat(4, 1fr);
}

.ks-premium-trust-grid > div {
display: flex;
align-items: center;
gap: 14px;

min-height: 108px;

padding:
22px
24px;

border-right:
1px solid rgba(255,255,255,0.10);
}

.ks-premium-trust-grid > div:last-child {
border-right: 0;
}

.ks-trust-icon {
display: grid;
place-items: center;

width: 42px;
height: 42px;

flex: 0 0 42px;

border-radius: 50%;

background:
rgba(255,255,255,0.10);

font-size: 11px;
font-weight: 900;
}

.ks-premium-trust p {
margin: 0;
}

.ks-premium-trust strong,
.ks-premium-trust p > span {
display: block;
}

.ks-premium-trust strong {
font-size: 14px;
}

.ks-premium-trust p > span {
margin-top: 2px;

color: rgba(255,255,255,0.65);

font-size: 11px;
}


/* ============================================================
   GENERIC SECTIONS
   ============================================================ */

.ks-premium-section {
padding:
88px
0;
}

.ks-premium-heading {
display: flex;
align-items: flex-end;
justify-content: space-between;
gap: 30px;

margin-bottom: 38px;
}

.ks-premium-heading h2 {
margin:
8px
0
0;

color: var(--kp-ink);

font-size:
clamp(
38px,
4.6vw,
64px
);

line-height: 1;
letter-spacing: -0.05em;
}

.ks-heading-link {
display: inline-flex;
align-items: center;
gap: 9px;

padding-bottom: 3px;

border-bottom:
1px solid var(--kp-ink);

color: var(--kp-ink);

font-size: 13px;
font-weight: 800;
}


/* ============================================================
   AGE CARDS
   ============================================================ */

.ks-premium-age-grid {
display: grid;
grid-template-columns:
repeat(5, 1fr);
gap: 15px;
}

.ks-premium-age-card {
position: relative;

display: flex;
flex-direction: column;
justify-content: space-between;

min-height: 250px;

padding: 22px;

border-radius: 28px;

overflow: hidden;

transition:
transform .22s ease,
box-shadow .22s ease;
}

.ks-premium-age-card:hover {
transform: translateY(-7px);
box-shadow: var(--kp-shadow-hover);
}

.ks-age-peach {
background: var(--kp-peach);
}

.ks-age-blue {
background: var(--kp-blue);
}

.ks-age-yellow {
background: var(--kp-yellow);
}

.ks-age-green {
background: var(--kp-sage);
}

.ks-age-lilac {
background: var(--kp-lilac);
}

.ks-age-circle {
display: grid;
place-items: center;

width: 96px;
height: 96px;

border-radius: 50%;

background: rgba(255,255,255,0.72);

box-shadow:
inset
0
0
0
1px rgba(255,255,255,0.75);
}

.ks-age-circle strong {
color: var(--kp-ink);
font-size: 29px;
letter-spacing: -0.05em;
}

.ks-premium-age-card h3 {
margin:
26px
0
5px;

color: var(--kp-ink);
font-size: 18px;
}

.ks-premium-age-card > div:last-child > span {
color: var(--kp-ink-soft);

font-size: 12px;
font-weight: 650;
}

.ks-premium-age-card b {
margin-left: 5px;
}


/* ============================================================
   CATEGORY
   ============================================================ */

.ks-category-section {
background: #f7f1e7;
}

.ks-premium-category-grid {
display: grid;
grid-template-columns:
repeat(3, 1fr);
gap: 18px;
}

.ks-premium-category-card {
position: relative;

min-height: 285px;

padding: 27px;

border-radius: 30px;

overflow: hidden;

transition:
transform .22s ease,
box-shadow .22s ease;
}

.ks-premium-category-card:hover {
transform: translateY(-7px);
box-shadow: var(--kp-shadow-hover);
}

.ks-tone-peach {
background: #f7d6c6;
}

.ks-tone-blue {
background: #d9e9f3;
}

.ks-tone-sage {
background: #dae8d6;
}

.ks-tone-yellow {
background: #f4e4a7;
}

.ks-tone-lilac {
background: #e5dcf1;
}

.ks-tone-mint {
background: #d7ebe4;
}

.ks-category-bubble {
display: grid;
place-items: center;

width: 86px;
height: 86px;

border-radius: 50%;

background:
rgba(255,255,255,0.62);
}

.ks-category-bubble span {
font-size: 10px;
font-weight: 900;
letter-spacing: .10em;
}

.ks-category-copy {
position: relative;
z-index: 2;

margin-top: 34px;

max-width: 250px;
}

.ks-category-copy h3 {
margin: 0;

color: var(--kp-ink);

font-size: 26px;
line-height: 1.05;

letter-spacing: -0.035em;
}

.ks-category-copy p {
margin:
10px
0
16px;

color: var(--kp-ink-soft);

font-size: 13px;
line-height: 1.55;
}

.ks-category-copy strong {
font-size: 12px;
}

.ks-category-decoration {
position: absolute;

width: 140px;
height: 140px;

right: -35px;
bottom: -35px;

border:
26px solid rgba(255,255,255,0.36);

border-radius: 50%;
}


/* ============================================================
   PRODUCTS
   ============================================================ */

.ks-product-section,
.ks-new-section {
background: var(--kp-white);
}

.ks-premium-products .woocommerce {
width: 100%;
}

.ks-premium-products .woocommerce ul.products {
display: grid !important;

grid-template-columns:
repeat(4, minmax(0, 1fr));

gap: 20px;
}

.woocommerce ul.products li.product {
position: relative;

width: auto !important;

margin: 0 !important;

padding:
12px
12px
18px !important;

border:
1px solid var(--kp-line);

border-radius: 24px;

background: #fff;

box-shadow: none;

overflow: hidden;

transition:
transform .22s ease,
box-shadow .22s ease;
}

.woocommerce ul.products li.product:hover {
transform: translateY(-6px);
box-shadow: var(--kp-shadow-hover);
}

.woocommerce ul.products li.product a img {
width: 100%;

aspect-ratio: 1 / 1;

object-fit: cover;

margin-bottom: 15px !important;

border-radius: 18px;

background: #f4f7f5;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
padding:
0
4px !important;

color: var(--kp-ink);

font-size: 16px !important;
font-weight: 780;

line-height: 1.35;
}

.woocommerce ul.products li.product .price {
display: flex;
align-items: center;
flex-wrap: wrap;
gap: 7px;

padding:
0
4px;

color: var(--kp-ink) !important;

font-size: 16px !important;
font-weight: 850;
}

.woocommerce ul.products li.product .price del {
color: #8a958f !important;
font-size: 12px;
}

.woocommerce ul.products li.product .price ins {
text-decoration: none;
}

.woocommerce ul.products li.product .button {
display: flex;
align-items: center;
justify-content: center;

width: calc(100% - 8px);

min-height: 44px;

margin:
15px
4px
0 !important;

padding:
0
16px !important;

border-radius: 999px;

background: var(--kp-ink) !important;
color: #fff !important;

font-size: 12px !important;
font-weight: 800;
}

.woocommerce ul.products li.product .button:hover {
background: var(--kp-coral) !important;
}

.woocommerce span.onsale {
top: 20px !important;
right: 20px !important;
left: auto !important;

min-width: 0 !important;
min-height: 0 !important;

padding:
8px
10px !important;

border-radius: 999px !important;

background: var(--kp-coral) !important;

font-size: 11px !important;
font-weight: 850 !important;

line-height: 1 !important;
}

.ks-product-age-badge {
position: absolute;
top: 20px;
left: 20px;
z-index: 4;

padding:
8px
10px;

border-radius: 999px;

background:
rgba(255,255,255,0.92);

color: var(--kp-ink);

box-shadow:
0 5px 18px rgba(24,48,40,0.08);

font-size: 9px;
font-weight: 900;
letter-spacing: .06em;
}

.ks-product-meta {
display: block;

padding:
0
4px;

margin:
2px
0
3px;

color: var(--kp-coral);

font-size: 10px;
font-weight: 800;

text-transform: uppercase;
letter-spacing: .07em;
}


/* ============================================================
   STORY SECTION
   ============================================================ */

.ks-premium-story {
padding:
32px
0
70px;

background: #fff;
}

.ks-story-card {
display: grid;
grid-template-columns:
1.1fr
0.9fr;

gap: 70px;

padding:
65px;

border-radius: 40px;

background: var(--kp-ink);

color: #fff;
}

.ks-story-copy h2 {
max-width: 620px;

margin:
10px
0
22px;

font-size:
clamp(
44px,
5vw,
70px
);

line-height: .98;
letter-spacing: -0.055em;
}

.ks-story-copy h2 span {
color: #f0b698;
}

.ks-story-copy p {
max-width: 540px;

margin-bottom: 28px;

color: rgba(255,255,255,.67);

font-size: 16px;
}

.ks-story-values {
display: flex;
flex-direction: column;
justify-content: center;
}

.ks-story-values > div {
display: grid;

grid-template-columns:
45px
120px
1fr;

align-items: center;

gap: 16px;

padding:
22px
0;

border-bottom:
1px solid rgba(255,255,255,.12);
}

.ks-story-values > div:last-child {
border-bottom: 0;
}

.ks-story-values span {
color: #f0b698;

font-size: 11px;
font-weight: 900;
}

.ks-story-values strong {
font-size: 20px;
}

.ks-story-values p {
margin: 0;

color: rgba(255,255,255,.62);

font-size: 12px;
}


/* ============================================================
   WHY
   ============================================================ */

.ks-why-section {
background: #f7f1e7;
}

.ks-heading-center {
justify-content: center;
text-align: center;
}

.ks-heading-center h2 {
max-width: 780px;
}

.ks-why-grid {
display: grid;
grid-template-columns:
repeat(3, 1fr);
gap: 18px;
}

.ks-why-card {
padding:
34px;

border-radius: 28px;

background: #fff;

border:
1px solid var(--kp-line);
}

.ks-why-card > span {
display: grid;
place-items: center;

width: 42px;
height: 42px;

border-radius: 50%;

background: var(--kp-peach);

color: var(--kp-ink);

font-size: 10px;
font-weight: 900;
}

.ks-why-card h3 {
margin:
30px
0
8px;

color: var(--kp-ink);

font-size: 23px;
letter-spacing: -.03em;
}

.ks-why-card p {
margin: 0;

color: var(--kp-ink-soft);

font-size: 14px;
}


/* ============================================================
   FOOTER POLISH
   ============================================================ */

.ks-footer {
background: #14241f;
}

.ks-footer-brand {
color: #fff;
}


/* ============================================================
   TABLET
   ============================================================ */

@media (max-width: 1100px) {

.ks-premium-hero-grid {
grid-template-columns: 1fr;
}

.ks-premium-hero-visual {
min-height: 540px;
}

.ks-premium-age-grid {
grid-template-columns:
repeat(3, 1fr);
}

.ks-premium-category-grid {
grid-template-columns:
repeat(2, 1fr);
}

.ks-premium-products .woocommerce ul.products,
.woocommerce ul.products {
grid-template-columns:
repeat(2, 1fr) !important;
}

.ks-premium-trust-grid {
grid-template-columns:
repeat(2, 1fr);
}

.ks-premium-trust-grid > div:nth-child(2) {
border-right: 0;
}

.ks-story-card {
grid-template-columns: 1fr;
}

}


/* ============================================================
   MOBILE
   ============================================================ */

@media (max-width: 782px) {

.admin-bar .ks-header {
top: 46px;
}

}


@media (max-width: 700px) {

.ks-premium-hero {
padding:
48px
0
45px;
}

.ks-premium-hero h1 {
font-size: 54px;
}

.ks-hero-lead {
font-size: 16px;
}

.ks-hero-benefits {
gap: 14px;
}

.ks-premium-hero-visual {
min-height: 500px;
border-radius: 30px;
}

.ks-hero-product {
width: 180px;
}

.ks-hero-product-1 {
left: 18px;
top: 120px;
}

.ks-hero-product-2 {
right: 16px;
top: 65px;
}

.ks-hero-product-3 {
right: 70px;
bottom: 30px;
}

.ks-premium-trust-grid {
grid-template-columns: 1fr;
}

.ks-premium-trust-grid > div {
border-right: 0;
border-bottom:
1px solid rgba(255,255,255,.10);
}

.ks-premium-section {
padding:
62px
0;
}

.ks-premium-heading {
align-items: flex-start;
}

.ks-premium-heading h2 {
font-size: 43px;
}

.ks-premium-age-grid {
grid-template-columns:
repeat(2, 1fr);
}

.ks-premium-age-card {
min-height: 220px;
padding: 18px;
}

.ks-premium-age-card:last-child {
grid-column: 1 / -1;
}

.ks-age-circle {
width: 78px;
height: 78px;
}

.ks-age-circle strong {
font-size: 24px;
}

.ks-premium-category-grid {
grid-template-columns: 1fr;
}

.ks-premium-category-card {
min-height: 250px;
}

.ks-premium-products .woocommerce ul.products,
.woocommerce ul.products {
grid-template-columns:
repeat(2, minmax(0,1fr)) !important;

gap: 11px;
}

.woocommerce ul.products li.product {
padding:
8px
8px
14px !important;

border-radius: 18px;
}

.woocommerce ul.products li.product a img {
border-radius: 14px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
font-size: 13px !important;
}

.woocommerce ul.products li.product .price {
font-size: 13px !important;
}

.woocommerce ul.products li.product .button {
font-size: 11px !important;
}

.ks-product-age-badge,
.woocommerce span.onsale {
top: 13px !important;
}

.ks-product-age-badge {
left: 13px;
}

.woocommerce span.onsale {
right: 13px !important;
}

.ks-story-card {
padding: 35px 25px;
border-radius: 28px;
}

.ks-story-copy h2 {
font-size: 46px;
}

.ks-story-values > div {
grid-template-columns:
35px
1fr;
}

.ks-story-values p {
grid-column: 2;
}

.ks-why-grid {
grid-template-columns: 1fr;
}

}

/* ============================================================
   KIDSORY CHECKOUT CITY FIELD
   ============================================================ */

.kidsory-checkout-city-field {
	width: 100%;
	min-width: 0;
	margin: 0;
}

.kidsory-checkout-city-field label {
	display: block;
	margin: 0 0 6px;
	font-size: 13px;
	font-weight: 400;
	line-height: 1.2;
	color: #37443f;
}

.kidsory-checkout-city-field select,
.kidsory-checkout-city-field input {
	display: block;
	width: 100%;
	min-width: 0;
	height: 52px;
	padding: 10px 14px;
	border: 1px solid #777;
	border-radius: 4px;
	background: #fff;
	color: #172e26;
	font-family: inherit;
	font-size: 16px;
	line-height: 1.25;
	box-sizing: border-box;
}

.kidsory-checkout-city-field select {
	appearance: auto;
	cursor: pointer;
}

.kidsory-checkout-city-field select:focus,
.kidsory-checkout-city-field input:focus {
	border-color: #173d31;
	outline: 1px solid #173d31;
	outline-offset: 0;
}

.kidsory-other-city {
	margin-top: 8px;
}


/* Keep City + Postcode aligned in checkout address grid */
.wc-block-components-address-form
.kidsory-checkout-city-field {
	align-self: start;
}


/* Mobile */
@media (max-width: 600px) {

	.kidsory-checkout-city-field {
		grid-column: 1 / -1;
	}

	.kidsory-checkout-city-field select,
	.kidsory-checkout-city-field input {
		height: 50px;
	}
}

/* ============================================================
   KIDSORY BRAND SYSTEM V1
   Logo-inspired playful premium styling
   ============================================================ */

:root {
	--ks-red: #f52f4d;
	--ks-orange: #ff9416;
	--ks-yellow: #ffbf00;
	--ks-blue: #129dce;
	--ks-purple: #a154b4;
	--ks-green: #91bf00;

	--ks-dark: #17382f;
	--ks-text: #30443e;

	--ks-cream: #fffaf5;
	--ks-pink-soft: #fff0f3;
	--ks-blue-soft: #edf9ff;
	--ks-orange-soft: #fff5e8;
	--ks-purple-soft: #faf0fc;
	--ks-green-soft: #f4fae8;

	--ks-border: rgba(23, 56, 47, 0.10);

	--ks-radius-sm: 12px;
	--ks-radius-md: 18px;
	--ks-radius-lg: 26px;

	--ks-shadow:
		0 12px 30px rgba(23, 56, 47, 0.08);
}


/* ============================================================
   GLOBAL
   ============================================================ */

body {
	background: var(--ks-cream);
	color: var(--ks-text);
}

h1,
h2,
h3,
h4,
h5,
h6 {
	color: var(--ks-dark);
}

::selection {
	background: var(--ks-orange);
	color: #fff;
}


/* ============================================================
   ANNOUNCEMENT BAR
   ============================================================ */

.ks-announcement {
	background:
		linear-gradient(
			90deg,
			var(--ks-red),
			var(--ks-orange),
			var(--ks-blue),
			var(--ks-purple)
		);
	color: #fff;
}

.ks-announcement-inner {
	min-height: 38px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 20px;
	font-size: 13px;
	font-weight: 700;
}

.ks-announcement-inner span {
	color: #fff;
}


/* ============================================================
   HEADER
   ============================================================ */

.ks-header {
	background: rgba(255, 255, 255, 0.97);
	border-bottom: 1px solid var(--ks-border);
	box-shadow:
		0 5px 20px rgba(23, 56, 47, 0.04);
}

.ks-header-main {
	min-height: 92px;
	display: flex;
	align-items: center;
	gap: 30px;
}


/* ============================================================
   ORIGINAL KIDSORY LOGO
   ============================================================ */

.ks-brand {
	display: flex;
	align-items: center;
	flex-shrink: 0;
	text-decoration: none;
}

.ks-brand .custom-logo-link {
	display: flex;
	align-items: center;
}

.ks-brand .custom-logo {
	display: block;
	width: auto;
	height: 58px;
	max-width: 190px;
	object-fit: contain;
}


/* ============================================================
   NAVIGATION
   ============================================================ */

.ks-menu {
	display: flex;
	align-items: center;
	gap: 24px;
	margin: 0;
	padding: 0;
	list-style: none;
}

.ks-menu > li > a {
	position: relative;
	display: inline-flex;
	align-items: center;
	padding: 12px 0;
	color: var(--ks-dark);
	font-weight: 700;
	font-size: 15px;
	text-decoration: none;
}

.ks-menu > li > a::after {
	content: "";
	position: absolute;
	left: 0;
	right: 0;
	bottom: 5px;
	height: 3px;
	border-radius: 999px;
	background:
		linear-gradient(
			90deg,
			var(--ks-red),
			var(--ks-orange),
			var(--ks-blue)
		);
	transform: scaleX(0);
	transform-origin: center;
	transition: transform .2s ease;
}

.ks-menu > li > a:hover::after,
.ks-menu > li.current-menu-item > a::after {
	transform: scaleX(1);
}

.ks-menu > li > a:hover {
	color: var(--ks-red);
}


/* ============================================================
   HEADER ACTIONS
   ============================================================ */

.ks-header-actions {
	display: flex;
	align-items: center;
	gap: 14px;
	margin-left: auto;
}

.ks-search form {
	display: flex;
	align-items: stretch;
}

.ks-search input[type="search"] {
	min-width: 220px;
	height: 46px;
	padding: 0 18px;
	background: #fff;
	border: 1px solid var(--ks-border);
	border-radius: 999px 0 0 999px;
	font-size: 14px;
}

.ks-search button,
.ks-search input[type="submit"] {
	height: 46px;
	padding: 0 21px;
	border: 0;
	border-radius: 0 999px 999px 0 !important;
	background: var(--ks-blue) !important;
	color: #fff !important;
	font-weight: 700;
	cursor: pointer;
}

.ks-search button:hover,
.ks-search input[type="submit"]:hover {
	background: var(--ks-purple) !important;
}

.ks-icon-link,
.ks-cart-link {
	color: var(--ks-dark);
	text-decoration: none;
	font-weight: 700;
	white-space: nowrap;
}

.ks-icon-link:hover,
.ks-cart-link:hover {
	color: var(--ks-red);
}


/* ============================================================
   CART BADGE
   ============================================================ */

.ks-cart-count {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	min-width: 23px;
	height: 23px;
	padding: 0 6px;

	margin-left: 4px;

	background: var(--ks-orange);
	color: #fff;

	border-radius: 999px;
	font-size: 12px;
	font-weight: 800;
}


/* ============================================================
   GENERAL BUTTONS
   ============================================================ */

button,
.button,
.wp-element-button,
input[type="submit"],
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button {
	border-radius: 999px !important;
	font-weight: 700;
	transition:
		transform .2s ease,
		background-color .2s ease,
		box-shadow .2s ease;
}

.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.single_add_to_cart_button {
	background: var(--ks-red) !important;
	color: #fff !important;
	border: 0 !important;
}

.woocommerce a.button:hover,
.woocommerce button.button:hover,
.woocommerce input.button:hover,
.single_add_to_cart_button:hover {
	background: var(--ks-orange) !important;
	color: #fff !important;
	transform: translateY(-2px);
	box-shadow:
		0 8px 20px rgba(245, 47, 77, .20);
}


/* ============================================================
   PRODUCT CARDS
   ============================================================ */

.woocommerce ul.products li.product {
	background: #fff;
	border: 1px solid var(--ks-border);
	border-radius: var(--ks-radius-lg);
	padding: 14px;
	box-shadow: var(--ks-shadow);
	overflow: hidden;
	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.woocommerce ul.products li.product:hover {
	transform: translateY(-5px);
	box-shadow:
		0 18px 42px rgba(23, 56, 47, .13);
}

.woocommerce ul.products li.product img {
	border-radius: 20px;
}

.woocommerce ul.products li.product .woocommerce-loop-product__title {
	color: var(--ks-dark);
	font-weight: 800;
}

.woocommerce ul.products li.product .price {
	color: var(--ks-dark);
	font-weight: 800;
}


/* ============================================================
   PRODUCT BADGES
   ============================================================ */

.woocommerce span.onsale {
	background: var(--ks-red);
	color: #fff;
	border-radius: 999px;
	box-shadow:
		0 6px 18px rgba(245, 47, 77, .18);
}

.ks-product-age-badge {
	background: var(--ks-blue-soft);
	color: var(--ks-blue);
	border-radius: 999px;
	font-weight: 800;
}

.ks-product-meta {
	color: var(--ks-red);
	font-weight: 800;
}


/* ============================================================
   FORMS
   ============================================================ */

input,
select,
textarea {
	border-radius: var(--ks-radius-sm);
}


/* ============================================================
   FOOTER
   ============================================================ */

.ks-footer {
	position: relative;
	background: var(--ks-dark);
	color: rgba(255, 255, 255, .80);
}

.ks-footer h2,
.ks-footer h3,
.ks-footer h4,
.ks-footer strong {
	color: #fff;
}

.ks-footer a {
	color: rgba(255, 255, 255, .78);
}

.ks-footer a:hover {
	color: var(--ks-orange);
}


/* ============================================================
   MOBILE HEADER
   ============================================================ */

@media (max-width: 980px) {

	.ks-header-main {
		min-height: 76px;
	}

	.ks-brand .custom-logo {
		height: 48px;
		max-width: 155px;
	}

	.ks-search {
		display: none;
	}

	.ks-announcement-inner {
		font-size: 11px;
	}
}

@media (max-width: 600px) {

	.ks-announcement-inner {
		justify-content: center;
		text-align: center;
	}

	.ks-announcement-inner span:last-child {
		display: none;
	}

	.ks-brand .custom-logo {
		height: 42px;
		max-width: 140px;
	}
}

/* ============================================================
   KIDSORY FUN HERO V2
   ============================================================ */

.ks-fun-hero {
	position: relative;
	overflow: hidden;
	padding: 64px 0 82px;

	background:
		linear-gradient(
			112deg,
			#29b8f5 0%,
			#269fe7 55%,
			#ffd84f 55%,
			#ffe784 100%
		);
}

.ks-fun-hero::before {
	content: "";
	position: absolute;
	width: 430px;
	height: 430px;
	left: -170px;
	bottom: -230px;

	border-radius: 50%;
	background: rgba(255,255,255,.14);
}

.ks-fun-hero::after {
	content: "";
	position: absolute;
	width: 300px;
	height: 300px;
	right: -70px;
	top: -130px;

	border-radius: 50%;
	background: rgba(255,255,255,.25);
}

.ks-fun-hero-grid {
	position: relative;
	z-index: 2;

	display: grid;
	grid-template-columns: 1.02fr .98fr;
	align-items: center;
	gap: 70px;

	min-height: 570px;
}


/* LEFT */

.ks-fun-copy {
	max-width: 680px;
}

.ks-fun-kicker {
	display: inline-flex;
	align-items: center;
	gap: 9px;

	margin-bottom: 22px;

	color: #fff;
	font-size: 14px;
	font-weight: 900;
	letter-spacing: .16em;
}

.ks-fun-kicker span {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 32px;
	height: 32px;

	border-radius: 50%;
	background: #ffcf37;
	color: #ef476f;

	font-size: 17px;
}

.ks-fun-copy h1 {
	margin: 0;

	max-width: 680px;

	font-size: clamp(58px, 5.9vw, 104px);
	line-height: .91;
	letter-spacing: -.055em;

	color: #fff;
	font-weight: 900;
}

.ks-fun-copy h1 span {
	display: block;
	margin-top: 8px;

	color: #ffd84f;

	text-shadow:
		0 4px 0 rgba(21,69,111,.08);
}

.ks-fun-lead {
	max-width: 560px;

	margin: 30px 0 0;

	color: rgba(255,255,255,.94);

	font-size: 19px;
	line-height: 1.65;
	font-weight: 500;
}


/* BUTTONS */

.ks-fun-actions {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: 14px;

	margin-top: 31px;
}

.ks-fun-btn {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	gap: 10px;

	min-height: 54px;
	padding: 0 24px;

	border-radius: 999px;

	text-decoration: none;
	font-size: 15px;
	font-weight: 900;

	transition:
		transform .2s ease,
		box-shadow .2s ease;
}

.ks-fun-btn:hover {
	transform: translateY(-3px);
}

.ks-fun-btn-primary {
	background: #f53650;
	color: #fff;

	box-shadow:
		0 12px 28px rgba(91,22,42,.20);
}

.ks-fun-btn-primary:hover {
	color: #fff;
	box-shadow:
		0 16px 32px rgba(91,22,42,.27);
}

.ks-fun-btn-secondary {
	background: #fff;
	color: #183c30;

	box-shadow:
		0 10px 22px rgba(18,69,105,.12);
}

.ks-fun-btn-secondary:hover {
	color: #f53650;
}


/* BENEFITS */

.ks-fun-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;

	margin-top: 31px;
}

.ks-fun-benefits > span {
	display: inline-flex;
	align-items: center;
	gap: 7px;

	padding: 9px 14px;

	border-radius: 999px;

	background: rgba(255,255,255,.15);
	border: 1px solid rgba(255,255,255,.32);

	color: #fff;

	font-size: 12px;
	font-weight: 600;

	backdrop-filter: blur(5px);
}

.ks-fun-benefits b {
	color: #ffd84f;
	font-weight: 900;
}


/* RIGHT VISUAL */

.ks-fun-visual {
	position: relative;

	min-height: 525px;

	display: flex;
	align-items: center;
	justify-content: center;
}

.ks-fun-visual::before {
	content: "";
	position: absolute;

	width: 410px;
	height: 410px;

	border-radius:
		46% 54% 62% 38%
		/
		49% 41% 59% 51%;

	background: #fff7e7;

	box-shadow:
		0 30px 70px rgba(83,79,33,.13);

	transform: rotate(-6deg);
}

.ks-fun-orbit {
	position: absolute;
	border-radius: 50%;
}

.ks-orbit-one {
	width: 110px;
	height: 110px;

	left: 5%;
	top: 12%;

	background: #a758b6;
}

.ks-orbit-two {
	width: 78px;
	height: 78px;

	right: 3%;
	bottom: 11%;

	background: #92bf00;
}


/* PRODUCT CARD */

.ks-fun-product {
	position: relative;
	z-index: 3;

	width: 335px;

	display: block;

	padding: 24px;

	border-radius: 32px;

	background: #fff;

	text-decoration: none;

	box-shadow:
		0 28px 55px rgba(53,75,63,.20);

	transform: rotate(-4deg);

	transition:
		transform .25s ease,
		box-shadow .25s ease;
}

.ks-fun-product:hover {
	transform:
		rotate(-2deg)
		translateY(-8px);

	box-shadow:
		0 34px 65px rgba(53,75,63,.26);
}

.ks-fun-product-image {
	height: 310px;

	display: flex;
	align-items: center;
	justify-content: center;

	border-radius: 22px;

	background:
		linear-gradient(
			180deg,
			#ffffff,
			#f7fbfa
		);

	overflow: hidden;
}

.ks-fun-product-image img {
	width: 100%;
	height: 100%;
	object-fit: contain;
}

.ks-fun-product-details {
	padding: 19px 3px 3px;
}

.ks-fun-product-details small {
	display: block;

	margin-bottom: 7px;

	color: #ff6f53;

	font-size: 11px;
	font-weight: 900;
	letter-spacing: .11em;
}

.ks-fun-product-details strong {
	display: block;

	color: #17382f;

	font-size: 18px;
	line-height: 1.25;
	font-weight: 900;
}

.ks-fun-product-details > span {
	display: block;
	margin-top: 7px;

	color: #17382f;

	font-size: 17px;
	font-weight: 900;
}


/* FLOATING STICKERS */

.ks-fun-sticker {
	position: absolute;
	z-index: 5;

	display: flex;
	align-items: center;
	justify-content: center;

	font-weight: 900;

	box-shadow:
		0 10px 24px rgba(58,67,55,.14);
}

.ks-fun-sticker-new {
	top: 7%;
	right: 12%;

	width: 86px;
	height: 86px;

	border-radius: 50%;

	background: #f53650;
	color: #fff;

	transform: rotate(9deg);
}

.ks-fun-sticker-star {
	left: 7%;
	bottom: 24%;

	width: 65px;
	height: 65px;

	border-radius: 18px;

	background: #ff9416;
	color: #fff;

	font-size: 28px;

	transform: rotate(-13deg);
}


/* AGE FLOAT CARD */

.ks-fun-age-card {
	position: absolute;
	z-index: 6;

	right: 0;
	bottom: 3%;

	display: flex;
	flex-direction: column;
	gap: 5px;

	padding: 16px 20px;

	border-radius: 19px;

	background: #fff;

	color: #17382f;
	text-decoration: none;

	box-shadow:
		0 15px 32px rgba(52,71,59,.16);

	transform: rotate(3deg);
}

.ks-fun-age-card small {
	color: #9d50ae;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .12em;
}

.ks-fun-age-card strong {
	font-size: 13px;
	font-weight: 900;
}


/* CONFETTI */

.ks-fun-confetti {
	position: absolute;
	z-index: 1;

	font-weight: 900;
	pointer-events: none;
}

.ks-confetti-one {
	left: 4%;
	top: 13%;

	color: #ffd84f;
	font-size: 38px;

	transform: rotate(-20deg);
}

.ks-confetti-two {
	left: 47%;
	bottom: 8%;

	color: #ef476f;
	font-size: 24px;
}

.ks-confetti-three {
	right: 43%;
	top: 8%;

	color: #fff;
	font-size: 34px;
}

.ks-confetti-four {
	right: 4%;
	top: 48%;

	color: #a154b4;
	font-size: 34px;
}


/* ============================================================
   FLOATING TRUST STRIP
   ============================================================ */

.ks-premium-trust {
	position: relative;
	z-index: 8;

	margin-top: -34px;
	padding: 0;

	background: transparent;
}

.ks-premium-trust-grid {
	background: #fff;

	border-radius: 24px;

	box-shadow:
		0 18px 45px rgba(34,65,54,.13);

	overflow: hidden;
}

.ks-premium-trust-grid > div {
	min-height: 95px;

	padding: 19px 22px;

	background: #fff;

	border-right:
		1px solid rgba(23,56,47,.08);
}

.ks-premium-trust-grid > div:last-child {
	border-right: 0;
}

.ks-premium-trust-grid > div:nth-child(1)
.ks-trust-icon {
	background: #ffe2e8;
	color: #ef476f;
}

.ks-premium-trust-grid > div:nth-child(2)
.ks-trust-icon {
	background: #fff1bd;
	color: #e49b00;
}

.ks-premium-trust-grid > div:nth-child(3)
.ks-trust-icon {
	background: #dff5ff;
	color: #129dce;
}

.ks-premium-trust-grid > div:nth-child(4)
.ks-trust-icon {
	background: #efe3f7;
	color: #a154b4;
}

.ks-trust-icon {
	display: inline-flex;
	align-items: center;
	justify-content: center;

	width: 42px;
	height: 42px;

	border-radius: 50%;

	font-size: 12px;
	font-weight: 900;
}


/* ============================================================
   EXTRA PLAYFUL TOUCHES
   ============================================================ */

.ks-premium-age-card,
.ks-premium-category-card {
	transition:
		transform .22s ease,
		box-shadow .22s ease;
}

.ks-premium-age-card:hover,
.ks-premium-category-card:hover {
	transform:
		translateY(-7px)
		rotate(-1deg);

	box-shadow:
		0 18px 35px rgba(41,68,57,.12);
}


/* ============================================================
   RESPONSIVE
   ============================================================ */

@media (max-width: 1050px) {

	.ks-fun-hero-grid {
		grid-template-columns: 1fr 1fr;
		gap: 35px;
	}

	.ks-fun-copy h1 {
		font-size: 62px;
	}

	.ks-fun-product {
		width: 290px;
	}

	.ks-fun-product-image {
		height: 270px;
	}
}


@media (max-width: 800px) {

	.ks-fun-hero {
		padding:
			48px 0
			70px;
	}

	.ks-fun-hero-grid {
		display: block;
	}

	.ks-fun-copy {
		text-align: center;
		margin: 0 auto;
	}

	.ks-fun-kicker {
		justify-content: center;
	}

	.ks-fun-copy h1 {
		font-size: 56px;
	}

	.ks-fun-lead {
		margin-left: auto;
		margin-right: auto;
	}

	.ks-fun-actions,
	.ks-fun-benefits {
		justify-content: center;
	}

	.ks-fun-visual {
		margin-top: 45px;
		min-height: 500px;
	}

	.ks-premium-trust {
		margin-top: -26px;
	}
}


@media (max-width: 520px) {

	.ks-fun-copy h1 {
		font-size: 43px;
	}

	.ks-fun-lead {
		font-size: 16px;
	}

	.ks-fun-visual {
		min-height: 430px;
	}

	.ks-fun-visual::before {
		width: 330px;
		height: 330px;
	}

	.ks-fun-product {
		width: 250px;
		padding: 16px;
	}

	.ks-fun-product-image {
		height: 235px;
	}

	.ks-fun-sticker-new {
		width: 67px;
		height: 67px;
		font-size: 12px;
	}

	.ks-fun-age-card {
		right: 4px;
		bottom: 1%;
	}

	.ks-premium-trust-grid {
		border-radius: 18px;
	}
}
/* ============================================================
   KIDSORY TRUST STRIP V2
   ============================================================ */

.ks-premium-trust-grid > .ks-trust-card {
	position: relative;
	overflow: hidden;
	min-height: 102px;
	transition:
		transform .22s ease,
		box-shadow .22s ease;
}

.ks-premium-trust-grid > .ks-trust-card::before {
	content: "";
	position: absolute;
	inset: 0 0 auto;
	height: 4px;
	background: #f53650;
}

.ks-premium-trust-grid > .ks-trust-card:nth-child(2)::before {
	background: #ffb600;
}

.ks-premium-trust-grid > .ks-trust-card:nth-child(3)::before {
	background: #16a8dc;
}

.ks-premium-trust-grid > .ks-trust-card:nth-child(4)::before {
	background: #a154b4;
}

.ks-premium-trust-grid > .ks-trust-card:hover {
	transform: translateY(-3px);
	box-shadow: 0 14px 30px rgba(34,65,54,.09);
}

.ks-premium-trust-grid > .ks-trust-card .ks-trust-icon {
	width: 48px;
	height: 48px;
	flex: 0 0 48px;
	font-size: 11px;
	letter-spacing: -.02em;
	box-shadow: inset 0 0 0 1px rgba(23,56,47,.04);
}

.ks-premium-trust-grid > .ks-trust-card p {
	min-width: 0;
}

.ks-premium-trust-grid > .ks-trust-card strong {
	color: #17382f;
	font-size: 14px;
	font-weight: 900;
	line-height: 1.2;
}

.ks-premium-trust-grid > .ks-trust-card p > span {
	margin-top: 5px;
	color: #61716b;
	font-size: 11px;
	line-height: 1.35;
}


/* ============================================================
   KIDSORY SHOP BY AGE V2
   ============================================================ */

.ks-age-section-v2 {
	position: relative;
	background:
		radial-gradient(circle at 8% 18%, rgba(245,54,80,.07) 0 7px, transparent 8px),
		radial-gradient(circle at 92% 16%, rgba(20,158,209,.07) 0 8px, transparent 9px),
		#fffaf2;
}

.ks-age-section-intro {
	margin: 12px 0 0;
	color: #61716b;
	font-size: 14px;
	line-height: 1.5;
}

.ks-age-grid-v2 {
	gap: 16px;
}

.ks-age-card-v2 {
	isolation: isolate;
	min-height: 270px;
	padding: 20px;
	border: 1px solid rgba(23,56,47,.05);
	box-shadow: 0 10px 28px rgba(23,56,47,.05);
}

.ks-age-card-v2::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 150px;
	height: 150px;
	right: -55px;
	bottom: -55px;
	border: 24px solid rgba(255,255,255,.34);
	border-radius: 50%;
}

.ks-age-card-v2::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 56px;
	height: 56px;
	right: 68px;
	top: 74px;
	border-radius: 50%;
	background: rgba(255,255,255,.24);
}

.ks-age-card-v2:hover {
	transform: translateY(-8px) rotate(-.7deg);
	box-shadow: 0 22px 46px rgba(23,56,47,.12);
}

.ks-age-top-v2 {
	position: relative;
	display: flex;
	align-items: flex-start;
	justify-content: space-between;
	gap: 12px;
}

.ks-age-card-v2 .ks-age-circle {
	width: 78px;
	height: 78px;
	flex: 0 0 78px;
	background: rgba(255,255,255,.83);
	box-shadow: 0 8px 22px rgba(23,56,47,.06);
}

.ks-age-card-v2 .ks-age-circle strong {
	font-size: 25px;
	font-weight: 900;
}

.ks-age-icon-v2 {
	display: grid;
	place-items: center;
	width: 72px;
	height: 72px;
	flex: 0 0 72px;
	border-radius: 24px;
	background: rgba(255,255,255,.76);
	box-shadow: 0 10px 25px rgba(23,56,47,.08);
	font-size: 38px;
	line-height: 1;
	transform: rotate(7deg);
	transition: transform .24s ease;
}

.ks-age-card-v2:hover .ks-age-icon-v2 {
	transform: rotate(-5deg) scale(1.08);
}

.ks-age-copy-v2 {
	position: relative;
	z-index: 2;
	margin-top: auto;
	padding-top: 26px;
}

.ks-age-copy-v2 small {
	display: block;
	margin-bottom: 7px;
	color: rgba(23,56,47,.58);
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .13em;
}

.ks-age-card-v2 .ks-age-copy-v2 h3 {
	margin: 0;
	color: #17382f;
	font-size: 20px;
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -.025em;
}

.ks-age-copy-v2 p {
	margin: 7px 0 0;
	color: rgba(23,56,47,.67);
	font-size: 12px;
	line-height: 1.4;
}

.ks-age-shop-v2 {
	display: inline-flex;
	align-items: center;
	gap: 5px;
	margin-top: 15px;
	color: #17382f !important;
	font-size: 11px !important;
	font-weight: 900 !important;
}

.ks-age-shop-v2 b {
	transition: transform .2s ease;
}

.ks-age-card-v2:hover .ks-age-shop-v2 b {
	transform: translateX(5px);
}

.ks-age-spark {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	font-weight: 900;
}

.ks-age-spark-one {
	right: 16px;
	bottom: 18px;
	color: rgba(255,255,255,.82);
	font-size: 19px;
}

.ks-age-spark-two {
	left: 14px;
	top: 112px;
	color: rgba(255,255,255,.55);
	font-size: 12px;
}

@media (max-width: 1100px) {
	.ks-age-grid-v2 {
		grid-template-columns: repeat(3, minmax(0,1fr));
	}

	.ks-age-card-v2 {
		min-height: 250px;
	}
}

@media (max-width: 700px) {
	.ks-age-section-intro {
		font-size: 13px;
	}

	.ks-age-grid-v2 {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}

	.ks-age-card-v2 {
		min-height: 225px;
		padding: 16px;
	}

	.ks-age-card-v2:last-child {
		grid-column: 1 / -1;
	}

	.ks-age-card-v2 .ks-age-circle {
		width: 66px;
		height: 66px;
		flex-basis: 66px;
	}

	.ks-age-card-v2 .ks-age-circle strong {
		font-size: 21px;
	}

	.ks-age-icon-v2 {
		width: 60px;
		height: 60px;
		flex-basis: 60px;
		border-radius: 20px;
		font-size: 31px;
	}

	.ks-age-copy-v2 {
		padding-top: 18px;
	}
}

@media (max-width: 420px) {
	.ks-premium-trust-grid {
		grid-template-columns: 1fr;
	}

	.ks-age-grid-v2 {
		grid-template-columns: 1fr;
	}

	.ks-age-card-v2,
	.ks-age-card-v2:last-child {
		grid-column: auto;
		min-height: 205px;
	}
}
/* ============================================================
   KIDSORY HOMEPAGE V3
   Featured Pick + Play Story + Why Kidsory
   ============================================================ */

/* ------------------------------------------------------------
   FEATURED KIDSORY PICK
   ------------------------------------------------------------ */

.ks-featured-section {
	position: relative;
	background:
		radial-gradient(circle at 8% 18%, rgba(245,47,77,.06) 0 7px, transparent 8px),
		radial-gradient(circle at 92% 82%, rgba(20,158,209,.06) 0 8px, transparent 9px),
		#ffffff;
}

.ks-featured-heading {
	margin-bottom: 30px;
}

.ks-featured-intro {
	margin: 12px 0 0;
	color: #61716b;
	font-size: 14px;
	line-height: 1.55;
}

.ks-featured-card {
	position: relative;
	display: grid;
	grid-template-columns: minmax(0, .92fr) minmax(420px, 1.08fr);
	align-items: stretch;
	gap: 34px;
	padding: 28px;
	border: 1px solid rgba(23,56,47,.07);
	border-radius: 40px;
	background:
		linear-gradient(
			120deg,
			#fff3f0 0%,
			#fff9e8 34%,
			#eef9ff 68%,
			#f5efff 100%
		);
	box-shadow: 0 22px 60px rgba(23,56,47,.08);
	overflow: hidden;
}

.ks-featured-card::before {
	content: "";
	position: absolute;
	width: 240px;
	height: 240px;
	left: -110px;
	bottom: -130px;
	border-radius: 50%;
	background: rgba(255,255,255,.52);
}

.ks-featured-copy {
	position: relative;
	z-index: 2;
	display: flex;
	flex-direction: column;
	justify-content: center;
	padding: 44px 26px 44px 34px;
}

.ks-featured-badge {
	display: inline-flex;
	align-items: center;
	align-self: flex-start;
	gap: 7px;
	padding: 9px 13px;
	margin-bottom: 20px;
	border-radius: 999px;
	background: #fff;
	color: #f53650;
	box-shadow: 0 8px 22px rgba(23,56,47,.06);
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .11em;
}

.ks-featured-copy h3 {
	max-width: 590px;
	margin: 0;
	color: #17382f;
	font-size: clamp(35px, 4vw, 60px);
	line-height: .98;
	letter-spacing: -.045em;
	font-weight: 900;
}

.ks-featured-copy > p {
	max-width: 560px;
	margin: 20px 0 0;
	color: #50655d;
	font-size: 16px;
	line-height: 1.7;
}

.ks-featured-pills {
	display: flex;
	flex-wrap: wrap;
	gap: 9px;
	margin-top: 22px;
}

.ks-featured-pills span {
	display: inline-flex;
	align-items: center;
	min-height: 32px;
	padding: 0 12px;
	border: 1px solid rgba(23,56,47,.08);
	border-radius: 999px;
	background: rgba(255,255,255,.72);
	color: #17382f;
	font-size: 11px;
	font-weight: 800;
}

.ks-featured-price {
	margin-top: 25px;
	color: #17382f;
	font-size: 24px;
	font-weight: 900;
}

.ks-featured-price del {
	margin-right: 8px;
	color: #83918b;
	font-size: 15px;
	font-weight: 600;
}

.ks-featured-price ins {
	text-decoration: none;
}

.ks-featured-actions {
	display: flex;
	flex-wrap: wrap;
	gap: 11px;
	margin-top: 24px;
}

.ks-featured-btn-primary {
	border: 0 !important;
	background: #f53650 !important;
	color: #fff !important;
	box-shadow: 0 12px 26px rgba(245,54,80,.20);
}

.ks-featured-btn-primary:hover {
	background: #ff9416 !important;
	color: #fff !important;
}

.ks-featured-btn-secondary {
	background: #fff !important;
	color: #17382f !important;
}

.ks-featured-btn-secondary:hover {
	color: #129dce !important;
}

.ks-featured-visual {
	position: relative;
	min-height: 520px;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 32px;
	background:
		linear-gradient(
			145deg,
			#23afe6 0%,
			#4cc7f1 50%,
			#ffd84f 50%,
			#ffe789 100%
		);
	overflow: hidden;
	text-decoration: none;
}

.ks-featured-visual::before {
	content: "";
	position: absolute;
	width: 360px;
	height: 360px;
	border-radius: 48% 52% 60% 40% / 48% 42% 58% 52%;
	background: rgba(255,255,255,.88);
	transform: rotate(-7deg);
	box-shadow: 0 24px 60px rgba(43,74,62,.12);
}

.ks-featured-product-image {
	position: relative;
	z-index: 3;
	width: min(68%, 380px);
	padding: 22px;
	border-radius: 28px;
	background: #fff;
	box-shadow: 0 24px 55px rgba(39,64,54,.18);
	transform: rotate(-3deg);
	transition: transform .25s ease, box-shadow .25s ease;
}

.ks-featured-visual:hover .ks-featured-product-image {
	transform: rotate(0) translateY(-7px);
	box-shadow: 0 30px 66px rgba(39,64,54,.24);
}

.ks-featured-product-image img {
	display: block;
	width: 100%;
	height: 340px;
	object-fit: contain;
	border-radius: 20px;
	background: #fff;
}

.ks-featured-shape {
	position: absolute;
	z-index: 2;
	display: grid;
	place-items: center;
}

.ks-featured-shape-one {
	width: 95px;
	height: 95px;
	left: 6%;
	top: 10%;
	border-radius: 50%;
	background: #a154b4;
}

.ks-featured-shape-two {
	width: 72px;
	height: 72px;
	right: 6%;
	bottom: 11%;
	border-radius: 50%;
	background: #91bf00;
}

.ks-featured-shape-three {
	width: 64px;
	height: 64px;
	left: 8%;
	bottom: 14%;
	border-radius: 19px;
	background: #ff9416;
	color: #fff;
	font-size: 26px;
	transform: rotate(-12deg);
	box-shadow: 0 12px 28px rgba(23,56,47,.12);
}

.ks-featured-float-card {
	position: absolute;
	z-index: 5;
	right: 18px;
	top: 22px;
	display: flex;
	flex-direction: column;
	gap: 4px;
	max-width: 190px;
	padding: 13px 15px;
	border-radius: 16px;
	background: rgba(255,255,255,.94);
	color: #17382f;
	box-shadow: 0 12px 28px rgba(23,56,47,.12);
	transform: rotate(3deg);
}

.ks-featured-float-card small {
	color: #a154b4;
	font-size: 8px;
	font-weight: 900;
	letter-spacing: .11em;
}

.ks-featured-float-card strong {
	font-size: 14px;
	font-weight: 900;
}

.ks-featured-float-card strong del {
	display: none;
}

.ks-featured-float-card strong ins {
	text-decoration: none;
}

.ks-featured-float-card span {
	color: #6d7b76;
	font-size: 10px;
	line-height: 1.35;
}

.ks-featured-empty {
	padding: 46px;
	border-radius: 30px;
	background: #fff4e9;
	text-align: center;
}

.ks-featured-empty strong {
	display: block;
	margin-bottom: 20px;
	color: #17382f;
	font-size: 24px;
}


/* ------------------------------------------------------------
   PLAY STORY V3
   ------------------------------------------------------------ */

.ks-story-v3 {
	position: relative;
	padding: 28px 0 82px;
	background: #fff;
}

.ks-story-card-v3 {
	position: relative;
	isolation: isolate;
	overflow: hidden;
	grid-template-columns: 1fr 1fr;
	gap: 50px;
	padding: 58px;
	border-radius: 42px;
	background:
		linear-gradient(
			135deg,
			#17382f 0%,
			#17382f 64%,
			#1c4b3e 100%
		);
}

.ks-story-card-v3::before {
	content: "";
	position: absolute;
	z-index: -1;
	width: 290px;
	height: 290px;
	right: -100px;
	top: -120px;
	border-radius: 50%;
	background: rgba(255,216,79,.10);
}

.ks-story-card-v3::after {
	content: "";
	position: absolute;
	z-index: -1;
	width: 220px;
	height: 220px;
	left: -100px;
	bottom: -115px;
	border-radius: 50%;
	background: rgba(41,184,245,.10);
}

.ks-story-card-v3 .ks-story-copy {
	align-self: center;
}

.ks-story-card-v3 .ks-story-copy h2 {
	max-width: 620px;
	margin: 12px 0 20px;
	font-size: clamp(43px, 5vw, 70px);
	line-height: .96;
	letter-spacing: -.055em;
	color: #fff;
}

.ks-story-card-v3 .ks-story-copy h2 span {
	color: #ffb08f;
}

.ks-story-card-v3 .ks-story-copy > p {
	max-width: 540px;
	margin: 0 0 27px;
	color: rgba(255,255,255,.72);
	font-size: 15px;
	line-height: 1.7;
}

.ks-story-values-v3 {
	display: grid;
	gap: 12px;
}

.ks-story-values-v3 .ks-story-value-card {
	position: relative;
	display: grid;
	grid-template-columns: 42px 1fr 54px;
	align-items: center;
	gap: 15px;
	padding: 18px 18px 18px 16px;
	border: 1px solid rgba(255,255,255,.11);
	border-radius: 20px;
	background: rgba(255,255,255,.075);
	backdrop-filter: blur(5px);
	transition: transform .2s ease, background .2s ease;
}

.ks-story-values-v3 .ks-story-value-card:hover {
	transform: translateX(5px);
	background: rgba(255,255,255,.11);
}

.ks-story-value-number {
	display: grid;
	place-items: center;
	width: 38px;
	height: 38px;
	border-radius: 50%;
	background: #ffd84f;
	color: #17382f !important;
	font-size: 10px !important;
	font-weight: 900;
}

.ks-story-values-v3 .ks-story-value-card:nth-child(2) .ks-story-value-number {
	background: #ffb4c2;
}

.ks-story-values-v3 .ks-story-value-card:nth-child(3) .ks-story-value-number {
	background: #bfe6f7;
}

.ks-story-values-v3 strong {
	display: block;
	color: #fff;
	font-size: 17px;
	font-weight: 900;
}

.ks-story-values-v3 p {
	grid-column: auto !important;
	margin: 3px 0 0 !important;
	color: rgba(255,255,255,.62) !important;
	font-size: 11px !important;
	line-height: 1.45;
}

.ks-story-value-icon {
	display: grid;
	place-items: center;
	width: 48px;
	height: 48px;
	border-radius: 15px;
	background: rgba(255,255,255,.10);
	font-size: 23px !important;
}

.ks-story-float {
	position: absolute;
	z-index: 1;
	pointer-events: none;
	font-weight: 900;
}

.ks-story-float-one {
	right: 36%;
	top: 30px;
	color: #ffd84f;
	font-size: 25px;
	transform: rotate(15deg);
}

.ks-story-float-two {
	left: 46%;
	bottom: 34px;
	color: #29b8f5;
	font-size: 18px;
}

.ks-story-float-three {
	right: 22px;
	bottom: 28px;
	color: #ff7f66;
	font-size: 24px;
}


/* ------------------------------------------------------------
   WHY KIDSORY V3
   ------------------------------------------------------------ */

.ks-why-section-v3 {
	position: relative;
	background:
		radial-gradient(circle at 6% 12%, rgba(245,54,80,.06) 0 7px, transparent 8px),
		radial-gradient(circle at 94% 88%, rgba(145,191,0,.06) 0 8px, transparent 9px),
		#fff8ef;
}

.ks-why-section-v3 .ks-heading-center {
	margin-bottom: 34px;
}

.ks-why-intro {
	max-width: 620px;
	margin: 14px auto 0;
	color: #61716b;
	font-size: 14px;
	line-height: 1.6;
}

.ks-why-grid-v3 {
	grid-template-columns: repeat(4, minmax(0,1fr));
	gap: 15px;
}

.ks-why-card-v3 {
	position: relative;
	min-height: 230px;
	padding: 25px;
	border: 0;
	border-radius: 28px;
	overflow: hidden;
	box-shadow: 0 10px 30px rgba(23,56,47,.05);
	transition: transform .22s ease, box-shadow .22s ease;
}

.ks-why-card-v3:hover {
	transform: translateY(-7px) rotate(-.5deg);
	box-shadow: 0 20px 42px rgba(23,56,47,.11);
}

.ks-why-card-v3::after {
	content: "";
	position: absolute;
	width: 110px;
	height: 110px;
	right: -42px;
	bottom: -42px;
	border: 22px solid rgba(255,255,255,.36);
	border-radius: 50%;
}

.ks-why-card-pink {
	background: #ffd9e0;
}

.ks-why-card-blue {
	background: #dff3ff;
}

.ks-why-card-yellow {
	background: #fff0b7;
}

.ks-why-card-green {
	background: #e2f0d8;
}

.ks-why-icon {
	display: grid !important;
	place-items: center !important;
	width: 62px !important;
	height: 62px !important;
	border-radius: 20px !important;
	background: rgba(255,255,255,.76) !important;
	color: #17382f !important;
	font-size: 30px !important;
	line-height: 1 !important;
	box-shadow: 0 9px 22px rgba(23,56,47,.06);
	transform: rotate(4deg);
}

.ks-why-card-v3:nth-child(even) .ks-why-icon {
	transform: rotate(-4deg);
}

.ks-why-card-v3 h3 {
	margin: 24px 0 8px;
	color: #17382f;
	font-size: 21px;
	line-height: 1.08;
	font-weight: 900;
	letter-spacing: -.025em;
}

.ks-why-card-v3 p {
	position: relative;
	z-index: 2;
	margin: 0;
	color: rgba(23,56,47,.68);
	font-size: 12px;
	line-height: 1.55;
}

.ks-why-cta {
	position: relative;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 30px;
	margin-top: 20px;
	padding: 28px 32px;
	border-radius: 28px;
	background:
		linear-gradient(
			100deg,
			#ffffff 0%,
			#fff3ef 34%,
			#edf8ff 68%,
			#f4efff 100%
		);
	border: 1px solid rgba(23,56,47,.06);
	box-shadow: 0 10px 28px rgba(23,56,47,.04);
	overflow: hidden;
}

.ks-why-cta::after {
	content: "★";
	position: absolute;
	right: 190px;
	top: -12px;
	color: rgba(255,148,22,.22);
	font-size: 76px;
	transform: rotate(14deg);
}

.ks-why-cta h3 {
	margin: 7px 0 0;
	color: #17382f;
	font-size: clamp(28px, 3vw, 42px);
	line-height: 1;
	letter-spacing: -.04em;
}


/* ------------------------------------------------------------
   HOMEPAGE V3 RESPONSIVE
   ------------------------------------------------------------ */

@media (max-width: 1100px) {

	.ks-featured-card {
		grid-template-columns: 1fr 1fr;
	}

	.ks-featured-copy {
		padding: 34px 10px 34px 22px;
	}

	.ks-featured-visual {
		min-height: 450px;
	}

	.ks-featured-product-image img {
		height: 290px;
	}

	.ks-why-grid-v3 {
		grid-template-columns: repeat(2, minmax(0,1fr));
	}
}

@media (max-width: 820px) {

	.ks-featured-card {
		grid-template-columns: 1fr;
		padding: 20px;
	}

	.ks-featured-copy {
		padding: 28px 12px 12px;
		text-align: center;
		align-items: center;
	}

	.ks-featured-copy > p {
		margin-left: auto;
		margin-right: auto;
	}

	.ks-featured-pills,
	.ks-featured-actions {
		justify-content: center;
	}

	.ks-featured-visual {
		min-height: 430px;
	}

	.ks-story-card-v3 {
		grid-template-columns: 1fr;
		gap: 34px;
		padding: 38px 28px;
	}

	.ks-why-cta {
		flex-direction: column;
		align-items: flex-start;
	}
}

@media (max-width: 600px) {

	.ks-featured-heading {
		align-items: flex-start;
	}

	.ks-featured-copy h3 {
		font-size: 38px;
	}

	.ks-featured-copy > p {
		font-size: 14px;
	}

	.ks-featured-visual {
		min-height: 365px;
	}

	.ks-featured-product-image {
		width: 70%;
		padding: 15px;
		border-radius: 23px;
	}

	.ks-featured-product-image img {
		height: 235px;
	}

	.ks-featured-float-card {
		right: 10px;
		top: 12px;
		max-width: 150px;
		padding: 10px 12px;
	}

	.ks-featured-shape-one {
		width: 70px;
		height: 70px;
	}

	.ks-featured-shape-two {
		width: 55px;
		height: 55px;
	}

	.ks-featured-shape-three {
		width: 52px;
		height: 52px;
		font-size: 21px;
	}

	.ks-story-card-v3 .ks-story-copy h2 {
		font-size: 42px;
	}

	.ks-story-values-v3 .ks-story-value-card {
		grid-template-columns: 36px 1fr 44px;
		padding: 15px;
	}

	.ks-story-value-icon {
		width: 42px;
		height: 42px;
		font-size: 20px !important;
	}

	.ks-why-grid-v3 {
		grid-template-columns: 1fr;
	}

	.ks-why-card-v3 {
		min-height: 200px;
	}

	.ks-why-cta {
		padding: 24px;
	}
}

@media (max-width: 420px) {

	.ks-featured-card {
		border-radius: 28px;
	}

	.ks-featured-copy {
		padding: 22px 6px 8px;
	}

	.ks-featured-visual {
		min-height: 330px;
		border-radius: 24px;
	}

	.ks-featured-product-image img {
		height: 205px;
	}

	.ks-story-card-v3 {
		padding: 32px 20px;
		border-radius: 28px;
	}
}

/* ============================================================
   KIDSORY SHOP PAGE V2
   ============================================================ */

.ks-shop-page-v2 {
	background: #fffdf9;
	overflow: hidden;
}


/* SHOP HERO */

.ks-shop-hero-v2 {
	position: relative;
	overflow: hidden;
	background:
		linear-gradient(
			118deg,
			#24aae2 0%,
			#24aae2 58%,
			#ffe06d 58%,
			#ffe06d 100%
		);
}

.ks-shop-hero-v2::before {
	content: "";
	position: absolute;
	width: 190px;
	height: 190px;
	right: -36px;
	top: -55px;
	border-radius: 50%;
	background: rgba(255,255,255,.22);
}

.ks-shop-hero-v2::after {
	content: "";
	position: absolute;
	width: 145px;
	height: 145px;
	left: -60px;
	bottom: -80px;
	border-radius: 50%;
	background: rgba(255,255,255,.12);
}

.ks-shop-hero-grid {
	position: relative;
	z-index: 2;
	min-height: 390px;
	display: grid;
	grid-template-columns: minmax(0, 1.08fr) minmax(360px, .92fr);
	align-items: center;
	gap: 48px;
	padding-top: 54px;
	padding-bottom: 54px;
}

.ks-shop-hero-copy {
	max-width: 680px;
}

.ks-shop-hero-kicker {
	display: inline-flex;
	align-items: center;
	gap: 8px;
	margin-bottom: 18px;
	color: #fff;
	font-size: 12px;
	font-weight: 900;
	letter-spacing: .16em;
}

.ks-shop-hero-kicker span {
	display: grid;
	place-items: center;
	width: 27px;
	height: 27px;
	border-radius: 50%;
	background: #ffd94b;
	color: #17382f;
	letter-spacing: 0;
}

.ks-shop-hero-copy h1 {
	margin: 0;
	max-width: 650px;
	color: #fff;
	font-size: clamp(48px, 6vw, 78px);
	line-height: .94;
	letter-spacing: -.055em;
	font-weight: 900;
}

.ks-shop-hero-copy p {
	max-width: 590px;
	margin: 22px 0 0;
	color: rgba(255,255,255,.94);
	font-size: 17px;
	line-height: 1.6;
}

.ks-shop-hero-benefits {
	display: flex;
	flex-wrap: wrap;
	gap: 10px;
	margin-top: 26px;
}

.ks-shop-hero-benefits span {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	padding: 9px 13px;
	border-radius: 999px;
	background: rgba(255,255,255,.92);
	color: #17382f;
	font-size: 11px;
	font-weight: 800;
	box-shadow: 0 7px 20px rgba(23,56,47,.08);
}

.ks-shop-hero-benefits b {
	color: #ff4164;
	font-weight: 900;
}


/* HERO PLAY VISUAL */

.ks-shop-hero-play {
	position: relative;
	min-height: 280px;
}

.ks-shop-play-card {
	position: absolute;
	z-index: 3;
	display: flex;
	align-items: center;
	gap: 13px;
	min-width: 155px;
	padding: 16px 19px;
	border-radius: 24px;
	background: rgba(255,255,255,.95);
	box-shadow: 0 16px 36px rgba(23,56,47,.14);
	color: #17382f;
}

.ks-shop-play-card span {
	font-size: 42px;
	line-height: 1;
}

.ks-shop-play-card strong {
	font-size: 17px;
	font-weight: 900;
}

.ks-shop-play-card-one {
	left: 2%;
	top: 18%;
	transform: rotate(-8deg);
}

.ks-shop-play-card-two {
	right: 5%;
	top: 4%;
	transform: rotate(7deg);
}

.ks-shop-play-card-three {
	left: 27%;
	bottom: 4%;
	transform: rotate(4deg);
}

.ks-shop-play-orbit {
	position: absolute;
	border-radius: 50%;
	border: 24px solid rgba(255,255,255,.28);
}

.ks-shop-play-orbit-one {
	width: 190px;
	height: 190px;
	right: 12%;
	bottom: 1%;
}

.ks-shop-play-orbit-two {
	width: 90px;
	height: 90px;
	left: 17%;
	top: 2%;
	border-width: 15px;
	background: rgba(164,91,184,.50);
}

.ks-shop-play-star {
	position: absolute;
	z-index: 4;
	color: #ff4164;
	font-size: 28px;
	font-weight: 900;
}

.ks-shop-play-star-one {
	right: 2%;
	bottom: 20%;
}

.ks-shop-play-star-two {
	left: 3%;
	bottom: 5%;
	color: #ff9914;
}


/* DISCOVERY */

.ks-shop-discovery-v2 {
	padding: 56px 0 42px;
	background: #fffaf4;
}

.ks-shop-filter-heading {
	display: flex;
	align-items: end;
	justify-content: space-between;
	gap: 20px;
	margin-bottom: 24px;
}

.ks-shop-filter-heading h2 {
	margin: 6px 0 0;
	font-size: clamp(32px, 4vw, 48px);
	line-height: 1;
	font-weight: 900;
	letter-spacing: -.045em;
}

.ks-shop-all-link {
	display: inline-flex;
	align-items: center;
	gap: 7px;
	color: #17382f;
	text-decoration: none;
	font-size: 13px;
	font-weight: 900;
}

.ks-shop-all-link span {
	transition: transform .2s ease;
}

.ks-shop-all-link:hover span {
	transform: translateX(4px);
}

.ks-shop-all-link.is-active {
	color: #ff4164;
}


/* CATEGORY CHIPS */

.ks-shop-category-chips {
	display: grid;
	grid-template-columns: repeat(6, minmax(0, 1fr));
	gap: 12px;
}

.ks-shop-category-chip {
	position: relative;
	min-height: 128px;
	padding: 16px 13px 14px;
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	justify-content: space-between;
	overflow: hidden;
	border: 1px solid rgba(23,56,47,.05);
	border-radius: 24px;
	color: #17382f;
	text-decoration: none;
	box-shadow: 0 8px 22px rgba(23,56,47,.04);
	transition:
		transform .2s ease,
		box-shadow .2s ease,
		border-color .2s ease;
}

.ks-shop-category-chip::after {
	content: "";
	position: absolute;
	right: -25px;
	bottom: -25px;
	width: 72px;
	height: 72px;
	border-radius: 50%;
	border: 14px solid rgba(255,255,255,.35);
}

.ks-shop-category-chip:hover {
	transform: translateY(-5px);
	box-shadow: 0 16px 34px rgba(23,56,47,.10);
}

.ks-shop-category-chip.is-active {
	border-color: rgba(23,56,47,.25);
	box-shadow: 0 0 0 3px rgba(23,56,47,.05);
}

.ks-shop-category-icon {
	position: relative;
	z-index: 2;
	display: grid;
	place-items: center;
	width: 54px;
	height: 54px;
	border-radius: 18px;
	background: rgba(255,255,255,.82);
	font-size: 30px;
	box-shadow: 0 7px 18px rgba(23,56,47,.07);
}

.ks-shop-category-chip strong {
	position: relative;
	z-index: 2;
	font-size: 13px;
	line-height: 1.1;
	font-weight: 900;
}

.ks-shop-chip-pink   { background: #ffd8cc; }
.ks-shop-chip-blue   { background: #d7edfa; }
.ks-shop-chip-green  { background: #d9ead7; }
.ks-shop-chip-yellow { background: #ffeaa5; }
.ks-shop-chip-purple { background: #e7daf5; }
.ks-shop-chip-mint   { background: #d8eee8; }


/* AGE FILTER */

.ks-shop-age-row {
	margin-top: 18px;
	padding: 15px 17px;
	display: flex;
	align-items: center;
	gap: 18px;
	border-radius: 22px;
	background: #fff;
	border: 1px solid rgba(23,56,47,.06);
	box-shadow: 0 8px 22px rgba(23,56,47,.04);
}

.ks-shop-age-label {
	flex: 0 0 auto;
	color: #17382f;
	font-size: 12px;
	font-weight: 900;
}

.ks-shop-age-chips {
	display: flex;
	align-items: center;
	flex-wrap: wrap;
	gap: 8px;
}

.ks-shop-age-chip {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	min-width: 58px;
	height: 34px;
	padding: 0 13px;
	border-radius: 999px;
	background: #f3f7f4;
	color: #17382f;
	text-decoration: none;
	font-size: 12px;
	font-weight: 900;
	transition:
		transform .2s ease,
		background-color .2s ease,
		color .2s ease;
}

.ks-shop-age-chip:hover,
.ks-shop-age-chip.is-active {
	background: #17382f;
	color: #fff;
	transform: translateY(-1px);
}


/* PRODUCTS AREA */

.ks-shop-products-v2 {
	padding: 46px 0 86px;
	background: #fffdf9;
}

.ks-shop-products-inner {
	min-height: 360px;
}

.ks-shop-products-inner .woocommerce {
	width: 100%;
}


/* TOOLBAR */

.ks-shop-toolbar {
	margin-bottom: 26px;
	padding: 18px 20px;
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 22px;
	border-radius: 24px;
	background: #fff;
	border: 1px solid rgba(23,56,47,.07);
	box-shadow: 0 10px 28px rgba(23,56,47,.05);
}

.ks-shop-toolbar-copy {
	min-width: 0;
}

.ks-shop-toolbar-kicker {
	display: block;
	margin-bottom: 5px;
	color: #ff4164;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .14em;
}

.ks-shop-toolbar-result .woocommerce-result-count {
	float: none !important;
	margin: 0 !important;
	color: #17382f;
	font-size: 15px;
	font-weight: 800;
}

.ks-shop-toolbar-sort {
	display: flex;
	align-items: center;
	gap: 10px;
	flex: 0 0 auto;
}

.ks-shop-toolbar-sort > span {
	color: #66756f;
	font-size: 12px;
	font-weight: 800;
}

.ks-shop-toolbar .woocommerce-ordering {
	float: none !important;
	margin: 0 !important;
}

.ks-shop-toolbar .woocommerce-ordering select {
	min-width: 190px;
	height: 44px;
	padding: 0 42px 0 15px;
	border: 1px solid rgba(23,56,47,.14);
	border-radius: 999px;
	background: #fff;
	color: #17382f;
	font-size: 13px;
	font-weight: 700;
}


/* PRODUCT GRID — FUTURE READY */

.ks-shop-products-inner .woocommerce ul.products {
	display: grid !important;
	grid-template-columns: repeat(4, minmax(0, 1fr));
	gap: 22px;
	margin: 0 !important;
}

.ks-shop-products-inner .woocommerce ul.products::before,
.ks-shop-products-inner .woocommerce ul.products::after {
	display: none !important;
}

.ks-shop-products-inner .woocommerce ul.products li.product {
	float: none !important;
	width: auto !important;
	margin: 0 !important;
	min-width: 0;
	padding: 14px 14px 16px;
	border-radius: 28px;
	background: #fff;
	border: 1px solid rgba(23,56,47,.07);
	box-shadow: 0 12px 30px rgba(23,56,47,.07);
	transition:
		transform .22s ease,
		box-shadow .22s ease;
}

.ks-shop-products-inner .woocommerce ul.products li.product:hover {
	transform: translateY(-7px);
	box-shadow: 0 20px 44px rgba(23,56,47,.13);
}

.ks-shop-products-inner .woocommerce ul.products li.product a.woocommerce-LoopProduct-link {
	text-decoration: none;
}

.ks-shop-products-inner .woocommerce ul.products li.product img {
	width: 100%;
	aspect-ratio: 1 / 1;
	object-fit: contain;
	margin: 0 0 16px !important;
	padding: 12px;
	border-radius: 22px;
	background:
		radial-gradient(circle at 88% 12%, rgba(255,224,109,.24) 0 18%, transparent 19%),
		#fbfbfa;
}

.ks-shop-products-inner .woocommerce ul.products li.product .woocommerce-loop-product__title {
	margin: 0;
	padding: 0 !important;
	color: #17382f;
	font-size: 16px;
	line-height: 1.25;
	font-weight: 900;
}

.ks-shop-products-inner .woocommerce ul.products li.product .ks-product-meta {
	display: block;
	margin-top: 7px;
	color: #ff4164;
	font-size: 10px;
	font-weight: 900;
	letter-spacing: .08em;
	text-transform: uppercase;
}

.ks-shop-products-inner .woocommerce ul.products li.product .price {
	display: block;
	margin: 8px 0 14px;
	color: #17382f;
	font-size: 16px;
	font-weight: 900;
}

.ks-shop-products-inner .woocommerce ul.products li.product .button {
	width: 100%;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
	justify-content: center;
	margin-top: 0 !important;
	background: #17382f !important;
	color: #fff !important;
}

.ks-shop-products-inner .woocommerce ul.products li.product .button:hover {
	background: #ff4164 !important;
}


/* AGE BADGE ON SHOP CARDS */

.ks-shop-products-inner .ks-product-age-badge {
	position: absolute;
	z-index: 4;
	left: 24px;
	top: 24px;
	display: inline-flex;
	align-items: center;
	min-height: 28px;
	padding: 0 11px;
	background: #eef9ff;
	color: #149ed1;
	border-radius: 999px;
	font-size: 9px;
	font-weight: 900;
	letter-spacing: .05em;
}

.ks-shop-products-inner .woocommerce ul.products li.product {
	position: relative;
}


/* PAGINATION */

.ks-shop-products-inner .woocommerce nav.woocommerce-pagination {
	margin-top: 38px;
	text-align: left;
}

.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul {
	display: inline-flex;
	gap: 7px;
	border: 0;
}

.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul li {
	border: 0;
}

.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul li a,
.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul li span {
	display: grid;
	place-items: center;
	min-width: 40px;
	height: 40px;
	padding: 0 12px;
	border-radius: 50%;
	background: #fff;
	color: #17382f;
	border: 1px solid rgba(23,56,47,.08);
	font-weight: 900;
}

.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul li span.current,
.ks-shop-products-inner .woocommerce nav.woocommerce-pagination ul li a:hover {
	background: #17382f;
	color: #fff;
}


/* NO PRODUCTS */

.ks-shop-products-inner .woocommerce-info {
	padding: 22px 24px;
	border: 0;
	border-radius: 22px;
	background: #eef9ff;
	color: #17382f;
}


/* SHOP RESPONSIVE */

@media (max-width: 1100px) {

	.ks-shop-hero-grid {
		grid-template-columns: minmax(0, 1fr) 340px;
		gap: 26px;
	}

	.ks-shop-category-chips {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}

	.ks-shop-products-inner .woocommerce ul.products {
		grid-template-columns: repeat(3, minmax(0, 1fr));
	}
}

@media (max-width: 820px) {

	.ks-shop-hero-v2 {
		background:
			linear-gradient(
				160deg,
				#24aae2 0%,
				#24aae2 68%,
				#ffe06d 68%,
				#ffe06d 100%
			);
	}

	.ks-shop-hero-grid {
		min-height: 0;
		grid-template-columns: 1fr;
		padding-top: 42px;
		padding-bottom: 42px;
	}

	.ks-shop-hero-copy h1 {
		font-size: clamp(46px, 11vw, 66px);
	}

	.ks-shop-hero-play {
		min-height: 235px;
		max-width: 520px;
		width: 100%;
		margin: 0 auto;
	}

	.ks-shop-filter-heading {
		align-items: center;
	}

	.ks-shop-products-inner .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
	}

	.ks-shop-toolbar {
		align-items: flex-start;
		flex-direction: column;
	}

	.ks-shop-toolbar-sort {
		width: 100%;
	}

	.ks-shop-toolbar .woocommerce-ordering,
	.ks-shop-toolbar .woocommerce-ordering select {
		width: 100%;
	}
}

@media (max-width: 600px) {

	.ks-shop-discovery-v2 {
		padding: 40px 0 32px;
	}

	.ks-shop-filter-heading {
		align-items: flex-start;
		flex-direction: column;
	}

	.ks-shop-category-chips {
		display: flex;
		overflow-x: auto;
		gap: 10px;
		padding-bottom: 8px;
		scroll-snap-type: x proximity;
	}

	.ks-shop-category-chip {
		flex: 0 0 150px;
		min-height: 118px;
		scroll-snap-align: start;
	}

	.ks-shop-age-row {
		align-items: flex-start;
		flex-direction: column;
	}

	.ks-shop-age-chips {
		flex-wrap: nowrap;
		width: 100%;
		overflow-x: auto;
		padding-bottom: 4px;
	}

	.ks-shop-age-chip {
		flex: 0 0 auto;
	}

	.ks-shop-products-inner .woocommerce ul.products {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 12px;
	}

	.ks-shop-products-inner .woocommerce ul.products li.product {
		padding: 10px 10px 12px;
		border-radius: 22px;
	}

	.ks-shop-products-inner .woocommerce ul.products li.product .woocommerce-loop-product__title {
		font-size: 14px;
	}

	.ks-shop-products-inner .ks-product-age-badge {
		left: 17px;
		top: 17px;
	}

	.ks-shop-play-card {
		min-width: 135px;
		padding: 13px 15px;
	}

	.ks-shop-play-card span {
		font-size: 34px;
	}

	.ks-shop-play-card strong {
		font-size: 14px;
	}
}

@media (max-width: 390px) {

	.ks-shop-products-inner .woocommerce ul.products {
		grid-template-columns: 1fr;
	}

	.ks-shop-category-chip {
		flex-basis: 142px;
	}
}
