/* Gros Core — Styles */

:root {
	--gros-accent: #d4a843;
	--gros-accent-hover: #e6bc5a;
	--gros-bg-dark: #111111;
	--gros-bg-darker: #0a0a0a;
	--gros-text: #ffffff;
	--gros-text-muted: rgba(255,255,255,0.6);
	--gros-border: rgba(255,255,255,0.1);
	--gros-border-hover: rgba(255,255,255,0.25);
	--gros-radius: 8px;
	--gros-radius-sm: 4px;
	--gros-transition: 0.2s ease;
}

/* === Concert Card (Next Concert) === */
.gros-next-concert {
	background: rgba(255,255,255,0.05);
	border: 1px solid var(--gros-border);
	border-radius: var(--gros-radius);
	padding: 2rem;
	text-align: center;
}

.gros-next-concert-affiche {
	margin: 0 auto 1.5rem;
}

.gros-concert-badge {
	display: inline-block;
	padding: 0.3rem 1rem;
	border-radius: 20px;
	font-size: 0.8rem;
	font-weight: 700;
	text-transform: uppercase;
	letter-spacing: 0.05em;
	margin-bottom: 1rem;
	background: var(--gros-accent);
	color: #1a1a1a;
}

.gros-concert-title {
	font-size: 1.6rem;
	margin: 0.5rem 0;
	color: var(--gros-text);
}

.gros-concert-meta {
	font-size: 1rem;
	color: var(--gros-text-muted);
	margin-bottom: 0.5rem;
}

.gros-concert-lieu {
	font-size: 1.1rem;
	color: var(--gros-text);
	margin-bottom: 0.5rem;
}

.gros-concert-adresse {
	font-size: 0.9rem;
	color: var(--gros-text-muted);
	margin-bottom: 0.5rem;
	opacity: 0.8;
}

.gros-concert-tarif {
	font-size: 0.9rem;
	color: var(--gros-text-muted);
	margin-bottom: 0.5rem;
}

.gros-concert-statut {
	display: inline-block;
	font-size: 0.8rem;
	padding: 0.2rem 0.6rem;
	border-radius: var(--gros-radius-sm);
	margin-bottom: 1rem;
}

.gros-concert-actions {
	display: flex;
	gap: 0.8rem;
	justify-content: center;
	flex-wrap: wrap;
}

/* === Concert List === */
.gros-concerts-list {
	display: flex;
	flex-direction: column;
	gap: 1rem;
}

.gros-concert-card {
	container-type: inline-size;
}

.gros-concert-item {
	display: flex;
	align-items: flex-start;
	gap: 1.5rem;
	padding: 1.5rem;
	min-height: 200px;
	background: rgba(255,255,255,0.03);
	border: 1px solid var(--gros-border);
	border-radius: var(--gros-radius);
	transition: border-color var(--gros-transition);
}

.gros-concert-item:hover {
	border-color: var(--gros-accent);
}

.gros-concert-item-affiche {
	flex-shrink: 0;
	width: 120px;
	height: 168px;
	border-radius: 6px;
	overflow: hidden;
	border: 1px solid var(--gros-border);
	background: rgba(255,255,255,0.04);
	box-shadow: 0 6px 18px rgba(0,0,0,0.4);
	display: block;
	transition: transform var(--gros-transition), border-color var(--gros-transition);
}

.gros-concert-item-affiche:hover {
	transform: scale(1.06);
	border-color: var(--gros-accent);
}

.gros-concert-item-affiche-img {
	display: block;
	width: 100%;
	height: 100%;
	object-fit: cover;
}

/* Lightbox plein écran */
.gros-lightbox-overlay {
	position: fixed;
	inset: 0;
	z-index: 999999;
	background: rgba(0,0,0,0.92);
	display: flex;
	align-items: center;
	justify-content: center;
	padding: 2rem;
	cursor: zoom-out;
	animation: gros-fade-in 0.2s ease-out;
}

.gros-lightbox-overlay img {
	max-width: 100%;
	max-height: 100%;
	object-fit: contain;
	box-shadow: 0 10px 50px rgba(0,0,0,0.8);
	border-radius: 4px;
}

.gros-lightbox-close {
	position: fixed;
	top: 1.2rem;
	right: 1.5rem;
	z-index: 1000000;
	background: none;
	border: none;
	color: #fff;
	font-size: 2.4rem;
	line-height: 1;
	cursor: pointer;
	opacity: 0.85;
	transition: opacity var(--gros-transition);
}

.gros-lightbox-close:hover {
	opacity: 1;
}

@keyframes gros-fade-in {
	from { opacity: 0; }
	to { opacity: 1; }
}

.gros-concert-past {
	opacity: 1;
}

.gros-concert-item-date {
	display: flex;
	flex-direction: column;
	align-items: center;
	min-width: 60px;
	background: var(--gros-accent);
	color: #1a1a1a;
	border-radius: 6px;
	padding: 0.5rem;
	flex-shrink: 0;
}

.gros-date-day {
	font-size: 1.6rem;
	font-weight: 800;
	line-height: 1;
}

.gros-date-month {
	font-size: 0.75rem;
	text-transform: uppercase;
	font-weight: 600;
}

.gros-concert-item-info {
	flex: 1;
}

.gros-concert-item-title {
	margin: 0 0 0.3rem;
	font-size: 1.1rem;
	color: var(--gros-text);
}

.gros-concert-item-lieu {
	margin: 0 0 0.3rem;
	font-size: 0.9rem;
	color: var(--gros-text-muted);
}

.gros-concert-item-adresse {
	margin: 0 0 0.3rem;
	font-size: 0.8rem;
	color: var(--gros-text-muted);
	opacity: 0.8;
}

.gros-concert-item-desc {
	margin: 0.5rem 0 0;
	font-size: 0.85rem;
	color: var(--gros-text-muted);
	line-height: 1.5;
}

.gros-concert-item-formule {
	display: inline-block;
	font-size: 0.75rem;
	padding: 0.15rem 0.5rem;
	border-radius: 3px;
	background: var(--gros-accent);
	color: #1a1a1a;
	font-weight: 600;
}

.gros-concert-item-tarif {
	display: inline-block;
	font-size: 0.75rem;
	padding: 0.15rem 0.5rem;
	border-radius: 3px;
	background: rgba(255,255,255,0.1);
	color: var(--gros-text-muted);
	margin-left: 0.3rem;
}

.gros-statut-confirme {
	color: #46b450;
}

.gros-statut-aconfirmer {
	color: #ffb900;
}

.gros-concert-item-actions {
	display: flex;
	gap: 0.5rem;
	flex-shrink: 0;
}

/* === Buttons === */
.gros-btn {
	display: inline-block;
	padding: 0.7rem 1.5rem;
	border: none;
	border-radius: var(--gros-radius-sm);
	font-size: 0.9rem;
	font-weight: 600;
	cursor: pointer;
	text-decoration: none;
	transition: background var(--gros-transition), transform 0.1s;
	background: var(--gros-accent);
	color: #1a1a1a;
	text-align: center;
}

.gros-btn:hover {
	background: var(--gros-accent-hover);
	color: #1a1a1a;
	transform: translateY(-1px);
}

.gros-btn:active {
	transform: translateY(0);
}

.gros-btn-sm {
	display: inline-flex;
	align-items: center;
	justify-content: center;
	width: 34px;
	height: 34px;
	padding: 0;
	border: 1px solid var(--gros-border);
	border-radius: var(--gros-radius-sm);
	text-decoration: none;
	color: var(--gros-text);
	transition: background var(--gros-transition);
}

.gros-btn-sm .gros-btn-icon {
	width: 16px;
	height: 16px;
	display: block;
}

.gros-btn-sm:hover {
	background: var(--gros-accent);
	color: #1a1a1a;
	border-color: var(--gros-accent);
}

.gros-btn-share {
	background: transparent;
	color: var(--gros-text);
	border: 1px solid var(--gros-border);
}

.gros-btn-share:hover {
	background: var(--gros-accent);
	color: #1a1a1a;
}

/* === Agenda Filters === */
.gros-agenda-filters {
	padding: 1rem 0;
}

.gros-agenda-toolbar {
	display: flex;
	gap: 0.5rem;
	margin-bottom: 1.5rem;
	flex-wrap: wrap;
}

.gros-filter-btn {
	padding: 0.5rem 1.2rem;
	border: 1px solid var(--gros-border);
	border-radius: 20px;
	background: transparent;
	color: var(--gros-text);
	font-size: 0.85rem;
	font-weight: 600;
	cursor: pointer;
	transition: all var(--gros-transition);
}

.gros-filter-btn:hover {
	border-color: var(--gros-accent);
	color: var(--gros-accent);
}

.gros-filter-btn.gros-filter-active {
	background: var(--gros-accent);
	color: #1a1a1a;
	border-color: var(--gros-accent);
}

/* === Contact Form === */
.gros-contact-wrap {
	max-width: 700px;
}

.gros-contact-form .gros-form-row {
	display: flex;
	gap: 1.5rem;
}

.gros-contact-form .gros-form-group {
	margin-bottom: 1.2rem;
	flex: 1;
}

.gros-contact-form label {
	display: block;
	margin-bottom: 0.4rem;
	font-weight: 600;
	color: var(--gros-text);
	font-size: 0.9rem;
}

.gros-contact-form .required {
	color: var(--gros-accent);
}

.gros-contact-form input[type="text"],
.gros-contact-form input[type="email"],
.gros-contact-form input[type="tel"],
.gros-contact-form input[type="url"],
.gros-contact-form input[type="date"],
.gros-contact-form textarea,
.gros-contact-form select {
	width: 100%;
	padding: 0.7rem;
	border: 1px solid var(--gros-border);
	border-radius: var(--gros-radius-sm);
	background: rgba(255,255,255,0.05);
	color: var(--gros-text);
	font-size: 1rem;
	font-family: inherit;
	transition: border-color var(--gros-transition);
	box-sizing: border-box;
}

.gros-contact-form input:focus,
.gros-contact-form textarea:focus,
.gros-contact-form select:focus {
	outline: none;
	border-color: var(--gros-accent);
}

.gros-contact-form textarea {
	resize: vertical;
}

.gros-contact-form select {
	-webkit-appearance: none;
	-moz-appearance: none;
	appearance: none;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23ffffff' d='M6 8L1 3h10z'/%3E%3C/svg%3E");
	background-repeat: no-repeat;
	background-position: right 0.7rem center;
	padding-right: 2rem;
}

.gros-contact-form select option {
	background: var(--gros-bg-dark);
	color: var(--gros-text);
}

.gros-consent label {
	font-weight: 400;
	cursor: pointer;
	display: flex;
	align-items: flex-start;
	gap: 0.5rem;
}

.gros-consent input[type="checkbox"] {
	margin-top: 0.3rem;
	flex-shrink: 0;
	width: auto;
}

.gros-btn-submit {
	width: 100%;
	padding: 0.9rem;
	font-size: 1rem;
}

.gros-form-message {
	margin-top: 1rem;
	padding: 1rem;
	border-radius: var(--gros-radius-sm);
	font-size: 0.9rem;
}

.gros-form-message.success {
	background: rgba(70,180,80,0.15);
	border: 1px solid #46b450;
	color: #46b450;
}

.gros-form-message.error {
	background: rgba(220,50,50,0.15);
	border: 1px solid #dc3232;
	color: #dc3232;
}

/* === HP Field === */
.gros-hp-field {
	position: absolute;
	left: -9999px;
	opacity: 0;
	height: 0;
	overflow: hidden;
}

/* === References === */
.gros-references {
	padding: 1.5rem 0;
}

.gros-references-notice {
	font-size: 0.85rem;
	color: rgba(255,255,255,0.5);
	margin-bottom: 1rem;
	padding: 0.8rem;
	border-left: 3px solid var(--gros-accent);
	background: rgba(255,255,255,0.03);
}

.gros-references-list {
	list-style: none;
	padding: 0;
	margin: 0;
}

.gros-references-list li {
	padding: 0.6rem 0;
	border-bottom: 1px solid rgba(255,255,255,0.05);
	color: rgba(255,255,255,0.8);
	font-size: 0.95rem;
}

.gros-references-list li strong {
	color: var(--gros-accent);
}

/* === Empty State === */
.gros-empty {
	text-align: center;
	padding: 2rem;
}

.gros-empty-msg {
	color: var(--gros-text-muted);
	font-style: italic;
	font-size: 1.05rem;
}

/* === Concert Archive === */
.gros-concerts-archive {
	margin-top: 0;
}

/* === Responsive === */

/* Les cartes concert adaptent leur mise en page à leur propre largeur :
   l'aperçu admin reproduit alors exactement le rendu réel du site. */
@container (max-width: 768px) {
	.gros-concert-item {
		display: grid;
		grid-template-columns: auto 1fr;
		grid-template-areas:
			"date   info"
			"actions actions";
		align-items: flex-start;
		text-align: left;
	}

	.gros-concert-item-date {
		grid-area: date;
		flex-direction: row;
		gap: 0.5rem;
	}

	.gros-concert-item-affiche {
		grid-area: affiche;
		width: 76px;
		height: 105px;
	}

	.gros-concert-item-info {
		grid-area: info;
		min-width: 0;
	}

	.gros-concert-item-actions {
		grid-area: actions;
		width: 100%;
		justify-content: flex-start;
	}

	.gros-concert-item-actions .gros-btn-sm {
		height: 40px;
	}
}

@container (max-width: 480px) {
	.gros-concert-item {
		padding: 1rem;
		gap: 0.85rem;
	}

	.gros-concert-item-actions {
		gap: 0.6rem;
	}

	.gros-concert-item-actions .gros-btn-sm {
		flex: 1;
		width: 100%;
		height: 44px;
	}

	.gros-concert-item-actions .gros-btn-icon {
		width: 20px;
		height: 20px;
	}
}

@media (max-width: 768px) {
	.gros-contact-form .gros-form-row {
		flex-direction: column;
		gap: 0;
	}

	.gros-concert-actions {
		flex-direction: column;
		align-items: center;
	}

	.gros-agenda-toolbar {
		justify-content: center;
	}
}

@media (max-width: 480px) {
	.gros-next-concert {
		padding: 1.2rem;
	}

	.gros-concert-title {
		font-size: 1.3rem;
	}

	.gros-btn {
		padding: 0.6rem 1.2rem;
		font-size: 0.85rem;
	}
}
/* Billets partages : site public et apercu du formulaire Mes concerts. */
.gros-bd .gros-main .gros-concerts-list {
 display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px;
}
.gros-bd .gros-main .gros-concert-card {
 display:flex;
 background:#faf6ee;border:3px solid #0a0a0a;box-shadow:4px 4px 0 #1d1d1b;
 border-radius:0;overflow:hidden;transform:rotate(-.5deg);transition:transform .18s;
}
.gros-bd .gros-main .gros-concert-card:nth-child(even){transform:rotate(.5deg)}
.gros-bd .gros-main .gros-concert-card:hover{transform:translateY(-3px)}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item {
 display:grid;grid-template-columns:86px minmax(0,1fr);grid-template-areas:"date info" "date actions";
 align-items:stretch;gap:0;padding:0;min-height:0;background:#faf6ee;border:0;border-radius:0;
 color:#1d1d1b;text-align:left;animation:none;font-family:Nunito,Arial,sans-serif;
}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-date {
 grid-area:date;display:flex;flex-direction:column;justify-content:center;align-items:center;
 align-self:stretch;gap:3px;min-width:0;padding:22px 12px;margin:0;background:#dfad38;
 color:#1d1d1b;border:0;border-right:3px dashed #1d1d1b;border-radius:0;
}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-date-day {font:800 32px/1.1 Nunito,Arial,sans-serif;color:#1d1d1b}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-date-month {font:800 13px/1.3 Nunito,Arial,sans-serif;color:#1d1d1b;text-transform:uppercase}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-info {grid-area:info;min-width:0;padding:19px 20px 10px}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-title {font:800 17px/1.4 Nunito,Arial,sans-serif;letter-spacing:0;text-transform:none;color:#1d1d1b;margin:0 0 7px}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) :is(.gros-concert-item-lieu,.gros-concert-item-adresse,.gros-concert-item-desc){font:400 13px/1.6 Nunito,Arial,sans-serif;color:#555;opacity:1;margin:0 0 7px}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-formule{display:inline-block;background:#1d1d1b;color:#dfad38;border:0;border-radius:20px;font:800 12px/1.5 Nunito,Arial,sans-serif;padding:3px 11px;margin:4px 5px 7px 0;text-transform:none}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) :is(.gros-concert-item-statut,.gros-concert-item-tarif){font:700 11px/1.5 Nunito,Arial,sans-serif;color:#555;background:transparent;border:0;padding:0;margin-right:7px}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-actions{grid-area:actions;display:flex;justify-content:flex-start;align-items:center;align-self:end;gap:8px;width:auto;padding:0 20px 17px;margin:0}
:is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-actions:empty{display:none}
.gros-bd .gros-main .gros-concert-item-actions .gros-btn-sm {flex:0 0 auto;width:36px;height:34px;min-height:0;padding:7px;background:#1d1d1b;color:#dfad38;border:2px solid #1d1d1b;border-radius:4px;box-shadow:none}
.gros-bd .gros-main .gros-concert-item-actions .gros-btn-sm:hover{background:#dfad38;color:#1d1d1b}
.gros-bd .gros-main .gros-concert-item-actions .gros-btn-icon{width:17px;height:17px}
.gros-bd.single-gros_concert .gros-main .gros-concert-card{max-width:760px;margin:0 auto 28px}
.gros-bd.single-gros_concert .gros-single-actions{max-width:760px;margin:auto}
.gros-cf-preview-wrap .gros-cf-preview-inner .gros-concert-item{border:3px solid #1d1d1b;box-shadow:4px 4px 0 #1d1d1b;border-radius:0}
@media(max-width:900px){.gros-bd .gros-main .gros-concerts-list{grid-template-columns:1fr}}
@container(max-width:400px){
 :is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item{grid-template-columns:70px minmax(0,1fr)}
 :is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-info{padding:16px 14px 8px}
 :is(.gros-bd .gros-main,.gros-cf-preview-wrap .gros-cf-preview-inner) .gros-concert-item-actions{padding:0 14px 14px}
}
@media(prefers-reduced-motion:reduce){.gros-bd .gros-main .gros-concert-card{transition:none}.gros-bd .gros-main .gros-concert-card:hover{transform:none}}
.gros-bd .gros-main .gros-concert-card > .gros-concert-item{flex:1;width:100%;min-height:100%}

/* Billet de concert : modèle long avec souche perforée. */
.gros-bd .gros-main .gros-concerts-list{grid-template-columns:1fr;gap:28px}
.gros-bd .gros-main .gros-concert-card{max-width:1120px;margin:0 auto;width:100%;overflow:visible;box-shadow:7px 7px 0 #1d1d1b;transform:none}
.gros-bd .gros-main .gros-concert-card:nth-child(even){transform:none}
.gros-bd .gros-main .gros-concert-item{position:relative;grid-template-columns:190px minmax(0,1fr);grid-template-areas:"date info" "date actions";background:#fffdf8}
.gros-bd .gros-main .gros-concert-item::before,.gros-bd .gros-main .gros-concert-item::after{content:"";position:absolute;left:164px;width:45px;height:45px;background:var(--bd-paper,#faf6ee);border:4px solid #1d1d1b;border-radius:50%;z-index:3}
.gros-bd .gros-main .gros-concert-item::before{top:-25px}.gros-bd .gros-main .gros-concert-item::after{bottom:-25px}
.gros-bd .gros-main .gros-concert-item-date{position:relative;padding:54px 18px 42px;background:linear-gradient(135deg,#f4c544,#dfad38);border-right:5px dashed #1d1d1b;gap:7px}
.gros-bd .gros-main .gros-concert-item-date::before{content:"GROSLIVE  •  CONCERT";position:absolute;left:18px;top:34px;writing-mode:vertical-rl;transform:rotate(180deg);font:800 12px/1 Nunito,Arial,sans-serif;letter-spacing:2px;color:#1d1d1b}
.gros-bd .gros-main .gros-date-day{font:900 76px/.9 Nunito,Arial,sans-serif;letter-spacing:-3px}.gros-bd .gros-main .gros-date-month{font:900 28px/1 Nunito,Arial,sans-serif;letter-spacing:1px}
.gros-bd .gros-main .gros-concert-item-info{padding:35px 48px 10px}.gros-bd .gros-main .gros-concert-item-title{font:900 clamp(28px,4vw,52px)/1.05 Nunito,Arial,sans-serif;margin:0 0 20px;letter-spacing:-1.5px}.gros-bd .gros-main .gros-concert-item-lieu{font:800 21px/1.45 Nunito,Arial,sans-serif!important;color:#1d1d1b!important;margin:0 0 8px!important}.gros-bd .gros-main .gros-concert-item-adresse{font-size:17px!important;color:#555!important}
.gros-bd .gros-main .gros-concert-item-formule,.gros-bd .gros-main .gros-concert-item-statut,.gros-bd .gros-main .gros-concert-item-tarif{display:inline-flex;align-items:center;min-height:46px;box-sizing:border-box;padding:8px 23px;margin:15px 9px 0 0;border:2px solid #1d1d1b;border-radius:28px;font:800 17px/1 Nunito,Arial,sans-serif!important}.gros-bd .gros-main .gros-concert-item-formule{background:#1d1d1b;color:#dfad38}.gros-bd .gros-main .gros-concert-item-statut{color:#1d1d1b}.gros-bd .gros-main .gros-concert-item-tarif{border-color:#dfad38;color:#bd8713}
.gros-bd .gros-main .gros-concert-item-actions{padding:8px 48px 34px}.gros-bd .gros-main .gros-concert-item-actions .gros-facebook-share{display:inline-flex;width:auto;height:auto;min-height:55px;align-items:center;gap:15px;padding:11px 25px;background:#1d1d1b;color:#fff;border:0;border-radius:5px;font:800 18px/1 Nunito,Arial,sans-serif}.gros-bd .gros-main .gros-facebook-share .gros-btn-icon{width:25px;height:25px;color:#4d8cff}.gros-bd .gros-main .gros-facebook-share:hover{background:#333;color:#fff}
@media(max-width:650px){.gros-bd .gros-main .gros-concert-item{grid-template-columns:104px minmax(0,1fr)}.gros-bd .gros-main .gros-concert-item::before,.gros-bd .gros-main .gros-concert-item::after{left:81px;width:32px;height:32px}.gros-bd .gros-main .gros-concert-item-date{padding:42px 8px 25px}.gros-bd .gros-main .gros-concert-item-date::before{left:9px;top:19px;font-size:8px;letter-spacing:1px}.gros-bd .gros-main .gros-date-day{font-size:45px}.gros-bd .gros-main .gros-date-month{font-size:17px}.gros-bd .gros-main .gros-concert-item-info{padding:24px 18px 8px}.gros-bd .gros-main .gros-concert-item-title{font-size:28px}.gros-bd .gros-main .gros-concert-item-lieu{font-size:16px!important}.gros-bd .gros-main .gros-concert-item-formule,.gros-bd .gros-main .gros-concert-item-statut,.gros-bd .gros-main .gros-concert-item-tarif{min-height:35px;padding:6px 12px;margin-top:8px;font-size:13px!important}.gros-bd .gros-main .gros-concert-item-actions{padding:8px 18px 22px}.gros-bd .gros-main .gros-concert-item-actions .gros-facebook-share{min-height:45px;padding:9px 14px;font-size:14px}.gros-bd .gros-main .gros-facebook-share .gros-btn-icon{width:20px;height:20px}}

/* Même billet sur la page détail d'un concert. */
.single-gros_concert .gros-concert-card{max-width:1120px;margin:0 auto;overflow:visible;background:#fffdf8;border:3px solid #1d1d1b;box-shadow:7px 7px 0 #1d1d1b}
.single-gros_concert .gros-concert-item{position:relative;display:grid;grid-template-columns:190px minmax(0,1fr);grid-template-areas:"date info" "date actions";background:#fffdf8}
.single-gros_concert .gros-concert-item::before,.single-gros_concert .gros-concert-item::after{content:"";position:absolute;left:164px;width:45px;height:45px;background:#faf6ee;border:4px solid #1d1d1b;border-radius:50%;z-index:3}.single-gros_concert .gros-concert-item::before{top:-25px}.single-gros_concert .gros-concert-item::after{bottom:-25px}
.single-gros_concert .gros-concert-item-date{grid-area:date;position:relative;display:flex;flex-direction:column;justify-content:center;align-items:center;padding:54px 18px 42px;background:linear-gradient(135deg,#f4c544,#dfad38);border-right:5px dashed #1d1d1b}.single-gros_concert .gros-concert-item-date::before{content:"GROSLIVE  •  CONCERT";position:absolute;left:18px;top:34px;writing-mode:vertical-rl;transform:rotate(180deg);font:800 12px/1 Nunito,Arial,sans-serif;letter-spacing:2px}.single-gros_concert .gros-date-day{font:900 76px/.9 Nunito,Arial,sans-serif;letter-spacing:-3px}.single-gros_concert .gros-date-month{font:900 28px/1 Nunito,Arial,sans-serif;text-transform:uppercase}.single-gros_concert .gros-concert-item-info{grid-area:info;padding:35px 48px 10px}.single-gros_concert .gros-concert-item-title{font:900 clamp(28px,4vw,52px)/1.05 Nunito,Arial,sans-serif;margin:0 0 20px}.single-gros_concert .gros-concert-item-lieu{font:800 21px/1.45 Nunito,Arial,sans-serif;margin:0 0 8px}.single-gros_concert .gros-concert-item-actions{grid-area:actions;padding:8px 48px 34px}.single-gros_concert .gros-facebook-share{display:inline-flex;align-items:center;gap:15px;min-height:55px;padding:11px 25px;background:#1d1d1b;color:#fff;border-radius:5px;font:800 18px/1 Nunito,Arial,sans-serif}.single-gros_concert .gros-facebook-share .gros-btn-icon{width:25px;height:25px;color:#4d8cff}
@media(max-width:650px){.single-gros_concert .gros-concert-item{grid-template-columns:104px minmax(0,1fr)}.single-gros_concert .gros-concert-item::before,.single-gros_concert .gros-concert-item::after{left:81px;width:32px;height:32px}.single-gros_concert .gros-concert-item-date{padding:42px 8px 25px}.single-gros_concert .gros-concert-item-date::before{left:9px;top:19px;font-size:8px;letter-spacing:1px}.single-gros_concert .gros-date-day{font-size:45px}.single-gros_concert .gros-date-month{font-size:17px}.single-gros_concert .gros-concert-item-info{padding:24px 18px 8px}.single-gros_concert .gros-concert-item-title{font-size:28px}.single-gros_concert .gros-concert-item-actions{padding:8px 18px 22px}.single-gros_concert .gros-facebook-share{min-height:45px;padding:9px 14px;font-size:14px}}

/* Encoches : elles sont découpées dans les bords de la souche, comme un vrai billet. */
.gros-bd .gros-main .gros-concert-item::before,.gros-bd .gros-main .gros-concert-item::after,.single-gros_concert .gros-concert-item::before,.single-gros_concert .gros-concert-item::after{display:none}
.gros-bd .gros-main .gros-concert-item-date::before,.single-gros_concert .gros-concert-item-date::before{content:"";left:50%;top:-3px;width:58px;height:42px;padding:0;background:#faf6ee;border:5px solid #1d1d1b;border-top:0;border-radius:0 0 50% 50%;transform:translateX(-50%);writing-mode:initial;z-index:5}
.gros-bd .gros-main .gros-concert-item-date::after,.single-gros_concert .gros-concert-item-date::after{content:"";position:absolute;left:50%;bottom:-3px;width:58px;height:42px;background:#faf6ee;border:5px solid #1d1d1b;border-bottom:0;border-radius:50% 50% 0 0;transform:translateX(-50%);z-index:5}
.gros-bd .gros-main .gros-date-day,.single-gros_concert .gros-date-day{position:relative}.gros-bd .gros-main .gros-date-day::before,.single-gros_concert .gros-date-day::before{content:"GROSLIVE  •  CONCERT";position:absolute;right:calc(100% + 26px);top:50%;writing-mode:vertical-rl;transform:translateY(-50%) rotate(180deg);font:800 12px/1 Nunito,Arial,sans-serif;letter-spacing:2px;white-space:nowrap}
@media(max-width:650px){.gros-bd .gros-main .gros-concert-item-date::before,.single-gros_concert .gros-concert-item-date::before{width:38px;height:28px;border-width:4px}.gros-bd .gros-main .gros-concert-item-date::after,.single-gros_concert .gros-concert-item-date::after{width:38px;height:28px;border-width:4px}.gros-bd .gros-main .gros-date-day::before,.single-gros_concert .gros-date-day::before{right:calc(100% + 12px);font-size:8px;letter-spacing:1px}}

/* Format compact et informations du modèle de référence. */
.gros-bd .gros-main .gros-concert-card,.single-gros_concert .gros-concert-card{max-width:920px}.gros-bd .gros-main .gros-concert-item,.single-gros_concert .gros-concert-item{grid-template-columns:150px minmax(0,1fr)}.gros-bd .gros-main .gros-concert-item-date,.single-gros_concert .gros-concert-item-date{padding:46px 14px 34px}.gros-bd .gros-main .gros-date-day,.single-gros_concert .gros-date-day{font-size:58px}.gros-bd .gros-main .gros-date-month,.single-gros_concert .gros-date-month{font-size:23px}.gros-bd .gros-main .gros-concert-item-info,.single-gros_concert .gros-concert-item-info{padding:27px 38px 6px}.gros-bd .gros-main .gros-concert-item-title,.single-gros_concert .gros-concert-item-title{font-size:clamp(27px,3.5vw,39px);margin-bottom:14px}.gros-bd .gros-main .gros-concert-item-lieu,.single-gros_concert .gros-concert-item-lieu{display:flex;align-items:center;flex-wrap:wrap;gap:14px;font-size:17px!important}.gros-ticket-place,.gros-ticket-time{display:inline-flex;align-items:center;gap:8px}.gros-ticket-time{padding-left:14px;border-left:2px solid #1d1d1b}.gros-ticket-meta-icon{width:22px;height:22px;flex:none}.gros-bd .gros-main .gros-concert-item-actions,.single-gros_concert .gros-concert-item-actions{padding:6px 38px 28px}.gros-ticket-live{position:absolute;right:34px;bottom:24px;color:#a4a4a4;font:500 18px/1 Nunito,Arial,sans-serif;letter-spacing:1px}.gros-ticket-live::after{content:"";display:block;width:42px;height:3px;margin:10px 0 0 auto;background:#dfad38}.gros-bd .gros-main .gros-concert-item-date::after,.single-gros_concert .gros-concert-item-date::after{bottom:-7px;box-shadow:0 0 0 5px #faf6ee}
@media(max-width:650px){.gros-bd .gros-main .gros-concert-item,.single-gros_concert .gros-concert-item{grid-template-columns:104px minmax(0,1fr)}.gros-bd .gros-main .gros-concert-item-info,.single-gros_concert .gros-concert-item-info{padding:22px 17px 6px}.gros-bd .gros-main .gros-concert-item-lieu,.single-gros_concert .gros-concert-item-lieu{gap:7px;font-size:15px!important}.gros-ticket-time{padding-left:7px}.gros-ticket-meta-icon{width:18px;height:18px}.gros-bd .gros-main .gros-concert-item-actions,.single-gros_concert .gros-concert-item-actions{padding:6px 17px 20px}.gros-ticket-live{right:17px;bottom:15px;font-size:12px}.gros-ticket-live::after{width:28px;height:2px;margin-top:5px}}

/* Retour au format compact d'origine : deux tickets sur ordinateur. */
.gros-bd .gros-main .gros-concerts-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:22px}.gros-bd .gros-main .gros-concert-card{max-width:none;width:100%}.gros-bd .gros-main .gros-concert-item{grid-template-columns:112px minmax(0,1fr)}.gros-bd .gros-main .gros-concert-item-date{padding:37px 9px 28px}.gros-bd .gros-main .gros-date-day{font-size:46px}.gros-bd .gros-main .gros-date-month{position:relative;font-size:18px}.gros-bd .gros-main .gros-date-month::after{content:"";display:block;width:34px;height:3px;margin:12px auto 0;background:#1d1d1b}.gros-bd .gros-main .gros-concert-item-info{padding:23px 18px 5px}.gros-bd .gros-main .gros-concert-item-title{font-size:25px;line-height:1.12;margin-bottom:12px}.gros-bd .gros-main .gros-concert-item-lieu{font-size:15px!important;gap:8px}.gros-bd .gros-main .gros-concert-item-adresse{font-size:14px!important;margin-bottom:6px!important}.gros-bd .gros-main .gros-concert-item-formule,.gros-bd .gros-main .gros-concert-item-statut,.gros-bd .gros-main .gros-concert-item-tarif{min-height:35px;padding:6px 12px;margin-top:7px;font-size:13px!important}.gros-bd .gros-main .gros-concert-item-desc{margin:18px 0 0!important}.gros-bd .gros-main .gros-concert-item-actions{padding:6px 18px 20px}.gros-bd .gros-main .gros-concert-item-actions .gros-facebook-share{min-height:44px;padding:9px 13px;font-size:14px}.gros-bd .gros-main .gros-facebook-share .gros-btn-icon{width:19px;height:19px}.gros-bd .gros-main .gros-ticket-live{right:16px;bottom:15px;font-size:11px}.gros-bd .gros-main .gros-ticket-live::after{width:27px;height:2px;margin-top:5px}
/* La découpe basse est le miroir de celle du haut, sans liseré blanc parasite. */
.gros-bd .gros-main .gros-concert-item-date::after,.single-gros_concert .gros-concert-item-date::after{bottom:-3px;box-shadow:none}
.single-gros_concert .gros-concert-card{max-width:760px}.single-gros_concert .gros-concert-item{grid-template-columns:125px minmax(0,1fr)}.single-gros_concert .gros-concert-item-info{padding:26px 28px 6px}.single-gros_concert .gros-concert-item-title{font-size:32px}.single-gros_concert .gros-date-month{position:relative}.single-gros_concert .gros-date-month::after{content:"";display:block;width:38px;height:3px;margin:13px auto 0;background:#1d1d1b}.single-gros_concert .gros-concert-item-desc{margin-top:19px!important}
@media(max-width:900px){.gros-bd .gros-main .gros-concerts-list{grid-template-columns:1fr}}@media(max-width:650px){.gros-bd .gros-main .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}.gros-bd .gros-main .gros-concert-item-date{padding:35px 6px 20px}.gros-bd .gros-main .gros-date-day{font-size:41px}.gros-bd .gros-main .gros-date-month{font-size:16px}.gros-bd .gros-main .gros-date-month::after{margin-top:8px}.gros-bd .gros-main .gros-concert-item-info{padding:20px 15px 5px}.gros-bd .gros-main .gros-concert-item-title{font-size:23px}.gros-bd .gros-main .gros-date-day::before{right:calc(100% + 10px);font-size:7px}.single-gros_concert .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}.single-gros_concert .gros-concert-item-info{padding:20px 15px 5px}.single-gros_concert .gros-concert-item-title{font-size:25px}}

/* Les messages sans concert occupent toute la largeur des pages Solo et Tandem. */
.gros-bd .gros-main .gros-concerts-list.gros-empty { display:block; }
.gros-bd .gros-main .gros-concerts-list.gros-empty .gros-empty-msg { margin:0; text-align:center; }


/* Agenda : libellé dans la souche et découpe basse strictement symétrique. */
#post-1829 .gros-concert-item-date .gros-date-day::before{
  right:calc(100% + 6px);
  left:auto;
}
#post-1829 .gros-concert-item-date::after{
  bottom:-3px;
  box-shadow:none;
  z-index:8;
}

/* Agenda : demi-cercles compacts, centrés dans la souche. */
#post-1829 .gros-concert-item-date::before,
#post-1829 .gros-concert-item-date::after{
  left:calc(50% + 5px);
  width:42px;
  height:21px;
  border-width:4px;
}
#post-1829 .gros-concert-item-date::before{
  top:-3px;
}
#post-1829 .gros-concert-item-date::after{
  bottom:-7px;
  background:#faf6ee;
  box-shadow:none;
}

/* Agenda : centrage réel et bas de ticket sans trait d'ombre. */
#post-1829 .gros-concert-card{box-shadow:none}
#post-1829 .gros-concert-item-date::before,
#post-1829 .gros-concert-item-date::after{left:50%}


/* Agenda : libellé vertical réellement centré dans la souche. */
#post-1829 .gros-date-day::before{top:calc(50% + 15px)}

/* Agenda : découpe réalisée avec un cercle, puis masquée à moitié. */
#post-1829 .gros-concert-item-date::before,
#post-1829 .gros-concert-item-date::after{
  left:50%;
  width:40px;
  height:40px;
  box-sizing:border-box;
  border:4px solid #1d1d1b;
  border-radius:50%;
  background:#faf6ee;
  box-shadow:none;
}
#post-1829 .gros-concert-item-date::before{
  top:-20px;
  border:4px solid #1d1d1b;
  clip-path:inset(50% 0 0 0);
}
#post-1829 .gros-concert-item-date::after{
  bottom:-20px;
  border:4px solid #1d1d1b;
  clip-path:inset(0 0 50% 0);
}

/* Agenda : le contour laisse une ouverture réelle autour des deux découpes. */
#post-1829 .gros-concert-card{
  border:0;
  box-shadow:none;
}
#post-1829 .gros-concert-item{
  border:0;
  box-shadow:inset 3px 0 0 #1d1d1b,inset -3px 0 0 #1d1d1b;
}
#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  width:100%;
  height:3px;
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 76px,#1d1d1b 76px 100%);
  z-index:9;
}
#post-1829 .gros-concert-item::before{top:0;bottom:auto}
#post-1829 .gros-concert-item::after{top:auto;bottom:0}

#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  padding:0!important;
  clip-path:none!important;
  box-sizing:border-box!important;
}

/* Bord gauche de la souche Agenda. */
#post-1829 .gros-concert-item-date{border-left:3px solid #1d1d1b}

/* Jointure sans jour entre les cercles et le contour du ticket Agenda. */
#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%);
}

#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{
  background:linear-gradient(to right,#1d1d1b 0 35px,transparent 35px 73px,#1d1d1b 73px 100%);
}

/* Agenda : signature visuelle du bouton Facebook. */
#post-1829 .gros-facebook-share .gros-btn-icon{
  box-sizing:content-box;
  width:20px;
  height:20px;
  padding:5px;
  border-radius:50%;
  background:#1877f2;
  color:#fff;
  fill:currentColor;
}
#post-1829 .gros-facebook-share span{
  border-left:2px solid rgba(255,255,255,.82);
  padding-left:13px;
}

#post-1829 .gros-facebook-share .gros-btn-icon{box-shadow:0 2px 4px rgba(0,0,0,.35)}

#post-1829 .gros-facebook-share .gros-btn-icon{box-shadow:none}
#post-1829 .gros-concert-card{box-shadow:0 4px 10px rgba(0,0,0,.24)}

/* L'intérieur des découpes Agenda reste vide : aucune bordure ne le recouvre. */
#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%);
}

/* Agenda : vraies découpes transparentes, sans couleur de remplissage. */
#post-1829 .gros-concert-card{
  position:relative;
  background:transparent;
  box-shadow:none;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.20));
}
#post-1829 .gros-concert-item{background:transparent}
#post-1829 .gros-concert-item-info,
#post-1829 .gros-concert-item-actions{background:#fffdf8}
#post-1829 .gros-concert-item-date{
  -webkit-mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);
  -webkit-mask-composite:source-in;
  mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);
  mask-composite:intersect;
}
#post-1829 .gros-concert-card::before,
#post-1829 .gros-concert-card::after{
  content:"";
  position:absolute;
  left:34px;
  width:40px;
  height:40px;
  box-sizing:border-box;
  border:4px solid #1d1d1b;
  border-radius:50%;
  background:transparent;
  z-index:12;
  pointer-events:none;
}
#post-1829 .gros-concert-card::before{top:-20px;clip-path:inset(50% 0 0 0)}
#post-1829 .gros-concert-card::after{bottom:-20px;clip-path:inset(0 0 50% 0)}
#post-1829 .gros-concert-item-date::before,
#post-1829 .gros-concert-item-date::after{display:none}

/* Boutons d'action harmonisés. */
.gros-concert-item-actions .gros-btn-sm.gros-reservation-button,
.single-gros_concert .gros-reservation-button{
  display:inline-flex;width:auto;height:auto;min-height:44px;align-items:center;gap:10px;
  padding:9px 13px;background:#1d1d1b;color:#fff;border:0;border-radius:5px;
  font:800 14px/1 Nunito,Arial,sans-serif;
}
.gros-concert-item-actions .gros-reservation-button .gros-btn-icon,
.single-gros_concert .gros-reservation-button .gros-btn-icon{width:19px;height:19px;color:#dfad38}
.gros-concert-item-actions .gros-reservation-button span,
.single-gros_concert .gros-reservation-button span{padding-left:11px;border-left:2px solid rgba(255,255,255,.82)}
.gros-concert-item-actions .gros-reservation-button:hover,
.single-gros_concert .gros-reservation-button:hover{background:#333;color:#fff}

#post-1829 .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  min-height:44px!important;
  padding:9px 13px!important;
  align-items:center;
  gap:10px;
  background:#1d1d1b!important;
  color:#fff!important;
  border:0!important;
  border-radius:5px!important;
}
#post-1829 .gros-concert-item-actions .gros-reservation-button .gros-btn-icon{width:19px;height:19px;color:#dfad38}
#post-1829 .gros-concert-item-actions .gros-reservation-button span{padding-left:11px;border-left:2px solid rgba(255,255,255,.82);white-space:nowrap}

#post-1829 .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
  flex:0 0 auto!important;
  flex-basis:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  white-space:nowrap!important;
  overflow:visible!important;
}
#post-1829 .gros-concert-item-actions .gros-reservation-button span{color:#fff!important}

/* Chaque ticket Agenda conserve sa propre hauteur. */
#post-1829 .gros-concerts-list{align-items:start}
#post-1829 .gros-concert-card{align-self:start}

/* Actions compactes. */
#post-1829 .gros-concert-item-actions .gros-facebook-share,
#post-1829 .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
  min-height:34px!important;
  padding:5px 9px!important;
  gap:7px;
  font-size:12px!important;
}
#post-1829 .gros-facebook-share .gros-btn-icon{
  width:16px;
  height:16px;
  padding:4px;
}
#post-1829 .gros-concert-item-actions .gros-reservation-button .gros-btn-icon{width:16px;height:16px}
#post-1829 .gros-facebook-share span,
#post-1829 .gros-concert-item-actions .gros-reservation-button span{padding-left:7px}

/* Bord droit continu du ticket Agenda. */
#post-1829 .gros-concert-item-info,
#post-1829 .gros-concert-item-actions{border-right:3px solid #1d1d1b}

/* Agenda : chaque billet réserve la même place, actions alignées en bas. */
#post-1829 .gros-concert-item{
  min-height:286px;
  grid-template-rows:minmax(0,1fr) auto;
}
#post-1829 .gros-concert-item-info{align-self:stretch}


/* Agenda : emplacement constant de deux lignes pour la description. */
#post-1829 .gros-concert-item-desc{
  min-height:2.8em;
  max-height:2.8em;
  margin:18px 0 0!important;
  overflow:hidden;
  display:-webkit-box;
  -webkit-box-orient:vertical;
  -webkit-line-clamp:2;
  line-height:1.4;
}

/* Billet validé : pages Solo, Tandem et aperçu de saisie. */
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card,
.gros-cf-preview-wrap .gros-cf-ticket-card{
  position:relative;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.20));
  overflow:visible;
  transform:none;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card:hover{transform:translateY(-3px)}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item{
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  grid-template-areas:"date info" "date actions";
  grid-template-rows:minmax(0,1fr) auto;
  min-height:286px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item::before,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item::after,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::before,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::after{
  content:"";
  display:block;
  position:absolute;
  left:0;
  width:100%;
  height:3px;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  clip-path:none!important;
  box-sizing:border-box!important;
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%);
  z-index:9;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item::before,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::before{top:0;bottom:auto}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item::after,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::after{top:auto;bottom:0}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-date,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date{
  grid-area:date;
  align-self:stretch;
  padding:37px 9px 28px;
  background:linear-gradient(135deg,#f4c544,#dfad38);
  border:0;
  border-left:3px solid #1d1d1b;
  border-right:4px dashed #1d1d1b;
  -webkit-mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);
  -webkit-mask-composite:source-in;
  mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);
  mask-composite:intersect;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-date::before,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-date::after,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date::before,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date::after{display:none}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card::before,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card::after,
.gros-cf-preview-wrap .gros-cf-ticket-card::before,
.gros-cf-preview-wrap .gros-cf-ticket-card::after{
  content:"";
  position:absolute;
  left:34px;
  width:40px;
  height:40px;
  box-sizing:border-box;
  border:4px solid #1d1d1b;
  border-radius:50%;
  background:transparent;
  z-index:12;
  pointer-events:none;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card::before,
.gros-cf-preview-wrap .gros-cf-ticket-card::before{top:-20px;clip-path:inset(50% 0 0 0)}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-card::after,
.gros-cf-preview-wrap .gros-cf-ticket-card::after{bottom:-20px;clip-path:inset(0 0 50% 0)}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-info,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-info,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-actions{
  background:#fffdf8;
  border-right:3px solid #1d1d1b;
}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-info,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-info{align-self:stretch;padding:23px 18px 5px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-title,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-title{font-size:25px;line-height:1.12;margin-bottom:12px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-date-day,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-day{font-size:46px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-date-month,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-month{position:relative;font-size:18px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-date-month::after,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-month::after{content:"";display:block;width:34px;height:3px;margin:12px auto 0;background:#1d1d1b}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-date-day::before,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-day::before{right:calc(100% + 6px);top:calc(50% + 15px);font-size:8px;letter-spacing:1px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-lieu,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-lieu{font-size:15px!important;gap:8px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-adresse,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-adresse{font-size:14px!important;margin-bottom:6px!important}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-formule,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-tarif,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-formule,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-tarif{min-height:35px;padding:6px 12px;margin-top:7px;font-size:13px!important}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-desc,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-desc{min-height:2.8em;max-height:2.8em;margin:18px 0 0!important;overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;line-height:1.4}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-actions{padding:6px 18px 20px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions:empty,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-actions:empty{display:block;min-height:60px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-facebook-share,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{min-height:34px!important;padding:5px 9px!important;gap:7px;font-size:12px!important}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-facebook-share .gros-btn-icon{width:16px;height:16px;padding:4px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-reservation-button .gros-btn-icon{width:16px;height:16px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-facebook-share span,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-reservation-button span{padding-left:7px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-ticket-live{right:16px;bottom:15px;font-size:11px}
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-ticket-live::after{width:27px;height:2px;margin-top:5px}
@container(max-width:400px){
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-info{padding:20px 15px 5px}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-title{font-size:23px}
}

/* Les deux actions gardent toujours leur libellé complet. */
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-facebook-share,
.gros-bd:is(.page-id-1827,.page-id-1828) .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
  display:inline-flex!important;
  width:auto!important;
  height:auto!important;
  min-width:max-content!important;
  max-width:none!important;
  flex:0 0 auto!important;
  white-space:nowrap!important;
  overflow:visible!important;
}

/* Fiche d'un concert : même ticket perforé que l'Agenda. */
.single-gros_concert .gros-concert-card{
  position:relative;
  max-width:760px;
  margin:0 auto 28px;
  background:transparent;
  border:0;
  box-shadow:none;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.20));
  overflow:visible;
}
.single-gros_concert .gros-concert-item{
  position:relative;
  display:grid;
  grid-template-columns:112px minmax(0,1fr);
  grid-template-areas:"date info" "date actions";
  grid-template-rows:minmax(0,1fr) auto;
  min-height:286px;
  padding:0;
  background:transparent;
  border:0;
  border-radius:0;
  box-shadow:none;
}
.single-gros_concert .gros-concert-item::before,.single-gros_concert .gros-concert-item::after{
  content:"";display:block;position:absolute;left:0;width:100%;height:3px;padding:0!important;
  border:0!important;border-radius:0!important;transform:none!important;clip-path:none!important;box-sizing:border-box!important;
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%);z-index:9;
}
.single-gros_concert .gros-concert-item::before{top:0;bottom:auto}
.single-gros_concert .gros-concert-item::after{top:auto;bottom:0}
.single-gros_concert .gros-concert-item-date{
  grid-area:date;align-self:stretch;padding:37px 9px 28px;background:linear-gradient(135deg,#f4c544,#dfad38);
  border:0;border-left:3px solid #1d1d1b;border-right:4px dashed #1d1d1b;
  -webkit-mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);
  -webkit-mask-composite:source-in;mask-image:radial-gradient(circle 20px at 50% 0,transparent 19px,#000 20px),radial-gradient(circle 20px at 50% 100%,transparent 19px,#000 20px);mask-composite:intersect;
}
.single-gros_concert .gros-concert-item-date::before,.single-gros_concert .gros-concert-item-date::after{display:none}
.single-gros_concert .gros-concert-card::before,.single-gros_concert .gros-concert-card::after{
  content:"";position:absolute;left:34px;width:40px;height:40px;box-sizing:border-box;border:4px solid #1d1d1b;border-radius:50%;background:transparent;z-index:12;pointer-events:none;
}
.single-gros_concert .gros-concert-card::before{top:-20px;clip-path:inset(50% 0 0 0)}
.single-gros_concert .gros-concert-card::after{bottom:-20px;clip-path:inset(0 0 50% 0)}
.single-gros_concert .gros-concert-item-info,.single-gros_concert .gros-concert-item-actions{background:#fffdf8;border-right:3px solid #1d1d1b}
.single-gros_concert .gros-concert-item-info{align-self:stretch;padding:23px 18px 5px}
.single-gros_concert .gros-concert-item-title{font-size:25px;line-height:1.12;margin-bottom:12px}
.single-gros_concert .gros-date-day{font-size:46px}
.single-gros_concert .gros-date-month{position:relative;font-size:18px}
.single-gros_concert .gros-date-month::after{content:"";display:block;width:34px;height:3px;margin:12px auto 0;background:#1d1d1b}
.single-gros_concert .gros-date-day::before{right:calc(100% + 6px);top:calc(50% + 15px);font-size:8px;letter-spacing:1px}
.single-gros_concert .gros-concert-item-lieu{font-size:15px!important;gap:8px}
.single-gros_concert .gros-concert-item-adresse{font-size:14px!important;margin-bottom:6px!important}
.single-gros_concert .gros-concert-item-formule,.single-gros_concert .gros-concert-item-tarif{min-height:35px;padding:6px 12px;margin-top:7px;font-size:13px!important}
.single-gros_concert .gros-concert-item-desc{margin:18px 0 0!important;line-height:1.4}
.single-gros_concert .gros-concert-item-actions{padding:6px 18px 20px;display:flex;gap:7px;align-items:center}
.single-gros_concert .gros-concert-item-actions .gros-facebook-share,.single-gros_concert .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
  display:inline-flex!important;width:auto!important;height:auto!important;min-width:max-content!important;max-width:none!important;flex:0 0 auto!important;
  min-height:34px!important;padding:5px 9px!important;gap:7px;font-size:12px!important;white-space:nowrap!important;overflow:visible!important;
}
.single-gros_concert .gros-facebook-share .gros-btn-icon{width:16px;height:16px;padding:4px}
.single-gros_concert .gros-concert-item-actions .gros-reservation-button .gros-btn-icon{width:16px;height:16px}
.single-gros_concert .gros-facebook-share span,.single-gros_concert .gros-concert-item-actions .gros-reservation-button span{padding-left:7px}
/* La page détail conserve les trois actions lisibles : l'ancien style de
   l'événement le réduisait à 36 px tout en laissant son texte déborder. */
.single-gros_concert .gros-concert-item-actions .gros-facebook-event{
  display:inline-flex!important;width:auto!important;height:auto!important;min-width:max-content!important;max-width:none!important;flex:0 0 auto!important;
  min-height:34px!important;padding:5px 9px!important;gap:7px!important;white-space:nowrap!important;overflow:visible!important;
  background:#1d1d1b!important;color:#dfad38!important;border:2px solid #1d1d1b!important;border-radius:4px!important;
  font:800 12px/1 Nunito,Arial,sans-serif!important;
}
.single-gros_concert .gros-concert-item-actions .gros-facebook-event .gros-btn-icon{
  box-sizing:border-box!important;width:16px!important;height:16px!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#dfad38!important;
}
.single-gros_concert .gros-concert-item-actions .gros-facebook-share .gros-btn-icon{box-sizing:border-box!important;width:16px!important;height:16px!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#dfad38!important}
.single-gros_concert .gros-concert-item-actions .gros-facebook-event span{padding-left:7px!important}
/* Les actions de la fiche détail reprennent le format compact de l'Agenda. */
.single-gros_concert .gros-concert-item-actions .gros-btn-sm{
  width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;
  box-sizing:border-box!important;padding:5px!important;justify-content:center!important;gap:0!important;
}
.single-gros_concert .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{min-width:34px!important;max-width:34px!important;padding:5px!important}
.single-gros_concert .gros-concert-item-actions .gros-btn-sm span{display:none!important}
.single-gros_concert .gros-ticket-live{right:16px;bottom:15px;font-size:11px}
.single-gros_concert .gros-ticket-live::after{width:27px;height:2px;margin-top:5px}
@media(max-width:650px){
  .single-gros_concert .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}
  .single-gros_concert .gros-concert-item-info{padding:20px 15px 5px}
  .single-gros_concert .gros-concert-item-title{font-size:23px}
}

/* La fiche détail annule les anciens contours du thème : même bordure que l'Agenda. */
.gros-bd.single-gros_concert .gros-main .gros-concert-card{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  filter:drop-shadow(0 4px 7px rgba(0,0,0,.20))!important;
  overflow:visible!important;
}

/* L'aperçu administratif reprend aussi les repères du ticket Agenda. */
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date{position:relative}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date::before{
  content:"GROSLIVE  •  CONCERT";display:block;position:absolute;left:10px;top:30px;
  writing-mode:vertical-rl;transform:rotate(180deg);font:800 8px/1 Nunito,Arial,sans-serif;letter-spacing:1px;color:#1d1d1b;
}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-actions{display:flex;gap:7px;align-items:center}
.gros-cf-preview-wrap .gros-cf-preview-action{
  display:inline-flex;box-sizing:border-box;width:34px;height:34px;align-items:center;justify-content:center;
  background:#1d1d1b;color:#dfad38;border:2px solid #1d1d1b;border-radius:4px;
}
.gros-cf-preview-action .dashicons{width:16px;height:16px;font-size:16px;line-height:16px}
.gros-cf-preview-wrap .gros-cf-preview-live{position:absolute;right:16px;bottom:15px;color:#999;font:700 11px/1 Nunito,Arial,sans-serif;letter-spacing:.06em}
.gros-cf-preview-wrap .gros-cf-preview-live::after{content:"";display:block;width:27px;height:2px;margin:5px 0 0 auto;background:#dfad38}

/* Deux aperçus : ticket Agenda et mini-ticket des pages Solo/Tandem. */
.gros-cf-preview-grid{display:flex;flex-wrap:wrap;justify-content:center;align-items:flex-start;gap:28px;margin-top:30px}
.gros-cf-preview-panel{display:flex;flex-direction:column;gap:10px}
.gros-cf-preview-panel:first-child{flex:0 1 514px;width:514px;max-width:100%}
.gros-cf-preview-wrap .gros-cf-preview-inner{width:100%;max-width:514px;min-width:0;margin:0}
.gros-cf-preview-panel-title{color:#c9c9c9;font-size:11px;font-weight:700;letter-spacing:.08em;text-transform:uppercase}
@container(max-width:650px){
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date{padding:35px 6px 20px}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date::before{left:9px;top:19px;font-size:7px;letter-spacing:1px}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-day{font-size:41px;letter-spacing:0}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-date-month{font-size:16px;letter-spacing:0}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-info{padding:20px 15px 5px}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-title{font-size:23px;margin-bottom:12px}
  .gros-cf-preview-wrap .gros-cf-ticket-card::before,.gros-cf-preview-wrap .gros-cf-ticket-card::after{left:27px!important}
  .gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::before,.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 30px,transparent 30px 64px,#1d1d1b 64px 100%)!important}
}
.gros-cf-upcoming-ticket{position:relative;display:flex;box-sizing:border-box;width:330px;min-height:170px;background:#fffdf8;color:#1d1d1b;box-shadow:inset 3px 0 0 #1d1d1b,inset -3px 0 0 #1d1d1b,0 4px 7px rgba(0,0,0,.2)}
.gros-cf-upcoming-ticket::before,.gros-cf-upcoming-ticket::after{content:"";position:absolute;left:0;width:100%;height:3px;background:linear-gradient(to right,#1d1d1b 0 26px,transparent 26px 62px,#1d1d1b 62px 100%)}
.gros-cf-upcoming-ticket::before{top:0}.gros-cf-upcoming-ticket::after{bottom:0}
.gros-cf-upcoming-date{position:relative;display:flex;flex:0 0 88px;flex-direction:column;justify-content:center;align-items:center;box-sizing:border-box;background:linear-gradient(135deg,#f4c544,#dfad38);border-left:3px solid #1d1d1b;border-right:4px dashed #1d1d1b;color:#1d1d1b;line-height:1.15}
.gros-cf-upcoming-date::before,.gros-cf-upcoming-date::after{content:"";position:absolute;left:24px;width:36px;height:20px;border:3px solid #1d1d1b;background:#1d1d1b;border-radius:0 0 50% 50%}
.gros-cf-upcoming-date::before{top:0;border-top:0}.gros-cf-upcoming-date::after{bottom:0;border-bottom:0;border-radius:50% 50% 0 0}
.gros-cf-upcoming-date b{font:900 40px/.95 Nunito,Arial,sans-serif}.gros-cf-upcoming-date span{font:900 16px/1.2 Nunito,Arial,sans-serif}.gros-cf-upcoming-date small{margin-top:5px;font:800 11px/1 Nunito,Arial,sans-serif}
.gros-cf-upcoming-body{flex:1;min-width:0;padding:20px 17px;background:#fffdf8}.gros-cf-upcoming-body h4{margin:0 0 5px;color:#1d1d1b;font:900 20px/1.15 Nunito,Arial,sans-serif}.gros-cf-upcoming-body p{margin:0;color:#555;font:400 13px/1.5 Nunito,Arial,sans-serif}.gros-cf-upcoming-body span{display:inline-block;margin-top:10px;padding:5px 12px;border-radius:20px;background:#1d1d1b;color:#dfad38;font:800 12px/1 Nunito,Arial,sans-serif}

.gros-bd.single-gros_concert .gros-main .gros-concert-item{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.gros-bd.single-gros_concert .gros-main .gros-concert-item-info,
.gros-bd.single-gros_concert .gros-main .gros-concert-item-actions{
  background:#fffdf8!important;
  border-right:3px solid #1d1d1b!important;
}
.gros-bd.single-gros_concert .gros-main .gros-concert-item-date{
  background:linear-gradient(135deg,#f4c544,#dfad38)!important;
  border-top:0!important;
  border-bottom:0!important;
  border-left:3px solid #1d1d1b!important;
  border-right:4px dashed #1d1d1b!important;
}
.gros-bd.single-gros_concert .gros-main .gros-concert-item::before,
.gros-bd.single-gros_concert .gros-main .gros-concert-item::after{
  display:block!important;
  border:0!important;
  box-shadow:none!important;
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%)!important;
}

/* Correctif fiche détail : neutralisation totale des anciennes pseudo-découpes. */
.gros-bd.single-gros_concert .gros-main .gros-concert-item-date::before,
.gros-bd.single-gros_concert .gros-main .gros-concert-item-date::after{display:none!important;content:none!important}
.gros-bd.single-gros_concert .gros-main .gros-concert-item::before,
.gros-bd.single-gros_concert .gros-main .gros-concert-item::after{
  content:""!important;
  display:block!important;
  position:absolute!important;
  left:0!important;
  width:100%!important;
  height:3px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:0!important;
  transform:none!important;
  clip-path:none!important;
  box-shadow:none!important;
  background:linear-gradient(to right,#1d1d1b 0 34px,transparent 34px 74px,#1d1d1b 74px 100%)!important;
  z-index:9!important;
}
.gros-bd.single-gros_concert .gros-main .gros-concert-item::before{top:0!important;bottom:auto!important}
.gros-bd.single-gros_concert .gros-main .gros-concert-item::after{top:auto!important;bottom:0!important}

/* Fiche détail mobile : cercle et découpe jaune parfaitement alignés dans la souche. */
@media(max-width:650px){
  .gros-bd.single-gros_concert .gros-main .gros-concert-card::before,
  .gros-bd.single-gros_concert .gros-main .gros-concert-card::after{left:27px!important}
  .gros-bd.single-gros_concert .gros-main .gros-concert-item::before,
  .gros-bd.single-gros_concert .gros-main .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 27px,transparent 27px 67px,#1d1d1b 67px 100%)!important}
}

/* Agenda mobile : encoche et découpe jaune alignées dans la souche. */
@media(max-width:650px){
  #post-1829 .gros-concert-card::before,
  #post-1829 .gros-concert-card::after{left:27px!important}
  #post-1829 .gros-concert-item::before,
  #post-1829 .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 27px,transparent 27px 67px,#1d1d1b 67px 100%)!important}
}

/* Agenda mobile : micro-espace sous l'arc pour supprimer tout trait parasite. */
@media(max-width:650px){
  #post-1829 .gros-concert-item::before,
  #post-1829 .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 26px,transparent 26px 68px,#1d1d1b 68px 100%)!important}
}

/* Agenda mobile : le trait passe sous le bord du cercle pour une jonction continue. */
@media(max-width:650px){
  #post-1829 .gros-concert-item::before,
  #post-1829 .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 30px,transparent 30px 64px,#1d1d1b 64px 100%)!important}
}

/* Agenda mobile : le contour reste visible sur la souche, sous l'arc de découpe. */
@media(max-width:650px){
  #post-1829 .gros-concert-item::before,
  #post-1829 .gros-concert-item::after{z-index:11!important}
  #post-1829 .gros-concert-card::before,
  #post-1829 .gros-concert-card::after{z-index:12!important}
}

/* Chrome Android : intérieur des encoches Agenda sans artefact de rendu. */
@media(max-width:650px){
  #post-1829 .gros-concert-card::before,
  #post-1829 .gros-concert-card::after{background:#faf6ee!important}
}

/* Agenda mobile : encoches réellement transparentes, sans ombre dans la découpe. */
@media(max-width:650px){
  #post-1829 .gros-concert-card{filter:none!important;box-shadow:none!important}
  #post-1829 .gros-concert-card::before,
  #post-1829 .gros-concert-card::after{background:transparent!important}
}

/* Agenda mobile : la découpe basse traverse aussi le fond résiduel du ticket. */
@media(max-width:650px){
  #post-1829 .gros-concert-card,
  #post-1829 .gros-concert-item{background-color:transparent!important;background-image:none!important}
  #post-1829 .gros-concert-card::after{background-color:transparent!important;box-shadow:none!important}
}

/* Agenda : adaptation à la largeur réelle de la zone, pas au navigateur. */
#post-1829 .gros-concerts-list{container-type:inline-size}
#post-1829 .gros-concert-card::before,
#post-1829 .gros-concert-card::after{left:36px}
#post-1829 .gros-concert-item::before,
#post-1829 .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 39px,transparent 39px 73px,#1d1d1b 73px 100%)!important}
@container (max-width:700px){
  #post-1829 .gros-concert-card{filter:none!important;box-shadow:none!important}
  #post-1829 .gros-concert-item{grid-template-columns:94px minmax(0,1fr)}
  #post-1829 .gros-concert-item-date{padding:35px 6px 20px}
  #post-1829 .gros-date-day{font-size:41px}
  #post-1829 .gros-date-month{font-size:16px}
  #post-1829 .gros-concert-item-info{padding:20px 15px 5px}
  #post-1829 .gros-concert-item-title{font-size:23px}
  #post-1829 .gros-date-day::before{right:calc(100% + 10px);font-size:7px}
  #post-1829 .gros-concert-card::before,
  #post-1829 .gros-concert-card::after{left:27px!important}
  #post-1829 .gros-concert-item::before,
  #post-1829 .gros-concert-item::after{background:linear-gradient(to right,#1d1d1b 0 30px,transparent 30px 64px,#1d1d1b 64px 100%)!important}
}

/* Agenda mobile : actions compactes, pictogrammes avec infobulle existante. */
@container (max-width:700px){
  #post-1829 .gros-concert-item-actions{gap:7px;padding-bottom:20px}
  #post-1829 .gros-concert-item-actions .gros-facebook-share,
  #post-1829 .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;
    padding:5px!important;justify-content:center!important;gap:0!important;
  }
  #post-1829 .gros-concert-item-actions .gros-facebook-share span,
  #post-1829 .gros-concert-item-actions .gros-reservation-button span{display:none!important}
  #post-1829 .gros-facebook-share .gros-btn-icon{width:16px;height:16px;padding:4px}
  #post-1829 .gros-concert-item-actions .gros-reservation-button .gros-btn-icon{width:17px;height:17px}
}

/* Test : ombre discrète autour des tickets Agenda en mobile. */
@container (max-width:700px){
  #post-1829 .gros-concert-card{filter:drop-shadow(0 2px 3px rgba(0,0,0,.18))!important}
}

/* Test : ombre Agenda mobile un peu plus marquée. */
@container (max-width:700px){
  #post-1829 .gros-concert-card{filter:drop-shadow(0 3px 5px rgba(0,0,0,.26))!important}
}

/* Test fiable : ombre visible dès que le site passe en menu mobile. */
@media(max-width:1180px){
  #post-1829 .gros-concert-card{filter:drop-shadow(4px 5px 7px rgba(0,0,0,.30))!important}
}

/* Lien vers l'événement Facebook, distinct du partage. */
.gros-concert-item-actions .gros-facebook-event{
  display:inline-flex;width:auto;height:auto;min-height:34px;align-items:center;gap:7px;
  padding:5px 9px;background:#1d1d1b;color:#fff;border:0;border-radius:5px;
  font:800 12px/1 Nunito,Arial,sans-serif;
}
.gros-facebook-event .gros-btn-icon{box-sizing:content-box;width:16px;height:16px;padding:4px;border-radius:50%;background:#1877f2;color:#fff}
.gros-facebook-event span{padding-left:7px;border-left:2px solid rgba(255,255,255,.82)}
@container (max-width:700px){
  #post-1829 .gros-concert-item-actions .gros-facebook-event{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;
    padding:5px!important;justify-content:center!important;gap:0!important;
  }
  #post-1829 .gros-concert-item-actions .gros-facebook-event span{display:none!important}
}

/* Agenda mobile : toutes les actions reprennent le noir et or de Réserver. */
@container (max-width:700px){
  #post-1829 .gros-concert-item-actions .gros-facebook-event,
  #post-1829 .gros-concert-item-actions .gros-facebook-share{background:#1d1d1b!important;color:#dfad38!important}
  #post-1829 .gros-concert-item-actions .gros-facebook-event .gros-btn-icon,
  #post-1829 .gros-concert-item-actions .gros-facebook-share .gros-btn-icon{
    box-sizing:border-box!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#dfad38!important;
  }
}

/* Palier intermédiaire : les trois actions Agenda passent aussi en pictogrammes. */
@media(max-width:1180px){
  #post-1829 .gros-concert-item-actions{gap:7px!important}
  #post-1829 .gros-concert-item-actions .gros-facebook-share,
  #post-1829 .gros-concert-item-actions .gros-facebook-event,
  #post-1829 .gros-concert-item-actions .gros-btn-sm.gros-reservation-button{
    width:34px!important;min-width:34px!important;height:34px!important;min-height:34px!important;
    padding:5px!important;justify-content:center!important;gap:0!important;
    background:#1d1d1b!important;color:#dfad38!important;
  }
  #post-1829 .gros-concert-item-actions .gros-facebook-share span,
  #post-1829 .gros-concert-item-actions .gros-facebook-event span,
  #post-1829 .gros-concert-item-actions .gros-reservation-button span{display:none!important}
  #post-1829 .gros-concert-item-actions .gros-facebook-share .gros-btn-icon,
  #post-1829 .gros-concert-item-actions .gros-facebook-event .gros-btn-icon{
    box-sizing:border-box!important;padding:0!important;border-radius:0!important;background:transparent!important;color:#dfad38!important;
  }
}

/* Accueil, mobile et tablette : les billets restent tous alignés sur la même largeur. */
@media (max-width:1180px){
  body.home .bd-tickets{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important}
  body.home .bd-tickets > .bd-ticket{
    display:flex!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
  }
}

/* Accueil : la largeur réelle de la section pilote la mise en colonne, y compris avec le zoom du navigateur. */
.bd-dates .bd-wrap{container-type:inline-size}
@container (max-width:1000px){
  .bd-dates .bd-tickets{display:flex!important;flex-direction:column!important;align-items:stretch!important;width:100%!important}
  .bd-dates .bd-tickets > .bd-ticket{
    display:flex!important;
    flex:0 0 auto!important;
    width:100%!important;
    min-width:0!important;
    max-width:none!important;
    box-sizing:border-box!important;
    align-self:stretch!important;
  }
}

/* Accueil : à largeur intermédiaire, le libellé vertical se rapproche du bord de la souche. */
@container (min-width:761px) and (max-width:1000px){
  .bd-dates .bd-ticket-date::before{left:6px!important}
}

/* Accueil tablette (fenêtre 901–1200 px) : libellé vertical calé contre le bord gauche de la souche. */
@media (min-width:901px) and (max-width:1200px){
  body.home .bd-ticket-date::before{left:6px!important}
}

/* Accueil : le libellé vertical est calé à gauche de la souche, à toutes les largeurs. */
body.home .bd-ticket-date::before{left:5px!important}

/* Aperçu administration : même billet que l'Agenda public. */
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-date::before{
  top:50%!important;left:10px!important;transform:translateY(-50%) rotate(180deg)!important;
}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-cf-preview-meta{
  display:flex!important;align-items:center;gap:8px;margin:0!important;
  white-space:nowrap;font-size:15px!important;font-weight:800!important;color:#1d1d1b!important;
}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-cf-preview-meta-icon{width:18px;height:18px;flex:0 0 auto}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-cf-preview-meta-sep{font-size:20px;font-weight:400;line-height:1}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-formule,
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-tarif{
  display:inline-flex!important;align-items:center!important;box-sizing:border-box!important;
  min-height:35px!important;padding:6px 12px!important;margin:7px 9px 0 0!important;
  border:2px solid #1d1d1b!important;border-radius:28px!important;
  font:800 13px/1 Nunito,Arial,sans-serif!important;
}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-formule{background:#1d1d1b!important;color:#dfad38!important}
.gros-cf-preview-wrap .gros-cf-ticket-card .gros-concert-item-tarif{background:transparent!important;border-color:#dfad38!important;color:#bd8713!important}
/* Agenda : emplacements réservés, sans modifier les données des concerts. */
#post-1829 #gros-agenda-list{align-items:stretch;grid-auto-rows:1fr}
#post-1829 #gros-agenda-list .gros-concert-card{align-self:stretch;height:100%;min-width:0}
#post-1829 #gros-agenda-list .gros-concert-item{height:100%;grid-template-rows:minmax(0,1fr) auto;box-sizing:border-box}
#post-1829 #gros-agenda-list .gros-concert-item-title{min-height:2.24em;line-height:1.12;overflow-wrap:anywhere}
#post-1829 #gros-agenda-list .gros-concert-item-lieu{display:flex;flex-direction:column;align-items:flex-start;gap:3px;line-height:1.4;min-height:calc(2.8em + 3px);margin-bottom:6px!important}
#post-1829 #gros-agenda-list .gros-ticket-place{min-width:0;max-width:100%;overflow-wrap:anywhere}
#post-1829 #gros-agenda-list .gros-ticket-time{border:0;padding-left:0;white-space:nowrap}
#post-1829 #gros-agenda-list .gros-concert-item-adresse{line-height:1.5;min-height:1.5em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
/* Une adresse absente conserve son emplacement. */
#post-1829 #gros-agenda-list .gros-concert-item-info:not(:has(.gros-concert-item-adresse)) .gros-concert-item-lieu{margin-bottom:33px!important}
#post-1829 #gros-agenda-list .gros-concert-item-desc{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden;line-height:1.4;min-height:2.8em;max-height:2.8em;overflow-wrap:anywhere}
@media(max-width:900px){#post-1829 #gros-agenda-list{grid-auto-rows:auto}}

/* Concert complet ou annulé */
.gros-concert-flag{display:inline-flex;align-items:center;padding:.3em .85em;border-radius:6px;font-weight:800;font-size:.78rem;line-height:1.2;letter-spacing:.12em;text-transform:uppercase}
.gros-concert-flag--annule{color:#fff;background:#c0392b}
.gros-concert-flag--complet{color:#1a1a1a;background:#ffc400}
.gros-concert-item .gros-concert-flag{position:absolute;bottom:24px;right:6%;z-index:12;transform:rotate(-5deg);padding:.12em .55em;border:3px solid currentColor;border-radius:8px;font-size:clamp(.9rem,2.4vw,1.3rem);font-weight:900;letter-spacing:.16em;pointer-events:none;background:rgba(255,250,240,.92)}
.gros-concert-item .gros-concert-flag--annule{color:#c0392b}
.gros-concert-item .gros-concert-flag--complet{color:#b45309}
.gros-concert-flag--termine{color:#fff;background:#555}
.gros-concert-item .gros-concert-flag--termine{color:#444}
.gros-past-title{margin:0!important;padding:4.5rem 0 1.6rem!important;font-size:clamp(1.7rem,3.4vw,2.5rem)!important;line-height:1.2!important;letter-spacing:.08em;text-transform:uppercase;color:inherit}
.gros-past-more-wrap{margin:1.8rem 0 0;text-align:center}
.gros-concert-card[hidden]{display:none!important}
.gros-concert-past .gros-concert-item-title a{color:inherit;text-decoration:none}
.gros-concert-past .gros-concert-item-title a:hover{text-decoration:underline}
.gros-concert-item .gros-concert-flag--termine{top:0;bottom:auto;right:0;transform:none;border:0;border-radius:0 0 0 12px;padding:.45em 1.1em;font-size:.8rem;letter-spacing:.16em;color:#fff;background:#555;box-shadow:none}
.gros-concerts-archive .gros-concert-item-date{filter:grayscale(1) brightness(1.05)}
.gros-concerts-archive .gros-concert-item .gros-concert-flag{top:0;bottom:auto;right:0;transform:none;border:0;border-radius:0 0 0 12px;padding:.45em 1.1em;font-size:.8rem;letter-spacing:.16em;color:#fff;background:#555;box-shadow:none}
.gros-concerts-archive .gros-concert-item .gros-concert-flag--annule{background:#c0392b;color:#fff}
.gros-souvenirs{margin:3.5rem 0 1rem}
.gros-souvenirs-title{margin:0 0 1.2rem!important;font-size:clamp(1.7rem,3.4vw,2.5rem)!important;line-height:1.2!important;letter-spacing:.08em;text-transform:uppercase;color:inherit}
.gros-souvenirs-sub{margin:2.2rem 0 1rem!important;font-size:clamp(1.35rem,2.6vw,1.8rem)!important;line-height:1.2!important;letter-spacing:.08em;text-transform:uppercase;opacity:.9;color:inherit}
.gros-concert-item.gros-concert-past .gros-concert-item-date{filter:grayscale(1) brightness(1.05)}
.gros-concert-item.gros-concert-past .gros-concert-flag{top:0;bottom:auto;right:0;transform:none;border:0;border-radius:0 0 0 12px;padding:.45em 1.1em;font-size:.8rem;letter-spacing:.16em;color:#fff;background:#555;box-shadow:none}
.gros-concert-item.gros-concert-past .gros-concert-flag--annule{background:#c0392b;color:#fff}
.gros-souvenirs-strip{display:flex;align-items:center;gap:12px;margin-top:12px;flex-wrap:wrap}
.gros-souvenirs-thumbs{display:flex;gap:8px}
.gros-souvenirs-thumb{position:relative;display:block;width:58px;height:58px;border:2px solid #1d1d1b;border-radius:9px;overflow:hidden;background:#d9d6cf;box-shadow:2px 2px 0 #9b9b9b;transition:transform .15s}
.gros-souvenirs-thumb:hover{transform:translateY(-2px) rotate(-2deg)}
.gros-souvenirs-thumb img{display:block;width:100%;height:100%;object-fit:cover}
.gros-souvenirs-thumb--video::before{content:"";position:absolute;inset:0;background:rgba(0,0,0,.38);z-index:1}
.gros-souvenirs-thumb--video::after{content:"";position:absolute;left:50%;top:50%;z-index:2;transform:translate(-35%,-50%);border-style:solid;border-width:9px 0 9px 15px;border-color:transparent transparent transparent #f4c544}
.gros-souvenirs-more{position:absolute;inset:0;z-index:3;display:flex;align-items:center;justify-content:center;background:rgba(29,29,27,.74);color:#f4c544;font-weight:800;font-size:1.05rem}
.gros-souvenirs-count{font-size:.8rem;font-weight:800;color:#1d1d1b!important;text-decoration:none!important;letter-spacing:.03em}
.gros-souvenirs-count:hover{text-decoration:underline!important}
@media(max-width:650px){.gros-souvenirs-thumb{width:50px;height:50px}.gros-souvenirs-thumbs .gros-souvenirs-thumb:nth-child(3){display:none}}
