/* Activation Leadership: the few styles core blocks can't express on their own. */

/* Body text is Roboto 300, so the browser's "bolder" would only reach 400. Kartra bold is 700. */
strong, b { font-weight: 700; }

/* Separators: Kartra dividers are solid bars of a given thickness (alp-hr-N = N px). */
.wp-block-separator.alp-hr {
	border: none;
	height: var(--alp-hr, 2px);
	opacity: 1;
	background-color: currentColor;
}
.wp-block-separator.alp-hr-1 { --alp-hr: 1px; }
.wp-block-separator.alp-hr-2 { --alp-hr: 2px; }
.wp-block-separator.alp-hr-3 { --alp-hr: 3px; }
.wp-block-separator.alp-hr-4 { --alp-hr: 4px; }
.wp-block-separator.alp-hr-5 { --alp-hr: 5px; }
.wp-block-separator.alp-hr-6 { --alp-hr: 6px; }
.wp-block-separator.alp-hr-8 { --alp-hr: 8px; }
.wp-block-separator.alp-hr-10 { --alp-hr: 10px; }
.wp-block-separator.alp-w-15 { width: 15%; }
.wp-block-separator.alp-w-25 { width: 25%; }
.wp-block-separator.alp-w-33 { width: 33%; }
.wp-block-separator.alp-w-50 { width: 50%; }
.wp-block-separator.alp-w-75 { width: 75%; }
.wp-block-separator[class*="alp-w-"] { margin-left: auto; margin-right: auto; }
.wp-block-separator[class*="alp-w-"].alp-left { margin-left: 0; }
.wp-block-separator[class*="alp-w-"].alp-right { margin-right: 0; }

/* Lists: keep the browser bullets but give them room, like Kartra. */
.entry-content ul, .entry-content ol { padding-left: 1.6em; }
/* Kartra icon lists (green check marks). */
.wp-block-list.alp-checklist { list-style: none; padding-left: 0; }
.wp-block-list.alp-checklist > li {
	position: relative;
	padding-left: 1.9em;
	margin-bottom: 0.6em;
}
.wp-block-list.alp-checklist > li::before {
	content: "";
	position: absolute;
	left: 0.1em;
	top: 0.2em;
	width: 1.05em;
	height: 1.05em;
	background-color: var(--alp-check, #09a508);
	-webkit-mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.9 439.4 7.5 273c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2L210.1 439.4c-10 10-26.2 10-36.2 0z'/%3E%3C/svg%3E") center / contain no-repeat;
	mask: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 512 512'%3E%3Cpath d='M173.9 439.4 7.5 273c-10-10-10-26.2 0-36.2l36.2-36.2c10-10 26.2-10 36.2 0L192 312.7 432.1 72.6c10-10 26.2-10 36.2 0l36.2 36.2c10 10 10 26.2 0 36.2L210.1 439.4c-10 10-26.2 10-36.2 0z'/%3E%3C/svg%3E") center / contain no-repeat;
}
.wp-block-list.alp-plainlist { list-style: none; padding-left: 0; }
.wp-block-list.alp-plainlist > li { margin-bottom: 0.6em; }

/* Buttons: Kartra's buttons carry a soft drop shadow. */
.wp-block-button__link { box-shadow: 0 3px 8px rgba(0, 0, 0, 0.18); transition: filter 0.15s; }
.wp-block-button__link:hover { filter: brightness(1.08); }
.wp-block-button.alp-flat .wp-block-button__link { box-shadow: none; }

/* Header ----------------------------------------------------------------- */
.alp-header { position: relative; z-index: 20; }
.alp-header .wp-block-navigation { font-family: var(--wp--preset--font-family--oswald); }
.alp-header .wp-block-navigation-item__content { color: #424242; padding: 6px 0; }
.alp-header .wp-block-navigation-item__content:hover { color: #11426b; }
.alp-header .alp-nav-strong .wp-block-navigation-item__content { font-weight: 700; }
.alp-header .alp-nav-roboto .wp-block-navigation-item__content { font-family: var(--wp--preset--font-family--roboto); font-weight: 400; }
.alp-header .alp-lang-switch .wp-block-navigation-item__content {
	font-family: var(--wp--preset--font-family--roboto);
	font-weight: 700;
	color: var(--alp-lang, #860000);
}
.alp-header .alp-lang-fr {
	--alp-lang: #ad0000;
}
.alp-header .wp-block-site-logo img, .alp-header .alp-logo img { height: auto; }
@media (max-width: 781px) {
	.alp-header .alp-logo img { width: 170px !important; }
}

/* Newsletter: Kartra's embed button is hidden; menu links to #infolettre / #newsletter click it. */
.alp-newsletter [class*="show_modal_"] { display: none !important; }

/* Blog list (query loop on /blog and /blog-en) ----------------------------- */
.alp-post-card { border: 2px solid #11426b; }
.alp-post-card .wp-block-post-title a { color: #424242; text-decoration: none; }
.alp-post-card .wp-block-post-title a:hover { color: #11426b; }
.alp-post-card .wp-block-post-featured-image img { width: 100%; height: auto; }

/* Embeds from Kartra (calendar, checkout, forms) keep their own width. */
.alp-kartra-embed { width: 100%; }
.alp-kartra-embed iframe { width: 100%; border: 0; }

/* Small screens: Kartra stacks every column; so does WordPress (<782px). Shrink big text a bit. */
@media (max-width: 600px) {
	.wp-block-columns { gap: 20px !important; }
}

/* Kartra booking calendar frame: Kartra's page shows it at ~460 px; leave room for the booking steps. */
.alp-kartra-calendar iframe { height: 700px; }
@media (max-width: 600px) { .alp-kartra-calendar iframe { height: 1000px; } }

/* Plain text pages written in ordinary blocks (thank-you page...): the rebuilt pages carry their own
   margins (block gap 0), these need normal paragraph spacing and room around the content. */
.alp-plain { padding-block: 2.5rem 4rem; }
.alp-plain > * + * { margin-block-start: 1em; }
.alp-plain li + li { margin-top: .4em; }

/* Blog posts (templates/single.html): byline under the title, list of the other articles in the sidebar */
.alp-byline {
	color: #f2b21b;
	font-weight: 700;
	margin: 0 0 30px;
}
.alp-post-list .wp-block-post-template {
	margin: 0 0 0;
	padding: 0;
	list-style: none;
}
.alp-post-list .wp-block-post-template > li {
	padding: 8px 0;
	border-bottom: 1px solid #eeeeee;
}
.alp-post-list .wp-block-post-title a {
	color: #11426b;
	text-decoration: none;
}
.alp-post-list .wp-block-post-title a:hover {
	text-decoration: underline;
}
/* on a phone the article comes first, the list of other articles after it */
@media (max-width: 781px) {
	.alp-post-columns {
		flex-direction: column-reverse;
	}
}

/* Blog post body: plain blocks (paragraphs, section titles, lists), so the spacing lives here */
.alp-post-columns .wp-block-post-content > * + * {
	margin-top: 0.9em;
}
.alp-post-columns .wp-block-post-content h2 {
	font-size: 21px;
	line-height: 1.3;
	color: #444444;
	margin-top: 1.7em;
}
.alp-post-columns .wp-block-post-content h2 + * {
	margin-top: 0.5em;
}
.alp-post-columns .wp-block-post-content li + li {
	margin-top: 0.3em;
}
