/* TAT page design system (core blocks only). Loaded by inc/pages.php:
   - on pages flagged by fr-pages/transform.php (body class "tat-page"): the whole set, including
     the defaults for plain core blocks (separators, images, galleries, details, tables...);
   - on any other page or post whose content uses a "tat-" style or icon class: the same file, but
     the defaults below stay scoped to .tat-page, so only the opted-in blocks change;
   - in the block editor, so editors see the styles they pick.
   Colours come from Eaven's own variables (--gradient-start / --gradient-end / --primary-color).
   Block styles and icon names are listed in fr-pages/README.md. */

:root {
	--tat-grad: linear-gradient(90deg, var(--gradient-start, #ed1c91), var(--gradient-end, #ffc20e));
	--tat-grad-diag: linear-gradient(135deg, var(--gradient-start, #ed1c91), var(--gradient-end, #ffc20e));
	--tat-ink: #1d1d24;
	--tat-muted: #5d5f6b;
	--tat-soft: #f7f5f3;
	--tat-line: #ece8e4;
	--tat-radius: 16px;
	--tat-radius-s: 10px;
	--tat-shadow: 0 14px 34px -18px rgba(29, 29, 36, 0.35);
	--tat-gap: clamp(1.25rem, 3.5vw, 2.75rem);
}

/* ======================================================= page defaults (flagged pages only) */

.tat-page .post-entry {
	color: var(--tat-ink);
}
.tat-page .post-entry > h2.wp-block-heading,
.tat-page .post-entry > .wp-block-group > h2.wp-block-heading {
	margin-top: 2.2em;
}
.tat-page .post-entry > :first-child {
	margin-top: 0;
}

/* Separators: a short gradient bar (Elementor's "divider" under headings). */
.tat-page .post-entry .wp-block-separator,
.wp-block-separator.is-style-tat-accent {
	width: 56px;
	max-width: 56px;
	height: 4px;
	margin: 0.6em 0 1.4em;
	border: 0;
	border-radius: 2px;
	background: var(--tat-grad);
	opacity: 1;
}
.tat-page .post-entry .has-text-align-center + .wp-block-separator {
	margin-left: auto;
	margin-right: auto;
}
.tat-page .post-entry .wp-block-separator.is-style-wide {
	width: 100%;
	max-width: none;
	height: 1px;
	background: var(--tat-line);
}

/* Images, embeds, galleries */
.tat-page .post-entry .wp-block-image img,
.tat-page .post-entry .wp-block-embed iframe,
.tat-page .post-entry .wp-block-video video {
	border-radius: var(--tat-radius-s);
}
.tat-page .post-entry .wp-block-image figcaption,
.tat-page .post-entry .wp-block-embed figcaption {
	color: var(--tat-muted);
	font-size: 0.85em;
	text-align: center;
}
.tat-page .post-entry .wp-block-gallery.has-nested-images {
	gap: 0.6rem;
	margin: 2rem 0;
}
.tat-page .post-entry .wp-block-gallery.has-nested-images figure.wp-block-image {
	overflow: hidden;
	border-radius: var(--tat-radius-s);
}
.tat-page .post-entry .wp-block-gallery.has-nested-images figure.wp-block-image img {
	border-radius: 0;
	transition: transform 0.5s ease;
}
.tat-page .post-entry .wp-block-gallery.has-nested-images figure.wp-block-image:hover img {
	transform: scale(1.04);
}

/* Columns: more air between them, stacked on phones */
.tat-page .post-entry .wp-block-columns {
	gap: var(--tat-gap);
	margin: 2rem 0;
}
.tat-page .post-entry .wp-block-column > :first-child {
	margin-top: 0;
}

/* Details (old popups and toggles): an accordion */
.tat-page .post-entry .wp-block-details {
	margin: 0 0 0.75rem;
	border: 1px solid var(--tat-line);
	border-radius: var(--tat-radius-s);
	background: #fff;
	overflow: hidden;
}
.tat-page .post-entry .wp-block-details > summary {
	position: relative;
	padding: 1rem 3rem 1rem 1.25rem;
	font-weight: 600;
	cursor: pointer;
	list-style: none;
}
.tat-page .post-entry .wp-block-details > summary::-webkit-details-marker {
	display: none;
}
.tat-page .post-entry .wp-block-details > summary::after {
	content: "\2b";
	position: absolute;
	top: 50%;
	right: 1.25rem;
	width: 1.6rem;
	height: 1.6rem;
	margin-top: -0.8rem;
	border-radius: 50%;
	background: var(--tat-grad-diag);
	color: #fff;
	font: 900 0.75rem/1.6rem "Font Awesome 6 Free";
	text-align: center;
	transition: transform 0.25s ease;
}
.tat-page .post-entry .wp-block-details[open] > summary::after {
	transform: rotate(45deg);
}
.tat-page .post-entry .wp-block-details[open] > summary {
	border-bottom: 1px solid var(--tat-line);
}
.tat-page .post-entry .wp-block-details > :not(summary) {
	margin-left: 1.25rem;
	margin-right: 1.25rem;
}
.tat-page .post-entry .wp-block-details > :last-child {
	margin-bottom: 1.25rem;
}

/* Tables */
.tat-page .post-entry table {
	width: 100%;
	border-collapse: collapse;
	font-size: 0.95em;
}
.tat-page .post-entry table th,
.tat-page .post-entry table td {
	padding: 0.6em 0.8em;
	border-bottom: 1px solid var(--tat-line);
	text-align: left;
}
.tat-page .post-entry table tr:nth-child(even) td {
	background: var(--tat-soft);
}
.tat-page .post-entry .wp-block-table,
.tat-page .post-entry .tat-table-scroll {
	overflow-x: auto;
}

/* Buttons */
.tat-page .post-entry .wp-block-button__link {
	padding: 0.8em 1.8em;
	border-radius: 99rem;
	background: var(--tat-grad);
	color: #fff;
	font-weight: 600;
	text-decoration: none;
}

/* Quotes */
.tat-page .post-entry .wp-block-quote {
	margin: 2rem 0;
	padding: 1.25rem 1.5rem;
	border-left: 4px solid var(--primary-color, #ed1c91);
	border-radius: 0 var(--tat-radius-s) var(--tat-radius-s) 0;
	background: var(--tat-soft);
}

/* Long words and URLs never widen the page on phones */
.tat-page .post-entry {
	overflow-wrap: break-word;
}

/* ============================================================== block styles (anywhere) */

/* Cover "TAT hero": rounded banner, kicker at the bottom left */
.wp-block-cover.is-style-tat-hero {
	min-height: clamp(220px, 32vw, 380px);
	margin: 0 0 2.5rem;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border-radius: var(--tat-radius);
	overflow: hidden;
	align-items: flex-end;
	justify-content: flex-start;
}
.wp-block-cover.is-style-tat-hero .wp-block-cover__background {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.6), rgba(0, 0, 0, 0.05) 70%) !important;
	opacity: 1 !important;
}
.wp-block-cover.is-style-tat-hero .wp-block-cover__inner-container {
	width: 100%;
	text-align: left;
}
.wp-block-cover.is-style-tat-hero .wp-block-cover__inner-container > p:first-child {
	display: inline-block;
	margin: 0;
	padding: 0.45em 1.1em;
	border-radius: 99rem;
	background: var(--tat-grad);
	color: #fff;
	font-size: 0.78rem;
	font-weight: 700;
	letter-spacing: 0.08em;
	text-transform: uppercase;
}
.wp-block-cover.is-style-tat-hero h1,
.wp-block-cover.is-style-tat-hero h2,
.wp-block-cover.is-style-tat-hero h3 {
	margin: 0.4em 0 0;
	color: #fff;
	text-align: left;
}

/* Columns "Image + text": image and text side by side, image on top on phones */
.wp-block-columns.is-style-tat-media {
	align-items: flex-start !important;
	gap: var(--tat-gap);
	margin: 2.5rem 0 3rem;
}
/* Every row the same: the image column is 40 % wide, the text column takes the rest. */
.wp-block-columns.is-style-tat-media > .wp-block-column {
	flex: 1 1 0 !important;
	min-width: 0;
}
.wp-block-columns.is-style-tat-media > .wp-block-column:not(:has(p, h1, h2, h3, h4, h5, h6, ul, ol)) {
	flex: 0 0 40% !important;
}
.wp-block-columns.is-style-tat-media > .wp-block-column:not(:has(p, h1, h2, h3, h4, h5, h6, ul, ol)) {
	position: sticky;
	top: 110px;
}
.wp-block-columns.is-style-tat-media .wp-block-image {
	margin: 0 0 1rem;
}
.wp-block-columns.is-style-tat-media .wp-block-image img {
	width: 100%;
	aspect-ratio: 3 / 2;
	object-fit: cover;
	border-radius: var(--tat-radius);
	box-shadow: var(--tat-shadow);
}
@media (max-width: 781px) {
	.wp-block-columns.is-style-tat-media {
		flex-direction: column;
		gap: 1.25rem;
	}
	.wp-block-columns.is-style-tat-media > .wp-block-column,
	.wp-block-columns.is-style-tat-media > .wp-block-column:not(:has(p, h1, h2, h3, h4, h5, h6, ul, ol)) {
		flex: 1 1 auto !important;
		width: 100%;
	}
	.wp-block-columns.is-style-tat-media > .wp-block-column:not(:has(p, h1, h2, h3, h4, h5, h6, ul, ol)) {
		position: static;
		order: -1;
	}
}

/* Columns "Cards" and group "Card" */
.wp-block-columns.is-style-tat-cards {
	gap: 1.5rem;
	align-items: stretch !important;
}
.wp-block-columns.is-style-tat-cards > .wp-block-column,
.wp-block-group.is-style-tat-card,
.wp-block-group.is-style-tat-feature {
	position: relative;
	padding: clamp(1.25rem, 2.5vw, 1.9rem);
	border: 1px solid var(--tat-line);
	border-radius: var(--tat-radius);
	background: #fff;
	box-shadow: var(--tat-shadow);
	overflow: hidden;
}
.wp-block-group.is-style-tat-card {
	margin: 2rem 0;
}
.wp-block-columns.is-style-tat-cards > .wp-block-column > :first-child,
.wp-block-group.is-style-tat-card > :first-child,
.wp-block-group.is-style-tat-feature > :first-child,
.wp-block-group.is-style-tat-card > .wp-block-group__inner-container > :first-child,
.wp-block-group.is-style-tat-feature > .wp-block-group__inner-container > :first-child {
	margin-top: 0;
}
.wp-block-columns.is-style-tat-cards > .wp-block-column > :last-child,
.wp-block-group.is-style-tat-card > :last-child,
.wp-block-group.is-style-tat-feature > :last-child,
.wp-block-group.is-style-tat-card > .wp-block-group__inner-container > :last-child,
.wp-block-group.is-style-tat-feature > .wp-block-group__inner-container > :last-child {
	margin-bottom: 0;
}
.wp-block-group.is-style-tat-soft {
	margin: 2rem 0;
	padding: clamp(1.25rem, 3vw, 2.25rem);
	border-radius: var(--tat-radius);
	background: var(--tat-soft);
}

/* Group "Grid": children in a responsive grid (cards, features, videos). Classic themes wrap a
   group's children in .wp-block-group__inner-container (front end), the editor does not. */
.wp-block-group.is-style-tat-grid:not(:has(> .wp-block-group__inner-container)),
.wp-block-group.is-style-tat-grid > .wp-block-group__inner-container,
.wp-block-group.is-style-tat-grid-2:not(:has(> .wp-block-group__inner-container)),
.wp-block-group.is-style-tat-grid-2 > .wp-block-group__inner-container {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(min(100%, 230px), 1fr));
	gap: 1.5rem;
}
.wp-block-group.is-style-tat-grid,
.wp-block-group.is-style-tat-grid-2 {
	margin: 2rem 0;
}
.wp-block-group.is-style-tat-grid-2:not(:has(> .wp-block-group__inner-container)),
.wp-block-group.is-style-tat-grid-2 > .wp-block-group__inner-container {
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 400px), 1fr));
}
.wp-block-group.is-style-tat-grid > *,
.wp-block-group.is-style-tat-grid-2 > *,
.wp-block-group.is-style-tat-grid > .wp-block-group__inner-container > *,
.wp-block-group.is-style-tat-grid-2 > .wp-block-group__inner-container > * {
	margin: 0 !important;
}
.wp-block-group.is-style-tat-grid .wp-block-group.is-style-tat-card {
	display: flex;
	flex-direction: column;
}
.wp-block-group.is-style-tat-grid .wp-block-group.is-style-tat-card .wp-block-image img {
	width: 100%;
	max-height: 180px;
	object-fit: contain;
}

/* Group "Feature": an icon card. The icon is a class on the same group: tat-icon-<name>. */
.wp-block-group.is-style-tat-feature {
	padding-top: clamp(1.25rem, 2.5vw, 1.75rem);
}
.wp-block-group.is-style-tat-feature h2,
.wp-block-group.is-style-tat-feature h3,
.wp-block-group.is-style-tat-feature h4 {
	margin: 0 0 0.6em;
	font-size: 1.25rem;
	line-height: 1.3;
	text-align: left;
}
.wp-block-group.is-style-tat-feature[class*="tat-icon-"]::before {
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	margin: 0 0 1.1rem;
	border-radius: 14px;
	background: var(--tat-grad-diag);
	box-shadow: 0 10px 20px -10px var(--primary-color-semi, rgba(237, 28, 145, 0.5));
	color: #fff;
	font: 900 1.35rem/1 "Font Awesome 6 Free";
	content: var(--tat-icon);
}

/* Heading with an icon: <h2 class="tat-icon-route"> */
h1[class*="tat-icon-"]::before,
h2[class*="tat-icon-"]::before,
h3[class*="tat-icon-"]::before,
h4[class*="tat-icon-"]::before {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 1.9em;
	height: 1.9em;
	margin-right: 0.55em;
	border-radius: 50%;
	background: var(--tat-grad-diag);
	color: #fff;
	font: 900 0.55em/1 "Font Awesome 6 Free";
	vertical-align: 0.35em;
	content: var(--tat-icon);
}

/* List "Links": a list of links shown as chips */
.wp-block-list.is-style-tat-links {
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
	margin: 1rem 0 1.5rem;
	padding: 0;
	list-style: none;
}
.wp-block-list.is-style-tat-links > li {
	margin: 0;
}
.wp-block-list.is-style-tat-links > li > a {
	display: inline-block;
	padding: 0.45em 1em;
	border: 1px solid var(--tat-line);
	border-radius: 99rem;
	background: #fff;
	color: var(--tat-ink);
	font-size: 0.92em;
	text-decoration: none;
	transition: background 0.2s ease, color 0.2s ease, border-color 0.2s ease;
}
.wp-block-list.is-style-tat-links > li:not(:has(a)) {
	padding: 0.45em 1em;
	border-radius: 99rem;
	background: var(--tat-soft);
	color: var(--tat-muted);
	font-size: 0.92em;
}
.wp-block-list.is-style-tat-links > li > a:hover,
.wp-block-list.is-style-tat-links > li > a:focus {
	border-color: transparent;
	background: var(--tat-grad);
	color: #fff;
}

/* List "Contact": an icon per line (address, phone, e-mail, website) */
.wp-block-list.is-style-tat-contact {
	margin: 0.5rem 0 1rem;
	padding: 0;
	list-style: none;
}
.wp-block-list.is-style-tat-contact > li {
	position: relative;
	margin: 0 0 0.45em;
	padding-left: 1.9em;
}
.wp-block-list.is-style-tat-contact > li::before {
	position: absolute;
	top: 0.2em;
	left: 0;
	width: 1.3em;
	color: var(--primary-color, #ed1c91);
	font: 900 0.95em/1.2 "Font Awesome 6 Free";
	text-align: center;
	content: "\f3c5";
}
.wp-block-list.is-style-tat-contact > li:has(a[href^="tel:"])::before { content: "\f095"; }
.wp-block-list.is-style-tat-contact > li:has(a[href^="mailto:"])::before { content: "\f0e0"; }
.wp-block-list.is-style-tat-contact > li:has(a[href^="http"], a[href^="//"])::before { content: "\f0ac"; }

/* List "Checks": check marks instead of bullets */
.wp-block-list.is-style-tat-checks {
	padding: 0;
	list-style: none;
}
.wp-block-list.is-style-tat-checks > li {
	position: relative;
	margin: 0 0 0.5em;
	padding-left: 1.8em;
}
.wp-block-list.is-style-tat-checks > li::before {
	position: absolute;
	top: 0.15em;
	left: 0;
	color: var(--primary-color, #ed1c91);
	font: 900 0.9em/1.3 "Font Awesome 6 Free";
	content: "\f00c";
}

/* Paragraph "Lead": the intro paragraph */
p.is-style-tat-lead {
	font-size: 1.2em;
	line-height: 1.6;
	color: var(--tat-ink);
}

/* ============================================================================ icon names */
/* One line per icon: tat-icon-<Font Awesome 6 solid name>. Keep this list and the README in sync. */
.tat-icon-bag-shopping { --tat-icon: "\f290"; }
.tat-icon-bicycle { --tat-icon: "\f206"; }
.tat-icon-bus { --tat-icon: "\f207"; }
.tat-icon-calendar-days { --tat-icon: "\f073"; }
.tat-icon-camera { --tat-icon: "\f030"; }
.tat-icon-car { --tat-icon: "\f1b9"; }
.tat-icon-check { --tat-icon: "\f00c"; }
.tat-icon-circle-info { --tat-icon: "\f05a"; }
.tat-icon-circle-question { --tat-icon: "\f059"; }
.tat-icon-clock { --tat-icon: "\f017"; }
.tat-icon-coins { --tat-icon: "\f51e"; }
.tat-icon-comments { --tat-icon: "\f086"; }
.tat-icon-compass { --tat-icon: "\f14e"; }
.tat-icon-credit-card { --tat-icon: "\f09d"; }
.tat-icon-earth-asia { --tat-icon: "\f57e"; }
.tat-icon-envelope { --tat-icon: "\f0e0"; }
.tat-icon-file-pdf { --tat-icon: "\f1c1"; }
.tat-icon-gift { --tat-icon: "\f06b"; }
.tat-icon-globe { --tat-icon: "\f0ac"; }
.tat-icon-heart { --tat-icon: "\f004"; }
.tat-icon-hotel { --tat-icon: "\f594"; }
.tat-icon-images { --tat-icon: "\f302"; }
.tat-icon-kit-medical { --tat-icon: "\f479"; }
.tat-icon-landmark { --tat-icon: "\f66f"; }
.tat-icon-language { --tat-icon: "\f1ab"; }
.tat-icon-leaf { --tat-icon: "\f06c"; }
.tat-icon-location-dot { --tat-icon: "\f3c5"; }
.tat-icon-map-location-dot { --tat-icon: "\f5a0"; }
.tat-icon-mobile-screen-button { --tat-icon: "\f3cd"; }
.tat-icon-money-bill-wave { --tat-icon: "\f53a"; }
.tat-icon-mountain { --tat-icon: "\f6fc"; }
.tat-icon-mountain-sun { --tat-icon: "\e52f"; }
.tat-icon-passport { --tat-icon: "\f5ab"; }
.tat-icon-person-hiking { --tat-icon: "\f6ec"; }
.tat-icon-phone { --tat-icon: "\f095"; }
.tat-icon-plane { --tat-icon: "\f072"; }
.tat-icon-plug { --tat-icon: "\f1e6"; }
.tat-icon-route { --tat-icon: "\f4d7"; }
.tat-icon-shield-halved { --tat-icon: "\f3ed"; }
.tat-icon-ship { --tat-icon: "\f21a"; }
.tat-icon-spa { --tat-icon: "\f5bb"; }
.tat-icon-star { --tat-icon: "\f005"; }
.tat-icon-suitcase-rolling { --tat-icon: "\f5c1"; }
.tat-icon-sun { --tat-icon: "\f185"; }
.tat-icon-temperature-half { --tat-icon: "\f2c9"; }
.tat-icon-train { --tat-icon: "\f238"; }
.tat-icon-umbrella-beach { --tat-icon: "\f5ca"; }
.tat-icon-users { --tat-icon: "\f0c0"; }
.tat-icon-utensils { --tat-icon: "\f2e7"; }
.tat-icon-water { --tat-icon: "\f773"; }
.tat-icon-wifi { --tat-icon: "\f1eb"; }

/* ========================================================================= adjustments */

/* Editor notes are hidden from visitors: the first visible block starts the card. */
.tat-page .post-entry > .tat-todo:first-child + :not(.tat-todo),
.tat-page .post-entry > .tat-todo:first-child + .tat-todo + :not(.tat-todo) {
	margin-top: 0;
}
/* Headings inside cards of a grid stay compact. */
.wp-block-group.is-style-tat-grid .wp-block-group.is-style-tat-card h2,
.wp-block-group.is-style-tat-grid .wp-block-group.is-style-tat-card h3 {
	margin: 0 0 0.75em;
	font-size: 1.15rem;
	line-height: 1.35;
}
.wp-block-cover.is-style-tat-hero .wp-block-cover__inner-container {
	margin: 0;
}
.tat-page .post-entry .has-text-align-center + .wp-block-social-links {
	justify-content: center;
}

/* Paragraph "Sub-heading with a pin": a place name in bold, marked by an icon (the old site's bullet GIF) */
p.is-style-tat-subhead,
.tat-page .post-entry p.is-style-tat-subhead {
	position: relative;
	margin: 1.6em 0 0.4em;
	padding-left: 1.6em;
	font-weight: 600;
}
p.is-style-tat-subhead::before {
	position: absolute;
	top: 0.1em;
	left: 0;
	color: var(--primary-color, #ed1c91);
	font: 900 1em/1.3 "Font Awesome 6 Free";
	content: "\f3c5";
}

/* ========================================================================= reading comfort */

/* Body text: a little larger, airy, real paragraph spacing. */
.tat-page .post-entry p,
.tat-page .post-entry li {
	font-size: 1.0625rem;
	line-height: 1.75;
}
.tat-page .post-entry p {
	margin: 0 0 1.1em;
}
.tat-page .post-entry li {
	margin-bottom: 0.35em;
}
/* Wide layout: the white card is wider on these pages and every section (headings, rows, cards,
   grids, galleries, banners) uses its full inner width, aligned on the same left and right edges.
   Only running paragraphs and lists stop at about 95 characters, still on the left edge. */
.tat-page .main > .container {
	max-width: min(1360px, calc(100% - 48px));
	padding-left: clamp(24px, 4.5vw, 64px);
	padding-right: clamp(24px, 4.5vw, 64px);
}
.tat-page .post-entry > :is(p, ul, ol):not(.wp-block-social-links) {
	max-width: 95ch;
}
@media (max-width: 600px) {
	.tat-page .main > .container {
		max-width: none;
		padding-left: 20px;
		padding-right: 20px;
	}
}
/* In image + text rows and cards, lines are short already. */
.tat-page .post-entry .wp-block-column p,
.tat-page .post-entry .wp-block-column li {
	font-size: 1rem;
}
/* Links and long URLs wrap instead of widening the page. */
.tat-page .post-entry a {
	overflow-wrap: anywhere;
}

/* Key facts, word for word: <mark class="tat-key"> (any <mark> on these pages). */
.tat-page .post-entry mark,
mark.tat-key {
	padding: 0.1em 0.45em;
	border-radius: 6px;
	background: linear-gradient(135deg, rgba(237, 28, 145, 0.12), rgba(255, 194, 14, 0.22));
	color: var(--tat-ink);
	font-weight: 600;
	white-space: nowrap;
	-webkit-box-decoration-break: clone;
	box-decoration-break: clone;
}
/* A long key fact (a whole line) is a highlighted block rather than an inline chip. */
.tat-page .post-entry mark.tat-key-block,
mark.tat-key.tat-key-block {
	display: block;
	width: fit-content;
	max-width: 100%;
	padding: 0.5em 0.8em;
	border-radius: 10px;
	white-space: normal;
}

/* List "Facts": label : value lines (dialling codes...), one per row, label in bold. */
.wp-block-list.is-style-tat-facts {
	margin: 0.5rem 0 1.25rem;
	padding: 0;
	list-style: none;
	border-top: 1px solid var(--tat-line);
}
.wp-block-list.is-style-tat-facts > li {
	margin: 0;
	padding: 0.6em 0;
	border-bottom: 1px solid var(--tat-line);
}

/* Group "Icon rows" holding "Icon row" groups: icon on the left, heading and text on the right.
   For topics too long for a card. On wide screens the rows flow in two balanced columns, so the
   section uses the full width while lines stay readable. */
.wp-block-group.is-style-tat-rows {
	margin: 2.5rem 0;
}
@media (min-width: 1000px) {
	.wp-block-group.is-style-tat-rows:not(:has(> .wp-block-group__inner-container)),
	.wp-block-group.is-style-tat-rows > .wp-block-group__inner-container {
		column-count: 2;
		column-gap: clamp(2rem, 4vw, 4rem);
	}
	.wp-block-group.is-style-tat-rows .wp-block-group.is-style-tat-feature-row {
		break-inside: avoid;
		padding-top: 0;
		margin: 0 0 2rem;
	}
}
.wp-block-group.is-style-tat-feature-row {
	display: grid;
	grid-template-columns: 3.25rem minmax(0, 1fr);
	column-gap: 1.5rem;
	padding: 1.75rem 0;
	border-bottom: 1px solid var(--tat-line);
}
.wp-block-group.is-style-tat-feature-row:last-child,
.wp-block-group__inner-container > .wp-block-group.is-style-tat-feature-row:last-child {
	border-bottom: 0;
}
.wp-block-group.is-style-tat-feature-row > *,
.wp-block-group.is-style-tat-feature-row > .wp-block-group__inner-container {
	grid-column: 2;
}
.wp-block-group.is-style-tat-feature-row > .wp-block-group__inner-container > :first-child,
.wp-block-group.is-style-tat-feature-row > :first-child {
	margin-top: 0;
}
.wp-block-group.is-style-tat-feature-row > .wp-block-group__inner-container > :last-child,
.wp-block-group.is-style-tat-feature-row > :last-child {
	margin-bottom: 0;
}
.wp-block-group.is-style-tat-feature-row h2,
.wp-block-group.is-style-tat-feature-row h3,
.wp-block-group.is-style-tat-feature-row h4 {
	margin: 0.35rem 0 0.75em;
	font-size: 1.45rem;
	line-height: 1.3;
}
.wp-block-group.is-style-tat-feature-row[class*="tat-icon-"]::before {
	grid-column: 1;
	grid-row: 1 / span 30;
	display: flex;
	align-items: center;
	justify-content: center;
	width: 3.25rem;
	height: 3.25rem;
	border-radius: 14px;
	background: var(--tat-grad-diag);
	box-shadow: 0 10px 20px -10px var(--primary-color-semi, rgba(237, 28, 145, 0.5));
	color: #fff;
	font: 900 1.35rem/1 "Font Awesome 6 Free";
	content: var(--tat-icon);
}
@media (max-width: 600px) {
	.wp-block-group.is-style-tat-feature-row {
		display: block;
	}
	.wp-block-group.is-style-tat-feature-row[class*="tat-icon-"]::before {
		width: 2.75rem;
		height: 2.75rem;
		margin-bottom: 0.9rem;
		border-radius: 12px;
		font-size: 1.15rem;
	}
	.wp-block-group.is-style-tat-feature-row h2,
	.wp-block-group.is-style-tat-feature-row h3 {
		font-size: 1.25rem;
	}
}
/* Icon cards: body text readable, not muted-small. */
.wp-block-group.is-style-tat-feature p {
	color: var(--tat-ink);
	font-size: 1rem;
	line-height: 1.65;
}

/* Paragraph "Label": a short bold line introducing the paragraph below it (a place, a sport...) */
p.is-style-tat-label,
.tat-page .post-entry p.is-style-tat-label {
	margin: 1.7em 0 0.35em;
	color: var(--tat-ink);
	font-family: Poppins, sans-serif;
	font-size: 1.05rem;
	line-height: 1.4;
}
.tat-page .post-entry p.is-style-tat-label + p.is-style-tat-label,
p.is-style-tat-label + p.is-style-tat-label {
	margin-top: 0.35em;
}
.wp-block-column > p.is-style-tat-label:first-child,
.wp-block-group__inner-container > p.is-style-tat-label:first-child {
	margin-top: 0;
}
p.is-style-tat-subhead {
	font-family: Poppins, sans-serif;
}
/* The paragraph right after a label or pin sub-heading belongs to it: no gap. */
.tat-page .post-entry .is-style-tat-label + *,
.tat-page .post-entry .is-style-tat-subhead + *,
.is-style-tat-label + p,
.is-style-tat-subhead + p {
	margin-top: 0.3em;
}
/* Galleries: uniform tiles (photo sets of 2 to 40 pictures). */
.tat-page .post-entry .wp-block-gallery.has-nested-images figure.wp-block-image:not(#individual-image) img {
	width: 100%;
	height: 100%;
	aspect-ratio: 4 / 3;
	object-fit: cover;
}
@media (min-width: 782px) {
	.tat-page .post-entry .wp-block-gallery.has-nested-images.columns-default figure.wp-block-image:not(#individual-image),
	.tat-page .post-entry .wp-block-gallery.has-nested-images.columns-2 figure.wp-block-image:not(#individual-image) {
		width: calc(33.333% - 0.6rem * 2 / 3);
	}
}
/* The first visible block starts at the top of the white card. */
.tat-page .post-entry > .wp-block-heading:first-child,
.tat-page .post-entry > .tat-todo:first-child + .wp-block-heading,
.tat-page .post-entry > .tat-todo:first-child + .tat-todo + .wp-block-heading {
	margin-top: 0;
}

/* A picture on its own in the page: the full width of the content, same corners and ratio as the rows. */
.tat-page .post-entry > .wp-block-image:not(.alignleft):not(.alignright):not(.tat-keep-size) {
	margin: 2rem 0;
}
.tat-page .post-entry > .wp-block-image:not(.alignleft):not(.alignright):not(.tat-keep-size) img {
	width: 100%;
	max-height: 520px;
	aspect-ratio: 21 / 9;
	object-fit: cover;
	border-radius: var(--tat-radius);
}
/* Rows of cards and plain columns use the full width too. */
.tat-page .post-entry > .wp-block-columns {
	max-width: none;
}
/* (Eaven spaces blocks after a paragraph with a stronger rule: match it.) */
.tat-page .post-entry > .is-style-tat-label + [class*="wp-block-"]:not(.alignleft):not(.alignright),
.tat-page .post-entry > .is-style-tat-subhead + [class*="wp-block-"]:not(.alignleft):not(.alignright) {
	margin-top: 0.3em;
}

/* ================================================================= design version 3 */

/* Cover "Section band": a section title over its picture, full width, then the text below. */
.wp-block-cover.is-style-tat-band {
	min-height: clamp(180px, 22vw, 300px);
	margin: 3.5rem 0 1.75rem;
	padding: clamp(1.25rem, 3vw, 2.5rem);
	border-radius: var(--tat-radius);
	overflow: hidden;
	align-items: flex-end;
	justify-content: flex-start;
}
.wp-block-cover.is-style-tat-band .wp-block-cover__background {
	background: linear-gradient(to top, rgba(0, 0, 0, 0.65), rgba(0, 0, 0, 0.1) 75%) !important;
	opacity: 1 !important;
}
.wp-block-cover.is-style-tat-band .wp-block-cover__inner-container {
	width: 100%;
	margin: 0;
}
.wp-block-cover.is-style-tat-band :is(h2, h3) {
	margin: 0;
	color: #fff;
	font-size: clamp(1.6rem, 3.2vw, 2.4rem);
	line-height: 1.2;
	text-align: left;
	text-shadow: 0 2px 14px rgba(0, 0, 0, 0.35);
}
.wp-block-cover.is-style-tat-band :is(h2, h3)::after {
	content: "";
	display: block;
	width: 56px;
	height: 4px;
	margin-top: 0.6rem;
	border-radius: 2px;
	background: var(--tat-grad);
}
.wp-block-cover.is-style-tat-band :is(h2, h3)[class*="tat-icon-"]::before {
	vertical-align: 0.25em;
}
.tat-page .post-entry > .wp-block-cover.is-style-tat-band:first-child {
	margin-top: 0;
}
@media (max-width: 600px) {
	.wp-block-cover.is-style-tat-band {
		margin-top: 2.5rem;
	}
}

/* Button "File": a download button with a file icon and the file type (from the link). */
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button {
	display: inline-flex;
	align-items: center;
	gap: 0.6em;
	padding: 0.75em 1.4em;
	border: 1px solid var(--tat-line);
	border-radius: 12px;
	background: #fff;
	box-shadow: var(--tat-shadow);
	color: var(--tat-ink);
	font-weight: 600;
	text-decoration: none;
}
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button::before {
	color: var(--primary-color, #ed1c91);
	font: 900 1.2em/1 "Font Awesome 6 Free";
	content: "\f56d"; /* file-arrow-down */
}
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button::after {
	padding: 0.15em 0.5em;
	border-radius: 6px;
	background: var(--tat-soft);
	color: var(--tat-muted);
	font-size: 0.75em;
	letter-spacing: 0.05em;
	text-transform: uppercase;
}
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button[href$=".pdf" i]::after { content: "PDF"; }
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:is([href$=".xls" i], [href$=".xlsx" i])::after { content: "Excel"; }
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button[href$=".ods" i]::after { content: "ODS"; }
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:is([href$=".doc" i], [href$=".docx" i])::after { content: "Word"; }
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:hover,
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:focus {
	border-color: transparent;
	background: var(--tat-grad);
	color: #fff;
}
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:hover::before,
.wp-block-buttons .wp-block-button.is-style-tat-file .wp-block-button__link.wp-element-button:focus::before {
	color: #fff;
}
.tat-page .post-entry .wp-block-buttons:has(.is-style-tat-file) {
	gap: 0.75rem;
	margin: 0.75rem 0 1.5rem;
}

/* Paragraph "Web link": a lone link that shows its raw URL, as a tidy one-line link with a globe. */
p.is-style-tat-weblink {
	display: flex;
	align-items: center;
	gap: 0.5em;
	max-width: 100%;
}
p.is-style-tat-weblink::before {
	flex: none;
	color: var(--primary-color, #ed1c91);
	font: 900 0.95em/1 "Font Awesome 6 Free";
	content: "\f0ac";
}
p.is-style-tat-weblink a {
	overflow: hidden;
	text-overflow: ellipsis;
	white-space: nowrap;
}

/* Newsletter archive ([tat_newsletters], inc/newsletters.php): the latest as cards, older by year */
.tat-newsletters__grid {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(min(100%, 13rem), 1fr));
	gap: 1rem;
	margin: 1.25rem 0 2.5rem;
	padding: 0;
	list-style: none;
}
.tat-newsletters__grid > li {
	margin: 0;
}
.tat-newsletters__card {
	display: flex;
	flex-direction: column;
	gap: 0.3rem;
	height: 100%;
	padding: 1.1rem 1.25rem;
	border: 1px solid var(--tat-line);
	border-radius: 16px;
	background: #fff;
	color: var(--tat-ink);
	text-decoration: none;
	transition: box-shadow 0.2s ease, transform 0.2s ease, border-color 0.2s ease;
}
.tat-newsletters__card:hover,
.tat-newsletters__card:focus {
	border-color: transparent;
	box-shadow: 0 10px 28px rgba(0, 0, 0, 0.1);
	transform: translateY(-2px);
	color: var(--tat-ink);
}
.tat-newsletters__card .tat-newsletters__num {
	background: var(--tat-grad);
	-webkit-background-clip: text;
	background-clip: text;
	color: transparent;
	font-size: 1.5rem;
	font-weight: 700;
	line-height: 1.2;
}
.tat-newsletters__date {
	color: var(--tat-muted);
	font-size: 0.9em;
}
.tat-newsletters__topic {
	color: var(--tat-ink);
	font-size: 0.92em;
	line-height: 1.4;
}
.tat-newsletters__year {
	border-top: 1px solid var(--tat-line);
}
.tat-newsletters__year:last-of-type {
	border-bottom: 1px solid var(--tat-line);
}
.tat-newsletters__year > summary {
	display: flex;
	align-items: center;
	justify-content: flex-start;
	gap: 0.6rem;
	padding: 0.9rem 0;
	cursor: pointer;
	font-weight: 600;
	list-style: none;
}
.tat-newsletters__year > summary::-webkit-details-marker {
	display: none;
}
.tat-newsletters__year > summary::after {
	margin-left: auto;
	font: 900 0.8em/1 "Font Awesome 6 Free";
	content: "\f078";
	transition: transform 0.2s ease;
}
.tat-newsletters__year[open] > summary::after {
	transform: rotate(180deg);
}
.tat-newsletters__year > summary > span {
	flex: none;
	padding: 0.1em 0.6em;
	border-radius: 99rem;
	background: var(--tat-soft);
	color: var(--tat-muted);
	font-size: 0.8em;
	font-weight: 400;
}
.tat-newsletters__list {
	margin: 0 0 1rem;
	padding: 0;
	list-style: none;
}
.tat-newsletters__list > li {
	margin: 0;
}
.tat-newsletters__list a {
	display: flex;
	flex-wrap: wrap;
	align-items: baseline;
	gap: 0.25rem 1rem;
	padding: 0.55rem 0.75rem;
	border-radius: 10px;
	color: var(--tat-ink);
	text-decoration: none;
}
.tat-newsletters__list a:hover,
.tat-newsletters__list a:focus {
	background: var(--tat-soft);
}
.tat-newsletters__list .tat-newsletters__num {
	min-width: 4.5rem;
	font-weight: 600;
}
.tat-newsletters__list .tat-newsletters__date {
	margin-left: auto;
}
@media (max-width: 599px) {
	.tat-newsletters__grid {
		grid-template-columns: repeat(2, minmax(0, 1fr));
		gap: 0.6rem;
	}
	.tat-newsletters__card {
		padding: 0.8rem 0.6rem;
	}
	.tat-newsletters__card .tat-newsletters__num {
		font-size: 1.2rem;
	}
	.tat-newsletters__card .tat-newsletters__date,
	.tat-newsletters__card .tat-newsletters__topic {
		font-size: 0.8em;
	}
}
