.webboz-filters {
  background:#f7f7f7;
  padding:16px;
  margin-bottom:24px;
  border:1px solid #e6e6e6;
}
.webboz-filters .filter-row {
  display:flex;
  gap:12px;
  margin-bottom:12px;
  flex-wrap:wrap;
  align-items:center;
}
.webboz-filters select,
.webboz-filters input {
  padding:8px 10px;
  border:1px solid #d9d9d9;
  border-radius:6px;
}
.webboz-filters label{
  font-weight:600;
}
.webboz-filters .filter-actions{
  display:flex;
  gap:12px;
  align-items:center;
}
.webboz-btn{
  display:inline-block;
  padding:10px 14px;
  border-radius:8px;
  text-decoration:none;
  border:none;
  cursor:pointer;
  font-weight:600;
}
.webboz-reset{
  color:#333;
  text-decoration:underline;
}

.webboz-vehicles-grid {
  display:grid;
  gap:24px;
}
@media (min-width:1025px){
  .webboz-vehicles-grid{grid-template-columns:repeat(var(--cols-desktop),1fr);}
}
@media (max-width:1024px){
  .webboz-vehicles-grid{grid-template-columns:repeat(var(--cols-tablet),1fr);}
}
@media (max-width:640px){
  .webboz-vehicles-grid{grid-template-columns:repeat(var(--cols-mobile),1fr);}
}

.webboz-vehicle-card{
  border:1px solid #e6e6e6;
  border-radius:12px;
  overflow:hidden;
  background:#fff;
}
.webboz-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
  padding:16px;
}
.webboz-card-image img{
  width:100%;
  height:auto;
  display:block;
  border-radius:10px;
  margin-bottom:12px;
}
.webboz-vehicle-price{
  font-weight:800;
  font-size:1.2em;
  margin:8px 0 10px;
}
.webboz-card-meta{
  display:grid;
  gap:6px;
  font-size:0.95em;
  opacity:.95;
}
.webboz-card-actions{
  padding:0 16px 16px;
}
.webboz-vehicle-detail{
  max-width:1100px;
  margin:0 auto;
  padding:calc(24px + var(--webboz-detail-offset, 0px)) 16px 24px;
}
.webboz-gallery{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(3,1fr);
  margin:16px 0;
}
@media (max-width:900px){ .webboz-gallery{grid-template-columns:repeat(2,1fr);} }
@media (max-width:560px){ .webboz-gallery{grid-template-columns:repeat(1,1fr);} }
.webboz-gallery img{width:100%;height:auto;border-radius:10px;display:block;}
.webboz-vehicle-attributes{margin-top:16px;display:grid;gap:8px;}
.webboz-detail-actions{margin-top:18px;display:flex;gap:12px;flex-wrap:wrap;}

/* Detail page layout */
.webboz-detail-header{
  margin-bottom:18px;
}
.webboz-detail-price{
  font-weight:900;
  font-size:1.6em;
  margin-top:6px;
}
.webboz-detail-facts{
  display:flex;
  flex-wrap:wrap;
  gap:10px 14px;
  margin-top:10px;
  color:#333;
  opacity:.95;
}
.webboz-detail-facts span{
  background:#f2f2f2;
  padding:6px 10px;
  border-radius:999px;
  font-size:.95em;
}
.webboz-detail-section{
  margin-top:26px;
  padding-top:18px;
  border-top:1px solid #eee;
}
.webboz-detail-table{
  width:100%;
  border-collapse:collapse;
}
.webboz-detail-table th{
  text-align:left;
  width:260px;
  padding:10px 8px;
  border-bottom:1px solid #eee;
  vertical-align:top;
}
.webboz-detail-table td{
  padding:10px 8px;
  border-bottom:1px solid #eee;
}
.webboz-bullets{
  columns:2;
  column-gap:22px;
  padding-left:18px;
}
@media (max-width:820px){
  .webboz-bullets{columns:1;}
  .webboz-detail-table th{width:170px;}
}

/* Gallery */
.webboz-gallery{
  display:grid;
  gap:10px;
  grid-template-columns:repeat(4,1fr);
}
@media (max-width:1000px){ .webboz-gallery{grid-template-columns:repeat(3,1fr);} }
@media (max-width:720px){ .webboz-gallery{grid-template-columns:repeat(2,1fr);} }
@media (max-width:520px){ .webboz-gallery{grid-template-columns:repeat(1,1fr);} }
.webboz-gallery a{display:block;}
.webboz-gallery img{
  width:100%;
  height:auto;
  border-radius:10px;
  display:block;
}

/* Lightbox */
.webboz-lightbox{
  position:fixed;
  inset:0;
  background:rgba(0,0,0,.86);
  display:flex;
  align-items:center;
  justify-content:center;
  z-index:999999;
}
.webboz-lightbox-img{
  max-width:92vw;
  max-height:86vh;
  border-radius:10px;
}
.webboz-lightbox-close,
.webboz-lightbox-prev,
.webboz-lightbox-next{
  position:fixed;
  top:50%;
  transform:translateY(-50%);
  border:none;
  background:rgba(255,255,255,.18);
  color:#fff;
  font-size:34px;
  line-height:1;
  padding:10px 14px;
  border-radius:999px;
  cursor:pointer;
}
.webboz-lightbox-close{
  top:24px;
  right:24px;
  transform:none;
  font-size:30px;
}
.webboz-lightbox-prev{ left:18px; }
.webboz-lightbox-next{ right:18px; }
@media (max-width:600px){
  .webboz-lightbox-prev,.webboz-lightbox-next{display:none;}
}

/* Typography variables (configured in Backend > Darstellung) */
.webboz-scope .webboz-card-title,
.webboz-scope .webboz-title{
  font-size: var(--webboz-list-title-fs, 18px);
}
.webboz-scope .webboz-price{
  font-size: var(--webboz-list-price-fs, 18px);
}
.webboz-scope .webboz-meta,
.webboz-scope .webboz-details,
.webboz-scope .webboz-card-meta{
  font-size: var(--webboz-list-meta-fs, 14px);
}

/* Detail typography */
.webboz-scope .webboz-vehicle-detail h1{
  font-size: var(--webboz-detail-h1-fs, 30px);
}
.webboz-scope .webboz-detail-price{
  font-size: var(--webboz-detail-price-fs, 28px);
}
.webboz-scope .webboz-vehicle-detail h2{
  font-size: var(--webboz-detail-h2-fs, 22px);
}
.webboz-scope .webboz-vehicle-detail,
.webboz-scope .webboz-vehicle-detail p,
.webboz-scope .webboz-vehicle-detail td,
.webboz-scope .webboz-vehicle-detail th,
.webboz-scope .webboz-bullets li{
  font-size: var(--webboz-detail-text-fs, 16px);
}

.webboz-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px;}
.webboz-actions .webboz-btn{flex:1 1 auto;text-align:center;}

.webboz-card-link--nolink{cursor:default;text-decoration:none;}


/* Detail slider */
.webboz-slider{margin:16px 0;}
.webboz-slider-main{position:relative;border-radius:16px;overflow:hidden;background:#f4f4f4;}
.webboz-slider-main img{width:100%;height:auto;display:block;object-fit:cover;}
.webboz-slider-nav{position:absolute;top:50%;transform:translateY(-50%);width:44px;height:44px;border-radius:999px;border:0;background:rgba(255,255,255,.9);cursor:pointer;font-size:28px;line-height:44px;text-align:center;}
.webboz-slider-prev{left:14px;}
.webboz-slider-next{right:14px;}
.webboz-slider-count{position:absolute;top:12px;left:12px;background:rgba(0,0,0,.6);color:#fff;font-size:12px;padding:6px 10px;border-radius:999px;}
.webboz-slider-actions{display:flex;gap:10px;flex-wrap:wrap;margin:10px 0;}
.webboz-btn--outline{background:transparent;border:2px solid var(--webboz-btn-bg,#007f6a);color:var(--webboz-btn-bg,#007f6a);}
.webboz-btn--outline:hover{opacity:.9;}
.webboz-slider-thumbs{display:flex;gap:10px;overflow:auto;padding-bottom:6px;}
.webboz-thumb{border:2px solid transparent;border-radius:10px;overflow:hidden;padding:0;background:transparent;cursor:pointer;flex:0 0 auto;}
.webboz-thumb img{width:72px;height:48px;object-fit:cover;display:block;}
.webboz-thumb.is-active{border-color:var(--webboz-btn-bg,#007f6a);}


.webboz-no-results{
  margin-top:12px;
  padding:12px 14px;
  border-radius:12px;
  background:#fff3cd;
  border:1px solid #ffe69c;
  color:#664d03;
  font-size:14px;
}

/* Filter UI v2 */
.webboz-filter-card{
  background:#fff;
  border:1px solid #e6e6e6;
  border-radius:16px;
  padding:14px;
  margin-bottom:14px;
  box-shadow:0 6px 18px rgba(0,0,0,.04);
}
.webboz-filter-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
}
.webboz-field label{
  display:block;
  font-size:13px;
  margin-bottom:6px;
  color:#111;
}
.webboz-field select, .webboz-field input{
  width:100%;
  border:1px solid #d8d8d8;
  border-radius:12px;
  padding:10px 12px;
  font-size:14px;
  background:#fff;
}
.webboz-field--checkbox{display:flex;align-items:flex-end;}
.webboz-checkbox{display:flex;gap:10px;align-items:center;user-select:none;}
.webboz-checkbox input{width:18px;height:18px;}
.webboz-advanced-toggle{
  width:100%;
  margin:6px 0 10px;
  border:1px dashed #cfcfcf;
  border-radius:12px;
  padding:10px 12px;
  background:#fafafa;
  font-weight:600;
  cursor:pointer;
  display:flex;
  justify-content:space-between;
  align-items:center;
}
.webboz-advanced-filters{margin-top:8px;}
.webboz-btn--small{
  padding:8px 10px;
  font-size:13px;
  border-radius:10px;
  display:inline-block;
}
.webboz-no-results{display:flex;gap:12px;align-items:center;justify-content:space-between;}
.webboz-no-results__text{flex:1;}
@media (max-width: 980px){
  .webboz-filter-grid{grid-template-columns:repeat(2,1fr);}
}
@media (max-width: 560px){
  .webboz-filter-grid{grid-template-columns:1fr;}
  .filter-buttons{display:flex;gap:10px;flex-direction:column;}
  .filter-buttons .webboz-btn{width:100%;text-align:center;}
  .webboz-no-results{flex-direction:column;align-items:stretch;}
  .webboz-no-results a{width:100%;text-align:center;}
}

.webboz-filters.webboz-filter-card{margin-bottom:14px;}
