/* Padel Plateforme – habillage du thème Astra, repris du site ASAT Padel Tisséo */
:root {
	--pp-marine: #172d55;
	--pp-bleu: #204dd4;
	--pp-cyan: #00c6c3;
	--pp-vert: #7cb342;
	--pp-vert-clair: #b7e08a;
	--pp-vert-texte: #143003;
	--pp-lien: #8bd16a;
	--pp-texte: #e7e7e7;
}

html, body, .site, #page, .site-content,
.ast-separate-container, .ast-plain-container, .ast-page-builder-template {
	background-color: var(--pp-marine) !important;
}
body, button, input, select, textarea, .ast-button, .ast-custom-button {
	font-family: "Open Sans", sans-serif;
}
body { color: var(--pp-texte); }
h1, h2, h3, h4, h5, h6, .entry-title, .site-title { font-family: "Open Sans", sans-serif; color: #fff; }
a { color: var(--pp-lien); }
a:hover, a:focus { color: #b6e69c; }

/* ---------- Pages intérieures ---------- */
/* Articles et pages hors plateforme : panneau bleu comme sur le site ASAT */
body:not(.pp-page-accueil):not(.pp-page-int) .site-main > article.ast-article-single:not(.ast-related-post),
body:not(.pp-page-accueil):not(.pp-page-int) .site-main > article.ast-article-post {
	background: var(--pp-bleu) !important;
	padding: 53px 38px !important;
	box-shadow: none !important;
	border-radius: 0;
}
body:not(.pp-page-accueil) #primary { margin-top: 48px !important; margin-bottom: 48px !important; }

/* Pages de la plateforme : bandeau photo + contenu sur fond marine */
.pp-entete-page {
	position: relative; overflow: hidden; text-align: center;
	padding: 70px 20px 92px;
	background:
		linear-gradient(115deg, rgba(23,45,85,.97) 0%, rgba(32,77,212,.86) 58%, rgba(0,198,195,.6) 100%),
		var(--pp-img, none) center 35% / cover no-repeat,
		var(--pp-marine);
}
.pp-entete-page::before {
	content: ""; position: absolute; width: 520px; height: 520px; right: -160px; top: -260px; border-radius: 50%;
	border: 2px solid rgba(124,179,66,.35); box-shadow: 0 0 0 40px rgba(124,179,66,.06);
}
.pp-entete-page::after {
	content: ""; position: absolute; left: 0; right: 0; bottom: -1px; height: 56px;
	background: var(--pp-marine); clip-path: polygon(0 100%, 100% 0, 100% 100%);
}
.pp-entete-in { position: relative; z-index: 1; max-width: 760px; margin: 0 auto; }
.pp-surtitre {
	display: inline-flex; align-items: center; gap: 10px; margin-bottom: 14px;
	font-size: 12.5px; font-weight: 800; letter-spacing: .22em; text-transform: uppercase; color: var(--pp-vert-clair);
}
.pp-surtitre::before, .pp-surtitre::after { content: ""; width: 26px; height: 2px; background: var(--pp-vert); border-radius: 2px; }
.pp-entete-page h1 {
	margin: 0; color: #fff; font-weight: 900; text-transform: uppercase; line-height: 1.02; letter-spacing: -.01em;
	font-size: clamp(36px, 6.4vw, 64px); text-shadow: 0 6px 30px rgba(5,15,40,.35);
}
.pp-entete-page p { margin: 16px auto 0; max-width: 600px; font-size: clamp(15px, 2vw, 18px); line-height: 1.55; color: #dfe7f5; }

body.pp-page-int .site-main .entry-header,
body.pp-page-int .ast-breadcrumbs-wrapper { display: none !important; }
body.pp-page-int .site-main > article.ast-article-single,
body.pp-page-int .site-main > article.ast-article-post {
	background: transparent !important; padding: 0 !important; box-shadow: none !important; margin: 0 !important;
}
body.pp-page-int #primary { margin-top: 8px !important; margin-bottom: 80px !important; }
body.pp-page-int .site-content { min-height: 50vh; }
body.pp-page-int .site-content > .ast-container { max-width: 1140px; }
/* Libellés et petits textes lisibles sur le marine */
body.pp-page-int .entry-content label,
body.pp-page-int .entry-content .pp-label { color: #cfe3b9; }
/* Pages de texte (mentions légales, confidentialité…) : titres et listes lisibles sur fond sombre. */
body.pp-page-int .entry-content > h2,
body.pp-page-int .entry-content > h3,
body.pp-page-int .entry-content > h4 { color: #ffffff; margin-top: 1.6em; }
body.pp-page-int .entry-content > h2 { border-left: 4px solid #8bd16a; padding-left: 12px; }
body.pp-page-int .entry-content > ul,
body.pp-page-int .entry-content > ol,
body.pp-page-int .entry-content > ul li,
body.pp-page-int .entry-content > ol li,
body.pp-page-int .entry-content > p strong { color: #e7e7e7; }
/* Le contenu remonte sur la pointe du bandeau ; filtres dans un panneau vitré */
body.pp-page-int #primary { position: relative; z-index: 2; margin-top: 34px !important; }
body.pp-page-int .pp-panneau,
body.pp-page-int .pp-filtres {
	background: rgba(255,255,255,.07); border: 1px solid rgba(255,255,255,.12); border-radius: 20px;
	padding: 22px 24px; margin-bottom: 26px;
	-webkit-backdrop-filter: blur(8px); backdrop-filter: blur(8px);
	box-shadow: 0 18px 40px rgba(5,15,40,.28);
}
body.pp-page-int .pp-panneau .pp-plage { margin-bottom: 0; }
body.pp-page-int .pp-intro { font-size: 16px; color: #dfe7f5; margin-bottom: 18px; }
@media (max-width: 600px) {
	body.pp-page-int .pp-panneau, body.pp-page-int .pp-filtres { padding: 16px; border-radius: 16px; }
}

/* ---------- Pré-pied de page ---------- */
.pp-prefooter { background: #12244a; border-top: 3px solid var(--pp-vert); }
.pp-prefooter-in {
	max-width: 1140px; margin: 0 auto; padding: 52px 24px 40px;
	display: grid; grid-template-columns: 1.5fr 1fr 1fr 1.4fr; gap: 36px;
}
.pp-prefooter h4 { margin: 0 0 14px; color: #fff; font-size: 13px; font-weight: 800; letter-spacing: .14em; text-transform: uppercase; }
.pp-prefooter ul { list-style: none; margin: 0; padding: 0; }
.pp-prefooter li { margin: 0 0 9px; }
.pp-prefooter a { color: #c9d4e6; text-decoration: none; font-size: 15px; }
.pp-prefooter a:hover { color: var(--pp-lien); }
.pp-prefooter p { margin: 0; color: #aebbd3; font-size: 14.5px; line-height: 1.55; }
.pp-pf-marque { display: flex; gap: 14px; align-items: center; }
.pp-pf-marque img { width: 64px; height: 64px; flex: none; }
.pp-pf-marque strong { display: block; color: #fff; font-size: 22px; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; }
.pp-pf-marque strong span { color: var(--pp-vert); }
.pp-pf-centre { background: rgba(255,255,255,.05); border: 1px solid rgba(255,255,255,.08); border-radius: 16px; padding: 20px; }
.pp-prefooter a.pp-pf-btn {
	display: inline-block; margin-top: 14px; padding: 10px 20px; border-radius: 999px;
	background: var(--pp-vert); color: var(--pp-vert-texte); font-size: 13px; font-weight: 800; text-transform: uppercase; letter-spacing: .04em;
}
.pp-prefooter a.pp-pf-btn:hover { background: #8ec653; color: var(--pp-vert-texte); }
.site-below-footer-wrap, .ast-footer-copyright { background: #0e1d3d !important; font-size: 13px; }
@media (max-width: 921px) {
	.pp-prefooter-in { grid-template-columns: 1fr 1fr; gap: 28px; padding: 40px 20px 30px; }
	.pp-pf-marque, .pp-pf-centre { grid-column: 1 / -1; }
	.pp-entete-page { padding: 46px 18px 70px; }
}
.ast-separate-container .site-main > .ast-row,
.ast-separate-container .comment-respond { background: transparent !important; }
.entry-title {
	font-size: clamp(30px, 5vw, 46px);
	font-weight: 900;
	text-transform: uppercase;
	line-height: 1.06;
	text-align: center;
	margin-bottom: 26px !important;
}
.entry-header { text-align: center; }

/* ---------- Accueil : pleine largeur, sans titre ni panneau ---------- */
.pp-page-accueil .entry-header,
.pp-page-accueil .ast-breadcrumbs-wrapper { display: none !important; }
.pp-page-accueil .ast-separate-container .ast-article-single:not(.ast-related-post),
.pp-page-accueil.ast-separate-container .ast-article-single:not(.ast-related-post),
.pp-page-accueil .ast-article-single { background: transparent !important; padding: 0 !important; margin: 0 !important; }
.pp-page-accueil #primary,
.pp-page-accueil.ast-separate-container #primary { margin: 0 !important; padding: 0 !important; }
.pp-page-accueil .site-content > .ast-container { max-width: 100% !important; padding: 0 !important; display: block; }
.pp-page-accueil .entry-content > * { margin-top: 0; margin-bottom: 0; }

/* ---------- En-tête ---------- */
.site-header .main-header-bar,
.site-header .ast-primary-header-bar,
.ast-mobile-header-wrap .ast-primary-header-bar,
.ast-header-break-point .main-header-bar {
	background: var(--pp-marine) !important;
}
body:not(.ast-theme-transparent-header) .main-header-bar,
body:not(.ast-theme-transparent-header) .ast-primary-header-bar { border-bottom: 3px solid var(--pp-vert) !important; }
.ast-theme-transparent-header .site-header .main-header-bar,
.ast-theme-transparent-header .site-header .ast-primary-header-bar,
.ast-theme-transparent-header .ast-mobile-header-wrap .ast-primary-header-bar {
	background: transparent !important;
	border-bottom: 0 !important;
}
.site-title a, .site-title a:hover, .site-title a:focus {
	color: #fff !important; font-weight: 900; text-transform: uppercase; letter-spacing: .02em; font-size: 20px;
}
.custom-logo-link img, .custom-logo { width: 84px !important; height: 84px !important; max-width: none; }
.ast-theme-transparent-header .custom-logo-link img,
.ast-theme-transparent-header .custom-logo { width: 110px !important; height: 110px !important; }
.ast-site-identity { padding: 10px 0; }

/* Menu en pastilles (repris du site ASAT) */
@media (min-width: 922px) {
	html body .main-header-menu > .menu-item > .menu-link {
		font-size: 13px; font-weight: 700; letter-spacing: .04em; text-transform: uppercase;
		padding: 9px 12px !important; margin: 0 1px; border-radius: 999px; line-height: 1.2 !important;
		color: #fff !important; transition: background .15s ease, color .15s ease, transform .12s ease;
	}
	html body .main-header-menu > .menu-item:hover > .menu-link,
	html body .main-header-menu > .menu-item > .menu-link:focus {
		background: rgba(124,179,66,.25) !important; color: #fff !important; transform: translateY(-1px);
	}
	html body .main-header-menu > .menu-item.current-menu-item > .menu-link,
	html body .main-header-menu > .menu-item.current_page_item > .menu-link {
		background: var(--pp-vert) !important; color: var(--pp-vert-texte) !important;
	}
	html body .main-header-menu > .pp-menu-compte > .menu-link { font-weight: 600; }
}
/* Menu du téléphone : boutons blancs, texte bleu marine */
.ast-mobile-header-content, #ast-mobile-popup .ast-mobile-popup-inner { background: #eef2f8 !important; }
html body #ast-mobile-popup .menu-item,
html body .ast-mobile-header-content .menu-item { padding: 5px 16px !important; border: none !important; }
html body #ast-mobile-popup .menu-item > .menu-link,
html body .ast-mobile-header-content .menu-item > .menu-link {
	display: block; box-sizing: border-box; width: 100%; margin: 0 !important; padding: 15px 20px !important;
	border-radius: 14px; font-size: 15px; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; line-height: 1.2 !important;
	background: #fff !important; color: var(--pp-marine) !important; border: none !important;
	box-shadow: 0 2px 8px rgba(23,45,85,.14);
}
html body .ast-mobile-header-content .menu-item.current-menu-item > .menu-link,
html body #ast-mobile-popup .menu-item.current-menu-item > .menu-link { background: var(--pp-vert) !important; color: var(--pp-vert-texte) !important; }
html body .ast-mobile-header-content .menu-item > .menu-link:hover { background: #dff0c8 !important; }
.ast-mobile-menu-trigger-minimal, .menu-toggle, .ast-button-wrap .menu-toggle .mobile-menu-toggle-icon .ast-mobile-svg {
	color: #fff !important; fill: #fff !important; background: transparent !important;
}

/* ---------- Pied de page ---------- */
.site-footer, .site-below-footer-wrap, .site-primary-footer-wrap, .ast-footer-copyright {
	background: var(--pp-marine) !important; color: var(--pp-texte) !important; border-top: 0 !important;
}
.site-footer a { color: var(--pp-lien) !important; }

/* ---------- Formulaires WordPress / Ultimate Member ---------- */
.entry-content input[type=text], .entry-content input[type=email], .entry-content input[type=password],
.entry-content input[type=tel], .entry-content input[type=date], .entry-content select, .entry-content textarea {
	background: #fff; color: #1d2433; border-radius: 10px; border: 1px solid #cfd6e3;
}
.um .um-field-label label, .um .um-field-label, .um a.um-link-alt, .um-field-value { color: #fff !important; }
.um input[type=submit].um-button, .um a.um-button {
	background: var(--pp-vert) !important; color: var(--pp-vert-texte) !important; border-radius: 999px !important;
	font-weight: 800 !important; text-transform: uppercase; box-shadow: 0 10px 24px rgba(10,30,70,.3) !important;
}
.um a.um-button.um-alt, .um input[type=submit].um-button.um-alt {
	background: transparent !important; color: #fff !important; border: 2px solid rgba(255,255,255,.5) !important; box-shadow: none !important;
}

@media (max-width: 921px) {
	.custom-logo-link img, .custom-logo,
	.ast-theme-transparent-header .custom-logo-link img, .ast-theme-transparent-header .custom-logo { width: 64px !important; height: 64px !important; }
	.site-title a { font-size: 17px; }
	body:not(.pp-page-accueil) .site-main > article.ast-article-single { padding: 34px 16px !important; }
	body:not(.pp-page-accueil) #primary { margin-top: 18px !important; margin-bottom: 18px !important; }
}

/* Bouton « remonter » : rond vert */
#ast-scroll-top { background: var(--pp-vert) !important; color: var(--pp-vert-texte) !important; border-radius: 50% !important; box-shadow: 0 8px 18px rgba(10,30,70,.3); }

/* Barre d'administration côté site : initiales en pastille verte */
#wpadminbar #wp-admin-bar-my-account > a.ab-item { display: flex; align-items: center; gap: 8px; }
#wpadminbar #wp-admin-bar-my-account > a.ab-item img.avatar { display: none !important; }
#wpadminbar .pp-ini { display: inline-flex; align-items: center; justify-content: center; width: 24px; height: 24px; border-radius: 50%; background: #7cb342; color: #143003; font-size: 11px; font-weight: 800; line-height: 1; }
.pp-prefooter a.pp-pf-lien { display: block; margin-top: 12px; color: #cfe3b9; font-weight: 700; font-size: 14px; text-decoration: none; }
.pp-prefooter .pp-pf-legal { max-width: 1200px; margin: 26px auto 0; padding: 14px 20px 0; border-top: 1px solid rgba(255,255,255,.12); text-align: center; font-size: 13px; color: #b9c6dd; }
.pp-prefooter .pp-pf-legal a { color: #cfe3b9; text-decoration: none; }
