/*
Theme Name: O'Val en Vert
Theme URI: https://www.ovalenvert.fr/
Author: O'Val en Vert
Description: Thème de blocs du magasin biologique O'Val en Vert (Nivillac et Herbignac). Direction « Carnet » : fond papier, en-tête centré et symétrique, filets fins et typographie EB Garamond, dans l'esprit d'une brochure imprimée. Couleurs, typographie, gabarits et contenus se règlent depuis l'éditeur de site.
Version: 3.0.0
Requires at least: 6.5
Requires PHP: 8.0
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: ovalenvert-blocs
Tags: business, block-patterns, full-site-editing, custom-menu, custom-logo, featured-images, translation-ready
*/

/*
 * Les couleurs, la typographie, les espacements et les largeurs vivent dans
 * theme.json : ils sont réglables depuis « Apparence → Éditeur → Styles ».
 * Ce fichier ne porte que les ornements typographiques que le format theme.json
 * ne sait pas décrire, exposés comme styles de blocs pour rester cliquables.
 */

/* ------------------------------------------------------------- Navigation */
.wp-block-navigation .current-menu-item > a,
.wp-block-navigation .current_page_item > a,
.wp-block-navigation .current-menu-ancestor > a {
	color: var(--wp--preset--color--vert);
}

/* -------------------------------- En-tête : marque centrée entre deux filets */
.ove-entete {
	text-align: center;
}

.ove-lieu {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .72rem;
	letter-spacing: .26em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
}

.ove-nav {
	border-top: 1px solid var(--wp--preset--color--filet);
	border-bottom: 1px solid var(--wp--preset--color--filet);
}

/* ------------------------------------------- En-tête des pages intérieures */
.ove-entete-page {
	text-align: center;
}

.ove-entete-page p {
	max-width: 600px;
	margin-left: auto;
	margin-right: auto;
}

/* ------------------------------------------------------ Titre de section */
.ove-tete-section {
	text-align: center;
	margin-bottom: 52px;
}

.ove-tete-section p {
	max-width: 560px;
	margin-left: auto;
	margin-right: auto;
}

/* ------------------------------------------ Photo d'ouverture, plein cadre */
.ove-ouverture-photo img {
	width: 100%;
	height: min(58vh, 520px);
	object-fit: cover;
}

/* ---------------------------------- Navigation entre articles, en bas de page */
.ove-nav-articles {
	border-top: 1px solid var(--wp--preset--color--filet);
	font-family: var(--wp--preset--font-family--karla);
	font-size: .88rem;
	font-weight: 600;
}

.ove-nav-articles a {
	text-decoration: none;
}

/* ------------------------------------------------- Sur-titre en capitales */
.is-style-ove-label {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .28em;
	line-height: 1.4;
	text-transform: uppercase;
	color: var(--wp--preset--color--sable-fonce);
}

/* --------------------------------------------------- Date d'un article */
.is-style-ove-date,
.is-style-ove-date time {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .7rem;
	font-weight: 600;
	letter-spacing: .22em;
	text-transform: uppercase;
	color: var(--wp--preset--color--sable-fonce);
}

/* --------------------------------------------------------- Note discrète */
.is-style-ove-note {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .86rem;
	color: var(--wp--preset--color--gris);
}

/* ------------------------------------------------------------- Lettrine */
.is-style-ove-lettrine::first-letter {
	float: left;
	font-size: 3.4rem;
	line-height: .85;
	padding: 6px 12px 0 0;
	color: var(--wp--preset--color--vert);
}

/* -------------------------------------------- Filet court sous un titre */
.wp-block-separator.is-style-ove-ornement {
	width: 44px;
	height: 1px;
	border: 0;
	opacity: 1;
	background: var(--wp--preset--color--sable);
	margin: 22px auto 0;
}

/* ---------------------------------- Lien fléché, en capitales sans soulignement */
.is-style-ove-fleche a,
a.is-style-ove-fleche {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .82rem;
	font-weight: 600;
	letter-spacing: .1em;
	text-transform: uppercase;
	text-decoration: none;
}

/* --------------------------- Bouton secondaire : contour, sans aplat de couleur */
.wp-block-button.is-style-ove-ligne .wp-block-button__link {
	background: transparent;
	color: var(--wp--preset--color--encre);
	border-color: var(--wp--preset--color--filet);
}

.wp-block-button.is-style-ove-ligne .wp-block-button__link:hover {
	background: transparent;
	color: var(--wp--preset--color--vert);
	border-color: var(--wp--preset--color--vert);
}

/* -------------------------------------------- Cartouche posé sur la photo */
.wp-block-group.is-style-ove-cartouche {
	position: relative;
	max-width: 820px;
	margin: -72px auto 0;
	padding: 44px 56px 40px;
	text-align: center;
	background: var(--wp--preset--color--papier);
	border: 1px solid var(--wp--preset--color--filet);
}

/* ------------------------------------------------------- Encart encadré */
.wp-block-group.is-style-ove-encart {
	max-width: 640px;
	margin-left: auto;
	margin-right: auto;
	padding: 38px 44px;
	text-align: center;
	background: var(--wp--preset--color--papier);
	border: 1px solid var(--wp--preset--color--filet);
}

/* ------------------------------------------------- Bandeau photographique */
.wp-block-image.is-style-ove-bandeau {
	margin-bottom: 0;
}

.wp-block-image.is-style-ove-bandeau img {
	width: 100%;
	height: min(58vh, 520px);
	object-fit: cover;
}

/* ---------------------------------------------------- Tableau des horaires */
.wp-block-table.is-style-ove-horaires table {
	width: 100%;
	border-collapse: collapse;
}

.wp-block-table.is-style-ove-horaires td {
	padding: 8px 0;
	border: 0;
	border-bottom: 1px dotted var(--wp--preset--color--filet);
	text-align: left;
}

.wp-block-table.is-style-ove-horaires td:last-child {
	text-align: right;
}

.wp-block-table.is-style-ove-horaires .ove-ferme {
	color: var(--wp--preset--color--gris);
}

/* -------------------------------------------------------- Repères chiffrés */
.wp-block-columns.is-style-ove-reperes {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .74rem;
	letter-spacing: .18em;
	text-transform: uppercase;
	color: var(--wp--preset--color--gris);
	margin-top: 24px;
	padding-top: 20px;
	border-top: 1px solid var(--wp--preset--color--filet);
}

.wp-block-columns.is-style-ove-reperes p {
	margin: 0;
	line-height: 1.5;
}

.wp-block-columns.is-style-ove-reperes strong {
	display: block;
	font-family: var(--wp--preset--font-family--garamond);
	font-size: 1.5rem;
	font-weight: 600;
	letter-spacing: .02em;
	text-transform: none;
	color: var(--wp--preset--color--vert);
}

/* ------------------------- Gammes : deux colonnes de notices sur filets fins */
.wp-block-query.is-style-ove-rayons .wp-block-post-template {
	gap: 0 56px;
}

.wp-block-query.is-style-ove-rayons .wp-block-post {
	padding: 26px 0;
	border-top: 1px solid var(--wp--preset--color--filet);
}

.wp-block-query.is-style-ove-rayons .wp-block-post-featured-image {
	flex-shrink: 0;
	margin: 0;
	background: var(--wp--preset--color--papier-fonce);
}

.wp-block-query.is-style-ove-rayons .wp-block-post-title {
	margin: 0 0 4px;
}

.wp-block-query.is-style-ove-rayons .wp-block-post-title a {
	text-decoration: none;
}

.wp-block-query.is-style-ove-rayons .wp-block-post-excerpt {
	margin: 0;
}

.wp-block-query.is-style-ove-rayons .wp-block-post-excerpt__excerpt {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .92rem;
	line-height: 1.55;
	color: var(--wp--preset--color--gris);
}

/* ---------------------------------------- Journal : liste d'articles illustrés */
.wp-block-query.is-style-ove-journal .wp-block-post-template {
	gap: 48px;
}

.wp-block-query.is-style-ove-journal .wp-block-post-title a {
	color: inherit;
	text-decoration: none;
}

.wp-block-query.is-style-ove-journal .wp-block-post-title a:hover {
	color: var(--wp--preset--color--vert);
}

.wp-block-query.is-style-ove-journal .wp-block-post-featured-image {
	background: var(--wp--preset--color--papier-fonce);
}

/* --------------------------------------------------- Plan d'accès encadré */
.wp-block-group.is-style-ove-plan {
	aspect-ratio: 4 / 3;
	padding: 0;
	background: var(--wp--preset--color--papier-fonce);
	border: 1px solid var(--wp--preset--color--filet);
}

.wp-block-group.is-style-ove-plan iframe {
	display: block;
	width: 100%;
	height: 100%;
	border: 0;
}

/* ------------------------------------------------ Portrait légendé, centré */
.wp-block-image.is-style-ove-portrait img {
	width: 100%;
	aspect-ratio: 16 / 9;
	object-fit: cover;
}

.wp-block-image.is-style-ove-portrait figcaption {
	text-align: center;
}

/* ------------------------------------------------------------ Fil d'Ariane */
.ove-fil-ariane {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .78rem;
	letter-spacing: .06em;
	color: var(--wp--preset--color--gris);
	margin-bottom: 18px;
	text-align: center;
}

.ove-fil-ariane a {
	color: var(--wp--preset--color--gris);
	text-decoration: none;
}

.ove-fil-ariane a:hover {
	color: var(--wp--preset--color--vert);
}

/* ------------------------------- Adresses rappelées au bas de l'encart horaires */
.ove-encart-adresses {
	border-top: 1px solid var(--wp--preset--color--filet);
}

/* -------------------------------------------------------------- Pied de page */
.ove-pied {
	font-family: var(--wp--preset--font-family--karla);
	font-size: .92rem;
	border-top: 1px solid var(--wp--preset--color--filet);
}

.ove-pied-bas {
	border-top: 1px solid var(--wp--preset--color--filet);
	color: var(--wp--preset--color--gris);
	font-size: .82rem;
}

.ove-pied p {
	line-height: 1.8;
}

.ove-pied a {
	color: var(--wp--preset--color--encre);
	text-decoration: none;
}

.ove-pied a:hover {
	color: var(--wp--preset--color--vert);
}

.ove-pied .wp-block-navigation {
	justify-content: center;
}

.ove-pied .wp-block-navigation .wp-block-navigation-item__content {
	text-decoration: none;
}

/* ------------------------------------------------------- Pagination des listes */
.wp-block-query-pagination {
	margin-top: 64px;
	justify-content: center;
	font-family: var(--wp--preset--font-family--karla);
	font-size: .86rem;
}

.wp-block-query-pagination .wp-block-query-pagination-numbers .page-numbers,
.wp-block-query-pagination-previous,
.wp-block-query-pagination-next {
	display: inline-block;
	padding: 9px 16px;
	border: 1px solid var(--wp--preset--color--filet);
	color: var(--wp--preset--color--encre);
	text-decoration: none;
}

.wp-block-query-pagination .page-numbers.current,
.wp-block-query-pagination .page-numbers:hover,
.wp-block-query-pagination-previous:hover,
.wp-block-query-pagination-next:hover {
	background: var(--wp--preset--color--vert);
	border-color: var(--wp--preset--color--vert);
	color: var(--wp--preset--color--papier);
}

/* ------------------------------------------------------- Contenu éditorial */
.wp-block-post-content h2 {
	margin-top: 2.6rem;
}

.wp-block-post-content h3 {
	margin-top: 2.2rem;
}

.wp-block-post-content li + li {
	margin-top: .4rem;
}

.wp-block-post-content table th,
.wp-block-post-content table td {
	padding: 10px 12px;
	border-bottom: 1px solid var(--wp--preset--color--filet);
	text-align: left;
}

/* ------------------------------------------------------ Formulaire de recherche */
.wp-block-search .wp-block-search__input {
	padding: 12px 14px;
	border: 1px solid var(--wp--preset--color--filet);
	background: var(--wp--preset--color--papier);
	color: var(--wp--preset--color--encre);
	font: inherit;
	font-size: 1rem;
}

/* --------------------------------------------------------------- Responsive */
@media (max-width: 900px) {
	.wp-block-query.is-style-ove-rayons .wp-block-post-template.is-layout-grid,
	.wp-block-query.is-style-ove-journal .wp-block-post-template.is-layout-grid {
		grid-template-columns: 1fr;
	}

	.wp-block-group.is-style-ove-cartouche {
		margin: -48px 20px 0;
		padding: 32px 26px;
	}

	.wp-block-group.is-style-ove-encart {
		padding: 30px 24px;
	}
}

/* -------------------------------------------------------------- Impression */
@media print {
	.wp-block-navigation,
	.ove-pied,
	.skip-link {
		display: none;
	}

	body {
		background: #fff;
		font-size: 12pt;
	}
}
