/*
Theme Name: Plugin Zen
Theme URI: 
Author: Kasutan
Author URI: 
Description: Clone de Ollie
Requires at least: 6.8
Tested up to: 6.8
Requires PHP: 7.3
Version: 1.0
License: GNU General Public License v3 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: plugin-zen
Tags: blog, portfolio, entertainment, grid-layout, one-column, two-columns, three-columns, four-columns, block-patterns, block-styles, custom-logo, custom-menu, editor-style, featured-images, full-site-editing, full-width-template, rtl-language-support, style-variations, template-editing, theme-options, translation-ready, wide-blocks

Plugin Zen WordPress Theme, (C) 2025 Mike McAlister.
Plugin Zen is distributed under the terms of the GNU GPL.
*/

/* CSS Reset
---------------------------------------------------------------------------- */

*,
*::before,
*::after {
	box-sizing: inherit;
}

html {
	box-sizing: border-box;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

b,
strong {
	font-weight: var(--wp--custom--font-weight--semi-bold);
}

ol,
ul {
	padding: 0;
}

ol:where(:not([class*="wp-block"])),
ol:where(.wp-block-list),
ul:where(:not([class*="wp-block"])),
ul:where(.wp-block-list) {
	padding-inline-start: var(--wp--preset--spacing--medium);
}

div[class*="wp-block-"] figcaption {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--x-small);
	margin-bottom: 0;
	margin-top: 20px;
	text-align: center;
}

img,
figure {
	max-width: 100%;
	height: auto;
}

/* Temporary fix for text-decoration-thickness in Firefox */
@-moz-document url-prefix() {
	a {
		text-decoration-thickness: .1rem !important;
	}
}

/* Variables
--------------------------------------------- */
:root {
	--transition: ease-in-out 0.4s;
}


/* Standardize form styling
--------------------------------------------- */

input,
button,
textarea,
select {
	font: inherit;
}

input[type="button"],
input[type="email"],
input[type="search"],
input[type="submit"],
input[type="text"],
textarea {
	-webkit-appearance: none;
	appearance: none;
}

input:not([type="submit"]),
select,
textarea,
.wp-block-post-comments-form input:not([type="submit"]):not([type="checkbox"]),
.wp-block-post-comments-form textarea {
	color: var(--wp--preset--color--main);
	border-radius: 5px;
	border: solid 1px var(--wp--preset--color--border-light);
	padding: .5em 1em;
	font-size: var(--wp--preset--font-size--small);
	background-color: #fff;
}

input:focus-visible,
textarea:focus-visible {
	outline-color: var(--wp--preset--color--primary);
}

input[type="checkbox"],
input[type="image"],
input[type="radio"] {
	width: auto;
}

label {
	width: 100%;
	display: block;
}

::placeholder {
	color: var(--wp--preset--color--secondary);
	font-size: var(--wp--preset--font-size--small);
	opacity: 0.75;
}

/* Helper styles
---------------------------------------------------------------------------- */

a.more-link {
	display: block;
}

/* Inline code */
*:not(.wp-block-code)>code {
	background-color: var(--wp--preset--color--tertiary);
	padding: 3px 5px;
	position: relative;
	border-radius: 3px;
}

.wp-block-categories {
	position: relative;
}

/* Adjust terms at bottom of posts */
.single .wp-block-group .wp-block-post-terms,
.blog .wp-block-group .wp-block-post-terms {
	margin-bottom: -8px !important;
}

/* Remove margin on term description on archive pages */
.wp-block-term-description p:last-child {
	margin-bottom: 0;
}

/* Remove last separator on post list */
.remove-border-and-padding .wp-block-post-template li:last-child .wp-block-separator {
	display: none;
}

/* Hide post meta div if no tags assigned */
.single .wp-block-group:has(> .post-meta:empty) {
	display: none;
}

.wp-block-group:empty:has(+ .comment-respond) {
	display: none;
}

.row-logos>figure {
	flex-shrink: 1 !important;
}

/* Sticky header */

header:has(>.is-position-sticky) {
	position: sticky;
	top: calc(0px + var(--wp-admin--admin-bar--height, 0px));
	z-index: 100;
}

/* Language switcher */
.wp-block-polylang-language-switcher {
	list-style-type: none;
	a {
		font-size: var(--wp--preset--font-size--small);
		font-weight: 500;
		text-decoration: none;
		&:hover, &:focus {
			text-decoration: underline;
		}
	}
}

/* Account for admin bar on mobile */

@media (max-width: 600px) {
	header:has(>.is-position-sticky) {
		top: 0;
	}
}

/* Mobile helper classes */

@media (max-width: 781px) {
	.plugin-zen-hide-on-mobile {
		display: none;
	}

	.plugin-zen-unstick-mobile {
		position: static;
	}

	header:has(>.plugin-zen-unstick-mobile) {
		position: static;
	}
}

/* Liens blancs dans un bloc avec la couleur primaire en fond */
.wp-block-group.has-primary-background-color a:where(:not(.wp-element-button)) {
	color: var(--wp--preset--color--base);
}

/* Formulaires */
.forminator-field-radio .forminator-field {
	display: flex;
	flex-wrap: wrap;
}

.forminator-field-radio .forminator-field>span {
	flex-basis: 100%;
}

.forminator-field-radio .forminator-field>label {
	flex: 0 0 9rem;
	font-size: unset !important;
}

.forminator-field-radio .forminator-field input {
	accent-color: var(--wp--preset--color--primary);
}

.forminator-ui.forminator-custom-form[data-design="basic"] .forminator-button-upload {
	background-color: var(--wp--preset--color--tertiary);
	color: var(--wp--preset--color--main);
	border-color: var(--wp--preset--color--main);
	border-radius: 5px;
	border-width: 0;
	cursor: pointer;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: inherit;
	margin-left: 0;
	margin-right: 1ch;
	padding-top: .6em;
	padding-right: 1em;
	padding-bottom: .6em;
	padding-left: 1em;
}

.forminator-button-submit {
	background-color: var(--wp--preset--color--main);
	border-radius: 5px;
	border-width: 0;
	color: var(--wp--preset--color--base);
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: inherit;
	padding-top: .6em;
	padding-right: 1em;
	padding-bottom: .6em;
	padding-left: 1em;
}

.forminator-button-submit:hover,
.forminator-button-submit:focus,
.forminator-button-submit:active,
.forminator-button-upload:hover,
.forminator-button-upload:focus,
.forminator-button-upload:active {
	cursor: pointer;
	text-decoration: underline;
}

/* Formulaire de recherche */
.search-field {
	margin-bottom: var(--wp--preset--spacing--small);
	&:focus, &:focus-visible {
		border-color: var(--wp--preset--color--secondary);
		outline: none;
	}
}

.search-submit {
	background-color: var(--wp--preset--color--main);
	border-radius: 5px;
	border-width: 0;
	color: var(--wp--preset--color--base);
	cursor:pointer;
	font-family: inherit;
	font-size: var(--wp--preset--font-size--small);
	font-weight: 500;
	line-height: inherit;
	padding-top: .6em;
	padding-right: 1em;
	padding-bottom: .6em;
	padding-left: 1em;
	text-decoration: none;
	&:hover, &:focus {
		text-decoration: underline;
	}
}

/*Résultats de recherche ajax*/

.relevanssi-live-search-results {

	border: solid 1px var(--wp--preset--color--border-light);
	border-radius: 10px !important;
	padding: 2rem;

	.relevanssi-live-search-result-status p {
		padding-bottom: 1rem;
	}

	.relevanssi-live-search-result p {
		border:none;
	}

	.rlv-has-spinner {
		border-color: var(--wp--preset--color--primary);
		border-right-color: transparent;

		&::after {
			background: var(--wp--preset--color--primary);
		}
	}

	@media screen and (min-width:600px) {
		min-width:50rem !important;
	}
}
.single-pz_doc .relevanssi-live-search-results {
	transform: translateY(-80px);
}

/*Formulaire d'inscription à la newsletter*/
#newsletter {
	margin:0 auto;
	max-width:600px;
	#mc_embed_signup_scroll {
		margin: 0 auto;
		max-width: 300px;
	}
	input[type="email"]:focus, input[type="email"]:focus-visible {
		border-color:var(--wp--preset--color--primary);
		outline-color:var(--wp--preset--color--primary);
	}
	input[type="submit"] {
		background-color: var(--wp--preset--color--main);
		border-radius: 5px;
		border-width: 0;
		color: var(--wp--preset--color--base);
		cursor:pointer;
		font-family: inherit;
		font-size: var(--wp--preset--font-size--small);
		font-weight: 500;
		line-height: inherit;
		margin-top: 1em;
		padding-top: .6em;
		padding-right: 1em;
		padding-bottom: .6em;
		padding-left: 1em;
		text-decoration: none;
		&:hover, &:focus {
			text-decoration: underline;
		}
	}
	.foot {
		display: flex;
		justify-content: center;
	}

}
/* Single doc */
.single-pz_doc .titre-aside {
	font-family: var(--wp--preset--font-family--dm-sans);
	font-size: var(--wp--preset--font-size--medium);
	font-weight: 700;
	line-height: var(--wp--custom--line-height--body);
	margin-top: 0;
}

.docs-recherche {
	background-color: var(--wp--preset--color--tertiary);
	border: solid 1px var(--wp--preset--color--border-light);
	border-radius: 5px;
	padding: var(--wp--preset--spacing--medium);
}

.docs-accordeon {
	align-items: center;
	background-color: var(--wp--preset--color--secondary);
	border-radius: 5px;
	color: var(--wp--preset--color--base);
	display: flex;
	flex-direction: column;
	padding: var(--wp--preset--spacing--medium);
}

.accordeon {
	list-style: none;
	max-width: 76.8rem;
	margin: 0 auto;
	padding: 0;
	width: 100%;

	.volet {
		background: var(--wp--preset--color--base);
		border-radius: 5px;
		margin-bottom: var(--wp--preset--spacing--small);
		padding: var(--wp--preset--spacing--small);

		&:last-of-type {
			margin-bottom: 0;
		}
	}

	.titre-volet {
		align-items: center;
		display: flex;
		font-size: 1.2;
		font-weight: 700;
		justify-content: space-between;
		text-decoration: none;
		
		.picto {
			flex: 0 0 2rem;
			margin-left: 2rem;
		}

		&:hover,
		&:focus,
		&[aria-expanded="true"] {
			color: var(--wp--preset--color--primary);

			svg path {
				fill: var(--wp--preset--color--primary);
			}
		}

		&[aria-expanded="false"] {
			.picto.minus {
				display: none;
			}
		}

		&[aria-expanded="true"] {
			.picto.minus {
				display: block;
			}

			.picto.plus {
				display: none;
			}
		}
	}

	.loop {
		list-style: none;
		margin: 0;
		padding: 0;
	}

	.loop .item {
		margin-bottom: 1rem;

		&>a {

			padding-left: 0;
			padding-right: 1.5rem;
			transition: all var(--transition);

			&:hover,
			&:focus {
				background-color: var(--wp--preset--color--tertiary);
				padding-left: 1rem;
				padding-right: 0.5rem;
				transform: none;
			}
		}

		.lien {
			align-items: flex-start;
			background: transparent;
			display: flex;
			padding: 0.8rem 0;
			padding-right: 1.5rem;
			text-decoration: none;

			svg {
				flex: 0 0 2.4rem;
			}
		}


	}
}