/*
Theme Name: Un Doulx Regard
Theme URI: https://undoulxregard.org/
Description: Thème de l'ensemble de flûtes Renaissance Un Doulx Regard (thème enfant de Twenty Twenty-Five).
Author: Un Doulx Regard
Template: twentytwentyfive
Version: 0.5.2
Requires at least: 7.0
Requires PHP: 8.2
License: GNU General Public License v2 or later
Text Domain: udr
*/

/* Couleurs, polices et tailles : voir theme.json. Ici, ce que theme.json ne sait pas exprimer. */

:root {
	--udr-mesure: 46rem;
	--udr-filet: var(--wp--preset--color--filet);
}

body { -webkit-font-smoothing: antialiased; }

/* ---- Fond de l'ancien site : gravure d'arabesques, fixe, adoucie en sépia ---- */
body::before {
	content: ""; position: fixed; inset: 0; z-index: -1; pointer-events: none;
	background: url("assets/images/fond2.jpg") center / 340px repeat;
	opacity: .16; filter: sepia(1) saturate(.6); mix-blend-mode: multiply;
}
/* Pied de page toujours en bas, même sur une page courte. */
.wp-site-blocks { position: relative; min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > * { margin-block-start: 0; }
.wp-site-blocks > main, .wp-site-blocks > .udr-cadre { flex: 1; width: 100%; }
strong, b { font-weight: 600; }

/* ---- En-tête ---- */
.udr-entete {
	background: var(--wp--preset--color--papier);
	border-bottom: 1px solid var(--udr-filet);
	padding: 1.4rem 1rem 0;
}
.udr-entete-titre { gap: .35rem; text-align: center; }
.udr-logo-nom { margin: 0; font: 500 clamp(2.2rem, 6vw, 3.4rem)/1 var(--wp--preset--font-family--titres); letter-spacing: .02em; }
.udr-logo-nom a { color: var(--wp--preset--color--encre); text-decoration: none; }
.udr-logo-nom em { color: var(--wp--preset--color--bordeaux); }
.udr-logo-sous { margin: 0; font-variant: small-caps; }
.udr-barre {
	margin-top: 1.1rem !important; padding: .5rem 0; gap: 1.8rem;
	border-top: 1px solid var(--udr-filet);
}
.udr-embleme { flex: none; line-height: 0; }
.udr-embleme img { mix-blend-mode: multiply; }
.udr-menu { flex: 1; }
.udr-menu .wp-block-navigation-item__content {
	font-variant: small-caps; color: var(--wp--preset--color--encre);
	text-decoration: none; padding: .2rem 0; border-bottom: 1px solid transparent;
}
.udr-menu .wp-block-navigation-item__content:hover,
.udr-menu .current-menu-item > .wp-block-navigation-item__content,
.udr-menu .current-menu-ancestor > .wp-block-navigation-item__content {
	color: var(--wp--preset--color--bordeaux); border-bottom-color: var(--wp--preset--color--bordeaux);
}
.udr-menu .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--papier) !important; border: 1px solid var(--udr-filet) !important;
}
.udr-menu .wp-block-navigation__responsive-container-open,
.udr-menu .wp-block-navigation__responsive-container-close { color: var(--wp--preset--color--encre); }
.udr-menu .wp-block-navigation__responsive-container.is-menu-open {
	background: var(--wp--preset--color--papier) !important; padding: 2rem 1.5rem;
}

/* ---- Cadre parchemin du contenu ---- */
.udr-cadre {
	max-width: calc(72rem + 4rem); margin: 0 auto !important;
	padding: 2rem 2rem 3rem;
	background: var(--wp--preset--color--parchemin);
	border-inline: 1px solid var(--udr-filet);
	box-shadow: 0 0 40px #2b242014;
}
.udr-cadre > .wp-block-post-title { margin-top: .4rem; }
.udr-contenu > :is(p, ul, ol, h2, h3, h4, .wp-block-quote) { max-width: var(--udr-mesure); }
.udr-contenu > .wp-block-quote.aligncenter, .udr-accueil .udr-contenu > :is(p, .wp-block-quote) { margin-inline: auto; }
/* Citations : centrées entre leurs frises (motifs centrés), largeur ajustée aux vers. */
.udr-contenu .wp-block-quote.is-style-citation { width: fit-content; max-width: var(--udr-mesure); margin-inline: auto; }

/* ---- Fil d'Ariane ---- */
.udr-fil-ariane { font-size: .95rem; color: var(--wp--preset--color--encre-douce); margin: 0 0 .2rem; }
.udr-fil-ariane a { color: var(--wp--preset--color--encre-douce); }

/* ---- Styles de blocs ---- */
.udr-contenu p.is-style-lettrine::first-letter, .is-style-lettrine::first-letter {
	float: left; font: 600 4.2em/.82 var(--wp--preset--font-family--titres);
	color: var(--wp--preset--color--bordeaux); padding: .08em .1em 0 0;
}
.is-style-chapo { font-size: 1.3rem; line-height: 1.55; }

.wp-block-quote.is-style-citation p { margin: 0 0 .9em; }
.wp-block-quote cite, .wp-block-quote.is-style-citation cite {
	display: block; font-style: normal; font-variant: small-caps; letter-spacing: .05em;
	color: var(--wp--preset--color--encre); font-size: 1.05rem;
}
.wp-block-quote cite em { font-style: italic; }

.wp-block-separator.is-style-ornement {
	border: 0 !important; height: 59px; width: 100% !important; max-width: none !important;
	background: url("assets/images/fiorriture1.gif") center / 72px auto no-repeat;
	mix-blend-mode: multiply; opacity: .85; margin-block: 2.2rem !important;
}

/* Motifs d'origine de l'ancien site, à leur taille réelle (D015). */
.wp-block-separator.is-style-ornement[class*="udr-motif-"] { background-size: auto; }
.wp-block-separator.udr-motif-fiorriture1 { background-image: url("assets/images/fiorriture1.gif"); height: 59px; }
.wp-block-separator.udr-motif-fiorriture2 { background-image: url("assets/images/fiorriture2.gif"); height: 52px; }
.wp-block-separator.udr-motif-motif2 { background-image: url("assets/images/motif2.gif"); height: 98px; }
.wp-block-separator.udr-motif-motif3 { background-image: url("assets/images/motif3.gif"); height: 79px; }
.wp-block-separator.udr-motif-motif4 { background-image: url("assets/images/motif4.gif"); height: 212px; margin-top: 3rem !important; }
.wp-block-separator.udr-motif-motif5 { background-image: url("assets/images/motif5.gif"); height: 50px; }
.wp-block-separator.udr-motif-motif6 { background-image: url("assets/images/motif6.gif"); height: 130px; }

/* Lettrines de l'ancien site : première lettre de chaque paragraphe agrandie et en gras,
   un peu plus pour les titres (main.css d'origine : p 130 %, h2 140 %). */
.udr-contenu p::first-letter, .wp-block-post-title::first-letter { font-size: 1.3em; font-weight: 600; }
.udr-contenu h2::first-letter { font-size: 1.4em; }
.udr-contenu h3::first-letter { font-size: 1.3em; }
.udr-contenu :is(figcaption, .udr-lien-suite, .udr-mentions)::first-letter,
.udr-contenu figcaption p::first-letter { font-size: inherit; font-weight: inherit; }

.wp-block-group.is-style-carte {
	background: var(--wp--preset--color--papier); border: 1px solid var(--udr-filet);
	padding: 1.4rem 1.5rem 1.5rem;
}
.is-style-carte > h2:first-child { font-size: 1.55rem; display: flex; align-items: baseline; gap: .6rem; }
.is-style-carte > h2:first-child::after { content: ""; flex: 1; border-bottom: 1px solid var(--udr-filet); }

.udr-lien-suite { font-variant: small-caps; letter-spacing: .06em; }
.udr-bandeau { margin-top: 0; }
.udr-bandeau img { width: 100%; aspect-ratio: 718 / 250; object-fit: cover; border: 1px solid var(--udr-filet); }
.udr-bandeau figcaption { text-align: right; }
.udr-trois { gap: 1.6rem; }
.udr-trois > .wp-block-column > .is-style-carte { height: 100%; }
.udr-colonnes { gap: 3rem; }

/* ---- Contenu importé : vidéos, tableaux de programme, vignettes ---- */
.udr-contenu > .wp-block-table { max-width: var(--udr-mesure); }
/* Vidéos : plus grandes que le texte, centrées. */
.udr-contenu > .wp-block-embed { max-width: 56rem; margin-inline: auto; }
.udr-programme table { border-collapse: collapse; width: 100%; font-size: 1.05rem; }
.udr-programme td { border: 0; border-bottom: 1px dotted var(--udr-filet); padding: .35rem .6rem; }
.udr-programme td:first-child { font-style: italic; }
.udr-programme td:last-child { color: var(--wp--preset--color--encre-douce); text-align: right; }
.udr-programme tr:nth-child(odd) td { background: #fbf8f180; }
.udr-contenu .alignleft { margin: .3rem 1.6rem 1rem 0; }
.udr-contenu .alignleft img { max-width: 140px; border: 1px solid var(--udr-filet); }
.udr-contenu > .wp-block-heading, .udr-contenu > .wp-block-separator { clear: both; }

/* ---- Formulaire de contact (Contact Form 7) ---- */
.wpcf7 { max-width: var(--udr-mesure); }
.wpcf7 label { display: block; font-variant: small-caps; letter-spacing: .05em; color: var(--wp--preset--color--encre-douce); margin-bottom: 1rem; }
.wpcf7 input[type="text"], .wpcf7 input[type="email"], .wpcf7 textarea {
	display: block; width: 100%; margin-top: .3rem; padding: .55rem .7rem;
	font: inherit; font-variant: normal; letter-spacing: 0; color: var(--wp--preset--color--encre);
	background: var(--wp--preset--color--papier); border: 1px solid var(--udr-filet); border-radius: 0;
}
.wpcf7 input:focus, .wpcf7 textarea:focus { outline: 2px solid var(--wp--preset--color--or); outline-offset: 1px; }
.wpcf7 textarea { height: 10rem; }
.wpcf7 input[type="submit"] {
	font: inherit; font-variant: small-caps; letter-spacing: .08em; cursor: pointer;
	padding: .5rem 1.6rem; border: 0; color: var(--wp--preset--color--papier); background: var(--wp--preset--color--bordeaux);
}
.wpcf7 input[type="submit"]:hover { background: var(--wp--preset--color--bordeaux-fonce); }
.wpcf7-response-output { border-color: var(--udr-filet) !important; margin: 1rem 0 0 !important; }

.wp-block-audio { margin-top: .35rem; }
.wp-block-audio audio { width: 100%; height: 2rem; }
.wp-block-audio figcaption { text-align: left; margin-top: .2rem; }

/* ---- Cartes musiciens ([udr_musiciens]) ---- */
.udr-musiciens { display: grid; grid-template-columns: repeat(4, 1fr); gap: 1.4rem; }
.udr-musicien {
	display: block; text-decoration: none; color: var(--wp--preset--color--encre);
	background: var(--wp--preset--color--papier); border: 1px solid var(--udr-filet);
	transition: border-color .2s, transform .2s;
}
.udr-musicien:hover { border-color: var(--wp--preset--color--bordeaux); transform: translateY(-2px); color: var(--wp--preset--color--encre); }
.udr-musicien .photo { display: block; aspect-ratio: 4 / 5; overflow: hidden; background: var(--udr-filet); }
.udr-musicien .photo img { width: 100%; height: 100%; object-fit: cover; filter: sepia(.15); }
.udr-musicien .txt { display: block; padding: .7rem .9rem .9rem; }
.udr-musicien b { display: block; font: 600 1.25rem/1.2 var(--wp--preset--font-family--titres); }
.udr-musicien small { color: var(--wp--preset--color--encre-douce); font-size: .95rem; }
.udr-anciens { columns: 2; }

/* ---- Fiche musicien ---- */
.udr-fiche { gap: 3rem; margin-top: 1rem; }
.udr-portrait { border: 1px solid var(--udr-filet); background: var(--wp--preset--color--papier); padding: .6rem; }
.udr-role { font-variant: small-caps; letter-spacing: .08em; color: var(--wp--preset--color--encre-douce); margin-top: -.3rem; }
.udr-role p { margin: 0; }
.udr-fiches-voisines {
	display: flex; justify-content: space-between; gap: 1rem; margin-top: 2.4rem; padding-top: 1rem;
	border-top: 1px solid var(--udr-filet); font-variant: small-caps; letter-spacing: .05em;
}
.udr-fiches-voisines .suiv { margin-left: auto; }

/* ---- Pied de page ---- */
.udr-pied { background: var(--wp--preset--color--encre); color: #e9e1d2; padding: 2.4rem 1rem 1.4rem; }
.udr-pied h3 { color: #fff; font-size: 1.3rem; }
.udr-pied a { color: #e8c48a; }
.udr-pied p, .udr-pied ul { font-size: 1.02rem; }
.udr-pied ul { list-style: none; padding: 0; }
.udr-mentions { border-top: 1px solid #ffffff22; padding-top: .9rem; font-size: .9rem !important; color: #b9ad9b; }

/* ---- Écrans moyens et petits ---- */
@media (max-width: 60rem) {
	.udr-musiciens { grid-template-columns: repeat(2, 1fr); }
	.udr-fiche .wp-block-column:first-child { flex-basis: 100% !important; max-width: 18rem; }
}
@media (max-width: 40rem) {
	.udr-cadre { padding: 1.2rem 1rem 2.5rem; border-inline: 0; }
	.udr-embleme img { width: 115px !important; }
	.udr-anciens { columns: 1; }
}

/* ---- Index du site (bloc « Liste des pages ») ---- */
.udr-index { list-style: none; padding-left: 0; columns: 2; column-gap: 3rem; }
.udr-index > li { break-inside: avoid; margin-bottom: .6rem; font-variant: small-caps; letter-spacing: .04em; }
.udr-index ul { list-style: none; padding-left: 1.1rem; margin: .2rem 0 0; font-variant: normal; letter-spacing: 0; font-size: 1.02rem; }
.udr-index ul li::before { content: "· "; color: var(--wp--preset--color--or); }
@media (max-width: 40rem) { .udr-index { columns: 1; } }

/* ---- Prochains concerts ([udr_concerts], agenda Google, D013) ---- */
.udr-concerts { list-style: none; margin: 0; padding: 0; }
.udr-concerts li { display: grid; grid-template-columns: 3.4rem 1fr; gap: .9rem; padding: .7rem 0; border-bottom: 1px dotted var(--udr-filet); }
.udr-concerts li:last-child { border-bottom: 0; }
.udr-concerts .date { text-align: center; line-height: 1; color: var(--wp--preset--color--bordeaux); font-family: var(--wp--preset--font-family--titres); }
.udr-concerts .date b { display: block; font-size: 1.9rem; font-weight: 600; }
.udr-concerts .date span { font-variant: small-caps; letter-spacing: .05em; font-size: .95rem; }
.udr-concerts strong { display: block; font-weight: 500; line-height: 1.3; }
.udr-concerts small { display: block; color: var(--wp--preset--color--encre-douce); font-size: .95rem; line-height: 1.4; margin-top: .15rem; }
.udr-concerts-vide { font-style: italic; color: var(--wp--preset--color--encre-douce); }
.udr-concerts .desc { display: block; font-size: .95rem; line-height: 1.45; margin-top: .3rem; color: var(--wp--preset--color--encre); }
.udr-concerts .desc p, .udr-concerts .desc ul, .udr-concerts .desc ol { margin: .3rem 0; }
.udr-concerts .desc ul, .udr-concerts .desc ol { padding-left: 1.2rem; }
.udr-concerts .desc a { overflow-wrap: anywhere; }
.udr-concerts .desc p::first-letter { font-size: inherit; font-weight: inherit; }
