/*
Theme Name: Noémie Portfolio — Kadence Child
Description: Thème enfant Kadence du portfolio de Noémie.
Author: Noémie Jousseaume
Template: kadence
Version: 1.0.0
Text Domain: kadence-child
*/

/*
 * Opt-in premium motion primitives.
 *
 * Nothing moves unless an editor explicitly adds one of these classes to a
 * Gutenberg/Kadence block. Keeping this system class-based prevents implicit
 * page-wide animation and preserves the existing layout.
 */
.reveal,
.reveal-up,
.reveal-left,
.reveal-right,
.reveal-scale {
	opacity: 0;
	transition:
		opacity 450ms cubic-bezier(0.22, 1, 0.36, 1),
		transform 450ms cubic-bezier(0.22, 1, 0.36, 1);
	transition-delay: var(--reveal-delay, 0ms);
	will-change: opacity, transform;
}

.reveal,
.reveal-up {
	transform: translateY(16px);
}

.reveal-left {
	transform: translateX(-16px);
}

.reveal-right {
	transform: translateX(16px);
}

.reveal-scale {
	transform: scale(0.98);
}

.reveal.is-visible,
.reveal-up.is-visible,
.reveal-left.is-visible,
.reveal-right.is-visible,
.reveal-scale.is-visible {
	opacity: 1;
	transform: none;
	will-change: auto;
}

.stagger-group > .reveal,
.stagger-group > .reveal-up,
.stagger-group > .reveal-left,
.stagger-group > .reveal-right,
.stagger-group > .reveal-scale {
	transition-delay: var(--reveal-delay, 0ms);
}

/* LOT A: restrained card and CTA interactions on Portfolio and project pages. */
@media (hover: hover) and (pointer: fine) {
	body:is(.page-id-9, .page-id-14, .postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card {
		transition:
			transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 300ms cubic-bezier(0.22, 1, 0.36, 1),
			border-color 300ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	body.page-id-9 .entry-content .premium-card:hover,
	body.page-id-9 .entry-content .premium-card:focus-visible,
	body.page-id-9 .entry-content .premium-card:focus-within {
		transform: translateY(-3px);
		box-shadow: 0 14px 30px rgba(35, 79, 188, 0.10);
	}

	body.page-id-14 .entry-content .contact-linkedin-card:hover,
	body.page-id-14 .entry-content .contact-linkedin-card:focus-within {
		transform: translateY(-3px);
		box-shadow: 0 14px 30px rgba(35, 79, 188, 0.10);
	}

	body.page-id-14 .entry-content .contact-linkedin-card:has(.kb-section-link-overlay:focus-visible) {
		outline: 2px solid var(--global-palette1, #8D64BA);
		outline-offset: 3px;
	}

	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card:hover > .kt-inside-inner-col,
	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card:focus-within > .kt-inside-inner-col {
		transform: translateY(-3px);
		border-color: rgba(141, 100, 186, 0.28);
		box-shadow:
			0 14px 30px rgba(35, 79, 188, 0.10),
			0 0 0 1px rgba(141, 100, 186, 0.18);
	}

	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card > .kt-inside-inner-col {
		transition:
			transform 300ms cubic-bezier(0.22, 1, 0.36, 1),
			box-shadow 300ms cubic-bezier(0.22, 1, 0.36, 1),
			border-color 300ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	body.page-id-9 .entry-content .portfolio-card.premium-card {
		overflow: hidden;
	}

	body.page-id-9 .entry-content .portfolio-card.premium-card > figure.wp-block-image {
		border-radius: 16px;
		overflow: hidden !important;
	}

	body.page-id-9 .entry-content .portfolio-card.premium-card img {
		transition: transform 0.35s ease;
	}

	body.page-id-9 .entry-content .portfolio-card.premium-card > figure.wp-block-image:hover img {
		transform: scale(1.06);
	}

	body:is(.page-id-9, .postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .kb-button .kb-svg-icon-wrap:last-child {
		transition: transform 280ms cubic-bezier(0.22, 1, 0.36, 1);
	}

	body:is(.page-id-9, .postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .kb-button:is(:hover, :focus-visible) .kb-svg-icon-wrap:last-child {
		transform: translateX(4px);
	}
}

@media (max-width: 1024px) and (hover: hover) and (pointer: fine) {
	body.page-id-9 .entry-content .premium-card:hover,
	body.page-id-9 .entry-content .premium-card:focus-visible,
	body.page-id-9 .entry-content .premium-card:focus-within,
	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card:hover > .kt-inside-inner-col,
	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .premium-card:focus-within > .kt-inside-inner-col {
		transform: translateY(-2px);
	}
}

@media (max-width: 767px) {
	.reveal,
	.reveal-up,
	.reveal-left,
	.reveal-right {
		transform: translateY(10px);
	}
}

@media (prefers-reduced-motion: reduce) {
	.reveal,
	.reveal-up,
	.reveal-left,
	.reveal-right,
	.reveal-scale {
		opacity: 1;
		transform: none;
		transition: none;
		animation: none;
	}

	.premium-card,
	.premium-card > .kt-inside-inner-col,
	.premium-card img,
	.kb-button .kb-svg-icon-wrap {
		transform: none !important;
		transition: none !important;
	}
}

/*
 * These three home profile statistics keep their accessible paragraph markup
 * while matching the former Kadence H4 typography exactly where it mattered.
 */
body.page-id-2 .accueil-hero p.kt-blocks-info-box-title {
	color: var(--global-palette3, #1A202C);
	font-family: var(--global-heading-font-family, inherit);
	font-size: 16px;
	font-style: normal;
	font-weight: 400;
	line-height: var(--global-heading-line-height, 1.3);
	margin: 0 0 4px;
	padding: 0;
}

@media (max-width: 767px) {
	body.page-id-2 .accueil-hero p.kt-blocks-info-box-title {
		font-size: 12px;
	}
}

/* Keep the Contact page label compact like the other project-style badges. */
body.page-id-14 .triptales-hero-content .hero-badge {
	display: inline-flex;
	width: fit-content;
	align-self: flex-start;
	padding: 8px 18px;
	letter-spacing: 1.2px;
}

/* Keep the TripTales project label at its intrinsic content width. */
body.postid-238 .triptales-hero-content .hero-badge {
	display: inline-flex;
	width: fit-content;
	align-self: flex-start;
	padding: 8px 18px;
	letter-spacing: 1.2px;
}

/* Keep project tool labels stable while allowing the whole pill to reveal. */
body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .tool-pill .kt-blocks-info-box-title {
	color: #18181B;
	transform: none;
	transition: none;
	animation: none;
}

/* Mirror the Beer & Potes step-card treatment on the TripTales six-card row. */
body.postid-238 .kb-row-layout-id238_ae1e21-3d > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-column > .kt-inside-inner-col {
	padding: 16px 8px;
	border: 4px solid rgba(217, 140, 74, 0.04);
	border-radius: 16px;
	background-image: linear-gradient(135deg, var(--global-palette8) 0%, rgb(255, 247, 240) 100%);
}

@media (max-width: 1024px) {
	body.postid-238 .kb-row-layout-id238_ae1e21-3d > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col > .wp-block-kadence-column > .kt-inside-inner-col {
		justify-content: center;
	}
}

/* Harmonize project deliverable cards without affecting other Kadence columns. */
body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .wp-block-kadence-column[class*="popmake-"] > .kt-inside-inner-col {
	display: flex;
	flex-direction: column;
	height: 100%;
	box-sizing: border-box;
}

body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .wp-block-kadence-column[class*="popmake-"] > .kt-inside-inner-col > .wp-block-separator {
	width: 32px;
	min-height: 3px;
	height: 3px;
	margin: 8px auto;
	border: 0;
	flex: 0 0 3px;
}

body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .wp-block-kadence-column[class*="popmake-"] > .kt-inside-inner-col > .kb-buttons-wrap {
	margin-top: auto;
}

@media (min-width: 768px) {
	body:is(.postid-238, .postid-1377, .postid-1379, .postid-1381) .entry-content .wp-block-kadence-column[class*="popmake-"] > .kt-inside-inner-col > h4 {
		min-height: 3em;
	}

	/* Let Beer & Potes' existing four-card Kadence grid stretch every card. */
	body.postid-1377 .kb-row-layout-id1377_956497-1a > .kt-row-column-wrap {
		align-items: stretch;
	}

	body.postid-1377 .kb-row-layout-id1377_956497-1a > .kt-row-column-wrap > .wp-block-kadence-column {
		display: flex;
		height: 100%;
	}

	body.postid-1377 .kb-row-layout-id1377_956497-1a > .kt-row-column-wrap > .wp-block-kadence-column > .kt-inside-inner-col {
		width: 100%;
	}
}
