/* ------------------------------------------------------------------------------------------------
   CARTES DES APPELS (CCB, 2026-11-08) — php/ccband-fonctions.php, CCBCarteAppel()
   Accueil (carrousel), page Appels (grille) et « plus d'appels clôturés ».
   2026-11-09 : look du prototype de Nicolas (_MYCC-DEV/BAND) — visuel 200 px, pastille à droite,
   titre sur 2 lignes, carte qui se soulève avec un liseré jaune.
------------------------------------------------------------------------------------------------ */
.ccb-appel-col { display: flex; margin-bottom: 28px; }
.ccb-appel-slide { height: auto !important; display: flex; padding: 10px 0 24px; } /* place pour le soulèvement et l'ombre */

.ccb-appel {
	position: relative; display: flex; flex-direction: column; width: 100%; height: 100%;
	border: 1px solid rgba(255, 255, 255, .06); border-radius: 12px; overflow: hidden;
	background: #1e1e1e; color: #fff !important; text-decoration: none !important;
	transition: transform .4s cubic-bezier(.165, .84, .44, 1), border-color .4s, box-shadow .4s;
}
.ccb-appel:hover, .ccb-appel:focus-visible { transform: translateY(-10px); border-color: #F8C11A; box-shadow: 0 20px 40px rgba(0, 0, 0, .4); outline: none; }

.ccb-appel-visuel { position: relative; height: 200px; overflow: hidden; background: #000; }
.ccb-appel-visuel img { display: block; width: 100%; height: 100%; object-fit: cover; transition: transform .6s ease; }
.ccb-appel:hover .ccb-appel-visuel img { transform: scale(1.1); }

.ccb-appel-badge {
	position: absolute; z-index: 1; top: 15px; right: 15px; display: inline-flex; align-items: center; gap: 6px;
	padding: 5px 12px; border-radius: 20px; background: #F8C11A; color: #000;
	font-family: 'GT Walsheim bold', sans-serif; font-size: 11px; line-height: 1.2; text-transform: uppercase; letter-spacing: .02em;
	box-shadow: 0 2px 8px rgba(0, 0, 0, .3);
}
.ccb-appel-urgent .ccb-appel-badge { background: #E5193F; color: #fff; }
.ccb-appel-urgent .ccb-appel-badge::before { content: ""; width: 7px; height: 7px; border-radius: 50%; background: #fff; animation: ccb-appel-pouls 1.4s ease-in-out infinite; }
.ccb-appel-futur .ccb-appel-badge { background: #fff; color: #000; }
.ccb-appel-permanent .ccb-appel-badge { background: #2e2e2e; color: #F8C11A; }
.ccb-appel-clos .ccb-appel-badge { background: rgba(0, 0, 0, .75); color: #ddd; }
@keyframes ccb-appel-pouls { 0%, 100% { opacity: 1; transform: scale(1); } 50% { opacity: .35; transform: scale(.7); } }
@media (prefers-reduced-motion: reduce) { .ccb-appel, .ccb-appel-visuel img, .ccb-appel-urgent .ccb-appel-badge::before { transition: none; animation: none; } }

.ccb-appel-corps { flex: 1 1 auto; display: flex; flex-direction: column; padding: 20px; }
.ccb-appel-titre {
	margin: 0 0 12px; min-height: 2.6em; font-family: 'GT Walsheim bold', sans-serif; font-size: 18px; line-height: 1.3; color: #fff; text-transform: uppercase;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 2; line-clamp: 2; overflow: hidden;
}
.ccb-appel-desc {
	margin: 0 0 20px; font-size: 13px; line-height: 1.5; color: #b3b3b3; text-transform: none; font-weight: normal;
	display: -webkit-box; -webkit-box-orient: vertical; -webkit-line-clamp: 3; line-clamp: 3; overflow: hidden;
}
.ccb-appel-cta { margin-top: auto; display: flex; align-items: center; gap: 8px; font-family: 'GT Walsheim bold', sans-serif; font-size: 12px; color: #F8C11A; text-transform: uppercase; }
.ccb-appel-cta span { display: inline-block; transition: transform .3s; }
.ccb-appel:hover .ccb-appel-cta span { transform: translateX(5px); }

@media (max-width: 575px) {
	.ccb-appel-visuel { height: 180px; }
	.ccb-appel-titre { font-size: 17px; }
	.ccb-appel-col { margin-bottom: 20px; }
}
