/*
Theme Name: Timeline
Theme URI: https://www.prime-time.fr/
Description: Thème du site de Timeline (JPK 1080, FRA 43831) — couleurs et facettes inspirées de la coque, titres en Bank Gothic.
Version: 1.0.0
Requires at least: 6.6
Requires PHP: 8.1
Text Domain: primetime
*/

:root {
	/* triangles of the hull graphic, repeated as a thin band */
	--pt-facets: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='96' height='8' viewBox='0 0 96 8'%3E%3Cpath fill='%231D6FE0' d='M0 0h24L12 8z'/%3E%3Cpath fill='%2363B3FF' d='M12 8 24 0l12 8z'/%3E%3Cpath fill='%230E2A4F' d='M24 0h24L36 8z'/%3E%3Cpath fill='%232F86F0' d='M36 8 48 0l12 8z'/%3E%3Cpath fill='%2363B3FF' d='M48 0h24L60 8z'/%3E%3Cpath fill='%231D6FE0' d='M60 8 72 0l12 8z'/%3E%3Cpath fill='%232F86F0' d='M72 0h24L84 8z'/%3E%3Cpath fill='%230E2A4F' d='M84 8 96 0v8z'/%3E%3C/svg%3E");
	--pt-radius: 4px;
}

body { -webkit-font-smoothing: antialiased; }
img { height: auto; }
:where(.wp-site-blocks) > * { margin-block-start: 0; }

/* ---------------------------------------------------------------- header */

.pt-header {
	position: sticky;
	top: 0;
	z-index: 50;
}
.admin-bar .pt-header { top: var(--wp-admin--admin-bar--height, 32px); }
.pt-header::after {
	content: "";
	position: absolute;
	inset: auto 0 -8px 0;
	height: 8px;
	background: var(--pt-facets) repeat-x left top / 96px 8px;
}
.pt-brand { gap: 0.75rem; }
.pt-site-title {
	font-family: var(--wp--preset--font-family--bank-gothic);
	font-size: 1.6rem;
	letter-spacing: 0.14em;
	text-transform: uppercase;
	line-height: 1;
	margin: 0;
}
.pt-site-title a { color: inherit; text-decoration: none; }
.pt-sail-number {
	font-family: var(--wp--preset--font-family--bank-gothic);
	font-size: 0.75rem;
	letter-spacing: 0.12em;
	color: var(--wp--preset--color--ciel);
	border-left: 1px solid rgba(255, 255, 255, 0.25);
	padding-left: 0.75rem;
	margin: 0;
	white-space: nowrap;
}
.pt-nav a { text-decoration: none; }
.pt-nav .wp-block-navigation-item__content:hover,
.pt-nav .current-menu-item > .wp-block-navigation-item__content { color: var(--wp--preset--color--ciel); }
.pt-nav .wp-block-navigation__submenu-container {
	background: var(--wp--preset--color--abysse) !important;
	border: 0 !important;
	border-top: 2px solid var(--wp--preset--color--coque) !important;
	padding: 0.5rem 0;
}
.pt-nav .wp-block-navigation__submenu-container .wp-block-navigation-item__content { padding: 0.5rem 1.25rem; }
.wp-block-navigation__responsive-container.is-menu-open { padding-top: 2rem; }
.wp-block-navigation__responsive-container.is-menu-open .wp-block-navigation__responsive-container-content { font-size: 1.25rem; }

/* ---------------------------------------------------------------- common */

.pt-main { padding-bottom: var(--wp--preset--spacing--60); }
.pt-front { padding-bottom: 0; }
.pt-kicker {
	font-family: var(--wp--preset--font-family--bank-gothic);
	text-transform: uppercase;
	letter-spacing: 0.16em;
	font-size: 0.8rem;
	color: var(--wp--preset--color--coque);
	margin-bottom: 0.25rem;
}
.pt-lead { font-size: var(--wp--preset--font-size--large); line-height: 1.55; color: var(--wp--preset--color--brume); }
.pt-back { font-size: var(--wp--preset--font-size--small); margin-bottom: 0; }
.pt-back a { text-decoration: none; }

.pt-title-band {
	position: relative;
	padding-top: var(--wp--preset--spacing--50);
	padding-bottom: var(--wp--preset--spacing--50);
	margin-bottom: var(--wp--preset--spacing--50);
	background-image: linear-gradient(115deg, var(--wp--preset--color--abysse) 0%, var(--wp--preset--color--marine) 60%, #16407a 100%);
}
.pt-title-band::after {
	content: "";
	position: absolute;
	inset: auto 0 0 0;
	height: 8px;
	background: var(--pt-facets) repeat-x left top / 96px 8px;
}
.pt-title-band h1,
.pt-title-band .wp-block-post-title,
.pt-title-band .wp-block-query-title { color: var(--wp--preset--color--blanc); margin-top: 0.25rem; }
.pt-title-band .pt-kicker { color: var(--wp--preset--color--ciel); }
.pt-title-band .pt-lead,
.pt-title-band .wp-block-post-excerpt { color: rgba(255, 255, 255, 0.82); }
.pt-title-band a { color: var(--wp--preset--color--blanc); }

/* ---------------------------------------------------------------- front page */

.pt-front .pt-content > .pt-hero:first-child { margin-top: 0; }
.pt-hero { padding-block: var(--wp--preset--spacing--60); }
.pt-hero .wp-block-cover__inner-container { max-width: var(--wp--style--global--wide-size); margin-inline: auto !important; }
.pt-hero .wp-block-cover__inner-container > * { margin-left: 0 !important; margin-right: auto !important; max-width: 38rem; }
.pt-hero .pt-kicker { color: var(--wp--preset--color--ciel); }
.pt-hero .pt-hero-title {
	font-size: var(--wp--preset--font-size--hero);
	letter-spacing: 0.08em;
	color: var(--wp--preset--color--blanc);
	margin: 0.25rem 0 0.75rem;
	text-shadow: 0 2px 24px rgba(7, 22, 43, 0.35);
}
.pt-hero .pt-hero-lead { color: rgba(255, 255, 255, 0.9); font-size: var(--wp--preset--font-size--large); max-width: 30rem; }
.pt-hero .wp-block-buttons { margin-top: 2rem; }

.pt-section { padding-top: var(--wp--preset--spacing--60); padding-bottom: var(--wp--preset--spacing--40); }
.pt-content > .pt-section { margin-top: 0; }
.pt-band { background: var(--wp--preset--color--ecume); padding-bottom: var(--wp--preset--spacing--60); }
.pt-featured .wp-block-post-title { font-size: var(--wp--preset--font-size--xx-large); }
.pt-featured .wp-block-post-title a,
.pt-card .wp-block-post-title a { color: var(--wp--preset--color--marine); text-decoration: none; }
.pt-featured .wp-block-post-title a:hover,
.pt-card .wp-block-post-title a:hover { color: var(--wp--preset--color--coque); }
.pt-featured .wp-block-post-excerpt__more-link,
.pt-more a {
	font-family: var(--wp--preset--font-family--bank-gothic);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 0.85rem;
	text-decoration: none;
}
.pt-featured .wp-block-post-excerpt__more-link::after,
.pt-more a::after { content: " →"; }

/* ---------------------------------------------------------------- cards */

.pt-card {
	background: var(--wp--preset--color--blanc);
	border: 1px solid var(--wp--preset--color--ligne);
	border-radius: var(--pt-radius);
	overflow: hidden;
	gap: 0.5rem !important;
	padding-bottom: 1.25rem;
	height: 100%;
	transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.pt-card:hover { transform: translateY(-3px); box-shadow: 0 12px 28px rgba(7, 22, 43, 0.12); }
.pt-card > *:not(.wp-block-post-featured-image):not(.pt-card-img) { padding-inline: 1.25rem; margin: 0; }
.pt-card > .wp-block-post-featured-image,
.pt-card > .pt-card-img { margin: 0 0 0.5rem; width: 100%; }
.pt-card .wp-block-post-featured-image img,
.pt-card .pt-card-img img { width: 100%; aspect-ratio: 3/2; object-fit: cover; }
.pt-card .wp-block-post-title { font-size: 1.15rem; line-height: 1.25; }
.pt-card .wp-block-post-excerpt { font-size: var(--wp--preset--font-size--small); color: var(--wp--preset--color--brume); }
.pt-card .wp-block-post-excerpt__excerpt { margin: 0; }
.pt-date { text-transform: uppercase; }

.pt-logo-fallback {
	position: relative;
	margin: 0;
	width: 100%;
	overflow: hidden;
	background:
		var(--pt-facets) repeat-x left bottom / 96px 8px,
		linear-gradient(135deg, var(--wp--preset--color--ecume) 0%, #dfe8f3 100%);
}
.pt-logo-fallback a,
.pt-logo-fallback > img,
.pt-logo-fallback > .pt-logo-mark { position: absolute; inset: 0; display: flex; align-items: center; justify-content: center; }
.pt-card .pt-logo-fallback img.pt-logo,
.pt-logo-fallback img.pt-logo {
	position: static;
	width: auto !important;
	height: auto !important;
	max-width: 40%;
	max-height: 50%;
	aspect-ratio: auto !important;
	object-fit: contain;
	mix-blend-mode: multiply;
}
.pt-logo-mark { font-family: var(--wp--preset--font-family--bank-gothic); font-size: 2.5rem; letter-spacing: 0.1em; color: var(--wp--preset--color--coque); }

/* ---------------------------------------------------------------- blog index */

.pt-blog-filters { gap: 1rem; margin-top: 1.5rem; }
.pt-archives select {
	font: inherit;
	padding: 0.45rem 0.75rem;
	border-radius: var(--pt-radius);
	border: 1px solid rgba(255, 255, 255, 0.35);
	background: rgba(255, 255, 255, 0.08);
	color: var(--wp--preset--color--blanc);
}
.pt-archives select option { color: var(--wp--preset--color--encre); }
.pt-archives label { position: absolute; width: 1px; height: 1px; overflow: hidden; clip: rect(0 0 0 0); }
.pt-tags { display: flex; flex-wrap: wrap; gap: 0.4rem; margin: 0; }
.pt-tags a {
	text-decoration: none;
	border: 1px solid rgba(255, 255, 255, 0.3);
	border-radius: 999px;
	padding: 0.25rem 0.75rem;
	margin: 0 !important;
}
.pt-tags a:hover { background: var(--wp--preset--color--coque); border-color: var(--wp--preset--color--coque); }
.wp-block-query-pagination { margin-top: var(--wp--preset--spacing--50); }
.wp-block-query-pagination a,
.wp-block-query-pagination .current { padding: 0.25rem 0.6rem; text-decoration: none; }
.wp-block-query-pagination .current { background: var(--wp--preset--color--marine); color: var(--wp--preset--color--blanc); border-radius: var(--pt-radius); }

/* ---------------------------------------------------------------- single post */

.pt-post-meta { gap: 0.75rem 1.25rem; }
.pt-post-band .wp-block-post-date { color: rgba(255, 255, 255, 0.75); }
.pt-race { display: flex; align-items: center; gap: 0.6rem; font-family: var(--wp--preset--font-family--bank-gothic); text-transform: uppercase; letter-spacing: 0.08em; font-size: 0.85rem; }
.pt-race a { color: var(--wp--preset--color--ciel) !important; text-decoration: none; }
.pt-race-logo {
	width: 44px;
	height: 44px;
	object-fit: contain;
	background: var(--wp--preset--color--blanc);
	border-radius: 50%;
	padding: 6px;
}
.pt-article img { border-radius: var(--pt-radius); }
.pt-article .aligncenter { display: block; margin-inline: auto; }
.pt-article .alignleft { float: left; margin: 0.3rem 1.5rem 1rem 0; max-width: 45%; }
.pt-article .alignright { float: right; margin: 0.3rem 0 1rem 1.5rem; max-width: 45%; }
.pt-article table { width: 100%; border-collapse: collapse; font-size: var(--wp--preset--font-size--small); }
.pt-article td, .pt-article th { border: 1px solid var(--wp--preset--color--ligne); padding: 0.4rem 0.6rem; }
.pt-post-footer { margin-top: var(--wp--preset--spacing--50); }
.pt-post-footer .wp-block-post-navigation-link a { text-decoration: none; }
.pt-comments { margin-top: var(--wp--preset--spacing--50); }
.pt-comment { border-left: 3px solid var(--wp--preset--color--ligne); padding: 0.25rem 0 0.25rem 1rem; margin-bottom: 1.25rem; }
.pt-comment .wp-block-comment-author-name { font-weight: 600; }
.pt-comment .wp-block-comment-date { color: var(--wp--preset--color--brume); font-size: var(--wp--preset--font-size--small); }

/* ---------------------------------------------------------------- results & calendar */

.pt-season { border-top: 1px solid var(--wp--preset--color--ligne); padding-block: 1.5rem 0.5rem; }
.pt-season h2 { color: var(--wp--preset--color--coque); font-size: var(--wp--preset--font-size--xx-large); margin-bottom: 0.25rem; }
.pt-races, .pt-years {
	list-style: none;
	padding: 0;
	display: flex;
	flex-wrap: wrap;
	gap: 0.5rem;
}
.pt-races li a, .pt-races li:not(:has(a)), .pt-years li a {
	display: inline-block;
	padding: 0.45rem 0.95rem;
	border: 1px solid var(--wp--preset--color--ligne);
	border-radius: 999px;
	background: var(--wp--preset--color--blanc);
	color: var(--wp--preset--color--marine);
	text-decoration: none;
	font-size: var(--wp--preset--font-size--small);
	transition: background 0.15s, color 0.15s, border-color 0.15s;
}
.pt-races li a::after { content: "PDF"; font-size: 0.65rem; letter-spacing: 0.08em; margin-left: 0.5rem; color: var(--wp--preset--color--brume); }
.pt-races li a:hover, .pt-years li a:hover { background: var(--wp--preset--color--coque); border-color: var(--wp--preset--color--coque); color: var(--wp--preset--color--blanc); }
.pt-races li a:hover::after { color: rgba(255, 255, 255, 0.8); }
.pt-years li a { font-family: var(--wp--preset--font-family--bank-gothic); font-size: 1.25rem; padding: 0.6rem 1.4rem; }

.wp-block-table { overflow-x: auto; }
.wp-block-table table { min-width: 36rem; }
.wp-block-table thead { border-bottom: 2px solid var(--wp--preset--color--coque); }
.wp-block-table th {
	font-family: var(--wp--preset--font-family--bank-gothic);
	font-weight: 400;
	text-transform: uppercase;
	letter-spacing: 0.06em;
	color: var(--wp--preset--color--marine);
	text-align: left;
}
.wp-block-table td, .wp-block-table th { border: 0; padding: 0.55rem 0.75rem; }
.wp-block-table.is-style-stripes { border-bottom: 1px solid var(--wp--preset--color--ligne); }
.wp-block-table.is-style-stripes tbody tr:nth-child(odd) { background-color: var(--wp--preset--color--ecume); }

/* ---------------------------------------------------------------- boats & crew */

.pt-cards { gap: var(--wp--preset--spacing--40); }
.pt-cards .pt-card { padding-bottom: 1.5rem; }
.pt-cards .pt-card h3 { margin-top: 0; }
.pt-boat-intro { gap: var(--wp--preset--spacing--50); align-items: flex-start; }
.pt-boat-photo img { border-radius: var(--pt-radius); }
.pt-spec-card {
	background: var(--wp--preset--color--ecume);
	border-left: 4px solid var(--wp--preset--color--coque);
	padding: 1.25rem 1.5rem;
	margin-bottom: 1.25rem;
}
.pt-spec-card h3 { margin: 0 0 0.5rem; font-size: 1rem; color: var(--wp--preset--color--coque); }
.pt-specs { list-style: none; padding: 0; margin: 0; }
.pt-specs li { padding: 0.35rem 0; border-bottom: 1px solid var(--wp--preset--color--ligne); }
.pt-specs li:last-child { border-bottom: 0; }
.pt-sailplan { text-align: center; }
.pt-sailplan img { max-height: 640px; width: auto; }

.pt-crew { justify-content: center; }
.pt-portrait { text-align: center; }
.pt-portrait img { border-radius: 50%; aspect-ratio: 1; object-fit: cover; width: 220px; border: 6px solid var(--wp--preset--color--ecume); }
.pt-portrait figcaption { font-family: var(--wp--preset--font-family--bank-gothic); font-size: 1.1rem; letter-spacing: 0.12em; color: var(--wp--preset--color--marine); }

/* ---------------------------------------------------------------- photos */

.pt-albums { gap: var(--wp--preset--spacing--40); }
.pt-album { margin: 0; position: relative; overflow: hidden; border-radius: var(--pt-radius); }
.pt-album img { width: 100%; aspect-ratio: 4/3; object-fit: cover; transition: transform 0.4s ease; }
.pt-album:hover img { transform: scale(1.04); }
.pt-album figcaption {
	position: absolute;
	inset: auto 0 0 0;
	margin: 0;
	padding: 2.5rem 1rem 0.9rem;
	background: linear-gradient(to top, rgba(7, 22, 43, 0.85), rgba(7, 22, 43, 0));
	font-family: var(--wp--preset--font-family--bank-gothic);
	text-transform: uppercase;
	letter-spacing: 0.08em;
	font-size: 1rem;
}
.pt-album figcaption a { color: var(--wp--preset--color--blanc); text-decoration: none; }
.pt-album figcaption a::after { content: ""; position: absolute; inset: 0; }
.pt-gallery.wp-block-gallery { gap: 0.75rem; }
.pt-gallery .wp-block-image { border-radius: var(--pt-radius); overflow: hidden; }
.pt-gallery.wp-block-gallery.is-cropped .wp-block-image img { aspect-ratio: 4/3; height: auto; object-fit: cover; }
.pt-gallery.wp-block-gallery.is-cropped .wp-block-image { align-self: flex-start; flex-grow: 0; }
.pt-gallery .wp-block-image figcaption { font-size: 0.8rem; }

/* ---------------------------------------------------------------- footer */

.pt-footer { position: relative; margin-top: 0; }
.pt-footer::before {
	content: "";
	position: absolute;
	inset: 0 0 auto 0;
	height: 8px;
	background: var(--pt-facets) repeat-x left top / 96px 8px;
}
.pt-footer a { color: var(--wp--preset--color--blanc); text-decoration: none; }
.pt-footer a:hover { color: var(--wp--preset--color--ciel); }
.pt-footer .pt-site-title { font-size: 1.4rem; margin-bottom: 0.75rem; }
.pt-footer-text { color: rgba(255, 255, 255, 0.7); max-width: 28rem; font-size: var(--wp--preset--font-size--small); }
.pt-footer-title { color: var(--wp--preset--color--ciel); font-size: 0.85rem; letter-spacing: 0.12em; }
.pt-footer-links { list-style: none; padding: 0; margin: 0; }
.pt-footer-links li { padding: 0.15rem 0; }
.pt-copyright {
	margin-top: var(--wp--preset--spacing--50);
	padding-top: 1rem;
	border-top: 1px solid rgba(255, 255, 255, 0.12);
	color: rgba(255, 255, 255, 0.5);
	font-size: 0.8rem;
}

/* ---------------------------------------------------------------- small screens */

@media (max-width: 781px) {
	.pt-sail-number { display: none; }
	.pt-site-title { font-size: 1.35rem; }
	.pt-hero { min-height: 72vh !important; }
	.pt-hero .pt-hero-title { font-size: clamp(2.2rem, 12vw, 3.4rem); letter-spacing: 0.06em; }
	.pt-hero .wp-block-cover__background { background: linear-gradient(180deg, rgba(7, 22, 43, 0.8) 0%, rgba(7, 22, 43, 0.45) 60%, rgba(7, 22, 43, 0.2) 100%) !important; }
	.pt-hero .wp-block-cover__image-background { object-position: 68% 50% !important; }
	.pt-article .alignleft, .pt-article .alignright { float: none; max-width: 100%; margin-inline: auto; }
}
