/* Front-page polish: isolated card, rhythm and grid refinements. */

/* Editorial opening and the transition into the portal band. These values
   remove stacked theme/block spacing while keeping the existing block seams. */
body.home .kcb-home-editorial{
	padding-top:clamp(3.5rem,4.45vw,4rem);
	padding-bottom:0;
}
body.home .kcb-home-editorial .kcb-entry-content{
	padding-top:1.5rem;
	padding-bottom:1rem;
}
body.home .kcb-home-editorial .wp-block-group:has(> .wp-block-group > .wp-block-woocommerce-product-collection){
	padding-bottom:1rem!important;
}
body.home .kcb-home-editorial .wp-block-group:has(> .wp-block-group > .wp-block-woocommerce-product-collection) > .wp-block-spacer:last-child{
	display:none;
}

/* Keep the editorial pacing varied, but replace the repeated 112px + 128px
   joins with one calmer 150-176px transition at desktop sizes. */
body.home .kcb-portal-band{
	padding-top:clamp(2rem,3vw,2.4rem);
	padding-bottom:clamp(3.25rem,6vw,5.25rem);
}
body.home .kcb-moment-finder-section{
	padding-top:clamp(3.5rem,6.2vw,5.5rem);
	padding-bottom:clamp(3.5rem,6.2vw,5.5rem);
}
body.home .kcb-story-showcase{
	padding-top:clamp(3.25rem,6vw,5.25rem);
}
body.home .kcb-colour-play-section{
	padding-bottom:clamp(3.25rem,6vw,5.25rem);
}
body.home .kcb-screenfree-message{
	padding-top:clamp(3.5rem,6.2vw,5.5rem);
	padding-bottom:clamp(3.5rem,6.2vw,5.5rem);
}
body.home .kcb-how-v3{
	padding-top:clamp(3.25rem,6vw,5.25rem);
	padding-bottom:clamp(3.25rem,6vw,5.25rem);
}
body.home .kcb-freebie-v3{
	padding-top:clamp(3.5rem,6.2vw,5.5rem);
	padding-bottom:clamp(3.5rem,6.2vw,5.5rem);
}

/* Free printable preview stack. The first card is real layout content; every
   layer shares its fixed frame, so JavaScript enhancement cannot cause CLS. */
body.home .kcb-freebie-stack{
	width:min(100%,430px);
	margin-inline:auto;
	text-align:center;
}
body.home .kcb-freebie-stack__stage{
	position:relative;
	width:min(82%,350px);
	margin-inline:auto;
	aspect-ratio:720 / 930;
	touch-action:pan-y;
	user-select:none;
}
body.home .kcb-freebie-stack__card{
	--kcb-stack-depth:0;
	position:absolute;
	inset:0;
	z-index:calc(10 - var(--kcb-stack-depth));
	width:100%;
	height:100%;
	margin:0;
	padding:clamp(.42rem,1.1vw,.65rem);
	border:1px solid rgba(32,33,31,.2);
	border-radius:12px;
	background:#fffdf8;
	box-shadow:0 18px 40px rgba(32,33,31,.16),0 3px 8px rgba(32,33,31,.08);
	transform:translate3d(calc(var(--kcb-stack-depth) * 10px),calc(var(--kcb-stack-depth) * 12px),0) rotate(calc(var(--kcb-stack-depth) * 1.35deg)) scale(calc(1 - var(--kcb-stack-depth) * .025));
	transform-origin:50% 90%;
	transition:transform 230ms cubic-bezier(.2,.72,.24,1),opacity 230ms ease,visibility 230ms ease;
}
body.home .kcb-freebie-stack__card img{
	display:block;
	width:100%;
	height:100%;
	border-radius:7px;
	background:#fff;
	object-fit:contain;
	object-position:center;
	pointer-events:none;
}
body.home .kcb-freebie-stack.is-enhanced .kcb-freebie-stack__card[data-stack-past="true"]{
	transform:translate3d(-18%,-3%,0) rotate(-5deg) scale(.96);
	opacity:0;
}
body.home .kcb-freebie-stack.is-enhanced .kcb-freebie-stack__card[data-stack-hidden="true"]{
	visibility:hidden;
	opacity:0;
}
body.home .kcb-freebie-stack__controls{
	display:flex;
	align-items:center;
	justify-content:center;
	gap:.85rem;
	margin-top:1.35rem;
}
body.home .kcb-freebie-stack__controls button{
	display:inline-grid;
	place-items:center;
	width:46px;
	height:46px;
	padding:0;
	border:1px solid var(--kcb-ink);
	border-radius:50%;
	background:#fffdf8;
	box-shadow:3px 3px 0 var(--kcb-ink);
	color:var(--kcb-ink);
	cursor:pointer;
	font:inherit;
	font-size:1.2rem;
	font-weight:900;
	transition:transform 180ms ease,box-shadow 180ms ease,opacity 180ms ease;
}
body.home .kcb-freebie-stack__controls button:hover:not(:disabled){
	transform:translate(-1px,-1px);
	box-shadow:4px 4px 0 var(--kcb-ink);
}
body.home .kcb-freebie-stack__controls button:focus-visible{
	outline:3px solid var(--kcb-coral);
	outline-offset:3px;
}
body.home .kcb-freebie-stack__controls button:disabled{
	cursor:not-allowed;
	opacity:.38;
	box-shadow:none;
}
body.home .kcb-freebie-stack__controls span{
	min-width:4.25rem;
	font-size:.82rem;
	font-weight:850;
	font-variant-numeric:tabular-nums;
}
body.home .kcb-freebie-stack__hint{
	margin:.7rem 0 0;
	font-size:.78rem;
	font-weight:720;
	opacity:.76;
}
body.home .kcb-freebie-v3 #mlb2-45258560,
body.home .kcb-freebie-v3 #mlb2-45258560 *{
	box-sizing:border-box;
}
body.home .kcb-freebie-v3 #mlb2-45258560{
	width:100%;
	color:var(--kcb-ink);
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedWrapper,
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedBody,
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-formContent{
	width:100%;
	margin:0;
	padding:0;
	background:transparent;
}
body.home .kcb-freebie-v3 #mlb2-45258560 form{
	display:grid;
	gap:.85rem;
	width:100%;
	margin:0;
}
body.home .kcb-freebie-v3 #mlb2-45258560 input[type="email"]{
	display:block;
	width:100%;
	min-height:54px;
	margin:0;
	padding:.85rem 1rem;
	border:1px solid rgba(32,33,31,.28);
	border-radius:16px;
	background:#fffdf7;
	box-shadow:0 10px 26px rgba(32,33,31,.08);
	color:var(--kcb-ink);
	font:inherit;
	font-size:1rem;
	line-height:1.4;
}
body.home .kcb-freebie-v3 #mlb2-45258560 input[type="email"]:focus{
	outline:3px solid rgba(233,111,92,.28);
	outline-offset:2px;
	border-color:var(--kcb-coral);
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-recaptcha{
	display:flex;
	justify-content:center;
	align-items:flex-start;
	min-height:78px;
	margin:-.25rem 0;
	overflow:visible;
	background:transparent;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .g-recaptcha{
	flex:0 0 304px;
	width:304px;
	max-width:100%;
	margin:0;
	transform:none;
	transform-origin:center top;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit{
	margin:0;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit button{
	display:inline-flex;
	align-items:center;
	justify-content:center;
	min-height:52px;
	width:100%;
	margin:0;
	padding:.85rem 1.25rem;
	border:2px solid var(--kcb-ink);
	border-radius:999px;
	background:var(--kcb-coral);
	box-shadow:5px 5px 0 var(--kcb-ink);
	color:#fff;
	cursor:pointer;
	font:inherit;
	font-weight:850;
	line-height:1.2;
	transition:transform 180ms ease,box-shadow 180ms ease,background-color 180ms ease;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit button:hover{
	transform:translate(-2px,-2px);
	box-shadow:7px 7px 0 var(--kcb-ink);
	background:#d95f4d;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit button:focus-visible{
	outline:3px solid #fff;
	outline-offset:3px;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit button[hidden]{
	display:none;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmitLoad{
	display:inline-block;
	width:20px;
	height:20px;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmitLoad::after{
	content:"";
	display:block;
	width:12px;
	height:12px;
	margin:0;
	border:3px solid #fff;
	border-right-color:transparent;
	border-radius:50%;
	animation:kcb-mailerlite-loader 1s linear infinite;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successBody{
	margin:0;
	padding:1.25rem;
	border:1px solid rgba(32,33,31,.22);
	border-radius:16px;
	background:rgba(255,255,255,.72);
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successBody[hidden]{
	display:none;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successContent h3,
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successContent p{
	margin:0;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successContent h3{
	font-size:clamp(1.35rem,3vw,1.8rem);
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-successContent p{
	margin-top:.45rem;
}
body.home .kcb-freebie-v3 #mlb2-45258560 .ml-error input[type="email"]{
	border-color:#a8271e;
	outline-color:rgba(168,39,30,.22);
}
@keyframes kcb-mailerlite-loader{
	to{transform:rotate(360deg)}
}
@media(max-width:400px){
	body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-recaptcha{
		min-height:78px;
		overflow:visible;
	}
	body.home .kcb-freebie-v3 #mlb2-45258560 .g-recaptcha{
		flex-basis:304px;
		width:304px;
		transform:none;
		transform-origin:center top;
	}
}
@media(prefers-reduced-motion:reduce){
	body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmit button{
		transition:none;
	}
	body.home .kcb-freebie-v3 #mlb2-45258560 .ml-form-embedSubmitLoad::after{
		animation:none;
	}
}
body.home .kcb-social-wall{
	padding-top:clamp(3.25rem,6vw,5.25rem);
}

/* Colouring favourites. The category artwork is already supplied as square
   crops, so cover is appropriate here and avoids letterboxed stock imagery. */
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid{
	display:grid!important;
	grid-template-columns:repeat(4, minmax(0, 1fr))!important;
	gap:clamp(.875rem,2vw,1.25rem)!important;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group{
	display:flex;
	min-width:0;
	height:100%;
	padding:0!important;
	flex-direction:column;
	overflow:hidden;
	background:#fffdf8;
	border:1px solid rgba(32,33,31,.1);
	border-radius:20px;
	box-shadow:0 12px 34px rgba(32,33,31,.07);
	transition:transform var(--kcb-dur-fast) var(--kcb-ease),box-shadow var(--kcb-dur-fast) ease,border-color var(--kcb-dur-fast) ease;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > figure{
	width:100%;
	margin:0!important;
	aspect-ratio:1 / 1;
	overflow:hidden;
	background:#f4ecdc;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > figure img{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:none;
	border-radius:0!important;
	object-fit:cover;
	object-position:center;
	transition:transform 260ms var(--kcb-ease);
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > .wp-block-group{
	display:flex;
	width:100%;
	max-width:none!important;
	min-height:8.25rem;
	padding:1rem!important;
	flex:1 1 auto;
	flex-direction:column;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .hostinger-ai-title:not(h2){
	min-height:2.6em;
	margin:0 0 .7rem!important;
	font-size:1.05rem!important;
	font-weight:800;
	line-height:1.3;
	letter-spacing:-.015em;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > .wp-block-group > p:last-child{
	margin:auto 0 0!important;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > .wp-block-group > p:last-child a{
	display:inline-flex;
	min-height:44px;
	align-items:center;
	color:var(--kcb-coral-text);
	font-size:.92rem;
	font-weight:800;
	text-decoration:none;
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:hover,
body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:focus-within{
	transform:translateY(-3px);
	border-color:rgba(218,55,29,.25);
	box-shadow:0 17px 40px rgba(32,33,31,.1);
}
body.home .kcb-home-editorial .hostinger-ai-product-category-5 a:focus-visible{
	border-radius:4px;
}

/* Featured printables. WooCommerce supplies a five-column flex list and a
   fixed 200px image height; both are replaced with a stable responsive grid. */
body.home .kcb-home-editorial .wp-block-group:has(> .wp-block-group > .wp-block-woocommerce-product-collection) > h2.hostinger-ai-title{
	width:100%;
	max-width:none!important;
	margin-inline:0!important;
	text-align:left!important;
}
body.home .kcb-home-editorial .wp-block-woocommerce-product-collection{
	width:100%;
	max-width:none!important;
}
body.home .kcb-home-editorial .wc-block-product-template{
	display:grid!important;
	grid-template-columns:repeat(4, minmax(0, 1fr))!important;
	gap:1rem!important;
	width:100%;
	margin:0!important;
	padding:0!important;
}
body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product{
	display:flex!important;
	width:auto!important;
	min-width:0;
	height:100%;
	margin:0!important;
	padding:1rem!important;
	flex-direction:column;
	background:rgba(255,255,255,.9);
	border:1px solid rgba(32,33,31,.1);
	border-radius:17px;
	box-shadow:0 12px 34px rgba(32,33,31,.07);
	overflow:hidden;
	transition:transform var(--kcb-dur-fast) var(--kcb-ease),box-shadow var(--kcb-dur-fast) ease,border-color var(--kcb-dur-fast) ease;
}
body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product:hover,
body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product:focus-within{
	transform:translateY(-3px);
	border-color:rgba(218,55,29,.25);
	box-shadow:0 17px 40px rgba(32,33,31,.1);
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-image{
	width:100%!important;
	height:auto!important;
	margin:0 0 .9rem!important;
	aspect-ratio:4 / 5!important;
	overflow:hidden;
	background:var(--kcb-surface);
	border-radius:12px;
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-image > a{
	display:block;
	width:100%;
	height:100%;
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-image img{
	display:block;
	width:100%!important;
	height:100%!important;
	max-width:none!important;
	aspect-ratio:auto!important;
	background:transparent;
	object-fit:contain!important;
	object-position:center;
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-name{
	min-height:2.6em;
	margin:0 0 .75rem!important;
	font-size:clamp(1rem,1.35vw,1.16rem)!important;
	font-weight:800!important;
	line-height:1.3!important;
	letter-spacing:-.015em;
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-name a{
	text-decoration:none;
}
body.home .kcb-home-editorial .wp-block-woocommerce-product-collection .wp-block-post-title a{
	text-decoration:none;
}
body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-price{
	margin:auto 0 0!important;
	color:var(--kcb-coral-text);
	font-size:.98rem!important;
	font-weight:850;
	line-height:1.25;
}
body.home .kcb-home-editorial .wc-block-product-template a:focus-visible{
	border-radius:5px;
}

/* The wide Facebook card owns the final row instead of leaving an empty
   left-hand cell beneath the tall Pinterest card. */
body.home .kcb-social-wall__grid > .kcb-social-card--wide{
	grid-column:1 / -1;
}

/* The reveal keeps its existing 700ms entrance. Once visible, the portal card
   returns to the intended short interaction timing. */
body.home .kcb-portal.is-visible{
	transition:transform var(--kcb-dur-fast) var(--kcb-ease),box-shadow var(--kcb-dur-fast) ease,border-color var(--kcb-dur-fast) ease;
}

@media (max-width:1100px){
	body.home .kcb-home-editorial .wc-block-product-template{
		grid-template-columns:repeat(3, minmax(0, 1fr))!important;
	}
}

@media (hover:hover) and (pointer:fine){
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:hover > figure img,
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:focus-within > figure img{
		transform:scale(1.025);
	}
}

@media (max-width:820px){
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid,
	body.home .kcb-home-editorial .wc-block-product-template{
		grid-template-columns:repeat(2, minmax(0, 1fr))!important;
	}
}

@media (max-width:560px){
	body.home .kcb-freebie-stack{
		width:min(100%,340px);
	}
	body.home .kcb-freebie-stack__stage{
		width:min(78vw,286px);
	}
	body.home .kcb-freebie-stack__hint{
		max-width:30ch;
		margin-inline:auto;
	}
	body.home .kcb-home-editorial{
		padding-top:3.25rem;
	}
	body.home .kcb-home-editorial .kcb-entry-content{
		padding-top:1.25rem;
		padding-bottom:1.5rem;
	}
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid{
		grid-template-columns:repeat(2, minmax(0, 1fr))!important;
		gap:.875rem!important;
	}
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group > .wp-block-group{
		min-height:7.5rem;
		padding:.8rem!important;
	}
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .hostinger-ai-title:not(h2){
		font-size:.96rem!important;
	}
	body.home .kcb-home-editorial .wc-block-product-template{
		grid-template-columns:minmax(0, 1fr)!important;
		gap:1.1rem!important;
	}
	body.home .kcb-home-editorial .wc-block-product-template .wc-block-components-product-name{
		min-height:0;
	}
	body.home .kcb-social-wall__grid > .kcb-social-card--wide{
		grid-column:auto;
	}
}

@media (prefers-reduced-motion:reduce){
	body.home .kcb-freebie-stack__card,
	body.home .kcb-freebie-stack__controls button{
		transition:none!important;
	}
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group,
	body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product,
	body.home .kcb-portal.is-visible{
		transition:none!important;
	}
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:hover,
	body.home .kcb-home-editorial .hostinger-ai-product-category-5 .is-layout-grid > .wp-block-group:focus-within,
	body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product:hover,
	body.home .kcb-home-editorial .wc-block-product-template > li.wc-block-product:focus-within{
		transform:none;
	}
}
