/* AdsManager (port Joomla 6) */
.adsmanager { margin-bottom: 1.5rem; }
.adsmanager-title { margin-bottom: 1rem; }
.adsmanager-fronttext { margin-bottom: 1.25rem; text-align: center; }

/* Accueil : grille de categories (cartes : image ronde a gauche, titre + sous-categories) */
.adsmanager-front { background: #f4f4f4; padding: 1rem; }
.adsmanager-front .adsmanager-title { font-size: 1.3rem; font-weight: 400; margin: 0 0 1rem; }
.adsmanager-cats {
	display: grid;
	grid-template-columns: repeat(auto-fill, minmax(190px, 1fr));
	gap: 1.25rem 1rem;
	align-items: start;
}
.adsmanager-cat-card { display: flex; gap: .5rem; align-items: flex-start; }
.adsmanager-cat-image { flex: 0 0 56px; max-width: 56px; }
.adsmanager-cat-image img { width: 56px; height: auto; display: block; }
.adsmanager-cat-body { flex: 1 1 auto; min-width: 0; }
.adsmanager-cat-body h2 { font-size: 1rem; line-height: 1.2; margin: 0 0 .4rem; }
.adsmanager-subcats { font-size: .72rem; font-weight: 700; line-height: 1.25; margin: 0; color: #222; }
.adsmanager-subcats a { color: inherit; }

/* Liste / resultats (cartes d'annonces) */
.adsmanager-listing > h2 {
	display: flex; align-items: center; gap: 1.2rem;
	background: #12b5d8; color: #fff; text-transform: uppercase;
	font-size: 1.8rem; padding: 1.4rem 2rem; margin: 0 0 1.2rem;
	border-radius: 8px; box-shadow: 0 3px 4px rgba(0, 0, 0, .25);
}
.adsmanager-listing > h2::before {
	content: "\f03a"; font-family: "Font Awesome 6 Free"; font-weight: 900;
	color: #000; font-size: 3rem; line-height: 1;
}
.adsmanager-listing > h2:has(img)::before { content: none; }
.adsmanager-listing > h2 img { max-height: 70px; width: auto; }
.adsmanager-subcat-links { text-transform: uppercase; line-height: 1.6; }
.adsmanager-search-wrap { margin: 1rem 0 1.2rem; }
.adsmanager-search-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .6rem; }
.adsmanager-search-item label { display: block; margin-top: .3rem; }
.adsmanager-search-submit { margin: 1rem 0 0; }
@media (max-width: 767px) { .adsmanager-search-grid { grid-template-columns: 1fr; } }
.adsmanager-sort { text-align: right; margin: 1rem 0; }
.adsmanager-sort select { width: auto; display: inline-block; }
.adsmanager-empty { padding: 1rem 0; }
.adsmanager-list {
	display: flex; gap: 1rem; align-items: stretch;
	background: #f4f4f4; border-radius: 6px; padding: 1rem; margin-bottom: 1rem;
}
.adsmanager-list .col1 { flex: 0 0 18%; max-width: 18%; text-align: center; }
.adsmanager-list .col2 { flex: 1 1 0; min-width: 0; }
.adsmanager-list .col3 {
	flex: 0 0 24%; max-width: 24%; text-align: center;
	border-left: 1px solid #ddd; padding-left: 1rem;
}
.adsmanager-list .col1 img { max-width: 100%; height: auto; }
.adsmanager-list .col2 h3 { margin: .2rem 0 .5rem; font-size: 1.3rem; }
.adsmanager-list small span { display: inline-block; color: #fff; padding: 0 .4rem; font-size: .85rem; line-height: 1.3; }
.adsmanager-list .candidat, .adsmanager-list .employeur { background: #12b5d8; }
.adsmanager-list .categorie { background: #999; }
.adsmanager-list .pro { background: #8e1f8f; }
.adsmanager-list .nombre_vues { color: #777; font-size: .9rem; margin: 0; }
.adsmanager-list .contact h4 { color: #12b5d8; font-size: 1.3rem; margin: 0 0 .5rem; }
.adsmanager-list .nonabonne { color: #000; }
.bouton { display: inline-block; text-decoration: none; padding: .5rem 1rem; border-radius: 4px; font-weight: 600; margin-top: .75rem; }
.bouton-rose { background: #ee1b9b; color: #fff; }
.bouton-rose:hover { background: #d0107f; color: #fff; }
.adsmanager-counter { margin-top: 1rem; color: #777; }
@media (max-width: 767px) {
	.adsmanager-list { flex-direction: column; }
	.adsmanager-list .col1, .adsmanager-list .col3 { flex-basis: auto; max-width: 100%; }
	.adsmanager-list .col3 { border-left: 0; padding-left: 0; }
}

/* Fiche annonce (comme l'ancien gabarit) */
.adsmanager-print { text-align: right; font-size: 1.1rem; }
.adsmanager-print a { color: #777; }
.adsmanager-details h2.adsmanager-ad-title {
	background: #12b5d8; color: #fff; text-transform: uppercase;
	font-size: 1.5rem; line-height: 1.3; padding: .6rem 1rem; margin: .5rem 0 .9rem;
	border-radius: 6px; box-shadow: 0 3px 4px rgba(0, 0, 0, .25);
}
.adsmanager-infos small span { display: inline-block; color: #fff; padding: 0 .4rem; font-size: .85rem; line-height: 1.3; }
.adsmanager-infos .candidat, .adsmanager-infos .employeur { background: #12b5d8; }
.adsmanager-infos .categorie { background: #999; }
.adsmanager-infos .pro { background: #8e1f8f; }
.adsmanager-actions { text-align: right; margin-bottom: .5rem; }
.adsmanager-details-body { display: flex; gap: 1.5rem; align-items: flex-start; }
.adsmanager-texte { flex: 1 1 0; min-width: 0; }
.adsmanager-contact {
	flex: 0 0 24%; max-width: 24%; text-align: center;
	border-left: 1px solid #ddd; padding-left: 1rem; min-height: 14rem;
}
.adsmanager-images img { max-width: 100%; height: auto; margin-bottom: .5rem; }
.adsmanager-images img.ad-image { box-shadow: 0 0 6px rgba(0, 0, 0, .25); }
.adsmanager-block { margin-bottom: 1rem; }
.adsmanager-details h3.section-header { color: #12b5d8; font-size: 1.7rem; font-weight: 600; margin: 1.2rem 0 .8rem; }
.adsmanager-contact h3.section-header { margin-top: 0; }
.adsmanager-contact .nonabonne { color: #000; text-align: left; }
.back_button { margin-top: 1.5rem; }
@media (max-width: 767px) {
	.adsmanager-details-body { flex-direction: column; }
	.adsmanager-contact { flex-basis: auto; max-width: 100%; border-left: 0; padding-left: 0; }
}

/* ---------------------------------------------------------------
   Formulaire de depot ("Publiez votre annonce")
   --------------------------------------------------------------- */
.adsmanager-form h3 { margin: 1.5rem 0 .75rem; }
.adsmanager-form fieldset { border: 0; padding: 0; margin: 0 0 1rem; }
.adsmanager-form .control-group { display: flex; flex-wrap: wrap; align-items: flex-start; margin-bottom: 1rem; }
.adsmanager-form .control-label { flex: 0 0 200px; max-width: 200px; padding: .4rem 1rem 0 0; text-align: right; font-weight: 600; }
.adsmanager-form .controls { flex: 1 1 280px; min-width: 0; }
.adsmanager-form .controls .form-control,
.adsmanager-form .controls .form-select { max-width: 460px; }
.adsmanager-form .controls .form-select + .form-select { margin-top: .5rem; }
.adsmanager-form textarea.form-control { max-width: 560px; }
.adsmanager-form .adsmanager-required { color: #c00; }
.adsmanager-form .url-prefix { display: inline-block; margin-right: .35rem; color: #666; }
.adsmanager-form .controls .url-prefix + .form-control { display: inline-block; width: calc(100% - 4.5rem); }
.adsmanager-form label.checkbox,
.adsmanager-form label.radio { display: block; font-weight: normal; }
.adsmanager-form .adsmanager-upload-item { margin-bottom: .75rem; }
.adsmanager-form .adsmanager-upload-item img { display: block; max-width: 150px; height: auto; margin-bottom: .25rem; }
.adsmanager-form .form-text { display: block; margin-top: .25rem; color: #666; }
.adsmanager-form-buttons { text-align: right; }
.adsmanager-form-buttons .btn + .btn { margin-left: .5rem; }
@media (max-width: 640px) {
    .adsmanager-form .control-label { flex-basis: 100%; max-width: none; text-align: left; padding-right: 0; }
}

/* Previsualisation, "Mes annonces" */
.adsmanager-preview-buttons { margin: 1.5rem 0; }
.adsmanager-search-own { margin-bottom: 1rem; max-width: 300px; }
.adsmanager-myads .col3 a { display: inline-block; margin-top: .15rem; }
.adsmanager-rules-text { margin-top: 1rem; }

/* Module "Recherchez une annonce" (accueil) */
.adsmanager-search-module { background: #ff22a9; padding: 20px 18px 18px; max-width: 494px; }
.adsmanager-search-module form { margin: 0; }
.adsmanager-search-mod-item { margin: 0 0 10px; max-width: 336px; }
.adsmanager-search-mod-item .form-select,
.adsmanager-search-mod-item .form-control { height: 32px; padding: 2px 8px; font-size: .9rem; border-radius: 3px; }
.adsmanager-search-module .adsmanager-cat2:disabled { background-color: #f4b4d8; }
.adsmanager-search-mod-submit { margin: 18px 0 0; }
.adsmanager-search-mod-submit .btn { padding: 2px 8px; font-size: .95rem; border-radius: 3px; }
