/**
 * Albassirah buttons — IOGKF design-system pattern adapted.
 *
 * Source (structure / motion):
 *   iogkf plugins/iogkf-core/includes/shared/ds-buttons.css
 *   + hover arrow slide (customizer SITE-WIDE hover icon)
 *
 * Brand mapping (Albassirah, not IOGKF burgundy):
 *   Primary solid  → navy #062E52 / hover #0B4F8A
 *   Primary on dark bands → #135088 rest / hover #0B4F8A (visible on primary-dark)
 *   Outline light  → navy border/text → solid navy + white on hover
 *   Outline dark   → cream border/text → solid amber + ink on hover
 *
 * Hover icon: external-corner arrow as background-image.
 * Never increase padding on hover (no width jump).
 */

/* ——— Shared base (all DS styles) ——— */
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link,
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link {
	box-sizing: border-box;
	display: inline-flex !important;
	align-items: center;
	justify-content: center;
	width: auto !important;
	max-width: none;
	margin: 0;
	/* reserve right slot for hover arrow — same at rest & hover */
	padding: 0.9rem 2.65rem 0.9rem 1.25rem !important;
	min-height: 48px;
	font-family: var(--wp--preset--font-family--body, "Source Sans 3", system-ui, sans-serif) !important;
	font-size: 0.72rem !important;
	font-weight: 600 !important;
	letter-spacing: 0.1em !important;
	line-height: 1.3 !important;
	text-transform: uppercase !important;
	text-decoration: none !important;
	border-radius: 0 !important;
	box-shadow: none !important;
	background-repeat: no-repeat !important;
	/* arrow parked off to the right at rest */
	background-position: calc(100% + 1.15em) 50% !important;
	background-size: 0.72em 0.72em !important;
	transition:
		background-color 0.18s ease,
		color 0.18s ease,
		border-color 0.18s ease,
		background-position 0.18s ease,
		filter 0.18s ease !important;
}

/* White corner-arrow SVG (IOGKF path) */
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus-visible,
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:focus-visible {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%23ffffff' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12L12 4'/%3E%3Cpath d='M6 4h6v6'/%3E%3C/svg%3E") !important;
	background-position: calc(100% - 0.85em) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 0.72em 0.72em !important;
}

.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus:not(:focus-visible),
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:focus:not(:focus-visible) {
	background-image: none !important;
	background-position: calc(100% + 1.15em) 50% !important;
}

/* Amber/ink arrow on gold hover (outline-on-dark) */
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link:focus-visible {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16' fill='none' stroke='%230E1C2B' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M4 12L12 4'/%3E%3Cpath d='M6 4h6v6'/%3E%3C/svg%3E") !important;
	background-position: calc(100% - 0.85em) 50% !important;
	background-repeat: no-repeat !important;
	background-size: 0.72em 0.72em !important;
}

/* ——— Primary solid (navy) ——— */
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link {
	background-color: var(--wp--preset--color--primary-dark, #062e52) !important;
	color: #ffffff !important;
	border: 1px solid transparent !important;
}

.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus,
.wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary, #0b4f8a) !important;
	color: #ffffff !important;
	border-color: transparent !important;
}

/* ——— Outline on light ——— */
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link {
	background-color: transparent !important;
	color: var(--wp--preset--color--primary-dark, #062e52) !important;
	border: 1px solid var(--wp--preset--color--primary-dark, #062e52) !important;
}

.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--primary-dark, #062e52) !important;
	color: #ffffff !important;
	border-color: var(--wp--preset--color--primary-dark, #062e52) !important;
}

.wp-block-button.is-style-alb-btn-outline .wp-block-button__link:focus:not(:focus-visible) {
	background-color: transparent !important;
	color: var(--wp--preset--color--primary-dark, #062e52) !important;
	border-color: var(--wp--preset--color--primary-dark, #062e52) !important;
}

/* ——— Outline on dark surfaces ——— */
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link {
	background-color: transparent !important;
	color: #e4edf6 !important;
	border: 1px solid rgba(247, 244, 238, 0.85) !important;
}

.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link:hover,
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link:focus,
.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link:focus-visible {
	background-color: var(--wp--preset--color--accent, #e09a1b) !important;
	color: var(--wp--preset--color--ink, #0e1c2b) !important;
	border-color: var(--wp--preset--color--accent, #e09a1b) !important;
}

/*
 * Solid primary on navy/dark bands: rest #062E52 disappears into primary-dark.
 * Use brighter brand blue #135088 so CTAs stay visible on dark heroes/intros.
 */
.has-primary-dark-background-color .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-cat-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-page-intro .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-footer .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.wp-block-cover.has-primary-dark-background-color .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-home-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-hero-bg .wp-block-button.is-style-alb-btn-primary .wp-block-button__link {
	background-color: #135088 !important;
	border-color: #135088 !important;
	color: #ffffff !important;
}

.has-primary-dark-background-color .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.has-primary-dark-background-color .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus,
.has-primary-dark-background-color .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus-visible,
.alb-cat-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.alb-cat-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus,
.alb-cat-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus-visible,
.alb-page-intro .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.alb-page-intro .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus,
.alb-page-intro .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus-visible,
.alb-home-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.alb-home-hero .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus,
.alb-hero-bg .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:hover,
.alb-hero-bg .wp-block-button.is-style-alb-btn-primary .wp-block-button__link:focus {
	background-color: #0b4f8a !important;
	border-color: #0b4f8a !important;
	color: #ffffff !important;
}

/* Dual CTA spacing (IOGKF dual-cta rhythm) */
.wp-block-buttons:has(.is-style-alb-btn-primary),
.wp-block-buttons:has(.is-style-alb-btn-outline),
.wp-block-buttons:has(.is-style-alb-btn-outline-dark) {
	gap: 0.75rem;
	flex-wrap: wrap;
}

/* Hero / cover: do not force full-width if DS styles present */
.alb-hero-bg .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-hero-bg .wp-block-button.is-style-alb-btn-outline .wp-block-button__link,
.alb-hero-bg .wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link,
.alb-mission-cover .wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
.alb-mission-cover .wp-block-button.is-style-alb-btn-outline .wp-block-button__link,
.alb-mission-cover .wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link {
	width: auto !important;
	backdrop-filter: none;
}

/* Reduced motion */
@media (prefers-reduced-motion: reduce) {
	.wp-block-button.is-style-alb-btn-primary .wp-block-button__link,
	.wp-block-button.is-style-alb-btn-outline .wp-block-button__link,
	.wp-block-button.is-style-alb-btn-outline-dark .wp-block-button__link {
		transition: none !important;
	}
}

/* Mobile Button Normalization: equalize all buttons (cards, single posts, forms, headers) */
@media (max-width: 781px) {
	.wp-block-buttons {
		width: 100% !important;
		box-sizing: border-box !important;
		flex-direction: column !important;
		align-items: stretch !important;
		gap: 0.75rem !important;
	}

	.wp-block-buttons > .wp-block-button,
	.wp-block-button,
	.wp-element-button,
	.alb-card .wp-block-button,
	.alb-article-card .wp-block-button,
	.alb-path-card .wp-block-button,
	.alb-course-card .wp-block-button,
	.alb-livre-card .wp-block-button,
	.alb-grid-card .wp-block-button,
	.wp-block-post .wp-block-button,
	.alb-single-continue .wp-block-button,
	.alb-single-sidebar .wp-block-button,
	.alb-contact-sidebar-card .wp-block-button,
	.alb-page-header .wp-block-button,
	.alb-cat-hero .wp-block-button,
	.alb-home-hero .wp-block-button,
	.alb-hero-bg .wp-block-button,
	.alb-hero-band .wp-block-button,
	.alb-cta-band .wp-block-button,
	.alb-mission-cover .wp-block-button,
	.alb-confiance-cta .wp-block-button,
	.alb-clarifications .wp-block-button,
	.wpcf7 input[type="submit"],
	.wpcf7 .wpcf7-submit {
		width: 100% !important;
		max-width: 100% !important;
		margin-right: 0 !important;
		margin-left: 0 !important;
		flex: 1 1 100% !important;
		box-sizing: border-box !important;
	}

	.wp-block-buttons > .wp-block-button > .wp-block-button__link,
	.wp-block-buttons > .wp-block-button > a,
	.wp-block-button__link,
	.alb-card .wp-block-button__link,
	.alb-article-card .wp-block-button__link,
	.alb-path-card .wp-block-button__link,
	.alb-course-card .wp-block-button__link,
	.alb-livre-card .wp-block-button__link,
	.alb-grid-card .wp-block-button__link,
	.wp-block-post .wp-block-button__link,
	.alb-single-continue .wp-block-button__link,
	.alb-single-sidebar .wp-block-button__link,
	.alb-contact-sidebar-card .wp-block-button__link,
	.alb-page-header .wp-block-button__link,
	.alb-cat-hero .wp-block-button__link,
	.alb-home-hero .wp-block-button__link,
	.alb-hero-bg .wp-block-button__link,
	.alb-hero-band .wp-block-button__link,
	.alb-cta-band .wp-block-button__link,
	.alb-mission-cover .wp-block-button__link,
	.alb-confiance-cta .wp-block-button__link,
	.alb-clarifications .wp-block-button__link,
	.wpcf7 input[type="submit"],
	.wpcf7 .wpcf7-submit {
		width: 100% !important;
		min-width: 100% !important;
		max-width: 100% !important;
		box-sizing: border-box !important;
		text-align: center !important;
		justify-content: center !important;
		min-height: 48px !important;
		padding-left: 1.25rem !important;
		padding-right: 2.5rem !important;
	}
}
