/* public/css/refactor/accueil-discipline-cards.css */
.ph-disciplines {
    padding: 74px 0 82px;
    background: linear-gradient(180deg, #ffffff 0%, #f5f8fb 100%);
}

.ph-disciplines-grid {
    display: grid;
    grid-template-columns: repeat(4, minmax(0, 1fr));
    gap: 24px;
}





.ph-discipline-media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border: 0 !important;
}


.ph-discipline-card-photo {
	padding: 8px;
	border-radius: 18px;
	min-height: auto;
}

.ph-discipline-media {
	aspect-ratio: 16 / 10;
	border-radius: 14px;
}

.ph-discipline-body {
	padding: 12px 8px 8px;
}

.ph-discipline-line {
	display: flex;
	align-items: center;
	justify-content: space-between;
	gap: 10px;
}

.ph-discipline-body strong {
	flex: 1;
	color: #09264a;
	font-size: 15px;
	font-weight: 450;
	line-height: 1.25;
}

.ph-discipline-body span {
	margin-top: 5px;
	color: #7a8797;
	font-size: 12.5px;
	font-weight: 400;
}

.ph-discipline-action {
	flex: 0 0 auto;
	margin: 0;
	padding: 7px 12px;
	border-radius: 999px;
	background: rgba(11, 99, 206, .12);
	backdrop-filter: blur(10px);
	-webkit-backdrop-filter: blur(10px);
	color: #0b63ce;
	font-size: 11px;
	font-weight: 600;
	text-transform: uppercase;
	letter-spacing: .035em;
	box-shadow: none;
}

.ph-discipline-action::before {
	display: none;
}

.ph-discipline-card-photo:hover .ph-discipline-action {
	background: rgba(11, 99, 206, .18);
}

.ph-discipline-card-photo:hover .ph-discipline-action::before {
	left: 130%;
}

.ph-discipline-card-photo:active .ph-discipline-action {
	transform: scale(.96);
	box-shadow: 0 6px 16px rgba(10, 132, 255, .22);
}



.ph-discipline-card-photo:hover {
	transform: translateY(-2px);
	box-shadow: 0 18px 42px rgba(15, 23, 42, .11);
}



.ph-discipline-media img {
	width: 100%;
	height: 100%;
	display: block;
	object-fit: cover;
	border: 0 !important;
	border-radius: 14px;
	will-change: transform;
	transform-origin: center center;
	transition: transform 1.25s cubic-bezier(.16, 1, .3, 1),
		box-shadow 1.25s cubic-bezier(.16, 1, .3, 1);
}

.ph-discipline-card-photo:hover .ph-discipline-media img {
	transform: scale(1.055);
	box-shadow: 0 18px 42px rgba(15, 23, 42, .16);
}

.ph-discipline-media-empty {
    width: 100%;
    height: 100%;
    display: flex;
    align-items: center;
    justify-content: center;
    color: #078443;
    font-size: 46px;
}


.ph-discipline-empty {
    grid-column: 1 / -1;
    padding: 28px;
    border-radius: 24px;
    background: #fff;
    border: 1px dashed #dbe5ee;
    color: #64748b;
    text-align: center;
    font-weight: 800;
}

@media (max-width: 1199px) {
    .ph-disciplines-grid {
        grid-template-columns: repeat(3, minmax(0, 1fr));
    }
}

@media (max-width: 900px) {
    .ph-disciplines-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 575px) {
    .ph-disciplines {
        padding: 52px 0 58px;
    }

    .ph-disciplines-grid {
        grid-template-columns: 1fr;
        gap: 18px;
    }

    .ph-discipline-card-photo {
        min-height: 238px;
        border-radius: 22px;
    }

    .ph-discipline-media {
        height: 150px;
    }
}


.ph-pagination {
    margin-top: 34px;
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 10px;
}

.ph-page-btn {
    min-width: 42px;
    height: 42px;
    border: 0;
    border-radius: 14px;
    background: #ffffff;
    color: #0f172a;
    font-weight: 900;
    cursor: pointer;
    box-shadow: 0 12px 28px rgba(15, 23, 42, .10);
    transition: .25s ease;
}

.ph-page-btn:hover {
    transform: translateY(-2px);
    background: #eef5ff;
}

.ph-page-btn.active {
    background: linear-gradient(135deg, #155dff, #4938e8);
    color: #ffffff;
    box-shadow: 0 18px 36px rgba(21, 93, 255, .28);
}

.ph-page-btn:disabled {
    opacity: .45;
    cursor: not-allowed;
    transform: none;
}