/**
 * Shared TIMi block styles — used by core/button and custom blocks.
 */

.wp-block-button.is-style-timi-primary .wp-block-button__link,
.wp-block-button.is-style-timi-secondary .wp-block-button__link,
.wp-block-button.is-style-timi-white .wp-block-button__link {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	padding: 8px 20px;
	border: 0;
	border-radius: 4px;
	box-shadow: none;
	font-family: var(--timi-font-body, "Urbanist", sans-serif);
	font-size: var(--timi-size-texte-m, 16px);
	font-weight: 400;
	line-height: var(--timi-line-height, 1.3);
	text-align: center;
	text-decoration: none;
	white-space: nowrap;
	cursor: pointer;
}

.wp-block-button.is-style-timi-primary .wp-block-button__link {
	background-color: var(--timi-color-blue-dark, #147489);
	color: var(--timi-color-white, #fff);
}

.wp-block-button.is-style-timi-secondary .wp-block-button__link {
	background-color: var(--timi-color-black, #313e4e);
	color: var(--timi-color-white, #fff);
}

.wp-block-button.is-style-timi-white .wp-block-button__link {
	background-color: var(--timi-color-white, #fff);
	color: var(--timi-color-black, #313e4e);
}

/* Figma button / State=hover — stroke 2px outside, color-specific. */
.wp-block-button.is-style-timi-primary .wp-block-button__link:hover {
	background-color: var(--timi-color-blue-dark, #147489);
	color: var(--timi-color-white, #fff);
	box-shadow: 0 0 0 2px var(--timi-color-black, #313e4e);
	text-decoration: none;
}

.wp-block-button.is-style-timi-secondary .wp-block-button__link:hover {
	background-color: var(--timi-color-blue-dark, #147489);
	color: var(--timi-color-white, #fff);
	box-shadow: 0 0 0 2px var(--timi-color-blue, #15adbb);
	text-decoration: none;
}

.wp-block-button.is-style-timi-white .wp-block-button__link:hover {
	background-color: var(--timi-color-grey, #f9f9f9);
	color: var(--timi-color-black, #313e4e);
	box-shadow: 0 0 0 2px var(--timi-color-blue, #15adbb);
	text-decoration: none;
}

.wp-block-button.is-style-timi-primary .wp-block-button__link:focus-visible,
.wp-block-button.is-style-timi-secondary .wp-block-button__link:focus-visible,
.wp-block-button.is-style-timi-white .wp-block-button__link:focus-visible {
	outline: 2px solid var(--timi-color-blue, #15adbb);
	outline-offset: 2px;
}

/* Dark surfaces: orange only on inline text links, not cards / nav / CTAs. */
.timi-section--background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)),
.timi-bg-background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)),
.timi-pricing-card--dark :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)) {
	color: var(--timi-color-orange, #fa6422);
}

.timi-section--background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)):hover,
.timi-section--background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)):focus-visible,
.timi-bg-background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)):hover,
.timi-bg-background :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)):focus-visible,
.timi-pricing-card--dark :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):hover,
.timi-pricing-card--dark :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):focus-visible {
	color: var(--timi-color-orange, #fa6422);
}

.timi-section--background :is(.wp-block-timi-bloc-page-nav, .timi-blog-card, .wp-block-timi-blog-card, .wp-block-timi-article-card, .wp-block-timi-content-card, .wp-block-timi-list-title-item, .timi-faq-item--white, .timi-faq-item--grey, .timi-opposition-card:not(.timi-opposition-card--dark), .timi-pricing-card--light) :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)),
.timi-bg-background :is(.wp-block-timi-bloc-page-nav, .timi-blog-card, .wp-block-timi-blog-card, .wp-block-timi-article-card, .wp-block-timi-content-card, .wp-block-timi-list-title-item, .timi-faq-item--white, .timi-faq-item--grey) :is(.wp-block-paragraph, .wp-block-list, .wp-block-quote, .wp-block-table) a:where(:not(.wp-element-button)) {
	color: inherit;
}

.timi-section--background :is(.timi-faq-item--white, .timi-faq-item--grey, .timi-opposition-card:not(.timi-opposition-card--dark), .timi-pricing-card--light) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)),
.timi-bg-background :is(.timi-faq-item--white, .timi-faq-item--grey) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--blue, var(--timi-color-blue, #15adbb));
}

.timi-section--background :is(.timi-faq-item--white, .timi-faq-item--grey, .timi-opposition-card:not(.timi-opposition-card--dark), .timi-pricing-card--light) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):hover,
.timi-section--background :is(.timi-faq-item--white, .timi-faq-item--grey, .timi-opposition-card:not(.timi-opposition-card--dark), .timi-pricing-card--light) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):focus-visible,
.timi-bg-background :is(.timi-faq-item--white, .timi-faq-item--grey) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):hover,
.timi-bg-background :is(.timi-faq-item--white, .timi-faq-item--grey) :is(.wp-block-paragraph, .wp-block-list, p, li) a:where(:not(.wp-element-button)):focus-visible {
	color: var(--wp--preset--color--blue-dark, var(--timi-color-blue-dark, #147489));
}

.has-text-align-left {
	text-align: left;
}

.has-text-align-center {
	text-align: center;
}

.has-text-align-right {
	text-align: right;
}

img.timi-inline-logo {
	display: inline-block;
	width: auto;
	height: 1em;
	max-height: 1em;
	margin-inline: 0.15em;
	vertical-align: -0.15em;
	object-fit: contain;
}

.wp-block-template-part,
.wp-site-blocks > *,
.is-layout-flow > *,
.is-layout-constrained > * {
	margin-block-start: 0;
	margin-block-end: 0;
}

@media (prefers-reduced-motion: no-preference) {
	.timi-inview:not(.wp-block) {
		opacity: 0;
		transform: translate3d(0, 24px, 0);
	}
}

@media (scripting: none) {
	.timi-inview:not(.wp-block) {
		opacity: 1;
		transform: none;
	}
}

.editor-styles-wrapper .timi-inview,
.block-editor-iframe__body .timi-inview,
.wp-block.timi-inview {
	opacity: 1 !important;
	transform: none !important;
}
