/* Catalog only. Fonts are owned by the site/Elementor, never bundled here. */
.dic-catalog {
 --dic-font-heading:"Eurostile Extended",sans-serif; --dic-font-body:"Mont",sans-serif; --dic-font-control:"Akzidenz Grotesk Pro",sans-serif;
 --dic-content-max:1140px; --dic-gutter:28px;
 --dic-color-text:#141414; --dic-color-secondary:#606873; --dic-color-surface:#fff;
 --dic-color-muted:#f5f5f5; --dic-color-selected:#f2f3f4; --dic-color-border:#e5e8ed;
 --dic-color-input-border:#cbd4e2; --dic-color-control-border:#606873;
 --dic-color-action:#141414; --dic-color-action-hover:#282828; --dic-color-action-text:#fff; --dic-color-focus:#141414;
 --dic-radius-card:16px; --dic-radius-control:12px; --dic-radius-button:12px;
 --dic-grid-gap:18px; --dic-card-padding:18px; --dic-control-height:48px; --dic-touch-target:44px;
 --dic-section-space:70px; --dic-heading-gap:14px; --dic-block-gap:28px; --dic-row-gap:12px; --dic-small-gap:8px;
 --dic-heading-size:42px; --dic-heading-line-height:1.05; --dic-card-title-size:22px; --dic-card-title-line-height:1.2;
 --dic-price-size:25px; --dic-price-line-height:1.2; --dic-transition-duration:150ms;
 box-sizing:border-box; width:calc(100% - 2 * var(--dic-gutter)); max-width:var(--dic-content-max);
 margin:var(--dic-section-space) auto; color:var(--dic-color-text); background:var(--dic-color-surface);
 font:400 16px/1.4 var(--dic-font-body); overflow-wrap:anywhere;
}
.dic-catalog *, .dic-catalog *::before, .dic-catalog *::after { box-sizing:border-box; }
.dic-catalog [hidden] { display:none; }
.dic-catalog h1:not(.entry-title):not(.page-title):not(.site-title) { font:700 var(--dic-heading-size)/var(--dic-heading-line-height) var(--dic-font-heading); margin:0; color:var(--dic-color-text); letter-spacing:normal; text-transform:none; }
.dic-catalog .dic-catalog-subtitle { font:400 18px/23.4px var(--dic-font-body); margin:var(--dic-heading-gap) 0 var(--dic-block-gap); }
.dic-catalog a { color:var(--dic-color-text); text-decoration:none; box-shadow:none; }
.dic-catalog a:hover { color:var(--dic-color-text); }
.dic-catalog :is(a,button,input,select,summary,[tabindex]):focus-visible { outline:2px solid var(--dic-color-focus); outline-offset:3px; }
.dic-catalog :is(input,select,button) { font:400 16px/22.4px var(--dic-font-body); letter-spacing:normal; text-transform:none; margin:0; }
.dic-catalog :is(input[type=number],select) { width:100%; min-width:0; height:var(--dic-control-height); padding:0 15px; border:1px solid var(--dic-color-input-border); border-radius:var(--dic-radius-control); background:var(--dic-color-surface); color:var(--dic-color-text); }
.dic-catalog :is(input,select):focus { border-color:var(--dic-color-focus); }
.dic-catalog button, .dic-catalog .dic-card-cta { display:inline-flex; align-items:center; justify-content:center; min-height:var(--dic-touch-target); padding:0 20px; border:1px solid var(--dic-color-action); border-radius:var(--dic-radius-button); background:var(--dic-color-action); color:var(--dic-color-action-text); font:400 15px/1 var(--dic-font-control); cursor:pointer; width:fit-content; transition:background-color var(--dic-transition-duration); }
.dic-catalog button:hover, .dic-catalog .dic-card-cta:hover { background:var(--dic-color-action-hover); color:var(--dic-color-action-text); }
.dic-catalog label, .dic-catalog legend { font:600 14px/1.4 var(--dic-font-body); color:var(--dic-color-text); }
.dic-catalog label { display:block; }
.dic-catalog .dic-primary-filters { display:grid; grid-template-columns:1.2fr 1.2fr 1.3fr; gap:var(--dic-row-gap); align-items:end; }
.dic-catalog .dic-filter-field { min-width:0; }
.dic-catalog .dic-filter-field label { margin-bottom:8px; }
.dic-catalog .dic-primary-shortcuts { display:grid; grid-template-columns:1fr 1fr 1.3fr; gap:8px; }
.dic-catalog .dic-primary-shortcuts :is(a,button) { display:inline-flex; align-items:center; justify-content:center; height:44px; min-height:44px; border:1px solid var(--dic-color-input-border); border-radius:12px; padding:8px; text-align:center; font:400 15px/1 var(--dic-font-control); }
.dic-catalog .dic-primary-shortcuts :is(a,button):hover { background:var(--dic-color-muted); }
.dic-catalog .dic-quick-filters { display:flex; flex-wrap:wrap; gap:8px; margin-top:12px; padding:3px; }
.dic-catalog .dic-quick-filters a { display:inline-flex; align-items:center; justify-content:center; gap:6px; position:relative; height:40px; min-height:40px; padding:0 12px; border:1px solid #e5e8ed; border-radius:10px; background:#f5f5f5; color:#141414; font:400 14px/1 var(--dic-font-control); white-space:nowrap; }
.dic-catalog .dic-quick-filters a:hover { background:#f2f3f4; color:#141414; border-color:#cbd4e2; }
.dic-catalog .dic-quick-filters a[aria-pressed=true] { background:#141414; color:#fff; border-color:#141414; }
.dic-catalog .dic-quick-check { visibility:hidden; }
.dic-catalog [aria-pressed=true] .dic-quick-check { visibility:visible; }
.dic-catalog [aria-disabled=true] { opacity:.55; cursor:default; }
.dic-catalog .dic-full-filters { margin-top:12px; }
.dic-catalog .dic-full-filters > summary { cursor:pointer; min-height:44px; padding:12px 0; }
.dic-catalog .dic-catalog-filter-facets { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:12px; }
.dic-catalog fieldset { min-width:0; padding:8px; margin:0; border:1px solid var(--dic-color-border); border-radius:12px; }
.dic-catalog legend { width:auto; padding:0 4px; }
.dic-catalog fieldset label:has(input[type=checkbox]) { display:flex; align-items:center; gap:8px; min-height:44px; font-weight:400; }
.dic-catalog input[type=checkbox] { width:20px; height:20px; margin:0; accent-color:var(--dic-color-text); flex-shrink:0; }
.dic-catalog .dic-range { display:grid; grid-template-columns:1fr 1fr; gap:8px; }
.dic-catalog .dic-range label { grid-row:1; }
.dic-catalog .dic-range input { grid-row:2; }
.dic-catalog .dic-sheet-heading { display:flex; align-items:center; justify-content:space-between; gap:12px; padding:12px 0; }
.dic-catalog .dic-sheet-heading h2, .dic-catalog .dic-empty h2 { font:600 22px/1.2 var(--dic-font-body); margin:0; }
.dic-catalog .dic-catalog-filter-actions { display:flex; flex-wrap:wrap; gap:18px; align-items:center; margin-top:18px; }
.dic-catalog .dic-catalog-filter-actions a { display:inline-flex; align-items:center; min-height:44px; text-decoration:underline; }
.dic-catalog .dic-catalog-filter-chips { display:flex; flex-wrap:wrap; gap:8px; margin-top:18px; }
.dic-catalog .dic-catalog-filter-chips a { display:inline-flex; align-items:center; min-height:44px; padding:0 14px; border-radius:12px; background:var(--dic-color-muted); font-size:14px; }
.dic-catalog .dic-results-header { display:flex; align-items:center; justify-content:space-between; gap:18px; margin:34px 0 18px; }
.dic-catalog .dic-results-header p { font-size:14px; color:var(--dic-color-secondary); margin:0; }
.dic-catalog .dic-sort { display:flex; align-items:center; gap:8px; }
.dic-catalog .dic-sort select { width:auto; max-width:100%; }
.dic-catalog.dic-enhanced .dic-sort-apply { display:none; }
.dic-catalog .dic-catalog-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:var(--dic-grid-gap); }
.dic-catalog .dic-catalog-card { display:flex; flex-direction:column; min-width:0; border:1px solid var(--dic-color-border); border-radius:var(--dic-radius-card); overflow:hidden; transition:border-color var(--dic-transition-duration); }
.dic-catalog .dic-catalog-card:hover { border-color:var(--dic-color-control-border); }
.dic-catalog .dic-catalog-image { position:relative; display:flex; aspect-ratio:3/2; align-items:center; justify-content:center; background:var(--dic-color-muted); margin:0; }
.dic-catalog .dic-catalog-image img { display:block; width:100%; height:100%; max-width:100%; object-fit:cover; margin:0; padding:0; border:0; }
.dic-catalog .dic-market { position:absolute; top:12px; left:12px; padding:5px 9px; border-radius:8px; background:var(--dic-color-surface); font:400 13px/1.4 var(--dic-font-body); }
.dic-catalog .dic-vehicle-no-image { padding:24px; color:var(--dic-color-secondary); font-size:14px; }
.dic-catalog .dic-catalog-card-body { display:flex; flex-direction:column; flex:1; padding:var(--dic-card-padding); }
.dic-catalog .dic-catalog-card h2 { margin:0; font:600 var(--dic-card-title-size)/var(--dic-card-title-line-height) var(--dic-font-body); letter-spacing:normal; text-transform:none; }
.dic-catalog .dic-vehicle-price { margin:8px 0 0; font:600 var(--dic-price-size)/var(--dic-price-line-height) var(--dic-font-body); }
.dic-catalog .dic-card-specs { margin-top:12px; font:400 15px/21px var(--dic-font-body); color:var(--dic-color-secondary); }
.dic-catalog .dic-card-specs p { margin:0 0 4px; }
.dic-catalog .dic-card-actions { display:flex; align-items:center; gap:8px; margin-top:auto; padding-top:18px; }
.dic-catalog .dic-card-actions .dic-card-cta { flex:1; padding:0 12px; }
.dic-catalog .dic-contact-action { display:inline-flex; align-items:center; justify-content:center; flex:0 0 44px; width:44px; height:44px; padding:0; background:#fff; box-shadow:none; border:1px solid #CBD4E2; border-radius:12px; font:600 12px/1 var(--dic-font-body); }
.dic-catalog .dic-contact-action:hover { background:#f5f5f5; box-shadow:none; }
.dic-catalog .dic-contact-action img { display:block; width:21px; height:21px; margin:0; object-fit:contain; }
.dic-catalog .dic-contact-action[data-dic-contact="max"] img { width:23px; height:23px; }
.dic-catalog .dic-catalog-pagination { display:flex; flex-wrap:wrap; gap:8px; justify-content:center; margin-top:28px; }
.dic-catalog .dic-catalog-pagination :is(a,span) { display:inline-flex; align-items:center; justify-content:center; min-width:44px; min-height:44px; padding:0 12px; border-radius:12px; }
.dic-catalog .dic-catalog-pagination a { border:1px solid var(--dic-color-input-border); }
.dic-catalog .dic-catalog-pagination [aria-current] { background:var(--dic-color-action); color:#fff; }
.dic-catalog [data-dic-loading] { font-size:14px; color:var(--dic-color-secondary); }
.dic-catalog .dic-empty { padding:28px 0; }
.dic-catalog dialog { color:var(--dic-color-text); font:inherit; }
.dic-catalog dialog::backdrop { background:rgb(0 0 0 / .4); }
@media (max-width:1024px) {
 .dic-catalog .dic-primary-filters { grid-template-columns:1fr 1fr; }
 .dic-catalog .dic-primary-shortcuts { grid-column:1/-1; }
 .dic-catalog .dic-catalog-grid, .dic-catalog .dic-catalog-filter-facets { grid-template-columns:repeat(2,minmax(0,1fr)); }
}
@media (max-width:767px) {
 .dic-catalog { --dic-heading-size:30px; --dic-section-space:40px; --dic-radius-card:12px; }
 .dic-catalog .dic-catalog-grid, .dic-catalog .dic-catalog-filter-facets { grid-template-columns:minmax(0,1fr); }
 .dic-catalog .dic-quick-filters { flex-wrap:nowrap; overflow-x:auto; padding:5px; scroll-padding:5px; }
 .dic-catalog .dic-quick-filters a { flex-shrink:0; }
 .dic-catalog .dic-sheet button { font-size:15px; }
 .dic-catalog .dic-results-header { align-items:stretch; flex-direction:column; }
 .dic-catalog .dic-sort { flex-wrap:wrap; }
 .dic-catalog .dic-sort select { width:100%; }
 .dic-catalog .dic-sheet { position:fixed; inset:auto 0 0; margin:0; width:100%; max-width:100%; max-height:90vh; max-height:90dvh; border:0; border-radius:16px 16px 0 0; padding:0 18px 18px; overflow:auto; }
 .dic-catalog .dic-sheet-heading { position:sticky; top:0; background:var(--dic-color-surface); z-index:1; }
 .dic-catalog .dic-sheet .dic-catalog-filter-actions { position:sticky; bottom:-18px; background:var(--dic-color-surface); padding:12px 0 max(18px,env(safe-area-inset-bottom)); }
}
@media (prefers-reduced-motion:reduce) { .dic-catalog * { transition:none; scroll-behavior:auto; } }
.dic-catalog .dic-card-media { position:relative; }

.dic-catalog.dic-enhanced .dic-full-filters > summary, .dic-catalog.dic-enhanced .dic-primary-apply { display:none; }

.dic-catalog .dic-catalog-intro { display:flex; flex-wrap:wrap; align-items:baseline; gap:8px 16px; margin:14px 0 28px; }
.dic-catalog .dic-catalog-intro .dic-catalog-subtitle { margin:0; }
.dic-catalog .dic-application-cta { display:inline-flex; align-items:center; justify-content:center; height:42px; min-height:42px; padding:0 17px; border:1px solid #141414; border-radius:10px; background:#141414; color:#fff; font:400 15px/1 var(--dic-font-control); text-decoration:none; }
.dic-catalog select { font:400 16px/1 var(--dic-font-control); }
.dic-catalog .dic-primary-filters select { height:44px; }
@media (max-width:767px) {
 .dic-catalog .dic-results-header { margin-top:30px; }
 .dic-catalog .dic-filter-field label { margin-bottom:4px; }
}
.dic-catalog.dic-enhanced .dic-full-filters:not([open]) { margin-top:0; }

.dic-catalog .dic-catalog-filter-actions a, .dic-catalog .dic-catalog-filter-chips a, .dic-catalog .dic-empty a { font:400 15px/1 var(--dic-font-control); display:inline-flex; align-items:center; justify-content:center; }

.dic-catalog .dic-quick-filters a::after { content:""; position:absolute; inset:-3px -1px; }
.dic-catalog .dic-application-cta:hover { background:#282828; color:#fff; }
.dic-catalog .dic-card-title { min-height:calc(2 * var(--dic-card-title-size) * var(--dic-card-title-line-height)); }
.dic-catalog .dic-card-title a { display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; }
@media (max-width:767px) {
 .dic-catalog .dic-catalog-intro { flex-direction:column; align-items:flex-start; gap:12px; }
 .dic-catalog .dic-catalog-filter-facets { gap:10px; }
}

/* Catalog-owned header grid; existing theme header is not part of this component. */
.dic-catalog .dic-catalog-heading { display:grid; grid-template-columns:minmax(0,1fr) auto; column-gap:32px; row-gap:12px; margin-bottom:28px; }
.dic-catalog .dic-catalog-heading h1 { grid-column:1; }
.dic-catalog .dic-catalog-intro { display:contents; }
.dic-catalog .dic-catalog-subtitle { grid-column:1; grid-row:2; }
.dic-catalog .dic-application-cta { grid-column:2; grid-row:2; align-self:center; justify-self:end; width:fit-content; white-space:nowrap; }
.dic-catalog .dic-sort select { text-align:center; text-align-last:center; padding-inline:32px; }
@media (max-width:767px) {
 /* Inspiro's JS leaves stale inline header-height padding after font load. A scoped sticky header
    participates in flow, so no JS height compensation (or negative margin) is needed on this archive. */
 body.post-type-archive-di_vehicle:has(.dic-catalog) .site-header { position:sticky; top:0; }
 body.post-type-archive-di_vehicle .site-content:has(> .dic-catalog) { padding-top:0 !important; }
 .dic-catalog { --dic-section-space:36px; }
 .dic-catalog .dic-catalog-heading { display:flex; flex-direction:column; gap:0; }
 .dic-catalog .dic-catalog-intro .dic-catalog-subtitle { margin-top:12px; }
 .dic-catalog .dic-application-cta { align-self:flex-start; margin-top:18px; }
 .dic-catalog .dic-quick-filters { scrollbar-width:none; }
 .dic-catalog .dic-quick-filters::-webkit-scrollbar { display:none; }
 .dic-catalog .dic-catalog-filter-facets { gap:20px; padding-bottom:24px; }
 .dic-catalog .dic-range-group { padding-bottom:18px; border-bottom:1px solid #e5e8ed; }
}
/* 7E.2e: centered shortcut labels and shared-form range popovers. */
.dic-catalog .dic-quick-chip { text-align:center; }
.dic-catalog .dic-quick-check { display:none; }
.dic-catalog [aria-pressed=true] .dic-quick-check { display:inline; }
.dic-catalog .dic-primary-shortcuts { position:relative; }
.dic-catalog .dic-primary-shortcuts small { display:block; font:400 11px/1 var(--dic-font-control); margin-top:3px; }
.dic-catalog .dic-range-popover { position:absolute; top:calc(100% + 8px); right:0; z-index:5; width:360px; max-width:calc(100vw - 56px); padding:16px; background:#fff; border:1px solid #cbd4e2; border-radius:12px; box-shadow:0 6px 18px #0002; }
.dic-catalog .dic-range-popover .dic-range-group { padding:0; margin:0 0 12px; border:0; }
.dic-catalog .dic-range-popover-actions { display:flex; justify-content:space-between; gap:8px; }
@media (min-width:1025px) { .dic-catalog .dic-sort select { width:240px; flex:none; padding-inline:24px; } }
@media (max-width:767px) { .dic-catalog .dic-range-popover { width:100%; } }

/* One full-filter entry: native summary without JS, enhanced trigger otherwise. */
.dic-catalog:not(.dic-enhanced) #dic-all-filters { display:none; }
.dic-catalog .dic-full-filters > summary[hidden] { display:none; }
.dic-catalog .dic-full-filters > [data-dic-panel] > .dic-sheet-heading { display:none; }
.dic-catalog.dic-enhanced .dic-full-filters:not([open]) > [data-dic-panel] { display:none; }

.dic-catalog #dic-all-filters { width:100%; background:var(--dic-color-surface); color:var(--dic-color-text); }
.dic-catalog #dic-all-filters:hover { background:var(--dic-color-muted); }

/* Keep real select controls; replace only OS arrow painting for predictable inset. */
.dic-catalog .dic-primary-filters select,
.dic-catalog select,
.dic-catalog .dic-sort select {
 box-sizing:border-box;
 -webkit-appearance:none;
 appearance:none;
 padding-left:15px;
 padding-right:40px;
 background-color:var(--dic-color-surface);
 background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23606873' stroke-width='1.5' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");
 background-repeat:no-repeat;
 background-position:right 15px center;
 background-size:12px 8px;
 background-origin:border-box;
}

/* Preserve keyboard indication, including after a prior pointer interaction. */
.dic-catalog .dic-contact-action:focus-visible { outline:2px solid var(--dic-color-focus); outline-offset:3px; }
.dic-catalog .dic-contact-action[data-dic-pointer-focus]:focus { outline:none; }
