/* Shared catalogue surfaces: product cards keep their own component styles. */
.ca-catalog { background:#fff; color:#26343a; letter-spacing:0; }
.ca-catalog .main-wrap { max-width:var(--ca-catalog-width); width:100%; margin-inline:auto; padding:24px 24px 0; }
.ca-catalog .ca-header-inner { max-width:var(--ca-catalog-width); }
.ca-home-layout { display:grid; grid-template-columns:minmax(0,1fr); gap:24px; }
.ca-home-results,.ca-home-layout>.ca-catalog-aside { min-width:0; }
@media(min-width:1200px) { .ca-home-layout { grid-template-columns:minmax(0,1fr) 240px; } }
.ca-catalog h1,.ca-catalog h2,.ca-catalog h3 { letter-spacing:0; }
.ca-catalog .btn { display:inline-flex; align-items:center; justify-content:center; gap:4px; min-height:42px; border-radius:6px; text-transform:none; white-space:normal; line-height:1.4; box-shadow:none; }
.ca-catalog .btn-primary { background:#1f4e5f; border-color:#1f4e5f; color:#fff; }
.ca-catalog .btn-primary:hover { background:#163946; }
.ca-catalog .btn-outline-primary { color:#1f4e5f; border-color:#1f4e5f; background:#fff; }
.ca-catalog a:focus-visible,.ca-catalog button:focus-visible { outline:3px solid #e6aa38; outline-offset:3px; }
.ca-market-header { padding:4px 0 20px; border-bottom:1px solid #e2e7e9; }
.ca-market-heading { display:flex; justify-content:space-between; align-items:center; gap:24px; margin-bottom:16px; }
.ca-market-heading h1 { margin:0 0 6px; font-size:30px; font-weight:700; color:#1f4e5f; }
.ca-market-heading p { margin:0; font-size:16px; color:#5a686e; }
.ca-market-actions { display:flex; flex-wrap:wrap; gap:8px; }
.ca-home .ca-search-home-head,.ca-home .ca-search-home-suggestions { display:none; }
.ca-home .ca-search-home-form { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center; padding:8px; border:1px solid #cfdbdf; border-radius:8px; background:#f3f7f8; }
.ca-home .ca-search-home-main { grid-template-columns:minmax(0,1fr) auto; }
.ca-home .ca-search-home-switch { flex-wrap:nowrap; gap:0; background:#fff; border-radius:6px; }
.ca-home .ca-search-home-switch .form-check-label { border-radius:0; min-height:48px; }
.ca-home .ca-search-home-switch .form-check:first-child label { border-radius:6px 0 0 6px; }
.ca-home .ca-search-home-switch .form-check:last-child label { border-radius:0 6px 6px 0; }
.ca-home .ca-search-home-switch .form-check-input { display:block; position:absolute; opacity:0; width:1px; height:1px; }
.ca-home .ca-search-home-switch .form-check-input:focus-visible+label { outline:3px solid #e6aa38; outline-offset:2px; }
.ca-home .ca-search-home-input,.ca-home .ca-search-home-btn { min-height:48px; border-radius:6px; }
.ca-category-nav { display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); padding:12px 0; margin-bottom:24px; gap:0; border-bottom:1px solid #e1e8eb; }
.ca-category-nav a { display:flex; align-items:center; gap:10px; color:#33444b; font-size:14px; font-weight:500; min-width:0; padding:10px 12px; min-height:72px; border-right:1px solid #e1e8eb; }
.ca-category-nav a:first-child { padding-left:0; }
.ca-category-nav a:last-child { border-right:0; }
.ca-category-nav a:hover { background:#f2f7f8; }
.ca-category-nav a:hover { color:#1f4e5f; text-decoration:underline; }
.ca-category-nav img { width:48px; height:48px; object-fit:cover; border-radius:6px; flex-shrink:0; }
.ca-category-all i { width:48px; height:48px; display:grid; place-items:center; background:#eef4f5; border-radius:6px; flex-shrink:0; }
.ca-results-heading { display:flex; justify-content:space-between; align-items:baseline; flex-wrap:wrap; gap:8px; margin-bottom:16px; }
.ca-results-heading h2 { font-size:21px; color:#253b45; margin:0; }
.ca-results-heading>span { font-size:13px; color:#626e73; }
.ca-catalog-aside section { padding:0 0 20px; margin-bottom:20px; border-bottom:1px solid #e2e7e9; }
.ca-catalog-aside h2 { font-size:18px; line-height:1.4; margin:0 0 10px; }
.ca-catalog-aside p { font-size:14px; line-height:1.6; color:#637178; }
.ca-aside-link { display:flex; justify-content:space-between; margin-top:14px; font-size:14px; }
.ca-catalog-editorial { border-top:1px solid #dfe6e9; margin-top:32px; padding:28px 0; }
.ca-catalog-editorial h2 { font-size:22px; margin-bottom:12px; }
.ca-catalog-editorial p { max-width:950px; line-height:1.75; color:#53636b; }
.ca-editorial-links { display:flex; flex-wrap:wrap; gap:14px 28px; }
.ca-empty { padding:32px 0; border-block:1px solid #e2e7e9; }
.ca-empty h3 { font-size:20px; }
.ca-catalog-pagination { display:flex; align-items:center; justify-content:center; flex-wrap:wrap; gap:6px; margin:24px 0; }
.ca-catalog-pagination a,.ca-catalog-pagination [aria-current] { width:40px; height:40px; border:1px solid #dce4e7; display:grid; place-items:center; border-radius:6px; color:#1f4e5f; }
.ca-catalog-pagination [aria-current] { background:#1f4e5f; color:#fff; border-color:#1f4e5f; }
.ca-catalog-pagination .ca-page-gap { padding:0 3px; }
/* Existing category templates share these selectors. */
.ca-category .ca-hero { background:#fff; box-shadow:none; border:0; border-bottom:1px solid #dfe6e9; border-radius:0; padding:8px 0 20px!important; }
.ca-category .ca-hero h1 { font-size:28px; line-height:1.25; }
.ca-category .ca-hero p { max-width:850px; font-size:15px; line-height:1.6; margin-bottom:8px; }
.ca-category .ca-chip-row,.ca-category .ca-hero-kicker { display:none; }
.ca-category .ca-search-box,.ca-category .ca-search-card,.ca-category .ca-seo-card,.ca-category .ca-toolbar-card,.ca-category .ca-pagination-card { box-shadow:none; border:0; border-radius:0; background:transparent; }
.ca-category .ca-seo-card { border-top:1px solid #dfe6e9; margin-top:28px; }
.ca-category .ca-seo-card h2,.ca-category .ca-toolbar-title { font-size:20px; }
.ca-category .ca-side-card { box-shadow:none; border-radius:6px; }
.ca-category .ca-toolbar-meta { font-size:13px; }
@media(max-width:991.98px) {
 .ca-market-heading { align-items:flex-start; flex-direction:column; gap:12px; }
 .ca-home .ca-search-home-form { grid-template-columns:minmax(0,1fr); }
 .ca-home .ca-search-home-main { grid-template-columns:minmax(0,1fr) auto; }
 .ca-home .ca-search-home-btn { width:auto; padding:0 14px; }
 .ca-category-nav { grid-template-columns:repeat(3,minmax(0,1fr)); }
}
@media(max-width:575.98px) {
 .ca-catalog .main-wrap { padding:16px 16px 0; }
 .ca-market-heading h1 { font-size:27px; }
 .ca-market-actions { width:100%; }
 .ca-market-actions .btn { font-size:13px; padding:9px 12px; flex:1; }
 .ca-home .ca-search-home-input { padding-left:38px; font-size:14px; }
 .ca-home .ca-search-home-input-icon { left:13px; }
 .ca-home .ca-search-home-btn { font-size:13px; padding:0 10px; }
 .ca-home .ca-search-home-btn i { display:none; }
 .ca-category-nav { grid-template-columns:repeat(2,minmax(0,1fr)); gap:0; padding:8px 0; margin-bottom:20px; }
 .ca-category-nav a { font-size:13px; gap:8px; padding:10px 8px; min-height:60px; border:0; }
 .ca-category-nav img,.ca-category-all i { width:36px; height:36px; }
 .ca-category-nav .ca-category-all { grid-column:1/-1; }
 .ca-category .ca-hero h1 { font-size:24px; overflow-wrap:anywhere; }
 .ca-catalog-pagination a,.ca-catalog-pagination [aria-current] { width:34px; height:38px; }
}

.ca-category .ca-hero-card { box-shadow:none; border:0; border-bottom:1px solid #dfe6e9; border-radius:0; }
.ca-category .ca-hero-top { background:#fff; padding:0 0 14px; }
.ca-category .ca-hero-title { font-size:28px; }
.ca-category .ca-hero-text { font-size:15px; margin-bottom:0; }
.ca-category .ca-category-search { padding:12px 0 18px!important; }
.ca-category .ca-category-search .card { box-shadow:none; border:0; border-radius:0; }
.ca-category .ca-toolbar-card { padding:8px 0 16px!important; margin-bottom:0!important; }
.ca-category .ca-mobile-sticky { display:none; }
@media(max-width:575.98px) {
 .ca-category .ca-hero-title { font-size:24px; }
 .ca-category .ca-hero-top .d-grid { display:flex!important; flex-wrap:wrap; gap:8px; }
 .ca-category .ca-hero-top .d-grid .btn { flex:1; font-size:13px; padding:10px; }
}

.ca-catalog .btn { font-size:14px; }
.ca-category .ca-search-v3-head,.ca-category .ca-search-v3-suggestions { display:none; }
.ca-category .ca-search-v3 { max-width:none; padding:0; }
.ca-category .ca-search-v3-form { display:grid; grid-template-columns:auto minmax(0,1fr); gap:12px; align-items:center; }
.ca-category .ca-search-v3-input,.ca-category .ca-search-v3-btn,.ca-category .ca-search-v3 select { min-height:46px; border-radius:6px; }
.ca-category .ca-search-v3-switch { gap:0; }
.ca-category .ca-search-v3-switch .form-check-label { border-radius:0; min-height:40px; }
.ca-category .ca-search-v3-switch .form-check:first-child label { border-radius:6px 0 0 6px; }
.ca-category .ca-search-v3-switch .form-check:last-child label { border-radius:0 6px 6px 0; }
.ca-category .ca-search-v3-switch .form-check-input { display:block; position:absolute; opacity:0; width:1px; height:1px; }
.ca-category .ca-search-v3-switch .form-check-input:focus-visible+label { outline:3px solid #e6aa38; outline-offset:2px; }
.ca-category .ca-toolbar-meta { display:none; }
@media(max-width:767.98px) {
 .ca-category .ca-search-v3-main { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
 .ca-category .ca-search-v3-col--category { grid-column:1/-1; }
 .ca-category .ca-search-v3-col--action { width:auto; }
 .ca-category .ca-search-v3-btn { padding:0 12px; font-size:13px; }
 .ca-category .ca-search-v3-btn i { display:none; }
 .ca-category .ca-search-v3-input { font-size:14px; padding-left:38px; }
 .ca-category .ca-search-v3-input-icon { left:13px; }
 .ca-category .ca-search-v3-filter-label { margin-bottom:4px; }
 .ca-category .ca-toolbar-title { font-size:18px; }
}

.ca-category .ca-search-company-head,.ca-category .ca-search-company-help,.ca-category .ca-search-company-suggestions { display:none; }
.ca-category .ca-search-company { max-width:none; padding:0; }
.ca-category .ca-search-company-input,.ca-category .ca-search-company-btn,.ca-category .ca-search-company .cat-wrap select { min-height:46px; border-radius:6px; }
/* Override the shared form controls explicitly: all search controls are 48px. */
.ca-catalog form.ca-user-form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) input[type=search],
.ca-catalog form.ca-user-form:is(.ca-search-v3-form,.ca-search-company-form) .cat-wrap select.form-select { height:48px!important; min-height:48px!important; }
.ca-catalog form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) .btn { height:48px; min-height:48px; padding:0 16px; }
.ca-home .ca-search-home-main { gap:8px; }
.ca-home .ca-search-home-switch .form-check { flex:1; }
.ca-home .ca-search-home-switch label { width:100%; }
.ca-home .ca-search-home-input { font-weight:400; }
.ca-category .ca-search-v3-form,.ca-category .ca-search-company-form { padding:8px; border:1px solid #cfdbdf; border-radius:8px; background:#f3f7f8; }
.ca-category .ca-search-v3-switch { flex-wrap:nowrap; }
.ca-category .ca-search-v3-switch .form-check-label { min-height:48px; }
.ca-category .ca-search-v3-main,.ca-category .ca-search-company-main { grid-template-columns:200px minmax(0,1fr) auto; gap:8px; }
.ca-category .ca-search-v3-filter-label,.ca-category .ca-search-company-filter-label { position:absolute; width:1px; height:1px; padding:0; margin:-1px; overflow:hidden; clip-path:inset(50%); white-space:nowrap; border:0; }
.ca-category .ca-search-v3-col--category { justify-self:stretch; }
.ca-category .ca-search-v3 .cat-wrap,.ca-category .ca-search-v3-cat { max-width:none; }
.ca-category .ca-search-v3 .cat-wrap select { border-radius:6px!important; }
.ca-category .main-wrap.mt-3 { margin-top:0!important; }
.ca-category { padding-bottom:0; }
.ca-category .ca-side-card { border:0; border-bottom:1px solid #e2e7e9; border-radius:0; background:transparent; padding:0 0 20px!important; }
.ca-category .ca-category-card { border:0; border-right:1px solid #e2e7e9; border-radius:0; background:transparent; box-shadow:none; padding:8px 16px 8px 0!important; }
.ca-category .ca-mobile-category-toggle .accordion-item { border:0; border-block:1px solid #dfe6e9; border-radius:0; box-shadow:none; }
.ca-category .ca-mobile-category-toggle .accordion-button { min-height:48px; padding:12px 0; }
.ca-category .ca-mobile-category-toggle .accordion-body { padding:12px 0; }
.ca-category .ca-mobile-category-label { display:none; }
.ca-catalog-breadcrumb { display:flex; flex-wrap:wrap; gap:8px; font-size:13px; color:#637178; margin-bottom:16px; }
.ca-search-results .ca-market-heading h1 { font-size:28px; line-height:1.25; overflow-wrap:anywhere; }
.ca-search-results .ca-market-heading p { overflow-wrap:anywhere; }
.ca-search-result-count { padding:8px 0 16px; border-bottom:1px solid #e2e7e9; }
.ca-search-result-count h2 { font-size:20px; }
.ca-search-result-count a { font-size:14px; }
.ca-search-results .ca-empty h2,.ca-search-empty-next h2 { font-size:21px; }
.ca-search-empty-next,.ca-empty-request { padding:24px 0; }
.ca-empty-request summary { font-size:20px; font-weight:500; color:#1f4e5f; cursor:pointer; }
.ca-empty-request>.bg-light { background:transparent!important; padding:20px 0!important; }
.ca-empty-request .ca-empty-lead-intro { display:none; }
.ca-empty-request .container { padding:0; }
.ca-empty-request .card { border:0; box-shadow:none!important; }
.ca-empty-request .card-body { padding:12px 0!important; }
@media(max-width:1199.98px) {
 .ca-category .ca-search-v3-form { grid-template-columns:minmax(0,1fr); }
}
.ca-category .ca-hero-top .d-grid { display:flex!important; justify-content:flex-end; flex-wrap:wrap; gap:8px; }
.ca-category .ca-hero-top button[data-target="#connexion"],
.ca-category .ca-hero-top button[data-target="#deposerAnnonce"],
.ca-category .ca-hero-top button[data-mdb-target="#connexion"],
.ca-category .ca-hero-top button[data-mdb-target="#deposerAnnonce"] { display:none; }
.ca-category .ca-category-list li { margin:0; }
.ca-category .ca-category-list a { border:0; border-bottom:1px solid #e4ebee; border-radius:0; background:transparent; min-height:44px; padding:12px 8px; }
.ca-category .ca-category-list a:hover { background:#edf4f5; transform:none; }
.ca-category .ca-category-sticky { top:92px; max-height:calc(100vh - 108px); }
@media(max-width:991.98px) {
 .ca-category .ca-search-v3-main,.ca-category .ca-search-company-main { grid-template-columns:180px minmax(0,1fr) auto; }
}
@media(max-width:767.98px) {
 .ca-category .ca-search-company-main { display:grid; grid-template-columns:minmax(0,1fr) auto; gap:10px; align-items:end; }
 .ca-category .ca-search-company-col--category { grid-column:1/-1; }
 .ca-category .ca-search-company-col--action { width:auto; }
 .ca-category .ca-search-company-btn { font-size:13px; padding:0 12px; }
 .ca-category .ca-search-company-btn i { display:none; }
 .ca-category .ca-search-company-input { font-size:14px; padding-left:38px; }
 .ca-category .ca-search-company-input-icon { left:13px; }
 .ca-category .ca-search-v3-main { grid-template-columns:minmax(0,1fr) auto; }
 .ca-category .ca-search-v3-form,.ca-category .ca-search-company-form { padding:10px; }
 .ca-category .ca-search-v3-col--category,.ca-category .ca-search-company-col--category { width:100%; }
 .ca-home .ca-search-home-form { gap:8px; }
 .ca-catalog form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) .btn { padding:0 12px; }
}
@media(max-width:575.98px) {
 .ca-search-results .ca-market-heading h1 { font-size:24px; }
 .ca-catalog form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) .btn { width:48px; padding:0; }
 .ca-catalog form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) .btn>span { display:none; }
 .ca-catalog form:is(.ca-search-home-form,.ca-search-v3-form,.ca-search-company-form) .btn>i { display:inline-block; margin:0; font-size:16px; }
}
