/*
Theme Name: Barnabé
Description: Le thème qui va avec l'application Barnabé : une page d'accueil prête (présentation, fonctionnalités, installation sur téléphone avec QR code), un blog lisible et des blocs « Barnabé » à réutiliser dans l'éditeur. Couleurs parchemin, nuit et or ; polices Fraunces, DM Sans et Literata incluses.
Version: 1.0.0
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 7.4
Author: Barnabé
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: barnabe-theme
Tags: block-patterns, full-site-editing, one-column, wide-blocks, custom-colors, editor-style
*/

/* ---------- Fond : une lueur d'aube en haut de page ---------- */
body {
	background:
		radial-gradient(1100px 480px at 50% -200px, var(--wp--preset--color--or-pale), transparent 70%) no-repeat,
		var(--wp--preset--color--fond);
	-webkit-font-smoothing: antialiased;
	text-rendering: optimizeLegibility;
}
::selection { background: var(--wp--preset--color--or-pale); }
:where(a, button, input):focus-visible { outline: 3px solid var(--wp--preset--color--or); outline-offset: 2px; border-radius: 4px; }

/* ---------- En-tête ---------- */
.barnabe-header {
	position: sticky; top: 0; z-index: 50;
	background: color-mix(in srgb, var(--wp--preset--color--fond) 84%, transparent);
	-webkit-backdrop-filter: blur(14px); backdrop-filter: blur(14px);
	border-bottom: 1px solid color-mix(in srgb, var(--wp--preset--color--ligne) 70%, transparent);
	padding-top: 0.8rem; padding-bottom: 0.8rem;
}
.admin-bar .barnabe-header { top: var(--wp-admin--admin-bar--height, 32px); }
.barnabe-header .wp-block-site-logo img, .barnabe-logo img { width: 40px; height: 40px; border-radius: 12px; display: block; }
.barnabe-header .wp-block-site-title { margin: 0; }
.barnabe-header .wp-block-buttons .wp-block-button__link { padding: 0.6em 1.2em; font-size: 0.95rem; }
@media (max-width: 600px) {
	.barnabe-header .barnabe-header-cta { display: none; }
}

/* ---------- Petits éléments ---------- */
.barnabe-eyebrow {
	font-size: 0.8rem !important; font-weight: 700; letter-spacing: 0.12em; text-transform: uppercase;
	color: var(--wp--preset--color--or-fonce); margin-bottom: 0.4rem;
}
.barnabe-lead { font-size: var(--wp--preset--font-size--grand); color: var(--wp--preset--color--encre-douce); line-height: 1.55; }
.wp-block-button.is-style-outline > .wp-block-button__link {
	background: transparent; color: inherit; border: 2px solid currentColor; padding: calc(0.85em - 2px) calc(1.5em - 2px);
}
.wp-block-button.is-style-outline > .wp-block-button__link:hover { background: color-mix(in srgb, currentColor 10%, transparent); color: inherit; }

/* ---------- Styles de blocs du thème ---------- */
/* Groupe « Carte » */
.wp-block-group.is-style-carte {
	background: var(--wp--preset--color--surface);
	border: 1px solid var(--wp--preset--color--ligne);
	border-radius: 22px;
	padding: 1.6rem 1.5rem;
	box-shadow: var(--wp--preset--shadow--douce);
}
/* Citation « Verset » */
.wp-block-quote.is-style-verset {
	background: color-mix(in srgb, var(--wp--preset--color--or-pale) 60%, transparent);
	border-left: 3px solid var(--wp--preset--color--or);
	border-radius: 0 16px 16px 0;
	padding: 1.1rem 1.4rem;
	font-family: var(--wp--preset--font-family--lecture);
}
.wp-block-quote.is-style-verset p { font-size: 1.2rem; line-height: 1.6; margin: 0 0 0.5rem; }
.wp-block-quote.is-style-verset cite {
	font-family: var(--wp--preset--font-family--texte); font-style: normal; font-weight: 700; font-size: 0.9rem;
	color: var(--wp--preset--color--or-fonce);
}
/* Image « Écran de téléphone » */
.wp-block-image.is-style-telephone { display: flex; justify-content: center; }
.wp-block-image.is-style-telephone img {
	max-width: min(300px, 78vw); height: auto;
	border-radius: 38px; border: 10px solid #0E1222;
	box-shadow: 0 30px 60px -20px rgba(10, 12, 30, .55), 0 0 0 1px rgba(255, 255, 255, .06);
}

/* ---------- Accueil : le grand titre ---------- */
.barnabe-hero {
	position: relative; overflow: hidden;
	background:
		radial-gradient(800px 420px at 70% 110%, rgba(231, 178, 102, .5), transparent 70%),
		radial-gradient(600px 320px at 10% 0%, rgba(120, 110, 200, .25), transparent 70%),
		linear-gradient(180deg, #121833 0%, #1E2747 60%, #3A3456 100%);
	color: #FFF8EC;
	padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70);
}
.barnabe-hero::before { /* étoiles */
	content: ""; position: absolute; inset: 0; pointer-events: none; opacity: .8;
	background-image:
		radial-gradient(1.3px 1.3px at 12% 18%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 30% 8%, #fff 50%, transparent 51%),
		radial-gradient(1.4px 1.4px at 46% 26%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 62% 12%, #fff 50%, transparent 51%),
		radial-gradient(1.2px 1.2px at 84% 22%, #fff 50%, transparent 51%), radial-gradient(1px 1px at 92% 6%, #fff 50%, transparent 51%),
		radial-gradient(1px 1px at 6% 52%, #fff 50%, transparent 51%), radial-gradient(1.2px 1.2px at 22% 40%, #fff 50%, transparent 51%);
}
.barnabe-hero > * { position: relative; }
.barnabe-hero .barnabe-eyebrow { color: #F2CC8A; }
.barnabe-hero h1 { color: #FFF8EC; font-size: var(--wp--preset--font-size--geant); }
.barnabe-hero .barnabe-lead { color: rgba(255, 248, 236, .82); }
.barnabe-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link { background: #E7B266; color: #1B1407; }
.barnabe-hero .wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: #F2CC8A; }
.barnabe-hero .wp-block-button.is-style-outline .wp-block-button__link { color: #FFF8EC; }
.barnabe-hero-note { font-size: 0.9rem; color: rgba(255, 248, 236, .65); }

/* ---------- Sections ---------- */
.barnabe-section { padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70); }
.barnabe-section-head { text-align: center; max-width: 640px; margin-left: auto !important; margin-right: auto !important; }
.barnabe-sable { background: var(--wp--preset--color--surface-2); }

/* Cartes de fonctionnalités, avec icône */
.barnabe-feature { position: relative; padding-top: 5.1rem !important; box-sizing: border-box; }
.barnabe-feature::before {
	content: ""; position: absolute; top: 1.5rem; left: 1.5rem; width: 2.9rem; height: 2.9rem; border-radius: 14px;
	background: var(--wp--preset--color--or-pale);
}
.barnabe-feature::after {
	content: ""; position: absolute; top: calc(1.5rem + 0.6rem); left: calc(1.5rem + 0.6rem); width: 1.7rem; height: 1.7rem;
	background: var(--wp--preset--color--or-fonce);
	-webkit-mask: var(--barnabe-icon) center / contain no-repeat; mask: var(--barnabe-icon) center / contain no-repeat;
}
.barnabe-feature h3 { margin: 0 0 0.4rem; font-size: 1.25rem; }
.barnabe-feature p { margin: 0; color: var(--wp--preset--color--encre-douce); }

/* Bandeau verset */
.barnabe-verse-band {
	background: linear-gradient(160deg, #2E4A2A 0%, #3F6B35 100%); color: #F4F8EE; text-align: center;
	padding-top: var(--wp--preset--spacing--70); padding-bottom: var(--wp--preset--spacing--70);
}
.barnabe-verse-band p.barnabe-verse-text {
	font-family: var(--wp--preset--font-family--lecture); font-size: var(--wp--preset--font-size--tres-grand);
	line-height: 1.45; max-width: 820px; margin-left: auto !important; margin-right: auto !important;
}
.barnabe-verse-band .barnabe-verse-ref { font-weight: 700; letter-spacing: .08em; text-transform: uppercase; font-size: .85rem; color: #CFE6B8; }

/* Étapes numérotées */
.barnabe-step-num {
	font-family: var(--wp--preset--font-family--titres); font-size: 3rem !important; line-height: 1;
	color: var(--wp--preset--color--or); margin-bottom: 0.3rem;
}
.barnabe-step h3 { margin-top: 0; font-size: 1.3rem; }
.barnabe-step p { color: var(--wp--preset--color--encre-douce); }

/* Installer : QR code et étapes */
.barnabe-install .barnabe-qr, .barnabe-install .barnabe-qr-demo {
	margin: 0 auto; box-shadow: var(--wp--preset--shadow--douce); border: 1px solid var(--wp--preset--color--ligne);
}
.barnabe-install-steps .wp-block-column { display: flex; }
.barnabe-install-steps .wp-block-group.is-style-carte { flex: 1; }
.barnabe-install-steps h3 { font-size: 1.15rem; margin: 0 0 .4rem; }
.barnabe-install-steps p { margin: 0; color: var(--wp--preset--color--encre-douce); }

/* Confiance */
.barnabe-trust h3 { font-size: 1.15rem; margin: 0 0 .3rem; }
.barnabe-trust p { color: var(--wp--preset--color--encre-douce); margin: 0; }

/* Appel final */
.barnabe-final {
	text-align: center; border-radius: 28px; color: #FFF8EC;
	background:
		radial-gradient(600px 300px at 50% 120%, rgba(231, 178, 102, .55), transparent 70%),
		linear-gradient(180deg, #1E2747 0%, #2B2A4A 100%);
	padding: var(--wp--preset--spacing--60) 1.5rem !important;
}
.barnabe-final h2 { color: #FFF8EC; }
.barnabe-final p { color: rgba(255, 248, 236, .82); }
.barnabe-final .wp-block-button__link { background: #E7B266; color: #1B1407; }
.barnabe-final .wp-block-button__link:hover { background: #F2CC8A; color: #1B1407; }

/* ---------- Blog ---------- */
.barnabe-post-card .wp-block-post-title { font-size: 1.5rem; margin: 0 0 .3rem; }
.barnabe-post-card .wp-block-post-excerpt { margin: .6rem 0 0; color: var(--wp--preset--color--encre-douce); }
.wp-block-post-featured-image img { border-radius: 18px; }
.wp-block-post-content > p:first-child::first-letter { font-family: var(--wp--preset--font-family--titres); }
.single .wp-block-post-content, .page .wp-block-post-content { font-size: 1.1rem; }

/* ---------- Pied de page ---------- */
.barnabe-footer { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--50); font-size: .95rem; }
.barnabe-footer a { color: #F2CC8A; text-decoration: none; }
.barnabe-footer a:hover { text-decoration: underline; color: #FFF8EC; }
.barnabe-footer .wp-block-site-title a { color: #FFF8EC; }
.barnabe-footer p { color: rgba(246, 241, 232, .78); }
.barnabe-footer h3 { color: #FFF8EC; font-size: 1rem; font-family: var(--wp--preset--font-family--texte); font-weight: 700; letter-spacing: .06em; text-transform: uppercase; }
.barnabe-footer-bottom { border-top: 1px solid rgba(246, 241, 232, .15); padding-top: 1.2rem; margin-top: 2rem !important; font-size: .85rem; }

@media (prefers-reduced-motion: no-preference) {
	.wp-block-button__link { transition: background-color .2s, color .2s, transform .2s; }
	.wp-block-button__link:hover { transform: translateY(-1px); }
}

/* ---------- Icônes des cartes (classe « barnabe-ic-… » sur un groupe « barnabe-feature ») ---------- */
.barnabe-ic-bible { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 19.5v-14A2.5 2.5 0 0 1 7.5 3H19v14.5H7.5A2.5 2.5 0 0 0 5 20a2 2 0 0 0 2 2h12v-4.5'/%3E%3Cpath d='M12 6.5v7M9.3 9h5.4'/%3E%3C/svg%3E"); }
.barnabe-ic-plans { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='3.5' y='5' width='17' height='15.5' rx='2.5'/%3E%3Cpath d='M3.5 10h17M8 3v4M16 3v4M9 15.2l2 2 4-4'/%3E%3C/svg%3E"); }
.barnabe-ic-arbre { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-7M12 15.5l-2.6-2.6M12 17l2.6-2.6'/%3E%3Cpath d='M12 3c3.9 0 7 2.9 7 6.5 0 3.3-2.7 5.5-6 5.5h-2c-3.3 0-6-2.2-6-5.5C5 5.9 8.1 3 12 3z'/%3E%3C/svg%3E"); }
.barnabe-ic-priere { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3c2.6 3.1 4.6 5.3 4.6 8.4a4.6 4.6 0 0 1-9.2 0C7.4 8.3 9.4 6.1 12 3z'/%3E%3Cpath d='M12 16v5M8.5 21h7'/%3E%3C/svg%3E"); }
.barnabe-ic-semeur { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 21v-8'/%3E%3Cpath d='M12 14c-4.5 0-7-2.8-7-6.5 4.2 0 7 2.4 7 6.5z'/%3E%3Cpath d='M12 12c0-4 2.6-6.5 7-6.5 0 3.7-2.6 6.5-7 6.5z'/%3E%3Cpath d='M7 21h10'/%3E%3C/svg%3E"); }
.barnabe-ic-compagnon { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20.5 11.5a8 8 0 0 1-11.7 7.1L4 20l1.4-4.6A8 8 0 1 1 20.5 11.5z'/%3E%3Cpath d='M12 15s-3-1.8-3-3.8a1.6 1.6 0 0 1 3-.8 1.6 1.6 0 0 1 3 .8c0 2-3 3.8-3 3.8z'/%3E%3C/svg%3E"); }
.barnabe-ic-gratuit { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 20s-7.5-4.4-7.5-10A4.2 4.2 0 0 1 12 7.4 4.2 4.2 0 0 1 19.5 10c0 5.6-7.5 10-7.5 10z'/%3E%3C/svg%3E"); }
.barnabe-ic-prive { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Crect x='5' y='10.5' width='14' height='10' rx='2.5'/%3E%3Cpath d='M8 10.5V8a4 4 0 0 1 8 0v2.5M12 14.5v2.5'/%3E%3C/svg%3E"); }
.barnabe-ic-horsligne { --barnabe-icon: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='black' stroke-width='1.8' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M12 3v12M7.5 10.5 12 15l4.5-4.5M5 19.5h14'/%3E%3C/svg%3E"); }

/* ---------- Compléments ---------- */
.barnabe-feature-plain { padding-top: 4.2rem !important; }
.barnabe-feature-plain::before { top: 0; left: 0; }
.barnabe-feature-plain::after { top: 0.6rem; left: 0.6rem; }
#installer { scroll-margin-top: 84px; }
.barnabe-qr-caption { text-align: center; font-size: .9rem; color: var(--wp--preset--color--encre-douce); }
.barnabe-step-num + h3 { margin-top: 0; }
.barnabe-section-head + * { margin-top: var(--wp--preset--spacing--50) !important; }
@media (max-width: 781px) {
	.barnabe-hero .wp-block-columns { gap: 2.5rem; }
	.barnabe-section-head { text-align: left; }
}
h1, h2, h3, .barnabe-lead { text-wrap: balance; }
.barnabe-header .wp-block-navigation a { white-space: nowrap; }
@media (max-width: 960px) { .barnabe-header .barnabe-header-cta { display: none; } }
.barnabe-eyebrow + * { margin-block-start: 0.5rem !important; }
.wp-block-group.is-style-carte { box-sizing: border-box; }
