/*
Theme Name: AnfaLab
Description: Thème enfant GeneratePress d'anfalab.ma, laboratoire d'analyses médicales à Casablanca, d'après le modèle « phase 1 » du laboratoire : en-tête blanc, grand bandeau photo assombri, catalogue d'analyses avec recherche et filtres, préparation en trois étapes, bande « à domicile » au bleu du logo, carte qualité, informations pratiques. Bleu du logo #7FABC4, encre #12313B, Manrope et DM Sans hébergées. Coordonnées et bandeau défilant réglables, bandeau d'appel sur téléphone. Socle Fox embarqué (fox-socle/). Présentation seulement.
Author: Fox
Template: generatepress
Version: 2.1.2
Fox Socle: 1.3.0
Requires at least: 6.5
Tested up to: 6.8
Requires PHP: 7.2
License: GNU General Public License v2 or later
License URI: https://www.gnu.org/licenses/gpl-2.0.html
Text Domain: anfalab-theme
*/

/*
 * Site styles only. Colours come from the GeneratePress palette (inc/site.php)
 * through var(--accent), var(--contrast), var(--ciel)... Light only.
 * Content classes (anf-*) are set on core blocks in WordPress: see README.md.
 */

:root { color-scheme: light; }

body {
	font-family: "DM Sans", "Noto Kufi Arabic", system-ui, sans-serif;
	font-size: 17px;
	line-height: 1.55;
}
h1, h2, h3, h4, .main-title {
	font-family: "Manrope", "Noto Kufi Arabic", system-ui, sans-serif;
	font-weight: 800;
	line-height: 1.12;
	letter-spacing: -0.01em;
	text-wrap: balance;
}
h1 { font-size: clamp(2.2rem, 1.2rem + 3.6vw, 3.6rem); }
h2 { font-size: clamp(1.7rem, 1.2rem + 1.8vw, 2.6rem); }
h3 { font-size: 1.18rem; font-weight: 700; }
.entry-content a:not(.wp-block-button__link) { text-underline-offset: 0.15em; }
:where(a, button, input, summary):focus-visible { outline: 2px solid var(--accent); outline-offset: 2px; }

/* Arabic text: its font, right to left, isolated in a Latin line. */
.anf-ar, :lang(ar) { font-family: "Noto Kufi Arabic", sans-serif; unicode-bidi: isolate; }
.anf-ar { direction: rtl; }

/* Eyebrow above a title. */
.anf-eyebrow {
	text-transform: uppercase;
	letter-spacing: 0.12em;
	font-weight: 800;
	font-size: 0.76rem;
	color: var(--accent);
	margin-bottom: 12px !important;
}

/* Header ---------------------------------------------------------------- */

.site-header { border-bottom: 1px solid var(--contrast-3); }
.site-header .inside-header { min-height: 82px; padding-top: 8px; padding-bottom: 8px; }
/* Name and Arabic tagline on one line, a thin rule between them (author, 29/10/2026). */
.site-branding { display: flex; flex-direction: row; align-items: center; flex-wrap: wrap; gap: 4px 14px; }
.site-logo { display: flex; flex-direction: column; justify-content: center; }
.main-title { font-size: 1.25rem; line-height: 1; letter-spacing: 0; margin: 0; }
.main-title a { display: inline-flex; align-items: center; gap: 10px; }
.anf-logo { width: 38px; height: 38px; flex: none; display: block; border-radius: 6px; }
.anf-name-accent { color: var(--accent); }
.site-description {
	font-family: "Noto Kufi Arabic", "DM Sans", sans-serif;
	font-size: 0.95rem;
	font-weight: 600;
	line-height: 1.2;
	margin: 0;
	padding: 2px 0 2px 14px;
	border-left: 1px solid var(--contrast-3);
	unicode-bidi: plaintext;
}
.main-navigation .main-nav ul li a { font-weight: 600; font-size: 0.9rem; }
.anf-header-cta { display: flex; align-items: center; margin-left: 18px; }
.anf-header-cta a {
	display: inline-flex; align-items: center; min-height: 42px; padding: 0 18px;
	border-radius: 6px; background: var(--ciel); color: var(--contrast); font-weight: 700; font-size: 0.9rem;
}
.anf-header-cta a:hover { background: var(--ciel-fonce); color: var(--contrast); }

/* Ticker band (inc/ticker.php) ------------------------------------------ */

.anf-ticker {
	background: var(--contrast);
	color: var(--ciel);
	overflow: hidden;
	white-space: nowrap;
	font-size: 0.88rem;
	font-weight: 600;
	letter-spacing: 0.06em;
	text-transform: uppercase;
}
.anf-ticker--enseigne { color: var(--enseigne); }
.anf-ticker__track { display: inline-flex; width: max-content; }
.anf-ticker__text { margin: 0; padding: 9px 0; }
.anf-ticker__item { unicode-bidi: isolate; }
.anf-ticker__item::after { content: "·"; margin: 0 1.1em; opacity: 0.8; }
@media (prefers-reduced-motion: no-preference) {
	.anf-ticker__track { animation: anf-ticker var(--anf-ticker-duration, 30s) linear infinite; }
	.anf-ticker:hover .anf-ticker__track { animation-play-state: paused; }
	@keyframes anf-ticker { to { transform: translateX(-50%); } }
}
@media (prefers-reduced-motion: reduce) {
	.anf-ticker { white-space: normal; }
	.anf-ticker__track { display: block; width: auto; padding: 0 16px; }
	.anf-ticker__text[aria-hidden="true"] { display: none; }
}

/* Buttons: the logo's sky blue with ink text (5.6:1), white variant ------ */

.wp-block-button__link { border-radius: 6px; font-weight: 700; padding: 14px 22px; }
.wp-block-button:not(.is-style-outline) .wp-block-button__link { background: var(--ciel); color: var(--contrast); }
.wp-block-button:not(.is-style-outline) .wp-block-button__link:hover { background: var(--ciel-fonce); color: var(--contrast); }
.wp-block-button.is-style-outline .wp-block-button__link { background: var(--base-3); color: var(--contrast); border: 1.5px solid var(--contrast-3); }
.wp-block-button.anf-btn-dark .wp-block-button__link { background: var(--contrast); color: var(--base-3); }
.entry-content > .wp-block-buttons { margin-bottom: 1.5em; }

/* Front page: full-width sections, no page padding ---------------------- */

.anf-home .site-content .inside-article,
.anf-home .site-content .content-area { padding: 0; }
.anf-home .entry-content > * { margin-top: 0; margin-bottom: 0; }
.anf-home .entry-content > .alignfull { margin-left: 0; margin-right: 0; }

/* GeneratePress pads a group's inner container by 40 px: the sections carry their own spacing. */
.anf-home .entry-content .wp-block-group__inner-container { padding-left: 0; padding-right: 0; }
.anf-home .wp-block-group.anf-section > .wp-block-group__inner-container { max-width: none; }

/* Hero: a Cover block .anf-hero, the photo darkened from the left. */
/* The hero fits the screen under the header (author, 29/10/2026): at most the window height minus the 82 px header. */
.wp-block-cover.anf-hero { min-height: min(680px, calc(100vh - 82px)) !important; align-items: flex-end; justify-content: flex-start; padding: 0; }
.wp-block-cover.anf-hero .wp-block-cover__background {
	background: linear-gradient(90deg, rgba(8, 44, 51, 0.5) 0%, rgba(8, 44, 51, 0.22) 54%, rgba(8, 44, 51, 0) 100%) !important;
	opacity: 1 !important;
}
/* Light overlay (« mode 3 », 29/10/2026): a soft shadow keeps the white text readable on the bright parts of the photo. */
.anf-hero .wp-block-cover__inner-container { color: #fff; padding: 48px 7vw 40px; max-width: 1320px; width: 100%; margin: 0; text-shadow: 0 1px 2px rgba(8, 44, 51, 0.55), 0 2px 18px rgba(8, 44, 51, 0.45); }
.anf-hero .wp-block-button__link { text-shadow: none; }
.anf-hero .wp-block-cover__inner-container > * { margin-top: 0; }
.anf-hero h1 { color: #fff; font-size: clamp(2.4rem, 1rem + 3.4vw, 4.4rem); max-width: 1180px; margin-bottom: 12px; }
.anf-hero p { font-size: 1.12rem; max-width: 980px; margin-bottom: 10px; }
.anf-hero .anf-eyebrow { color: #fff; font-size: 0.76rem; }
.anf-hero .wp-block-buttons { margin: 20px 0 28px; }
ul.anf-quick { display: flex; list-style: none; margin: 0; padding: 0; }
.anf-quick li { padding: 0 35px; border-left: 1px solid rgba(255, 255, 255, 0.45); }
.anf-quick li:first-child { padding-left: 0; border: 0; }
.anf-quick strong { display: block; font-size: 0.8rem; text-transform: uppercase; letter-spacing: 0.08em; }

/* Sections of the front page. */
.wp-block-group.anf-section { padding: 100px 7vw; margin: 0; }
.anf-section--soft { background: var(--base-2); }
.anf-section-head { max-width: 700px; margin-bottom: 28px; }
.anf-section-head h2:last-child, .anf-section-head > .wp-block-group__inner-container > h2:last-child { margin-bottom: 0; }
.anf-home .anf-section-head + p, .anf-home .anf-section-head + .wp-block-group { margin-top: 0; }
.anf-section-head > *, .anf-section-head > .wp-block-group__inner-container > * { margin-top: 0; }
.anf-section-head p:last-child { color: var(--contrast-2); }

/* Catalogue: cards .anf-card in .anf-cards; the theme script adds the search
   box and the filters (anf-cat-routine, anf-cat-prevention, anf-cat-specialisee). */
.anf-search {
	max-width: 760px; height: 62px; border: 1px solid var(--contrast-3); display: flex; align-items: center;
	gap: 12px; padding: 0 20px; border-radius: 6px; box-shadow: 0 10px 30px rgba(22, 70, 71, 0.08); background: var(--base-3);
}
.anf-search span { font-size: 28px; color: var(--accent); line-height: 1; }
.anf-search input { border: 0; outline: 0; width: 100%; font: inherit; font-size: 1rem; color: var(--contrast); background: transparent; padding: 0; }
.anf-chips { display: flex; gap: 8px; flex-wrap: wrap; margin: 20px 0 34px; }
.anf-chip { border: 1px solid var(--contrast-3); background: var(--base-3); color: var(--contrast); border-radius: 999px; padding: 8px 16px; font: inherit; font-weight: 700; font-size: 0.85rem; cursor: pointer; }
.anf-chip[aria-pressed="true"] { background: var(--contrast); border-color: var(--contrast); color: var(--base-3); }
/* Classic themes wrap a group's children in .wp-block-group__inner-container: the layout goes on it. */
.wp-block-group.anf-cards, .anf-cards > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.anf-cards > .wp-block-group__inner-container { grid-column: 1 / -1; }
.wp-block-group.anf-card {
	border: 1px solid var(--contrast-3); border-radius: 8px; padding: 26px 24px; min-height: 250px;
	display: flex; flex-direction: column; background: var(--base-3); margin: 0;
}
.anf-card > .wp-block-group__inner-container { display: flex; flex-direction: column; flex: 1; }
.anf-card > .wp-block-group__inner-container > * { margin-top: 0; }
.anf-card > * { margin-top: 0; }
.anf-card h3 { margin-bottom: 10px; }
.anf-card p { font-size: 0.93rem; color: var(--contrast-2); }
p.anf-icon {
	display: grid; place-items: center; width: 38px; height: 38px; border-radius: 6px; margin-bottom: 26px;
	background: var(--base); color: var(--accent); font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1rem;
}
.anf-card p.anf-more { margin-top: auto; margin-bottom: 0; font-weight: 700; font-size: 0.9rem; }
.anf-card.is-hidden { display: none; }
p.anf-empty { display: none; margin-top: 18px; color: var(--contrast-2); }
p.anf-empty.is-visible { display: block; }
.wp-block-group.anf-prescription {
	margin-top: 26px; background: var(--base); border-radius: 8px; padding: 24px 28px;
	display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap;
}
.anf-prescription > .wp-block-group__inner-container { display: flex; align-items: center; justify-content: space-between; gap: 20px; flex-wrap: wrap; width: 100%; }
.anf-prescription > *, .anf-prescription > .wp-block-group__inner-container > * { margin: 0; }
.anf-prescription p { max-width: 640px; }

/* Preparation in three steps, then the dark « À jeun » band. */
.wp-block-columns.anf-steps { gap: 0; border: 1px solid var(--contrast-3); border-radius: 8px; background: var(--base-3); margin: 0; }
.anf-steps > .wp-block-column { padding: 34px 30px; min-width: 0; }
.anf-steps > .wp-block-column + .wp-block-column { border-left: 1px solid var(--contrast-3); }
.anf-steps > .wp-block-column > * { margin-top: 0; }
p.anf-step-num { color: var(--corail); font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1.3rem; margin-bottom: 18px; }
.anf-steps p:not(.anf-step-num) { color: var(--contrast-2); }
.wp-block-group.anf-alert {
	margin-top: 18px; background: var(--contrast); color: var(--base-3); border-radius: 8px; padding: 24px 28px;
	display: flex; gap: 30px; align-items: baseline;
}
.anf-alert > .wp-block-group__inner-container { display: flex; gap: 30px; align-items: baseline; }
.anf-alert > *, .anf-alert > .wp-block-group__inner-container > * { margin: 0; }
.anf-alert strong { white-space: nowrap; }

/* « À domicile » band, the logo's sky blue, photo on the right. */
.wp-block-columns.anf-band { background: var(--ciel); color: var(--contrast); padding: 100px 7vw; gap: 6vw; align-items: center; margin: 0; }
.anf-band > .wp-block-column { min-width: 0; }
.anf-band > .wp-block-column > * { margin-top: 0; }
.anf-band .anf-eyebrow { color: var(--contrast); }
.anf-band a:not(.wp-block-button__link) { color: var(--contrast); font-weight: 700; }
.anf-band h2 { color: var(--contrast); }
.anf-band figure { margin: 0; position: relative; }
.anf-band figure img { width: 100%; height: 380px; object-fit: cover; border-radius: 8px; display: block; }
.anf-band figcaption {
	position: absolute; left: 18px; bottom: 18px; margin: 0; background: var(--base-3); color: var(--contrast);
	font-weight: 700; font-size: 0.85rem; padding: 8px 14px; border-radius: 4px;
}

/* Results | quality card. */
.wp-block-columns.anf-rq { padding: 100px 7vw; gap: 6vw; margin: 0; }
.anf-rq > .wp-block-column { min-width: 0; }
.anf-rq > .wp-block-column > * { margin-top: 0; }
.anf-rq ul { padding-left: 1.1em; }
.anf-rq li { margin-bottom: 8px; }
.anf-quality { background: var(--contrast); color: var(--base-3); border-radius: 8px; padding: 44px 40px; }
.anf-quality h2 { color: var(--base-3); }
.anf-quality .anf-eyebrow { color: var(--ciel-clair); }
.anf-quality a { color: var(--ciel-clair); font-weight: 700; }
.anf-quality .anf-note { font-size: 0.82rem; color: var(--ciel-clair); border-top: 1px solid rgba(255, 255, 255, 0.2); padding-top: 16px; margin-bottom: 0; }

/* Practical information, with the hours card. */
.wp-block-columns.anf-contact-home { background: var(--base-2); padding: 100px 7vw; gap: 8vw; align-items: center; margin: 0; }
.anf-contact-home > .wp-block-column { min-width: 0; }
.anf-contact-home > .wp-block-column > * { margin-top: 0; }
.anf-contact-home p { font-size: 1.1rem; max-width: 590px; }
p.anf-contact-links { display: flex; gap: 24px; flex-wrap: wrap; font-weight: 800; }
.anf-contact-links a { color: var(--accent); text-decoration: none; }
.wp-block-group.anf-hours { background: var(--base-3); padding: 35px; border: 1px solid var(--contrast-3); border-radius: 8px; }
.anf-hours > *, .anf-hours > .wp-block-group__inner-container > * { margin-top: 0; }
.anf-hours p { display: flex; justify-content: space-between; gap: 12px; border-bottom: 1px solid var(--contrast-3); padding-bottom: 14px; font-size: 1rem; }
.anf-hours .wp-block-buttons, .anf-hours .wp-block-button, .anf-hours .wp-block-button__link { width: 100%; text-align: center; }

/* The front page: its 1.x sections (services, Venir | Prise en charge,
   biologist, companies) in the « phase 1 » style. */
.anf-hero .anf-ar { font-size: 1.25rem; color: #fff; }
.wp-block-group.anf-tiles, .anf-tiles > .wp-block-group__inner-container { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 18px; }
.anf-tiles > .wp-block-group__inner-container { grid-column: 1 / -1; }
.wp-block-group.anf-tile { border: 1px solid var(--contrast-3); border-radius: 8px; padding: 26px 24px; background: var(--base-3); margin: 0; }
.anf-tile > *, .anf-tile > .wp-block-group__inner-container > * { margin-top: 0; }
.anf-tile p { font-size: 0.95rem; color: var(--contrast-2); }
.anf-tile p.anf-k { color: var(--accent); font-size: 0.74rem; margin-bottom: 10px; }
.anf-tile h3 { margin-bottom: 8px; }
.anf-home .wp-block-columns.anf-split { padding: 0; margin: 0; }
.anf-home .anf-split > .wp-block-column { padding: 80px 7vw; }
.anf-home .wp-block-group.anf-section .wp-block-columns.anf-bio { margin: 0; }
.anf-home .anf-bio figure { aspect-ratio: 4 / 3; }

/* Inner pages ------------------------------------------------------------ */

.single .entry-content > .wp-block-image img,
.page .entry-content > .wp-block-image img { max-height: 420px; width: auto; max-width: 100%; margin: 0 auto; display: block; }
.page .entry-content > .wp-block-image { text-align: center; }
.page .entry-content > .wp-block-image figcaption { font-size: 0.85rem; color: var(--contrast-2); }
.entry-header .entry-title { margin-bottom: 0.4em; }

/* Two columns side by side (Venir | Prise en charge, Nous joindre | Horaires). */
.wp-block-columns.anf-split { gap: 0; margin: 0 0 1.5em; }
.anf-split > .wp-block-column { min-width: 0; padding: 32px clamp(16px, 3vw, 40px); }
.anf-split > .wp-block-column > * { margin-top: 0; }
.anf-sky { background: var(--base); }
.anf-oak { background: var(--base-2); }
ul.anf-facts, .entry-content ul.anf-facts { list-style: none; margin: 0 0 1.5em; padding: 0; display: grid; gap: 10px; }
.anf-facts li { border-bottom: 1px solid var(--contrast-3); padding-bottom: 10px; }
.anf-facts strong { display: inline-block; min-width: 9ch; }
.anf-pills, .entry-content ul.anf-pills { display: flex; flex-wrap: wrap; gap: 6px; margin: 0 0 1.5em; padding: 0; list-style: none; }
.anf-pills li, p.anf-pill {
	display: inline-block; border: 1.5px solid var(--contrast-3); color: var(--contrast); background: var(--base-3);
	padding: 4px 12px; border-radius: 999px; font-weight: 700; font-size: 0.9rem; margin: 0;
}

/* Older content classes, still used by inner pages. */
.anf-services { padding: 0; }
.anf-services .wp-block-columns { gap: 0; border-block: 1px solid var(--contrast-3); }
.anf-services .wp-block-column { padding: 18px 16px 20px; min-width: 0; }
.anf-services .wp-block-column + .wp-block-column { border-left: 1px solid var(--contrast-3); }
.anf-services .wp-block-column > * { margin: 0 0 6px; }
.anf-k { font-size: 0.76rem; font-weight: 800; letter-spacing: 0.12em; text-transform: uppercase; color: var(--accent); }
.anf-bio { gap: 32px; align-items: center; }
.anf-bio > .wp-block-column { min-width: 0; }
.anf-bio figure { margin: 0; aspect-ratio: 4 / 3; overflow: hidden; border-radius: 8px; }
.anf-bio img { width: 100%; height: 100%; object-fit: cover; display: block; }
.wp-block-gallery.anf-gal { display: grid; grid-template-columns: 2fr 1fr 1fr; gap: 6px; margin: 0; }
.wp-block-gallery.anf-gal .wp-block-image { width: auto !important; margin: 0 !important; height: 260px; position: relative; }
.anf-gal img { width: 100%; height: 100% !important; object-fit: cover; }

/* Footer ---------------------------------------------------------------- */

.site-info { border-top: 1px solid var(--contrast-3); font-size: 0.85rem; }
.site-info .inside-site-info { display: flex; flex-wrap: wrap; gap: 8px 24px; align-items: center; justify-content: space-between; padding-top: 32px; padding-bottom: 32px; }
.anf-foot-name { font-family: "Manrope", sans-serif; font-weight: 800; font-size: 1.05rem; }
.anf-foot-menu { list-style: none; margin: 0; padding: 0; display: flex; flex-wrap: wrap; gap: 4px 18px; }

/* Contact band above the footer (inc/contact.php), not on the pages with a hero,
   which have their own « Informations pratiques ». */
.anf-contact { background: var(--base-2); color: var(--contrast); }
.anf-home .anf-contact { display: none; }
.anf-contact__inner { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 24px 32px; padding: 48px 16px; }
.anf-contact__col { min-width: 0; }
.anf-contact__col p { margin: 0; }
.anf-contact__title { font-family: "Manrope", sans-serif; font-weight: 800; margin-bottom: 8px !important; }
.anf-contact__list { list-style: none; margin: 0; padding: 0; display: grid; gap: 4px; }
.anf-contact__list span { display: inline-block; min-width: 8ch; }
.anf-contact a { color: var(--accent); font-weight: 700; text-underline-offset: 0.15em; }
.anf-contact .anf-pills { margin: 0 0 8px; }
.anf-contact__note { font-size: 0.9rem; }

/* Call bar of phones (inc/contact.php): Appeler, WhatsApp, Itinéraire --- */

.anf-call { display: none; }
@media (max-width: 768px) {
	.anf-call {
		display: grid; grid-template-columns: repeat(auto-fit, minmax(0, 1fr));
		position: fixed; left: 0; right: 0; bottom: 0; z-index: 50; height: 62px;
		background: var(--base-3); box-shadow: 0 -5px 25px rgba(0, 0, 0, 0.12);
		padding-bottom: env(safe-area-inset-bottom, 0px);
	}
	.anf-call a { display: grid; place-items: center; font-weight: 800; font-size: 0.9rem; text-decoration: none; color: var(--contrast); border-right: 1px solid var(--contrast-3); }
	.anf-call a:last-child { border-right: 0; }
	.anf-call__wa { background: var(--ciel); }
	.anf-has-call .site-footer { padding-bottom: 62px; }
}

/* Tablets and phones ---------------------------------------------------- */

@media (max-width: 950px) {
	.wp-block-group.anf-cards, .anf-cards > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	.wp-block-group.anf-tiles, .anf-tiles > .wp-block-group__inner-container { grid-template-columns: repeat(2, minmax(0, 1fr)); }
	ul.anf-quick { flex-wrap: wrap; gap: 20px; }
	.anf-quick li { padding: 0 20px; }
	.anf-header-cta { display: none; }
}
@media (max-width: 781px) {
	.wp-block-cover.anf-hero { min-height: min(720px, calc(100vh - 70px)) !important; }
	.wp-block-cover.anf-hero .wp-block-cover__background {
		background: linear-gradient(0deg, rgba(8, 44, 51, 0.7) 0%, rgba(8, 44, 51, 0.32) 70%, rgba(8, 44, 51, 0) 100%) !important;
	}
	.anf-hero .wp-block-cover__inner-container { padding: 40px 22px 30px; }
	.anf-hero h1 { font-size: 2.6rem; }
	ul.anf-quick { display: grid; grid-template-columns: 1fr 1fr; }
	.anf-quick li { border-left: 0; padding: 0; }
	.wp-block-group.anf-section, .wp-block-columns.anf-band, .wp-block-columns.anf-rq, .wp-block-columns.anf-contact-home { padding: 70px 22px; }
	.wp-block-group.anf-cards, .anf-cards > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.wp-block-group.anf-tiles, .anf-tiles > .wp-block-group__inner-container { grid-template-columns: minmax(0, 1fr); }
	.anf-home .anf-split > .wp-block-column { padding: 56px 22px; }
	.wp-block-group.anf-card { min-height: 0; }
	.anf-steps > .wp-block-column + .wp-block-column { border-left: 0; border-top: 1px solid var(--contrast-3); }
	.wp-block-group.anf-alert, .anf-alert > .wp-block-group__inner-container { flex-direction: column; gap: 6px; }
	.anf-band figure img { height: 300px; }
	.anf-quality { padding: 32px 25px; }
	.wp-block-group.anf-hours { padding: 28px 22px; }
	.anf-services .wp-block-columns { display: grid; grid-template-columns: 1fr 1fr; }
	.anf-services .wp-block-column:nth-child(3) { border-left: 0; }
	.anf-services .wp-block-column:nth-child(n+3) { border-top: 1px solid var(--contrast-3); }
	.wp-block-gallery.anf-gal { grid-template-columns: 1fr 1fr; }
	.wp-block-gallery.anf-gal .wp-block-image { height: auto; aspect-ratio: 4 / 3; }
	.wp-block-gallery.anf-gal .wp-block-image:first-child { grid-column: 1 / -1; }
	/* Phones: no room for name, tagline and menu button on one line; the tagline goes under the name. */
	.site-branding { flex-direction: column; align-items: flex-start; gap: 3px; }
	.site-description { font-size: 0.8rem; padding: 0 0 0 48px; border-left: 0; }
}
