/*
Theme Name: Twenty Twenty-Five Child
Description: Thème enfant de Twenty Twenty-Five.
Author: Paul Fleury
Author URI: https://paulfleury.fr
Template: twentytwentyfive
Version: 1.3
License: GPL v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: twentytwentyfive-child
*/

/* ===== RESET ET BASE ===== */
html {
	scroll-behavior: smooth;
	scroll-padding-top: 2rem; /* Améliore l'ancrage avec header fixe */
}

/* ===== AMÉLIORATIONS UX ===== */
*:focus {
	outline: none;
}

/* ===== POLICES ===== */

/* dégradé titres */
h1, h2, h3 {
	span {
	background: var(--wp--preset--gradient--custom-gradient-1);
	-webkit-background-clip: text;
  	background-clip: text;
  	-webkit-text-fill-color: transparent; /* Make the text transparent */
  	color: transparent;
	}
}

/* ===== HEADER ===== */
.wp-block-navigation .current-menu-item .wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-2);
}

header .wp-block-navigation .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
	display: none;
}

/* Header home */
.home .wp-site-blocks {
	position: relative;
}

.home header {
	position: absolute;
	left: 0;
	right: 0;
	top: 0;
	z-index: 950;
	
	.has-accent-5-background-color {
		background-color: transparent !important;
	}
}

.home .home-video {
	min-height: 900px;
	padding-block: 0;
}

.home .hero-content {
	padding-top: 240px;
	padding-bottom: 100px;
}

/* navigation principale responsive */
@media (width <= 1366px) {
	header .wp-block-buttons>.wp-block-button {
		display: none;
	}
}

@media (width <= 1002px) {
	.wp-block-navigation__responsive-container .wp-block-navigation__responsive-container-content,
	.wp-block-navigation__responsive-container:not(.hidden-by-default):not(.is-menu-open) {
		display: none;
	}
	
	.wp-block-navigation__responsive-container-open:not(.always-shown) {
		display: flex;
	}
	
	header .wp-block-navigation .wp-block-navigation-item:last-child .wp-block-navigation-item__content {
		display: block;
	}
	
	.header-group {
		padding-top: 0 !important;
		padding-inline: 0;
	}
	
	.header-container {
		border-radius: 0 !important;
	}
	
	.navigation-header {
		min-width: 100%;
		justify-content: space-between;
	}
	
	.home header {
		position: relative;
		
		.header-group {
			padding-bottom: 0 !important;
		}
	}
	
	.home .home-video {
		min-height: unset;
	}
	
	.home .hero-content {
		padding-top: 100px;
	}
}

.brand-name a {
	font-weight: 700;
	text-decoration: none;
	color: var(--wp--preset--color--accent-3);
	
	span {
		color: var(--wp--preset--color--accent-2);
	}
}

/* Menu mobile */
@media not (prefers-reduced-motion) {
	.wp-block-navigation__responsive-container.is-menu-open {
		animation: overlay-menu__fade-in-animation .25s ease-out;
		animation-fill-mode: forwards;
	}
}

.wp-block-navigation:not(.has-background) .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--gradient--custom-gradient-1);
	transform: matrix(1,0,0,1,0,0);
}

.wp-block-navigation__responsive-container-close {
	background-color: var(--wp--preset--color--base);
	border-radius: 5px;
	top: -20px;
	right: -20px;
}

.wp-block-navigation__responsive-container-close svg {
	width: 30px;
	height: 30px;
	color: var(--wp--preset--color--contrast);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--base);
	font-size: 16px;
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation .current-menu-item .wp-block-navigation-item__content.wp-block-navigation-item__content {
	color: var(--wp--preset--color--accent-2);
}

.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation-item {
	padding: 15px 20px;
	border-radius: 10px;
	background-color: rgb(255 255 255 / 0.1) !important;
}

.wp-block-navigation__responsive-container.is-menu-open {
	padding: 40px;
}

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

@media (width <= 1002px) {
	.site-footer {
		padding-top: 50px !important;
	}
	
	.site-footer .footer-branding {
		flex-basis: auto;
	}
	
	.site-footer .footer-navigation,
	.site-footer .footer-copyright .wp-block-navigation[aria-label="Menu 3"] {
		display: none;
	}
}

.site-footer .footer-branding {
	max-width: 576px;
}

.site-footer .brand-name a {
	color: var(--wp--preset--color--white);
}

footer {
  margin-block-start: 0;
}

/* Réseaux sociaux */
.site-footer .footer-socials a svg {
	transition: color 0.2s;
}

.site-footer .footer-socials a:hover svg {
	color: var(--wp--preset--color--accent-2);
}

/* ===== ELEMENTS ===== */

/* bouton primary (gradient) */
.wp-block-button .wp-block-button__link {
	display: flex;
	align-items: center;
	justify-content: center;
	gap: 12px;
	transition: background 0.25s ease-in-out;
}

.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover {
	background: linear-gradient(90deg, var(--wp--preset--color--accent-2) 0%, var(--wp--preset--color--accent-3) 100%);
}

.bt-icon.wp-block-button .wp-block-button__link::after {
	content: "";
	background-image: url(/wp-content/uploads/arrow-elem-upright-white.svg);
	background-size: 20px 20px;
	background-position: 50% 50%;
	background-repeat: no-repeat;
	width: 20px;
	height: 20px;
	display: inline-block;
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}

.bt-icon.wp-block-button .wp-block-button__link:hover::after {
	transform: rotate(45deg);
}

/* bouton secondary (outline) */
.bt-icon.wp-block-button.is-style-outline .wp-block-button__link::after {
	background-image: url(/wp-content/uploads/arrow-elem-right.svg);
}

.wp-block-button.is-style-outline .wp-block-button__link:hover {
	background-color: var(--wp--preset--color--accent-2);
}

/* bloc shape */
.shape-bloc::before {
	content: '';
	position: absolute;
	right: -1px;
	left: auto;
	top: auto;
	bottom: -1px;
	mask: url(/wp-content/uploads/bg-shape.svg);
	-webkit-mask: url(/wp-content/uploads/bg-shape.svg);
	mask-repeat: no-repeat;
	mask-position: right bottom;
	mask-size: cover;
	width: 120px;
	height: 110px;
	z-index: 1;
	background-color: #fff;
}

.shape-gray::before {
	background-color: var(--wp--preset--color--accent-5);
}

.shape-bloc .icon-container {
	z-index: 10;
}

.icon-bloc {
	position: absolute;
	bottom: 0;
	display: flex;
	justify-content: center;
	align-items: center;
	width: 52px;
	height: 52px;
}

.shape-bloc-icon {
	z-index: 10;
	min-width: 52px;
	align-items: center;
	justify-content: center;
}

/* lists */
.disc-count {
	aspect-ratio: 1/1;
	width: 40px;
	height: 40px;
}

/* ===== UTILITY ===== */

.sticky {
	position: sticky;
	top: 56px;
}

.overflow-hidden {
	overflow: hidden;
}

.radius-20 {
	border-radius: 20px;
}

.blur14 {
	backdrop-filter: blur(14px);
}

/* ===== PLUGINS ===== */

/* Section Builder with Backgrounds */
.wp-block-evb-background .backgroundContent {
	width: 100%;
	text-align: initial !important;
}

/* Stackable */
.onglets .stk-block-tabs__tab:not(.stk-block-tabs__tab--active):hover .stk-block-tab-labels__text {
	color: var(--wp--preset--color--contrast) !important;
}

.wp-block-stackable-button-group .stk-link.stk-button .stk--inner-svg {
	transform: rotate(0);
	transition: transform 0.25s ease-in-out;
}

.wp-block-stackable-button-group:hover .stk-link.stk-button .stk--inner-svg {
	transform: rotate(45deg);
}

.stk-block .stk-button.stk--hover-effect-darken:hover {
	background-color: linear-gradient(90deg, var(--wp--preset--color--accent-2) 0%, var(--wp--preset--color--accent-3) 100%);
}

.wp-block-stackable-button-group:hover .stk-link.stk-button .stk--inner-svg {
	transform: unset;
}

/* WP Forms */
.form-control {
	--wpforms-field-size-input-height: 60px;
	--wpforms-field-size-font-size: 16px;{
		transform: unset;
	}
	--wpforms-field-size-padding-h: 20px;
	--wpforms-button-background-color: var(--wp--preset--color--accent-2);
}

div.wpforms-container-full .wpforms-form .wpforms-field.wpforms-field-select-style-classic.form-control select {
	padding-inline: 20px;
}

div.wpforms-container-full button[type=submit],
div.wpforms-container-full input[type=submit] {
	background: var(--wp--preset--gradient--custom-gradient-1);
	padding: 15px 20px;
	font-size: 16px;
	font-weight: 600;
	line-height: 1.25;
	border-radius: 50px;
	width: 100%;
	height: 50px;
	transition: background 0.25s ease-in-out;
}

div.wpforms-container-full button[type=submit]:hover,
div.wpforms-container-full input[type=submit]:hover {
	background: linear-gradient(90deg, var(--wp--preset--color--accent-2) 0%, var(--wp--preset--color--accent-3) 100%);
}

.wpforms-field-label {
	display: none !important;
}