/* Elementor widgets — minimal / professional */

.k4-widget{
  font-family:'Archivo',-apple-system,'Segoe UI',Helvetica,sans-serif;
  color:var(--ink,#0A0A0A);
  --line:#E8E8EA;
  --mist:#F7F7F8;
}
.k4-w-empty{padding:48px 0;text-align:center;color:#6B6F76;font-size:14px;}

.k4-w-hd{margin-bottom:28px;max-width:16ch;}
.k4-w-hd.is-full,.k4-w-hd.is-full .k4-h2{max-width:none!important;width:100%;}
.k4-w-hd .k4-h2{margin-top:12px;font-size:clamp(28px,3.5vw,44px);font-weight:500;letter-spacing:-.03em;line-height:1.1;}
.k4-w-filtered > .k4-w-hd{grid-column:1/-1;}

.k4-widget.hide-badge .k4-card-badge{display:none!important;}
.k4-widget.hide-tags .k4-card-tags{display:none!important;}
.k4-widget.hide-trim .k4-card-trim{display:none!important;}
.k4-widget.hide-price .k4-card-pay{display:none!important;}
.k4-widget.hide-meta .k4-card-meta{display:none!important;}
.k4-widget.hide-cta .k4-card-explore{display:none!important;}

.k4-w-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:28px;}
.k4-w-item .k4-card{height:100%;}

/* Slider */
.k4-w-slider{position:relative;padding:0 28px;}
.k4-w-slider-track-wrap{overflow:hidden;}
.k4-w-slider-track{display:flex;gap:16px;transition:transform .45s cubic-bezier(.16,1,.3,1);}
.k4-w-slide{flex:0 0 calc((100% - 32px) / 3);min-width:0;}
.k4-w-slider-btn{
  position:absolute;top:40%;transform:translateY(-50%);z-index:2;
  width:32px;height:32px;border:1px solid var(--line);background:#fff;
  font-size:14px;cursor:pointer;transition:background .2s,color .2s,border-color .2s;
}
.k4-w-slider-btn:hover{background:var(--hover,#0A0A0A);color:#fff;border-color:var(--hover,#0A0A0A);}
.k4-w-prev{left:0;}
.k4-w-next{right:0;}
.k4-w-dots{display:flex;gap:6px;justify-content:center;margin-top:24px;}
.k4-w-dots button{width:6px;height:6px;border-radius:50%;border:none;padding:0;background:#D0D0D2;cursor:pointer;}
.k4-w-dots button.is-on{background:#0A0A0A;}

/* Filtered */
.k4-w-filtered{display:grid;grid-template-columns:240px 1fr;gap:40px;align-items:start;}
.k4-w-filtered.is-right{grid-template-columns:1fr 240px;}
.k4-w-filtered.is-right .k4-w-sidebar{order:2;}
.k4-w-filtered.is-right .k4-w-main{order:1;}
.k4-w-sidebar{border:1px solid var(--line);padding:20px;position:sticky;top:96px;background:#fff;}
.k4-w-sidebar-hd{
  display:flex;justify-content:space-between;align-items:center;
  margin-bottom:20px;padding-bottom:12px;border-bottom:1px solid var(--line);
  font-size:13px;font-weight:500;
}
.k4-w-reset{
  font-size:10px;color:#8E9298;background:none;border:none;cursor:pointer;
  text-transform:uppercase;letter-spacing:.14em;font-family:'JetBrains Mono',monospace;
}
.k4-w-fgroup{margin-bottom:22px;}
.k4-w-fgroup > .k4-mono{display:block;margin-bottom:10px;}
.k4-w-fopts{display:flex;flex-direction:column;align-items:flex-start;gap:8px;}
.k4-w-toolbar{margin-bottom:16px;min-height:18px;}
.k4-w-filtered .k4-empty{display:none;padding:48px 0;text-align:center;border:none;}
.k4-w-filtered .k4-empty.is-show{display:block;}

/* Search */
.k4-w-search-form{
  display:grid;grid-template-columns:repeat(5,minmax(0,1fr)) auto;
  gap:14px 16px;align-items:end;padding:20px;border:1px solid var(--line);background:#fff;
}
.k4-w-search.is-card .k4-w-search-form{grid-template-columns:1fr 1fr;}
.k4-w-search.is-card .k4-w-search-act{grid-column:1/-1;}
.k4-w-search .k4-field{margin:0;}
.k4-w-search-act{display:flex;align-items:flex-end;}

/* Brands / categories */
.k4-w-models{padding:4px 0;}
.k4-models-hd{margin-bottom:40px;max-width:none;width:100%;}
.k4-models-hd .k4-h2{max-width:none;width:100%;}
.k4-models.is-classic{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:32px 24px;}
.k4-models.is-classic .k4-model{display:block;text-align:left;}
.k4-model-art{position:relative;aspect-ratio:16/10;overflow:hidden;background:#0B0D10;margin-bottom:4px;}
.k4-model-art img,.k4-model-art .k4-study{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.k4-models.is-classic .k4-model:hover .k4-model-art img,
.k4-models.is-classic .k4-model:hover .k4-model-art .k4-study{transform:scale(1.03);}
.k4-models.is-classic .k4-model h3{font-size:clamp(20px,2.2vw,28px);font-weight:500;letter-spacing:-.025em;margin-top:10px;}
.k4-models.is-classic .k4-model p{margin-top:10px;font-size:14px;line-height:1.6;color:#4A4E54;max-width:34ch;}
.k4-models.is-classic .k4-model .k4-link{margin-top:16px;font-size:13.5px;}
.k4-models-foot{margin-top:40px;padding-top:24px;border-top:1px solid var(--line);}

/* Porsche-style expand category — grid rows + % hover */
.k4-models.is-expand{
  display:flex;flex-direction:column;gap:12px;width:100%;height:auto;
}
.k4-models-row{
  display:flex;align-items:stretch;gap:12px;
  height:min(70vh,520px);width:100%;
}
.k4-models-row .k4-model-expand{
  position:relative;flex:1 1 0;min-width:0;overflow:hidden;
  border-radius:20px;color:#fff;text-decoration:none;
  transition:flex .55s cubic-bezier(.22,1,.36,1);
  display:block;
}
/* 2 cards: 50/50 → hover 60/40 */
.k4-models-row[data-cols="2"]:hover .k4-model-expand{flex:2 1 0;}
.k4-models-row[data-cols="2"] .k4-model-expand:hover{flex:3 1 0;}
/* 3 cards: ~33 each → hover 50 / 25 / 25 */
.k4-models-row[data-cols="3"]:hover .k4-model-expand{flex:1 1 0;}
.k4-models-row[data-cols="3"] .k4-model-expand:hover{flex:2 1 0;}
/* 4 cards: 25 each → hover 40 / 20 / 20 / 20 */
.k4-models-row[data-cols="4"]:hover .k4-model-expand{flex:1 1 0;}
.k4-models-row[data-cols="4"] .k4-model-expand:hover{flex:2 1 0;}
/* single card in last row */
.k4-models-row[data-cols="1"] .k4-model-expand{flex:1 1 100%;}

.k4-model-media{position:absolute;inset:0;}
.k4-model-media img,.k4-model-media .k4-study{
  position:absolute;inset:0;width:100%;height:100%;object-fit:cover;
  transition:transform .8s cubic-bezier(.16,1,.3,1);
}
.k4-model-expand:hover .k4-model-media img,
.k4-model-expand:hover .k4-model-media .k4-study{transform:scale(1.04);}
.k4-model-shade{
  position:absolute;inset:0;pointer-events:none;
  background:linear-gradient(180deg,rgba(0,0,0,.35) 0%,transparent 38%,rgba(0,0,0,.55) 100%);
}
.k4-model-top{
  position:absolute;left:0;right:0;top:0;z-index:2;
  padding:28px 24px 0;text-align:center;
}
.k4-model-top h3{
  margin:0;font-size:clamp(28px,3vw,48px);font-weight:600;
  letter-spacing:-.03em;line-height:1;color:#fff;
}
.k4-model-bottom{
  position:absolute;left:0;right:0;bottom:0;z-index:2;
  display:flex;align-items:flex-end;justify-content:space-between;gap:16px;
  padding:24px;
}
.k4-model-meta{min-width:0;flex:1;}
.k4-model-pills{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.k4-model-pills span{
  display:inline-block;font-size:11px;font-weight:500;letter-spacing:.02em;
  color:rgba(255,255,255,.92);background:rgba(20,20,20,.55);
  backdrop-filter:blur(8px);padding:5px 10px;border-radius:999px;
}
.k4-model-meta p{
  margin:0;font-size:13.5px;line-height:1.45;color:rgba(255,255,255,.92);
  max-width:34ch;
  opacity:0;transform:translateY(8px);
  transition:opacity .35s ease,transform .35s ease;
}
.k4-model-expand:hover .k4-model-meta p,
.k4-models-row .k4-model-expand:focus-visible .k4-model-meta p{
  opacity:1;transform:translateY(0);
}
.k4-model-go{
  flex:0 0 auto;width:40px;height:40px;border-radius:50%;
  background:rgba(20,20,20,.7);backdrop-filter:blur(8px);
  display:inline-flex;align-items:center;justify-content:center;color:#fff;
  transition:background .25s ease,transform .25s ease;
}
.k4-model-expand:hover .k4-model-go{
  background:var(--hover,#0A0A0A);transform:scale(1.05);
}

@media (max-width:1000px){
  .k4-w-filtered{grid-template-columns:1fr;gap:28px;}
  .k4-w-sidebar{position:static;}
  .k4-w-slider{padding:0 24px;}
  .k4-w-slide{flex-basis:calc((100% - 16px) / 2);}
  .k4-w-search-form{grid-template-columns:1fr 1fr;}
  .k4-w-search-act{grid-column:1/-1;}
  .k4-models.is-classic{grid-template-columns:1fr;}
  .k4-models-row{flex-direction:column;height:auto!important;}
  .k4-models-row .k4-model-expand,
  .k4-models-row:hover .k4-model-expand,
  .k4-models-row .k4-model-expand:hover{flex:none!important;height:280px;}
  .k4-model-meta p{opacity:1;transform:none;}
}
@media (max-width:640px){
  .k4-w-grid{grid-template-columns:1fr;}
  .k4-w-slide{flex-basis:100%;}
  .k4-w-search-form{grid-template-columns:1fr;}
  .k4-models.is-classic{grid-template-columns:1fr;}
}
