/* ==========================================================================
   Sections génériques
   ========================================================================== */
.wr-section{ padding: 56px 20px; }
.wr-section--alt{ background: var(--wp--preset--color--wr-accent-4); }

.wr-card{
	background: var(--wp--preset--color--wr-base);
	border: 1px solid #e7e2d6;
	border-radius: 12px;
	padding: 22px;
	box-shadow: 0 2px 8px rgba(54,69,79,.06);
}

.wr-tag{
	display: inline-block;
	background: var(--wp--preset--color--wr-accent-2);
	color: var(--wp--preset--color--wr-contrast);
	font-size: .75rem;
	font-weight: 700;
	padding: 3px 10px;
	border-radius: 999px;
}

.wr-btn{
	display: inline-block;
	background: var(--wp--preset--color--wr-accent-1);
	color: var(--wp--preset--color--wr-base);
	text-decoration: none;
	font-weight: 600;
	padding: 10px 20px;
	border-radius: 8px;
	border: none;
	cursor: pointer;
	transition: filter .2s ease;
}
.wr-btn:hover{ filter: brightness(1.08); color: var(--wp--preset--color--wr-base); }

/* ==========================================================================
   Lecteur radio (diffuseur en direct)
   ========================================================================== */
.wr-radio-player{
	background: var(--wp--preset--color--wr-contrast);
	border: 1px solid var(--wp--preset--color--wr-accent-3);
	border-radius: 14px;
	padding: 22px;
	color: var(--wp--preset--color--wr-base);
	display: flex;
	align-items: center;
	gap: 18px;
	flex-wrap: wrap;
	justify-content: center;
}

.wr-radio-player__badge{
	display: inline-flex;
	align-items: center;
	gap: 8px;
	background: var(--wp--preset--color--wr-accent-1);
	color: var(--wp--preset--color--wr-base);
	font-weight: 700;
	font-size: .75rem;
	text-transform: uppercase;
	letter-spacing: 1px;
	padding: 6px 12px;
	border-radius: 999px;
}
.wr-radio-player__badge::before{
	content: "";
	width: 8px; height: 8px;
	background: var(--wp--preset--color--wr-base);
	border-radius: 50%;
	animation: wr-pulse 1.4s infinite;
}
@keyframes wr-pulse{
	0%, 100%{ opacity: 1; }
	50%{ opacity: .3; }
}
@media (prefers-reduced-motion: reduce){
	.wr-radio-player__badge::before{
		animation: none;
		opacity: 1;
	}
}

.wr-radio-player__info{ flex: 1 1 200px; min-width: 200px; text-align: left; }
.wr-radio-player__title{ margin: 0; font-size: 1.1rem; line-height: 1; }
.wr-radio-player__subtitle{ margin: 4px 0 0; color: var(--wp--preset--color--wr-accent-2); font-size: .9rem; }
.wr-radio-player__info p:empty{ display: none; margin: 0; }

.wr-radio-player__frame-wrap{
	border-radius: 10px;
	overflow: hidden;
	line-height: 0;
}
.wr-radio-player__frame-wrap iframe{
	display: block;
	max-width: 100%;
	border-radius: 5px;
}

.wr-radio-player__fallback{
	background: #5C5C5C;
	color: var(--wp--preset--color--wr-base);
	padding: 14px 18px;
	border-radius: 8px;
	font-size: .9rem;
}
.wr-radio-player__fallback a{ color: var(--wp--preset--color--wr-base); font-weight: 700; }

/* ==========================================================================
   Agenda / Événements — liste construite par notre shortcode [wr_agenda]
   ========================================================================== */
.wr-agenda-list{
	margin: 0;
	padding: 0;
	display: flex;
	flex-direction: column;
	gap: 14px;
}
.wr-agenda-list__item{
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: 8px;
}
.wr-agenda-list__title{ margin: 0; font-size: 1.1rem; }
.wr-agenda-list__title a{
	color: var(--wp--preset--color--wr-contrast);
	text-decoration: none;
}
.wr-agenda-list__title a:hover{ color: var(--wp--preset--color--wr-accent-1); }
.wr-agenda-empty{ color: #5C5C5C; font-style: italic; }

/* ==========================================================================
   Agenda / Événements (surcharge du plugin The Events Calendar)
   ========================================================================== */
.wr-agenda-wrap :is(.tribe-events, .tribe-common){
	--tec-color-accent-primary: var(--wp--preset--color--wr-accent-1);
	font-family: var(--wp--preset--font-family--body);
}
.wr-agenda-wrap a{ color: var(--wp--preset--color--wr-accent-5); }
.wr-agenda-wrap .tribe-events-calendar-list__event-title a,
.wr-agenda-wrap .tribe-common-h3,
.wr-agenda-wrap .tribe-events-single-event-title{
	color: var(--wp--preset--color--wr-contrast) !important;
	font-family: var(--wp--preset--font-family--heading);
}
.wr-agenda-wrap button,
.wr-agenda-wrap .tribe-common-c-btn,
.wr-agenda-wrap [type="submit"]{
	background: var(--wp--preset--color--wr-accent-1) !important;
	border-color: var(--wp--preset--color--wr-accent-1) !important;
	color: var(--wp--preset--color--wr-base) !important;
}
.wr-agenda-wrap .tribe-events-calendar-list__event-date-tag,
.wr-agenda-wrap .tribe-events-calendar-month__day-cell--current{
	background: var(--wp--preset--color--wr-accent-2) !important;
}

/* ==========================================================================
   Accessibilité : focus visible partout
   ========================================================================== */
a:focus-visible,
button:focus-visible,
input:focus-visible{
	outline: 3px solid var(--wp--preset--color--wr-contrast);
	outline-offset: 2px;
}