/*
Theme Name: Poney Club de Sucy
Theme URI: https://poneyclubsucy.fr/
Author: Poney Club de Sucy
Description: Theme bloc performant et entierement editable pour le Poney Club de Sucy.
Version: 1.1.11
Requires at least: 6.6
Tested up to: 6.8
Requires PHP: 8.0
Text Domain: poney-club-sucy
*/

html {
	scroll-behavior: smooth;
}

body {
	margin: 0;
	font-family: "Segoe UI", Aptos, Arial, sans-serif;
	-moz-osx-font-smoothing: grayscale;
	-webkit-font-smoothing: antialiased;
}

a {
	text-underline-offset: .2em;
}

.wp-site-blocks {
	padding: 0;
}

.wp-site-blocks > * {
	margin-block-start: 0;
}

.wp-site-blocks main {
	margin-block-start: 0;
}

.wp-block-post-content > .alignfull {
	margin-block-start: 0;
	margin-block-end: 0;
}

.pcs-portal-main > .wp-block-post-content > :not(.alignfull):not(.alignwide),
.page-template-page-portail .wp-block-post-content > :not(.alignfull):not(.alignwide) {
	width: min(760px, calc(100% - 2rem));
	margin-right: auto;
	margin-left: auto;
}

.pcs-portal-main > .wp-block-post-content > .wp-block-cover,
.pcs-portal-main > .wp-block-post-content > .wp-block-group:has(> .wp-block-columns),
.pcs-portal-main > .wp-block-post-content > .wp-block-group:has(.pcs-card),
.page-template-page-portail .wp-block-post-content > .wp-block-cover,
.page-template-page-portail .wp-block-post-content > .wp-block-group:has(> .wp-block-columns),
.page-template-page-portail .wp-block-post-content > .wp-block-group:has(.pcs-card) {
	width: 100%;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.pcs-portal-main > .wp-block-post-content > .wp-block-group:has(> .wp-block-columns),
.page-template-page-portail .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) {
	padding-right: max(var(--wp--preset--spacing--30), calc((100% - 1180px) / 2));
	padding-left: max(var(--wp--preset--spacing--30), calc((100% - 1180px) / 2));
}

.pcs-portal-main > .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns,
.page-template-page-portail .wp-block-post-content > .wp-block-group:has(> .wp-block-columns) > .wp-block-columns {
	width: 100%;
	max-width: 1180px;
	margin-right: auto;
	margin-left: auto;
}

.pcs-portal-main > .wp-block-post-content > .wp-block-columns,
.page-template-page-portail .wp-block-post-content > .wp-block-columns {
	width: min(1180px, calc(100% - 2rem));
	max-width: none;
	margin-right: auto;
	margin-left: auto;
}

.pcs-portal-main > .wp-block-post-content > .alignwide,
.page-template-page-portail .wp-block-post-content > .alignwide {
	width: min(1180px, calc(100% - 2rem));
	margin-right: auto;
	margin-left: auto;
}

.pcs-portal-main .wp-block-columns,
.page-template-page-portail .wp-block-columns {
	align-items: stretch;
}

.pcs-portal-main .wp-block-column,
.page-template-page-portail .wp-block-column {
	min-width: 0;
}

.pcs-portal-main .pcs-card,
.page-template-page-portail .pcs-card {
	box-sizing: border-box;
}

.wp-block-heading {
	font-family: "Segoe UI", Aptos, Arial, sans-serif;
	font-weight: 700;
	text-wrap: balance;
}

.pcs-site-header {
	position: relative;
	z-index: 20;
	box-shadow: 0 1px 0 rgba(255,255,255,.12);
}

.pcs-site-header .wp-block-navigation-item__content {
	padding-block: .55rem;
}

.pcs-hero {
	min-height: clamp(34rem, 70vw, 47rem);
}

.pcs-hero .wp-block-cover__inner-container,
.pcs-portal-hero .wp-block-cover__inner-container {
	width: min(1180px, calc(100% - 2rem));
	margin-inline: auto;
}

.pcs-hero .wp-block-cover__inner-container > .wp-block-group {
	max-width: 1180px;
}

.pcs-hero .wp-block-cover__inner-container p {
	max-width: 900px;
}

.pcs-kicker {
	letter-spacing: .12em;
	text-transform: uppercase;
}

.pcs-hero-title {
	max-width: 760px;
	text-wrap: balance;
}

.pcs-glass {
	background: rgba(7, 29, 55, .78);
	border: 1px solid rgba(255,255,255,.18);
	backdrop-filter: blur(8px);
}

.pcs-card {
	height: 100%;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--sand);
	box-shadow: 0 12px 35px rgba(7,29,55,.08);
	transition: transform .2s ease, box-shadow .2s ease;
}

.pcs-card.wp-block-group:has(.pcs-icon) {
	--pcs-card-accent: #7f9db8;
	--pcs-card-wash: rgba(220,230,239,.62);
	--pcs-card-motif: url("assets/icons/horse.svg");
	position: relative;
	isolation: isolate;
	background:
		linear-gradient(145deg, var(--pcs-card-wash), rgba(255,255,255,.94) 58%),
		var(--wp--preset--color--white) !important;
	border-top: 4px solid var(--pcs-card-accent);
}

.pcs-card.wp-block-group:has(.pcs-icon) > * {
	position: relative;
	z-index: 1;
}

.pcs-card.wp-block-group:has(.pcs-icon)::before {
	position: absolute;
	z-index: 0;
	right: -1.25rem;
	bottom: -1.5rem;
	width: 9rem;
	height: 9rem;
	content: "";
	background-image: var(--pcs-card-motif);
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	filter: brightness(0) saturate(100%) invert(13%) sepia(28%) saturate(1710%) hue-rotate(172deg) brightness(91%) contrast(98%);
	opacity: .07;
	transform: rotate(-8deg);
	transition: opacity .2s ease, transform .2s ease;
}

.pcs-card.wp-block-group:has(.pcs-icon)::after {
	position: absolute;
	z-index: 0;
	top: -4.5rem;
	right: -4.5rem;
	width: 12rem;
	height: 12rem;
	content: "";
	background: radial-gradient(circle, color-mix(in srgb, var(--pcs-card-accent) 18%, transparent) 0 48%, transparent 49%);
	border: 1px solid color-mix(in srgb, var(--pcs-card-accent) 18%, transparent);
	border-radius: 50%;
}

.pcs-card.wp-block-group:has(.pcs-icon--home),
.pcs-card.wp-block-group:has(.pcs-icon--map) {
	--pcs-card-accent: #537da0;
	--pcs-card-wash: rgba(221,234,244,.78);
}

.pcs-card.wp-block-group:has(.pcs-icon--price),
.pcs-card.wp-block-group:has(.pcs-icon--shop) {
	--pcs-card-accent: #8199ad;
	--pcs-card-wash: rgba(232,238,243,.82);
}

.pcs-card.wp-block-group:has(.pcs-icon--calendar),
.pcs-card.wp-block-group:has(.pcs-icon--contact) {
	--pcs-card-accent: #4b7695;
	--pcs-card-wash: rgba(215,231,240,.78);
}

.pcs-card.wp-block-group:has(.pcs-icon--horse) {
	--pcs-card-accent: #315f83;
	--pcs-card-wash: rgba(210,227,239,.82);
}

.pcs-card.wp-block-group:has(.pcs-icon--trophy),
.pcs-card.wp-block-group:has(.pcs-icon--jump) {
	--pcs-card-accent: var(--wp--preset--color--gold);
	--pcs-card-wash: rgba(245,238,220,.78);
}

.pcs-card.wp-block-group:has(.pcs-icon--home) { --pcs-card-motif: url("assets/icons/home.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--map) { --pcs-card-motif: url("assets/icons/map.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--price) { --pcs-card-motif: url("assets/icons/price.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--shop) { --pcs-card-motif: url("assets/icons/shop.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--calendar) { --pcs-card-motif: url("assets/icons/calendar.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--contact) { --pcs-card-motif: url("assets/icons/contact.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--horse) { --pcs-card-motif: url("assets/icons/horse.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--trophy) { --pcs-card-motif: url("assets/icons/trophy.svg"); }
.pcs-card.wp-block-group:has(.pcs-icon--jump) { --pcs-card-motif: url("assets/icons/jump.svg"); }

.pcs-card.wp-block-group:has(.pcs-icon) .pcs-icon {
	box-shadow: 0 7px 20px color-mix(in srgb, var(--pcs-card-accent) 28%, transparent);
}

.pcs-card.wp-block-group:has(.pcs-icon) .wp-block-heading {
	position: relative;
	width: fit-content;
}

.pcs-card.wp-block-group:has(.pcs-icon) .wp-block-heading::after {
	display: block;
	width: 2.5rem;
	height: 2px;
	margin-top: .6rem;
	content: "";
	background: var(--pcs-card-accent);
}

.pcs-card:hover {
	transform: translateY(-4px);
	box-shadow: 0 18px 40px rgba(7,29,55,.15);
}

.pcs-card.wp-block-group:has(.pcs-icon):hover::before {
	opacity: .11;
	transform: rotate(-4deg) scale(1.04);
}

.wp-block-cover .wp-block-button:not(.is-style-outline) .wp-block-button__link {
	background: var(--wp--preset--color--white);
	color: var(--wp--preset--color--navy);
}

.wp-block-cover .wp-block-button.is-style-outline .wp-block-button__link {
	border-color: var(--wp--preset--color--white);
	color: var(--wp--preset--color--white);
}

.pcs-card .wp-block-cover {
	min-height: 18rem;
}

.pcs-card .wp-block-cover__background {
	transition: opacity .2s ease;
}

.pcs-card:hover .wp-block-cover__background {
	opacity: .65 !important;
}

.pcs-card a {
	text-decoration: none;
}

.pcs-icon {
	display: inline-grid;
	width: 3.25rem;
	height: 3.25rem;
	place-items: center;
	border-radius: 50%;
	background-color: var(--wp--preset--color--navy);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 58%;
}

.pcs-icon::before {
	content: "";
}

.pcs-icon--trophy { background-image: url("assets/icons/trophy.svg"); }
.pcs-icon--horse { background-image: url("assets/icons/horse.svg"); }
.pcs-icon--home { background-image: url("assets/icons/home.svg"); }
.pcs-icon--calendar { background-image: url("assets/icons/calendar.svg"); }
.pcs-icon--map { background-image: url("assets/icons/map.svg"); }
.pcs-icon--shop { background-image: url("assets/icons/shop.svg"); }
.pcs-icon--price { background-image: url("assets/icons/price.svg"); }
.pcs-icon--contact { background-image: url("assets/icons/contact.svg"); }
.pcs-icon--jump { background-image: url("assets/icons/jump.svg"); }

.pcs-stat {
	position: relative;
	border-left: 2px solid rgba(255,255,255,.45);
	padding: .35rem 1.25rem .35rem 4.6rem;
	min-height: 3.75rem;
}

.pcs-stat::before {
	position: absolute;
	top: .45rem;
	left: 1.15rem;
	width: 2.5rem;
	height: 2.5rem;
	content: "";
	background-position: center;
	background-repeat: no-repeat;
	background-size: contain;
	opacity: .95;
}

.pcs-stat:nth-child(1)::before {
	background-image: url("assets/icons/trophy.svg");
}

.pcs-stat:nth-child(2)::before {
	background-image: url("assets/icons/horse.svg");
}

.pcs-stat:nth-child(3)::before {
	background-image: url("assets/icons/home.svg");
}

.pcs-stat:nth-child(4)::before {
	background-image: url("assets/icons/jump.svg");
}

.pcs-stat:first-child {
	border-left-color: var(--wp--preset--color--gold);
}

.pcs-stat p {
	margin: 0;
}

.pcs-stat p + p {
	margin-top: .55rem;
	font-size: .9rem;
	opacity: .9;
}

.pcs-query-card {
	height: 100%;
	box-sizing: border-box;
	background: var(--wp--preset--color--white);
	border: 1px solid var(--wp--preset--color--sand);
	box-shadow: 0 10px 30px rgba(7,29,55,.07);
	overflow: hidden;
	padding: 0 1.35rem 1.5rem !important;
}

.pcs-query-card .wp-block-post-featured-image img {
	aspect-ratio: 16 / 10;
	object-fit: cover;
}

.pcs-query-card .wp-block-post-featured-image {
	width: calc(100% + 2.7rem);
	max-width: none;
	margin: 0 -1.35rem 1.25rem;
}

.pcs-query-card > :not(.wp-block-post-featured-image) {
	width: auto;
	max-width: none;
	margin-right: 0;
	margin-left: 0;
}

.pcs-query-card .wp-block-post-title {
	margin-top: 0;
	margin-bottom: .75rem;
	font-size: clamp(1.25rem, 2vw, 1.65rem);
	line-height: 1.12;
}

.pcs-query-card .wp-block-post-date,
.pcs-query-card .wp-block-post-terms {
	font-size: .78rem;
}

.pcs-query-card .wp-block-post-excerpt {
	font-size: .95rem;
	line-height: 1.55;
}

.pcs-query-card .wp-block-post-excerpt__excerpt {
	display: -webkit-box;
	overflow: hidden;
	-webkit-box-orient: vertical;
	-webkit-line-clamp: 4;
}

.pcs-query-card .wp-block-read-more,
.pcs-query-card .wp-block-post-excerpt__more-link {
	display: inline-block;
	margin-top: 1rem;
	font-size: .8rem;
	font-weight: 800;
	letter-spacing: .04em;
	text-transform: uppercase;
}

.wp-block-query .wp-block-post-template {
	row-gap: 2rem;
}

.pcs-dynamic-feed-grid {
	display: grid;
	grid-template-columns: repeat(3, minmax(0, 1fr));
	gap: 2rem;
	margin: 0;
	padding: 0;
	list-style: none;
}

.pcs-dynamic-feed-grid .pcs-query-card {
	display: block;
}

.wp-block-query-title {
	margin-bottom: 2rem;
}

.pcs-post-meta {
	gap: .5rem 1rem;
	margin-top: -.5rem;
	margin-bottom: var(--wp--preset--spacing--50);
	padding: .75rem 1rem;
	color: var(--wp--preset--color--navy-light);
	background: var(--wp--preset--color--cream);
	border-left: 3px solid var(--wp--preset--color--navy-light);
	font-size: .82rem;
}

.pcs-post-meta .wp-block-post-terms {
	margin: 0;
	font-weight: 700;
}

.pcs-post-meta .wp-block-post-date {
	display: flex;
	gap: 1rem;
	align-items: center;
	margin: 0;
}

.pcs-post-meta .wp-block-post-date::before {
	width: .3rem;
	height: .3rem;
	content: "";
	background: var(--wp--preset--color--gold);
	border-radius: 50%;
}

.pcs-post-meta a {
	color: inherit;
	text-decoration: none;
}

.pcs-post-meta a:hover {
	text-decoration: underline;
}

.pcs-footer a {
	color: inherit;
}

.pcs-championship-intro {
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--sand);
	box-shadow: 0 14px 40px rgba(7,29,55,.1);
}

.pcs-championship-nav {
	position: sticky;
	top: 1rem;
	z-index: 5;
	border: 1px solid var(--wp--preset--color--sand);
	box-shadow: 0 8px 25px rgba(7,29,55,.08);
}

.pcs-championship-nav a {
	text-decoration: none;
}

.pcs-entry-card,
.pcs-event-card {
	position: relative;
	overflow: hidden;
	border: 1px solid var(--wp--preset--color--sand);
	box-shadow: 0 10px 30px rgba(7,29,55,.07);
}

.pcs-entry-card {
	padding-top: 4.75rem !important;
}

.pcs-entry-card::before,
.pcs-event-card::before {
	position: absolute;
	top: 1.35rem;
	left: 1.35rem;
	width: 2.5rem;
	height: 2.5rem;
	content: "";
	background-color: var(--wp--preset--color--navy);
	background-position: center;
	background-repeat: no-repeat;
	background-size: 58%;
	border-radius: 50%;
}

.pcs-entry-card::before {
	background-image: url("assets/icons/horse.svg");
}

.pcs-event-card {
	padding-left: 5.25rem !important;
}

.pcs-event-card::before {
	background-image: url("assets/icons/calendar.svg");
}

.pcs-event-card--result {
	border-left: 4px solid var(--wp--preset--color--gold);
}

.pcs-event-card--result::before {
	background-image: url("assets/icons/trophy.svg");
}

.pcs-event-card--upcoming {
	border-left: 4px solid var(--wp--preset--color--navy-light);
}

.pcs-status {
	display: inline-block;
	width: fit-content;
	padding: .25rem .65rem;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--navy-light);
	border-radius: 999px;
	font-size: .72rem;
	font-weight: 800;
	letter-spacing: .06em;
	text-transform: uppercase;
}

.pcs-status--result {
	color: var(--wp--preset--color--navy);
	background: var(--wp--preset--color--gold);
}

.pcs-day {
	scroll-margin-top: 2rem;
}

.pcs-day > summary {
	padding: 1.15rem 1.4rem;
	color: var(--wp--preset--color--white);
	background: var(--wp--preset--color--navy);
	font-size: clamp(1.3rem, 3vw, 1.8rem);
	font-weight: 700;
	cursor: pointer;
}

.pcs-day[open] > summary {
	margin-bottom: 1.5rem;
}

.pcs-result-actions .wp-block-button__link {
	display: inline-flex;
	gap: .5rem;
	align-items: center;
}

.pcs-result-actions .wp-block-button__link::before {
	width: 1.15rem;
	height: 1.15rem;
	content: "";
	background: url("assets/icons/price.svg") center / contain no-repeat;
}

@media (max-width: 781px) {
	.pcs-site-header .wp-block-site-logo img {
		max-width: 72px;
	}

	.pcs-hero {
		min-height: 38rem;
	}

	.pcs-hero .wp-block-cover__inner-container,
	.pcs-portal-hero .wp-block-cover__inner-container {
		width: min(100% - 1.25rem, 1180px);
	}

	.pcs-stat {
		padding: .75rem 1rem .75rem 4.25rem;
	}

	.pcs-stat::before {
		left: 1rem;
	}

	.pcs-query-card {
		padding-right: 1rem !important;
		padding-left: 1rem !important;
	}

	.pcs-query-card .wp-block-post-featured-image {
		width: calc(100% + 2rem);
		margin-right: -1rem;
		margin-left: -1rem;
	}

	.pcs-dynamic-feed-grid {
		grid-template-columns: 1fr;
	}

	.pcs-championship-nav {
		position: static;
	}

	.pcs-event-card {
		padding-top: 4.75rem !important;
		padding-left: var(--wp--preset--spacing--40) !important;
	}
}

@media (prefers-reduced-motion: reduce) {
	html {
		scroll-behavior: auto;
	}

	.pcs-card {
		transition: none;
	}
}
