:root{
  --nd-bg: transparent;
  --nd-card: rgba(20,20,24,.55);
  --nd-border: rgba(255,255,255,.10);
  --nd-text: rgba(255,255,255,.92);
  --nd-muted: rgba(255,255,255,.55);
  --nd-pill-hover: rgba(35,35,44,.65);
  --nd-primary: #2563eb;
  --nd-radius: 18px;
}

.ndcar-filter{max-width:1200px;margin:0 auto;padding:16px}
.ndcar-filter.is-dark{color:var(--nd-text);background:var(--nd-bg);font-family:ui-sans-serif,system-ui,-apple-system,Segoe UI,Roboto,Arial}

.ndcar-top{display:flex;flex-wrap:wrap;align-items:center;gap:16px;margin-bottom:18px}
.ndcar-tabs{display:flex;gap:6px;background:var(--nd-card);border:1px solid var(--nd-border);padding:6px;border-radius:999px}
.ndcar-tab{border:0;background:transparent;color:var(--nd-muted);padding:10px 16px;border-radius:999px;cursor:pointer;font-weight:600}
.ndcar-tab:hover{background:var(--nd-pill-hover);color:var(--nd-text)}
.ndcar-tab.is-active{background:var(--nd-primary);color:#fff;box-shadow:0 10px 30px rgba(37,99,235,.25)}

.ndcar-check{display:flex;align-items:center;gap:10px;cursor:pointer}
.ndcar-check-input{display:none}
.ndcar-check-box{width:18px;height:18px;border-radius:6px;border:1px solid var(--nd-border);background:var(--nd-card);position:relative}
.ndcar-check-input:checked + .ndcar-check-box{background:var(--nd-primary);border-color:rgba(37,99,235,.8)}
.ndcar-check-input:checked + .ndcar-check-box:after{content:"";position:absolute;left:5px;top:2px;width:5px;height:10px;border:2px solid #fff;border-top:0;border-left:0;transform:rotate(45deg)}
.ndcar-check-label{color:var(--nd-muted);font-weight:600}
.ndcar-check:hover .ndcar-check-label{color:var(--nd-text)}

.ndcar-spacer{flex:1}
.ndcar-title{color:var(--nd-muted);text-transform:uppercase;letter-spacing:.08em;font-size:12px;font-weight:700}

.ndcar-search-slot{margin:8px 0 12px}

.ndcar-logos{display:flex;flex-wrap:wrap;gap:10px;align-items:center;padding:10px 0 16px;border-bottom:1px solid var(--nd-border);margin-bottom:16px}
.ndcar-logo{border:1px solid var(--nd-border);background:var(--nd-card);border-radius:999px;padding:10px 14px;cursor:pointer}
.ndcar-logo:hover{border-color:rgba(37,99,235,.45)}
.ndcar-logo-txt{font-size:12px;color:var(--nd-muted);font-weight:700}

.ndcar-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px 28px;margin:18px 0 18px}
@media (min-width:640px){.ndcar-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}
@media (min-width:980px){.ndcar-grid{grid-template-columns:repeat(4,minmax(0,1fr))}}

.ndcar-brand{display:flex;justify-content:space-between;gap:12px;border:0;background:transparent;color:var(--nd-text);cursor:pointer;padding:2px 0;text-align:left}
.ndcar-brand-name{font-weight:600}
.ndcar-brand-count{color:var(--nd-muted)}
.ndcar-brand:hover .ndcar-brand-name{color:rgba(96,165,250,1)}
.ndcar-brand-toggle .ndcar-brand-name{font-weight:700}

.ndcar-footer{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:16px;padding-top:16px;border-top:1px solid var(--nd-border)}
.ndcar-info{display:flex;align-items:center;gap:10px;color:var(--nd-muted);font-size:13px}
.ndcar-info-btn{border:0;background:transparent;color:var(--nd-muted);cursor:pointer}
.ndcar-actions{display:flex;align-items:center;gap:12px;width:100%;max-width:560px}
.ndcar-reset{width:48px;height:48px;border-radius:14px;border:1px solid var(--nd-border);background:var(--nd-card);color:var(--nd-text);cursor:pointer}
.ndcar-reset:hover{background:var(--nd-pill-hover)}
.ndcar-cta{flex:1;border:0;border-radius:14px;background:var(--nd-primary);color:#fff;font-weight:700;padding:14px 18px;cursor:pointer;box-shadow:0 16px 40px rgba(37,99,235,.18)}
.ndcar-cta:hover{filter:brightness(1.05)}
.ndcar-cta:disabled{opacity:.6;cursor:not-allowed}

/* Results */
.ndcar-results{max-width:1200px;margin:0 auto;padding:12px 16px}
.ndcar-results-title{font-weight:800;color:var(--nd-text);margin:0 0 12px}
.ndcar-products-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}
@media (max-width:980px){.ndcar-products-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:640px){.ndcar-products-grid{grid-template-columns:repeat(1,minmax(0,1fr))}}
.ndcar-empty{padding:14px;border:1px dashed rgba(255,255,255,.25);border-radius:14px;color:var(--nd-muted)}
.ndcar-results-morewrap{display:flex;justify-content:center;margin:14px 0}
.ndcar-results-more{border:1px solid var(--nd-border);background:var(--nd-card);color:var(--nd-text);padding:10px 16px;border-radius:14px;cursor:pointer}
.ndcar-results-more:hover{border-color:rgba(37,99,235,.45)}


/* --- Smart search (FiboSearch) dark theme fixes --- */
.ndcar-smart-search .dgwt-wcas-search-wrapp,
.ndcar-search-slot .dgwt-wcas-search-wrapp{
  width: 100%;
}
.ndcar-smart-search .dgwt-wcas-search-form,
.ndcar-search-slot .dgwt-wcas-search-form{
  width: 100%;
}
.ndcar-smart-search .dgwt-wcas-search-input,
.ndcar-search-slot .dgwt-wcas-search-input{
  background: #13151a !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  padding: 14px 14px !important;
  box-shadow: none !important;
}
.ndcar-smart-search .dgwt-wcas-search-input::placeholder,
.ndcar-search-slot .dgwt-wcas-search-input::placeholder{
  color: rgba(255,255,255,.55) !important;
}
.ndcar-smart-search .dgwt-wcas-search-submit,
.ndcar-search-slot .dgwt-wcas-search-submit{
  filter: invert(1) brightness(1.2);
  opacity: .85;
}
.ndcar-smart-search .dgwt-wcas-search-submit:hover,
.ndcar-search-slot .dgwt-wcas-search-submit:hover{
  opacity: 1;
}

.dgwt-wcas-suggestions-wrapp{
  background: #13151a !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  overflow: hidden;
}
.dgwt-wcas-suggestion{
  background: transparent !important;
  color: rgba(255,255,255,.88) !important;
}
.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected{
  background: rgba(37,99,235,.18) !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st{
  color: rgba(255,255,255,.62) !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-si{
  background: rgba(255,255,255,.06) !important;
  border-radius: 10px !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-preloader{
  filter: invert(1);
}

/* --- Cards (custom, based on provided React example) --- */
.ndcar-cards-grid{
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 18px;
}
@media (max-width: 980px){
  .ndcar-cards-grid{ grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
@media (max-width: 640px){
  .ndcar-cards-grid{ grid-template-columns: repeat(1, minmax(0, 1fr)); }
}

.ndcar-card{background:#13151a;border:1px solid rgba(39,39,42,.85);border-radius:18px;overflow:hidden;display:flex;flex-direction:column;min-height:100%;transition:border-color .3s ease, box-shadow .3s ease, transform .3s ease;}
.ndcar-card:hover{border-color:rgba(63,63,70,.85);box-shadow:0 8px 30px rgba(0,0,0,.4);}
.ndcar-card__img{position:relative;height:240px;width:100%;overflow:hidden;background:#18181b;}
.ndcar-card__imglink{
  display: block;
  height: 100%;
  width: 100%;
  position: relative;
}
.ndcar-card__img img{
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: transform .7s ease;
}
.ndcar-card:hover .ndcar-card__img img{ transform: scale(1.05); }
.ndcar-card__imggrad{
  position: absolute;
  inset: 0;
  background: linear-gradient(to top, rgba(19,21,26,.85), rgba(19,21,26,0) 55%);
  opacity: .85;
}
.ndcar-card__badges{
  position: absolute;
  top: 14px;
  left: 14px;
  display: flex;
  flex-direction: column;
  gap: 8px;
  z-index: 2;
}
.ndcar-badge{display:inline-flex;align-items:center;padding:4px 10px;font-size:12px;font-weight:700;border-radius:10px;border:1px solid rgba(255,255,255,.14);backdrop-filter:blur(12px);}
.ndcar-badge--vat{ background: rgba(16,185,129,.12); color: rgba(110,231,183,1); border-color: rgba(16,185,129,.30); }
.ndcar-badge--status{ background: rgba(59,130,246,.12); color: rgba(147,197,253,1); border-color: rgba(59,130,246,.30); }
.ndcar-badge--promo{ background: rgba(168,85,247,.12); color: rgba(216,180,254,1); border-color: rgba(168,85,247,.30); }
.ndcar-badge--warning{ background: rgba(245,158,11,.12); color: rgba(253,230,138,1); border-color: rgba(245,158,11,.30); }

.ndcar-card__body{ padding: 24px; display:flex; flex-direction: column; flex: 1; }
.ndcar-card__head{ margin-bottom: 12px; }
.ndcar-card__title{ font-size: 24px; font-weight: 800; color: #fff; line-height: 1.2; }
.ndcar-card__brand{ color:#fff; }
.ndcar-card__model{ color: rgba(212,212,216,1); margin-left: 6px; font-weight: 700; }
.ndcar-card__year{ margin-top: 6px; font-size: 12px; color: rgba(161,161,170,1); font-weight: 600; }

.ndcar-card__specs{
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 10px 12px;
  margin: 12px 0 16px;
}
.ndcar-spec{ display:flex; align-items:center; gap: 8px; color: rgba(212,212,216,1); font-size: 13px; }
.ndcar-spec__ico{ color: rgba(113,113,122,1); display:inline-flex; }
.ndcar-spec__ico svg{ width: 16px; height: 16px; }

.ndcar-card__foot{ margin-top: auto; display:flex; flex-direction: column; gap: 12px; }
.ndcar-pricebox{background: rgba(24,24,27,.55);border: 1px solid rgba(39,39,42,.9);border-radius: 14px;padding: 16px;}
.ndcar-price{ font-size: 30px; font-weight: 900; color: #fff; white-space: nowrap; }
.ndcar-vat{ margin-top: 6px; display:flex; align-items:center; gap: 8px; color: rgba(110,231,183,1); font-weight: 700; font-size: 12px; }
.ndcar-vat__ico{ color: rgba(110,231,183,1); display:inline-flex; }
.ndcar-vat__ico svg{ width: 14px; height: 14px; }

.ndcar-leasing{
  display:flex;
  align-items:center;
  justify-content: space-between;
  gap: 12px;
  padding: 12px 14px;
  border-radius: 14px;
  background: #1a1d24;
  border: 1px solid rgba(63,63,70,.8);
  text-decoration: none;
}
.ndcar-leasing:hover{ background: #1e222b; }
.ndcar-leasing__left{ display:flex; align-items:center; gap: 8px; color: rgba(212,212,216,1); font-weight: 700; font-size: 13px; }
.ndcar-leasing__ico{ color: rgba(129,140,248,1); display:inline-flex; }
.ndcar-leasing__ico svg{ width: 16px; height: 16px; }
.ndcar-leasing__right{ display:flex; align-items:center; gap: 10px; }
.ndcar-leasing__pay{ color:#fff; font-weight: 800; font-size: 13px; }
.ndcar-leasing__arr{ color: rgba(113,113,122,1); display:inline-flex; transition: transform .2s ease, color .2s ease; }
.ndcar-leasing:hover .ndcar-leasing__arr{ transform: translateX(3px); color: rgba(129,140,248,1); }
.ndcar-leasing__arr svg{ width: 16px; height: 16px; }

.ndcar-card__actions{
  display:grid;
  grid-template-columns: 1fr 1fr;
  gap: 10px;
}
.ndcar-btn{display:flex;align-items:center;justify-content:center;text-decoration:none;border-radius:14px;padding:12px 12px;font-weight:800;font-size:13px;border:1px solid rgba(63,63,70,.8);}
.ndcar-btn--primary{grid-column:1 / -1;background:#fff;color:#0a0a0c;border-color:rgba(255,255,255,.65);}
.ndcar-btn--primary:hover{ background: rgba(244,244,245,1); }
.ndcar-btn--ghost{background:transparent;color:#fff;border-color:rgba(63,63,70,.9);font-weight:700;}
.ndcar-btn--ghost:hover{ border-color: rgba(113,113,122,1); }


/* --- FiboSearch global dark theme + contrast fixes (no white-on-white) --- */
.dgwt-wcas-search-wrapp,
.dgwt-wcas-search-wrapp *{
  box-sizing: border-box;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-input{
  background: #13151a !important;
  color: #ffffff !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-input::placeholder{
  color: rgba(255,255,255,.55) !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit{
  filter: invert(1) brightness(1.1);
  opacity: .85;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit:hover{ opacity: 1; }

/* suggestions + details panel */
.dgwt-wcas-suggestions-wrapp,
.dgwt-wcas-details-wrapp{
  background: #13151a !important;
  border: 1px solid rgba(255,255,255,.12) !important;
  border-radius: 14px !important;
  color: rgba(255,255,255,.9) !important;
}
.dgwt-wcas-suggestion,
.dgwt-wcas-details-wrapp *{
  color: rgba(255,255,255,.9) !important;
}
.dgwt-wcas-suggestion:hover,
.dgwt-wcas-suggestion.dgwt-wcas-suggestion-selected{
  background: rgba(37,99,235,.18) !important;
}
.dgwt-wcas-suggestion .dgwt-wcas-st,
.dgwt-wcas-details-wrapp .woocommerce-Price-amount{
  color: rgba(255,255,255,.68) !important;
}


/* --- Grid layout override (2 cols mobile, 3 cols desktop) --- */
.ndcar-cards-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
@media (min-width: 1024px){
  .ndcar-cards-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}





/* --- Full width modules (edge-to-edge with small paddings) --- */
.ndcar-filter,
.ndcar-results{
  max-width: none !important;
  width: 100% !important;
  padding-left: 16px !important;
  padding-right: 16px !important;
}
@media (max-width: 480px){
  .ndcar-filter,
  .ndcar-results{
    padding-left: 12px !important;
    padding-right: 12px !important;
  }
}

/* --- Brand filter grid: 3 columns (desktop), 2 columns (mobile) --- */
.ndcar-grid{
  display: grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
}
@media (min-width: 768px){
  .ndcar-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

/* --- Logos in top row --- */
.ndcar-logo{display:flex;align-items:center;gap:10px}
.ndcar-logo-img{width:32px;height:24px;display:flex;align-items:center;justify-content:center;}

/* --- Ensure card images fill image block --- */
.ndcar-card__img img{width:100% !important;height:100% !important;object-fit:cover !important;display:block !important}

/* --- FiboSearch details/suggestions contrast fixes --- */
.dgwt-wcas-details-wrapp,
.dgwt-wcas-suggestions-wrapp{background:#13151a !important;color:rgba(255,255,255,.9) !important}
.dgwt-wcas-details-wrapp *{color:rgba(255,255,255,.9) !important}
.dgwt-wcas-details-wrapp .woocommerce-Price-amount{color:rgba(255,255,255,.9) !important}
.dgwt-wcas-suggestion .dgwt-wcas-st{color:rgba(255,255,255,.65) !important}

/* --- Grid layout override (2 cols mobile, 3 cols desktop) --- */
.ndcar-cards-grid{
  display:grid !important;
  grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
  gap: 18px !important;
}
@media (min-width: 1024px){
  .ndcar-cards-grid{ grid-template-columns: repeat(3, minmax(0, 1fr)) !important; }
}

.ndcar-vat__txt{white-space:nowrap;}

.ndcar-logo-img.is-invert{filter:brightness(0) invert(1);} 


/* --- Brand toggle button (visible, separate style) --- */
.ndcar-brand-toggle{
  grid-column: 1 / -1 !important;
  margin-top: 10px !important;
  background: rgba(255,255,255,.04) !important;
  border: 1px solid rgba(255,255,255,.14) !important;
  border-radius: 14px !important;
  padding: 12px 14px !important;
  justify-content: center !important;
  text-align: center !important;
}
.ndcar-brand-toggle .ndcar-brand-name{
  font-weight: 800 !important;
  letter-spacing: .08em !important;
  text-transform: uppercase !important;
  color: rgba(255,255,255,.92) !important;
}
.ndcar-brand-toggle:hover{
  border-color: rgba(255,0,0,.55) !important;
  box-shadow: 0 0 18px rgba(255,0,0,.18);
}

.ndcar-brand{align-items:center;}


/* --- Mobile polish: one card per row, smaller badges, better typography --- */
@media (max-width: 640px){
  .ndcar-cards-grid{grid-template-columns: 1fr !important; gap: 14px !important;}
  .ndcar-card__img{height: 220px !important;}
  .ndcar-card__badges{top:10px !important; left:10px !important; gap:6px !important;}
  .ndcar-badge{padding:3px 8px !important; font-size:11px !important; border-radius:9px !important;}
  .ndcar-card__body{padding: 18px !important;}
  .ndcar-card__title{font-size: 20px !important;}
  .ndcar-card__specs{grid-template-columns: repeat(2, minmax(0,1fr)) !important; gap: 8px 10px !important; margin: 10px 0 14px !important;}
  .ndcar-spec{font-size: 12px !important;}
  .ndcar-price{font-size: 26px !important;}
  .ndcar-pricebox{padding: 14px !important;}
  .ndcar-leasing{padding: 10px 12px !important;}
  .ndcar-card__actions{grid-template-columns: 1fr !important;}
  .ndcar-btn{padding: 12px 12px !important;}
}

.ndcar-results-list{width:100%;}


/* --- FiboSearch input spacing: prevent icon overlap --- */
.dgwt-wcas-search-wrapp .dgwt-wcas-search-input{
  padding-left: 44px !important;
  padding-right: 44px !important;
  height: 48px !important;
  line-height: 48px !important;
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit{
  width: 40px !important;
  height: 40px !important;
  left: 10px !important;
  top: 50% !important;
  transform: translateY(-50%);
}
.dgwt-wcas-search-wrapp .dgwt-wcas-search-submit:before{
  margin: 0 !important;
}

.ndcar-btn--wide{grid-column:1 / -1 !important;}


/* --- SSR toggle (works even if JS/AJAX fails) --- */
.ndcar-brand-toggle-input{position:absolute;left:-9999px;opacity:0}
.ndcar-brand-extra-wrap{display:none}
.ndcar-brand-toggle-input:checked ~ .ndcar-brand-extra-wrap{display:contents}
.ndcar-toggle-hide{display:none}
.ndcar-brand-toggle-input:checked ~ .ndcar-brand-toggle .ndcar-toggle-show{display:none}
.ndcar-brand-toggle-input:checked ~ .ndcar-brand-toggle .ndcar-toggle-hide{display:inline}
