/*
Theme Name: 3VM Carnet de route
Description: Thème de l'unité scoute Vyle/Marchin (3VM). Fond papier, accents brun et orange, une couleur par section.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: vm3
License: GPL-2.0-or-later
*/

:root {
	--vm3-radius: 20px;
	--vm3-shadow: 0 10px 30px rgb(47 38 30 / 12%);
	--branch: var(--wp--preset--color--orange);
	--branch-dark: var(--wp--preset--color--bark); /* backgrounds under white text: orange is too light */
}
[class*="vm3-branch-"] { --branch-dark: var(--branch); }
.vm3-branch-baladins { --branch: var(--wp--preset--color--baladins); }
.vm3-branch-louveteaux { --branch: var(--wp--preset--color--louveteaux); }
.vm3-branch-eclaireurs { --branch: var(--wp--preset--color--eclaireurs); }
.vm3-branch-pionniers { --branch: var(--wp--preset--color--pionniers); }

/* Headings never shout too much on phones */
h1, h2 { overflow-wrap: anywhere; }

/* --- Top bar -------------------------------------------------------------- */
.vm3-topbar p { margin: 0; display: flex; flex-wrap: wrap; align-items: center; gap: 0.4rem 1.2rem; }
.vm3-topbar a { color: var(--wp--preset--color--orange-light); text-decoration: none; display: inline-flex; align-items: center; gap: 0.35rem; }
.vm3-topbar a:hover { color: #fff; }
.vm3-topbar__fed img { height: 20px; width: auto; filter: invert(1); }
@media (max-width: 780px) { .vm3-topbar__info span { display: none; } }

/* --- Header & navigation -------------------------------------------------- */
.vm3-site-header { position: sticky; top: 0; z-index: 50; }
.admin-bar .vm3-site-header { top: 32px; }
.vm3-header { border-bottom: 1px solid var(--wp--preset--color--line); }
.vm3-brand { display: flex; align-items: center; gap: 0.8rem; text-decoration: none; color: var(--wp--preset--color--ink); }
.vm3-brand img { height: 56px; width: auto; border-radius: 6px; }
.vm3-brand__text { display: flex; flex-direction: column; line-height: 1.1; }
.vm3-brand__name { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.5rem; }
.vm3-brand__tag { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.vm3-header__nav { gap: 0.5rem 1.6rem; }
.vm3-nav .wp-block-navigation__container { gap: 0.3rem 1.6rem; }
.vm3-nav .wp-block-navigation-item__content { color: var(--wp--preset--color--ink); text-decoration: none; padding-block: 0.4rem; }
.vm3-nav .wp-block-navigation-item__content:hover { color: var(--wp--preset--color--orange-ink); }
.vm3-nav .current-menu-item > .wp-block-navigation-item__content,
.vm3-nav .current-menu-ancestor > .wp-block-navigation-item__content { color: var(--wp--preset--color--orange-ink); box-shadow: inset 0 -3px 0 var(--wp--preset--color--orange); }
.vm3-nav .wp-block-navigation__submenu-container {
	background: #fff !important;
	border: 1px solid var(--wp--preset--color--line) !important;
	border-radius: 14px;
	box-shadow: var(--vm3-shadow);
	padding: 0.5rem !important;
	min-width: 15rem !important;
}
.vm3-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.45rem 0.8rem; border-radius: 8px; box-shadow: none; }
.vm3-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content:hover { background: var(--wp--preset--color--paper); }
.vm3-cta .wp-block-button__link { padding: 0.6rem 1.2rem; }
.vm3-search .wp-block-search__inside-wrapper { border: 0; padding: 0; }
.vm3-search .wp-block-search__input { border: 1px solid var(--wp--preset--color--line); border-radius: 999px; padding: 0.45rem 0.9rem; font-size: 0.95rem; min-width: 12rem; }
.vm3-search .wp-block-search__button { background: transparent; color: var(--wp--preset--color--ink); border: 0; padding: 0.4rem; margin-left: 0.2rem; }
.vm3-search .wp-block-search__button:hover, .vm3-search .wp-block-search__button:focus-visible { color: var(--wp--preset--color--orange-ink); }
.vm3-search .wp-block-search__button svg { width: 1.5rem; height: 1.5rem; fill: currentColor; }
@media (max-width: 600px) { .vm3-brand__tag { display: none; } .vm3-brand img { height: 44px; } }

/* --- Page layout -------------------------------------------------------- */
.vm3-main { margin-top: 0; }
.vm3-titleband h1, .vm3-titleband .wp-block-post-title { margin: 0; }
.wp-block-post-content img { border-radius: 12px; }
.wp-block-post-content > .alignfull:first-child { margin-top: 0; }

/* Generic card (block style "Carte" on groups and columns) */
.vm3-card, .is-style-vm3-card {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--vm3-radius);
	padding: 1.5rem;
}
.vm3-card--post { padding: 0; overflow: hidden; height: 100%; }
.vm3-card--post .vm3-card__media { margin: 0; }
.vm3-card--post .vm3-card__media img { border-radius: 0; }
.vm3-card__body { padding: 1.1rem 1.3rem 1.4rem; }
.vm3-card__body > * { margin-block: 0 0.5rem; }
.vm3-card--post .wp-block-post-title { line-height: 1.1; }
.is-style-vm3-dark { background: var(--wp--preset--color--bark); color: #F4ECE2; border-radius: 28px; padding: clamp(1.5rem, 4vw, 2.75rem); }
.is-style-vm3-dark :is(h1, h2, h3, h4) { color: #fff; }
.is-style-vm3-dark a:not(.wp-element-button) { color: var(--wp--preset--color--orange-light); }
.vm3-eyebrow { font-weight: 700; text-transform: uppercase; letter-spacing: 0.1em; font-size: 0.875rem; color: var(--wp--preset--color--orange-ink); margin-bottom: 0.3rem !important; }
.is-style-vm3-dark .vm3-eyebrow { color: var(--wp--preset--color--orange-light); }
.vm3-cards-grid { display: grid !important; grid-template-columns: repeat(auto-fit, minmax(min(100%, 14rem), 1fr)); gap: 1.2rem; }
.vm3-cards-grid > * { margin: 0 !important; }
.vm3-card > :first-child { margin-top: 0; }
.vm3-card > :last-child { margin-bottom: 0; }
.vm3-card h2, .vm3-card h3 { font-size: 1.85rem; text-transform: none; }
.vm3-card .vm3-more { margin-top: auto; font-weight: 700; }

/* Section cards (home) */
.vm3-section-card { border-top: 8px solid var(--branch) !important; display: flex; flex-direction: column; gap: 0.5rem; }
.vm3-section-card img { width: 76px; height: 76px; object-fit: contain; background: #fff; border-radius: 14px; }
.vm3-section-card .vm3-ages { color: var(--branch); font-weight: 700; text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.875rem; margin: 0; }
.vm3-section-card h3 { margin: 0; font-size: 2rem; }
.vm3-section-card a { color: inherit; text-decoration: none; }
.vm3-section-card a:hover { color: var(--wp--preset--color--orange-ink); }

/* Section band (top of each section page) */
.vm3-band { background: var(--branch); color: #fff; }
.vm3-band :is(h1, h2, p, a) { color: #fff; }
.vm3-band h1 { margin: 0; }
.vm3-band img { background: #fff; border-radius: 22px; padding: 8px; width: 128px; height: 128px; object-fit: contain; }
.vm3-band .vm3-motto { font-family: var(--wp--preset--font-family--display); font-weight: 600; font-size: 2rem; line-height: 1.1; max-width: 22rem; }

/* Sub-navigation within a page */
.vm3-subnav { background: #fff; border-bottom: 1px solid var(--wp--preset--color--line); padding-block: 0.8rem; margin-top: 0 !important; }
.vm3-subnav p { margin: 0; display: flex; flex-wrap: wrap; gap: 0.3rem 1.6rem; font-weight: 700; }
.vm3-subnav a { text-decoration: none; }

/* Staff cards (generated by the import from the section pages) */
.vm3-staff { gap: 1.1rem !important; margin-block: 0 1.1rem !important; }
.vm3-staff > .wp-block-column { flex: 1 1 0 !important; }
.vm3-staff > .wp-block-column:not(.vm3-empty) {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: var(--vm3-radius);
	padding: 1.3rem;
	text-align: center;
}
.vm3-staff h4 { margin: 0.6rem 0 0; font-family: var(--wp--preset--font-family--body); font-size: 1.2rem; font-weight: 700; color: var(--wp--preset--color--ink); text-transform: none; }
.vm3-staff .vm3-role { margin: 0; color: var(--branch); font-weight: 600; font-size: 0.95rem; }
.vm3-staff .vm3-totem { margin: 0.3rem 0 0; color: var(--wp--preset--color--muted); font-size: 0.95rem; }
.vm3-staff .wp-block-image:first-child img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 132px; border: 4px solid var(--branch); }
.vm3-staff .vm3-totem-img { display: inline-block; margin: 0.5rem 0.15rem 0; }
.vm3-staff .vm3-totem-img img { width: 52px; height: 52px; border-radius: 50%; object-fit: cover; }
@media (max-width: 781px) { .vm3-staff > .vm3-empty { display: none; } }

/* Former Wix pop-ups: collapsible blocks */
.wp-block-details {
	background: #fff;
	border: 1px solid var(--wp--preset--color--line);
	border-radius: 16px;
	padding: 0.9rem 1.2rem;
	margin-block: 0.8rem !important;
}
.wp-block-details summary { cursor: pointer; font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.5rem; text-transform: uppercase; color: var(--wp--preset--color--bark); }
.wp-block-details[open] summary { margin-bottom: 0.6rem; }

/* --- Agenda (vm3-agenda plugin) ------------------------------------------- */
.vm3-dates { list-style: none; margin: 0; padding: 0; }
.vm3-dates--cards { display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 15rem), 1fr)); gap: 1rem; }
.vm3-dates--rows { display: flex; flex-direction: column; gap: 0.6rem; }
.vm3-date { display: flex; gap: 1rem; align-items: flex-start; background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: 16px; padding: 1rem; }
.vm3-date__badge { flex-shrink: 0; min-width: 3.8rem; text-align: center; background: var(--wp--preset--color--bark); color: #fff; border-radius: 12px; padding: 0.45rem 0.5rem; font-family: var(--wp--preset--font-family--display); line-height: 1; }
.vm3-date__day { display: block; font-size: 1.6rem; font-weight: 700; }
.vm3-date__month { display: block; font-size: 0.875rem; text-transform: uppercase; margin-top: 0.2rem; }
.vm3-date__body { display: flex; flex-direction: column; gap: 0.2rem; min-width: 0; }
.vm3-date__title { font-size: 1.05rem; }
.vm3-date__meta, .vm3-date__desc { font-size: 0.9375rem; color: var(--wp--preset--color--muted); }
.vm3-date__meta::first-letter { text-transform: uppercase; }
.vm3-date__tags { display: flex; flex-wrap: wrap; gap: 0.3rem; margin-top: 0.2rem; }
.vm3-tag { font-size: 0.78rem; font-weight: 700; border-radius: 999px; padding: 0.1rem 0.55rem; color: #fff; background: var(--wp--preset--color--muted); }
.vm3-tag--unite { background: var(--wp--preset--color--sand); color: var(--wp--preset--color--ink-soft); }
.vm3-tag--baladins { background: var(--wp--preset--color--baladins); }
.vm3-tag--louveteaux { background: var(--wp--preset--color--louveteaux); }
.vm3-tag--eclaireurs { background: var(--wp--preset--color--eclaireurs); }
.vm3-tag--pionniers { background: var(--wp--preset--color--pionniers); }
/* minimap of the event location (right of the card; below the text when the card is narrow) */
.vm3-date--map { flex-wrap: wrap; container-type: inline-size; }
.vm3-date--map .vm3-date__body { flex: 1 1 0; }
.vm3-date__map { position: relative; display: block; flex: 0 0 9rem; align-self: stretch; min-height: 6rem; border-radius: 10px; overflow: hidden; border: 1px solid var(--wp--preset--color--line); }
.vm3-date__map img { position: absolute; inset: 0; width: 100%; height: 100%; object-fit: cover; transition: transform 0.3s; }
.vm3-date__map:hover img, .vm3-date__map:focus-visible img { transform: scale(1.06); }
.vm3-date__map-credit { position: absolute; right: 0; bottom: 0; font-size: 0.6rem; line-height: 1; padding: 0.15rem 0.3rem; background: rgb(255 255 255 / 0.8); color: var(--wp--preset--color--ink-soft); border-top-left-radius: 6px; }
@container (max-width: 26rem) {
	.vm3-date__map { flex-basis: 100%; height: 7rem; }
}
.vm3-agenda__month { font-size: 1.75rem; text-transform: uppercase; margin: 2rem 0 0.8rem; }
.vm3-agenda__filter, .vm3-pills { display: flex; flex-wrap: wrap; gap: 0.5rem; margin-bottom: 1rem; padding: 0; list-style: none; }
.vm3-agenda__filter a, .vm3-pills li a {
	display: inline-block; padding: 0.35rem 0.95rem; border-radius: 999px; background: #fff;
	border: 1px solid var(--wp--preset--color--line); color: var(--wp--preset--color--ink); text-decoration: none; font-weight: 600;
}
.vm3-agenda__filter a[aria-current], .vm3-pills .current-cat a { background: var(--wp--preset--color--bark); border-color: var(--wp--preset--color--bark); color: #fff; }
.vm3-agenda__subscribe { margin-top: 1.2rem; color: var(--wp--preset--color--muted); }

/* --- Timeline ("Une année à la 3VM") -------------------------------------- */
.vm3-timeline { list-style: none; padding: 0; display: grid; grid-template-columns: repeat(auto-fit, minmax(min(100%, 10rem), 1fr)); gap: 0.9rem; }
.vm3-timeline li { background: #fff; border-radius: 16px; padding: 1rem; border-top: 5px solid var(--wp--preset--color--orange); }
.vm3-timeline .vm3-when { display: block; font-family: var(--wp--preset--font-family--display); font-weight: 700; text-transform: uppercase; color: var(--wp--preset--color--orange-ink); }
.vm3-timeline li span:last-child { display: block; font-size: 0.9375rem; color: var(--wp--preset--color--muted); }

/* Highlight with photo (media & text inside a dark or white card) */
.vm3-feature { border-radius: 24px; overflow: hidden; }
.vm3-feature .wp-block-media-text__media img { border-radius: 0; height: 100%; object-fit: cover; }

/* Hero foulard badge */
.vm3-hero-figure { position: relative; }
.vm3-hero-figure img { border-radius: 24px; width: 100%; height: clamp(18rem, 40vw, 30rem); object-fit: cover; }
.vm3-hero-figure figcaption {
	position: absolute; left: -0.8rem; bottom: 1.6rem; margin: 0; background: #fff; border-radius: 16px; padding: 0.8rem 1rem;
	box-shadow: var(--vm3-shadow); color: var(--wp--preset--color--ink); font-size: 0.95rem; display: flex; align-items: center; gap: 0.7rem;
}
.vm3-hero-figure figcaption::before { content: ""; width: 30px; height: 30px; border-radius: 50%; background: #6B4A2E; border: 5px solid var(--wp--preset--color--orange); box-sizing: border-box; flex-shrink: 0; }

/* --- Password-protected pages ----------------------------------------------- */
.post-password-form { background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--vm3-radius); padding: 1.6rem; max-width: 34rem; }
.post-password-form label { display: flex; flex-direction: column; gap: 0.3rem; font-weight: 600; }
.post-password-form input[type="password"] { padding: 0.6rem 0.8rem; border-radius: 10px; border: 1px solid var(--wp--preset--color--line); font-size: 1rem; }
.post-password-form input[type="submit"] { margin-top: 0.6rem; background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); border: 0; border-radius: 999px; padding: 0.65rem 1.3rem; font-weight: 700; cursor: pointer; }

/* --- Forms (Contact Form 7) ------------------------------------------------- */
.wpcf7 input:not([type="checkbox"]):not([type="submit"]), .wpcf7 select, .wpcf7 textarea {
	width: 100%; box-sizing: border-box; padding: 0.6rem 0.8rem; border-radius: 10px; border: 1px solid #CDBFAE; font: inherit; background: #fff;
}
.wpcf7 input[type="submit"] { background: var(--wp--preset--color--orange); color: var(--wp--preset--color--ink); border: 0; border-radius: 999px; padding: 0.8rem 1.4rem; font-weight: 700; font-size: 1.0625rem; cursor: pointer; }
.wpcf7 h3 { font-size: 1.5rem; margin-top: 1.6rem; }

/* --- Footer --------------------------------------------------------------------- */
.vm3-footer { border-top: 1px solid var(--wp--preset--color--line); font-size: 0.975rem; }
.vm3-footer__logo { border-radius: 6px; height: 64px; width: auto; }
.vm3-footer__title { font-weight: 700; margin-bottom: 0.4rem; }
.vm3-footer__links { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: 0.3rem; }
.vm3-footer__fed { display: flex; flex-direction: column; gap: 0.3rem; margin-top: 1rem; color: var(--wp--preset--color--muted); text-decoration: none; font-size: 0.875rem; }
.vm3-footer__fed img { height: 64px; width: auto; }

@media print {
	.vm3-topbar, .vm3-header__nav, .vm3-footer .wp-block-social-links, .vm3-subnav { display: none !important; }
	.vm3-site-header { position: static; }
}

/* Buttons: outline variant and buttons on dark panels */
.wp-block-button.is-style-outline > .wp-block-button__link { background: transparent; color: var(--wp--preset--color--bark); border: 2px solid currentColor; }
.is-style-vm3-dark .wp-block-button.is-style-outline > .wp-block-button__link { color: #F4ECE2; }
.is-style-vm3-dark .wp-block-button__link.has-white-background-color { color: var(--wp--preset--color--ink); }
.vm3-invert img { filter: invert(1); }
.vm3-progression img { background: #fff; border-radius: var(--vm3-radius); padding: 1rem; box-sizing: border-box; }
.vm3-titleband + .vm3-cards-grid, .vm3-titleband + * { margin-top: 0; }
:is(h1, h2, h3, h4) a { color: inherit; text-decoration: none; }
:is(h1, h2, h3, h4) a:hover { color: var(--wp--preset--color--orange-ink); }

/* --- Staff list (vm3-staff plugin: [vm3_staff section="…"]) ------------------
   Flip cards: front = portrait, name, role; back = totem picture, totem, quali.
   Hover / keyboard focus flips on computers, a tap on phones (aria-pressed set by a tiny script). */
.vm3-staff-grid { list-style: none; margin: 0 0 1.5rem; padding: 0; display: grid; grid-template-columns: repeat(auto-fill, minmax(min(100%, 12.5rem), 1fr)); gap: 1.1rem; }
.vm3-person { perspective: 1000px; }
.vm3-person__card { all: unset; box-sizing: border-box; display: block; width: 100%; height: 100%; cursor: pointer; border-radius: var(--vm3-radius); }
.vm3-person__card:focus-visible { outline: 3px solid var(--wp--preset--color--orange); outline-offset: 3px; }
.vm3-person__inner { display: grid; height: 100%; transition: transform 0.6s cubic-bezier(.3,.7,.3,1); transform-style: preserve-3d; }
.vm3-person__face {
	grid-area: 1 / 1; box-sizing: border-box; height: 100%;
	background: #fff; border: 1px solid var(--wp--preset--color--line); border-radius: var(--vm3-radius);
	padding: 1.3rem 1rem; text-align: center; display: flex; flex-direction: column; align-items: center; gap: 0.2rem;
	backface-visibility: hidden; -webkit-backface-visibility: hidden;
}
.vm3-person__face--back { transform: rotateY(180deg); background: var(--branch-dark); border-color: var(--branch-dark); color: #fff; justify-content: center; }
@media (hover: hover) { .vm3-person__card:hover .vm3-person__inner { transform: rotateY(180deg); } }
.vm3-person__card:focus-visible .vm3-person__inner,
.vm3-person__card[aria-pressed="true"] .vm3-person__inner { transform: rotateY(180deg); }
.vm3-staff-grid .vm3-person__photo { width: 132px; height: 132px; border-radius: 50%; object-fit: cover; border: 4px solid var(--branch); margin-bottom: 0.4rem; }
.vm3-person__face--back .vm3-person__photo { border-color: #fff; }
.vm3-person__photo--none { display: block; background: var(--wp--preset--color--sand); }
.vm3-person__photo--silhouette { display: block; overflow: hidden; background: var(--wp--preset--color--sand); }
.vm3-person__photo--silhouette svg { display: block; width: 100%; height: 100%; fill: var(--wp--preset--color--muted); opacity: 0.45; }
.vm3-person__name { font-size: 1.15rem; font-weight: 700; color: var(--wp--preset--color--ink); line-height: 1.25; }
.vm3-person__role { color: var(--branch); font-weight: 600; font-size: 0.95rem; }
.vm3-person__totem-name { font-family: var(--wp--preset--font-family--display); font-weight: 700; font-size: 1.9rem; line-height: 1; text-transform: uppercase; }
.vm3-person__quali { font-style: italic; font-size: 1.05rem; }
.vm3-person__back-name { margin-top: 0.4rem; font-size: 0.85rem; opacity: 0.85; }
/* Portrait with the totem picture as a small round pill, bottom right (the card flips to show the totem) */
.vm3-person__portrait { position: relative; display: inline-block; margin-bottom: 0.4rem; }
.vm3-staff-grid .vm3-person__portrait .vm3-person__photo { margin-bottom: 0; }
.vm3-staff-grid .vm3-person__totem-pill { position: absolute; right: -2px; bottom: -2px; width: 46px; height: 46px; border-radius: 50%; object-fit: cover; border: 3px solid #fff; box-shadow: 0 1px 4px rgb(0 0 0 / 0.25); background: #fff; transition: transform 0.2s; }
.vm3-person__card:hover .vm3-person__totem-pill, .vm3-person__card:focus-visible .vm3-person__totem-pill { transform: scale(1.12); }
/* No 3D rotation for people who asked for less motion: cross-fade instead */
@media (prefers-reduced-motion: reduce) {
	.vm3-person__inner { transition: none; transform: none !important; }
	.vm3-person__face { backface-visibility: visible; transition: opacity 0.2s; }
	.vm3-person__face--back { transform: none; opacity: 0; }
	.vm3-person__card:is(:focus-visible, [aria-pressed="true"]) .vm3-person__face--back { opacity: 1; }
	.vm3-person__card:is(:focus-visible, [aria-pressed="true"]) .vm3-person__face--front { opacity: 0; }
}
@media (prefers-reduced-motion: reduce) and (hover: hover) {
	.vm3-person__card:hover .vm3-person__face--back { opacity: 1; }
	.vm3-person__card:hover .vm3-person__face--front { opacity: 0; }
}

/* Contacts du staff (password-protected page) */
.vm3-contacts table { width: 100%; border-collapse: collapse; background: #fff; border-radius: 12px; overflow: hidden; font-size: 0.975rem; }
.vm3-contacts th, .vm3-contacts td { text-align: left; padding: 0.55rem 0.8rem; border-bottom: 1px solid var(--wp--preset--color--line); }
.vm3-contacts th { background: var(--wp--preset--color--sand); font-weight: 700; }
.vm3-contacts td:last-child { white-space: nowrap; }


/* --- Section pages (harmonized 2026-10-07) ---------------------------------------- */
.vm3-section-body { padding-top: var(--wp--preset--spacing--30); }
.vm3-section-body > h2 { margin-top: var(--wp--preset--spacing--50); scroll-margin-top: 7rem; }
.vm3-section-body > h2:first-child { margin-top: var(--wp--preset--spacing--20); }
.vm3-subnav a { color: var(--branch); }
.vm3-chips { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: 0.5rem; }
.vm3-chips li { background: #fff; border: 1px solid var(--wp--preset--color--line); border-left: 4px solid var(--branch); border-radius: 999px; padding: 0.3rem 0.9rem; font-weight: 600; }
.vm3-song { font-family: var(--wp--preset--font-family--body); font-size: 1.2rem; line-height: 1.7; background: #fff; border: 1px solid var(--wp--preset--color--line); border-left: 6px solid var(--branch); border-radius: var(--vm3-radius); padding: 1.4rem 1.8rem; white-space: pre-line; }
.vm3-uniform img { object-fit: contain !important; background: #fff; border-radius: var(--vm3-radius); padding: 0.5rem; }
.vm3-tag--seeonee, .vm3-tag--waingunga { background: var(--wp--preset--color--louveteaux); }

.vm3-person__meute { font-style: italic; color: var(--wp--preset--color--muted); font-size: 0.95rem; }

/* --- Search results ---------------------------------------------------------- */
.vm3-results .wp-block-post-template { list-style: none; margin: 0; padding: 0; }
.vm3-results .wp-block-post { border-bottom: 1px solid var(--wp--preset--color--line); padding-block: 1.1rem; margin: 0; }
.vm3-result > * { margin-block: 0.25rem; }
.vm3-result__meta { font-size: 0.875rem; color: var(--wp--preset--color--muted); }
.vm3-result__meta p { margin: 0; }
.vm3-result__type::before { content: "News"; font-weight: 700; color: var(--wp--preset--color--orange-ink); }
.type-page .vm3-result__type::before { content: "Page"; }
.type-page .vm3-result__meta .wp-block-post-date { display: none; } /* a page's date says nothing */
.vm3-result__title { font-size: 1.4rem; text-transform: none; }
.vm3-result__title a { text-decoration: none; }
.vm3-result__title a:hover { color: var(--wp--preset--color--orange-ink); }
.vm3-result__excerpt { color: var(--wp--preset--color--ink-soft); }
.vm3-result__excerpt .wp-block-post-excerpt__more-text { display: none; }

/* --- News post ------------------------------------------------------------------ */
/* Headings inside a news post: smaller than page titles (posts are short, one level of heading) */
.single-post .wp-block-post-content h2 { font-size: 1.75rem; margin-top: 2.2rem; margin-bottom: 0.6rem; }
.single-post .wp-block-post-content h3 { font-size: 1.35rem; margin-top: 1.8rem; }
.single-post .wp-block-post-content > :first-child { margin-top: 0; }
/* Featured image: no wider than the text column, whole image visible (some are logos or posters) */
.single-post .wp-block-post-featured-image { max-width: 860px; margin-inline: auto; margin-bottom: var(--wp--preset--spacing--40); }
.single-post .wp-block-post-featured-image img { display: block; width: auto; max-width: 100%; max-height: 460px; margin-inline: auto; border-radius: 20px; }
/* Images in the text: never wider than the text, centred */
.single-post .wp-block-post-content .wp-block-image img { max-height: 640px; width: auto; margin-inline: auto; display: block; border-radius: 12px; }

/* Facebook group icon, right of the in-page menu bar of section pages */
.vm3-subnav__row { gap: 1rem; }
.vm3-subnav__row > p { flex: 1 1 auto; }
.vm3-subnav .vm3-subnav-social { margin: 0 !important; flex: none; }
.vm3-subnav .vm3-subnav-social .wp-social-link { background: var(--branch) !important; color: #fff !important; border-radius: 50%; }
.vm3-subnav .vm3-subnav-social .wp-social-link a { padding: 0.35rem; color: inherit !important; }
.vm3-subnav .vm3-subnav-social .wp-social-link svg { width: 1.3rem; height: 1.3rem; }
.vm3-subnav .vm3-subnav-social .wp-social-link:hover { transform: scale(1.08); }

/* Quick link to the site admin, top right of the leaders' area */
.vm3-admin-link { display: flex; justify-content: flex-end; margin-bottom: 0.4rem !important; }
.vm3-admin-link a { display: inline-flex; align-items: center; gap: 0.4rem; padding: 0.35rem 0.75rem; border: 1px solid var(--wp--preset--color--line); border-radius: 999px; background: #fff; color: var(--wp--preset--color--ink); font-size: 0.875rem; font-weight: 700; text-decoration: none; }
.vm3-admin-link a:hover, .vm3-admin-link a:focus-visible { color: var(--wp--preset--color--orange-ink); border-color: var(--wp--preset--color--orange); }
.vm3-admin-link a:hover svg { transform: rotate(45deg); }
.vm3-admin-link svg { transition: transform 0.3s; }
@media (max-width: 480px) { .vm3-admin-link span { display: none; } .vm3-admin-link a { padding: 0.45rem; } }
