
:root{
  --evds-accent:#1478ff;
  --evds-navy:#0a1f3d;
  --evds-surface:#fff;
  --evds-soft:#f7fafe;
  --evds-border:#e2e8f0;
  --evds-text:#10233f;
  --evds-muted:#6c7b90;
  --evds-radius:16px;
  --evds-gap:14px;
}

.evds-section,
.evds-section *{box-sizing:border-box}

.evds-section{
  direction:rtl;
  max-width:1240px;
  margin:0 auto 34px;
  color:var(--evds-text);
}

.evds-section-head{
  display:flex;
  align-items:flex-end;
  justify-content:space-between;
  gap:16px;
  margin-bottom:14px;
}

.evds-section-title{
  margin:0;
  font-size:clamp(22px,2vw,30px);
  line-height:1.2;
  font-weight:800;
  color:var(--evds-text);
}

.evds-section-subtitle{
  margin:6px 0 0;
  font-size:14px;
  color:var(--evds-muted);
}

.evds-nav{
  display:flex;
  align-items:center;
  gap:8px;
  flex:0 0 auto;
}

.evds-arrow{
  width:38px;
  height:38px;
  min-width:38px;
  min-height:38px;
  padding:0!important;
  margin:0!important;
  border:1px solid var(--evds-border);
  border-radius:50%;
  background:#fff;
  color:var(--evds-text);
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.18s ease;
}

.evds-arrow span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial,sans-serif;
  font-size:25px;
  line-height:1;
  transform:translateY(-1px);
}

.evds-arrow:hover{
  background:var(--evds-accent);
  border-color:var(--evds-accent);
  color:#fff;
}

.evds-track{
  display:flex;
  gap:var(--evds-gap);
  overflow-x:auto;
  scroll-snap-type:x mandatory;
  scroll-behavior:smooth;
  overscroll-behavior-inline:contain;
  scrollbar-width:none;
  padding:1px;
}

.evds-track::-webkit-scrollbar{display:none}

/* Vehicles / Categories */
.evds-slider-shell{
  display:grid;
  grid-template-columns:minmax(0,1fr) 150px;
  gap:var(--evds-gap);
  align-items:stretch;
}

.evds-slider-shell.evds-no-all{display:block}
.evds-slider-shell.evds-no-all .evds-track{width:100%}

.evds-tax-card{
  flex:0 0 calc((100% - (var(--evds-cols-d) - 1)*var(--evds-gap))/var(--evds-cols-d));
  min-width:0;
  min-height:178px;
  padding:12px;
  scroll-snap-align:start;
  border:1px solid var(--evds-border);
  border-radius:var(--evds-radius);
  background:var(--evds-surface);
  color:var(--evds-text)!important;
  text-decoration:none!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.evds-tax-card:hover{
  border-color:var(--evds-accent);
  box-shadow:0 8px 22px rgba(16,35,63,.07);
}

.evds-tax-image-wrap{
  width:100%;
  height:92px;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  margin-bottom:8px;
}

.evds-tax-image{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}

.evds-tax-name{
  font-size:15px;
  line-height:1.45;
  font-weight:800;
  text-align:center;
}

.evds-category .evds-tax-card{
  min-height:190px;
  padding:10px 10px 14px;
}

.evds-category .evds-tax-image-wrap{
  height:118px;
  margin-bottom:10px;
  border-radius:12px;
  background:var(--evds-soft);
}

.evds-category .evds-tax-image{object-fit:cover}

.evds-all-card{
  min-height:178px;
  padding:12px;
  border:1px solid var(--evds-border);
  border-radius:var(--evds-radius);
  background:linear-gradient(145deg,var(--evds-soft),#fff);
  color:var(--evds-text)!important;
  text-decoration:none!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:7px;
  text-align:center;
}

.evds-all-card strong{font-size:15px}
.evds-all-card span:last-child{font-size:12px;color:var(--evds-accent)}
.evds-all-icon{font-size:28px;color:var(--evds-accent)}

/* Products slider layout */
.evds-product-track{
  display:grid;
  grid-template-rows:repeat(var(--evds-product-rows),auto);
  grid-auto-flow:column;
  gap:var(--evds-gap);
  align-items:start;
  justify-content:start;
  overflow-x:auto;
  padding:1px 1px 10px;
}

.evds-products.evds-width-match .evds-product-track{
  grid-auto-columns:calc((100% - (var(--evds-cols-d) - 1)*var(--evds-gap))/var(--evds-cols-d));
}

.evds-products.evds-width-fixed .evds-product-track{
  grid-auto-columns:var(--evds-card-width);
}

.evds-product-card{
  width:100%;
  min-width:0;
  height:auto;
  overflow:hidden;
  scroll-snap-align:start;
  border:1px solid var(--evds-border);
  border-radius:14px;
  background:#fff;
  display:flex;
  flex-direction:column;
  transition:border-color .18s ease,box-shadow .18s ease;
}

.evds-product-card:hover{
  border-color:color-mix(in srgb,var(--evds-accent) 42%,var(--evds-border));
  box-shadow:0 8px 22px rgba(16,35,63,.06);
}

.evds-product-media{
  position:relative;
  direction:ltr;
  background:#fafbfd;
}

.evds-product-image-link{
  position:relative;
  height:var(--evds-image-height);
  padding:11px;
  display:block;
  overflow:hidden;
  background:#fafbfd;
}

.evds-product-image{
  width:100%;
  height:100%;
  display:block;
  border-radius:8px;
  transition:transform .18s ease;
}

.evds-fit-contain .evds-product-image{object-fit:contain}
.evds-fit-cover .evds-product-image{object-fit:cover}
.evds-product-card:hover .evds-product-image{transform:scale(1.015)}

/* Product badges fixed physical right */
.evds-product-badges{
  position:absolute;
  z-index:10;
  top:9px;
  right:9px;
  left:auto;
  display:flex;
  gap:5px;
  flex-wrap:wrap;
}

.evds-badge{
  min-height:22px;
  padding:3px 7px;
  border-radius:7px;
  color:#fff;
  font-size:10px;
  line-height:1.3;
  font-weight:800;
}

.evds-badge-sale{background:var(--evds-accent)}
.evds-badge-percent{background:#0d1b2f}
.evds-badge-new{background:#6b7280}

/* Official END Woo Favorites button fixed physical left */
.evds-wishlist{
  position:absolute;
  z-index:30;
  top:9px;
  left:9px;
  right:auto;
  width:auto;
  height:auto;
  padding:0;
  margin:0;
  direction:ltr;
}

.evds-wishlist .end-wf-button{
  width:31px!important;
  height:31px!important;
  min-width:31px!important;
  min-height:31px!important;
  padding:4px!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
}

.evds-wishlist .end-wf-label{display:none!important}

.evds-wishlist .end-wf-icon-wrap{
  width:23px!important;
  height:23px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.evds-wishlist .end-wf-icon{
  width:22px!important;
  height:22px!important;
  display:block!important;
}

.evds-wishlist .end-wf-button:not(.is-favorite){
  color:var(--evds-navy)!important;
}

.evds-wishlist .end-wf-button.is-favorite{
  color:var(--evds-accent)!important;
}

/* Product info */
.evds-product-body{
  min-height:0!important;
  padding:11px 12px 12px!important;
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:7px;
  text-align:center;
}

.evds-product-title{
  width:100%;
  min-height:0!important;
  margin:0;
  color:var(--evds-text);
  font-size:13px!important;
  line-height:1.5!important;
  font-weight:700;
  text-align:center;
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
}

.evds-product-title a{
  color:var(--evds-text)!important;
  text-decoration:none!important;
}

.evds-rating{
  width:100%;
  min-height:16px;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  line-height:1;
}

.evds-rating .star-rating{
  float:none;
  margin:0;
  font-size:11px;
}

.evds-review-count{
  font-size:10px;
  color:var(--evds-muted);
  white-space:nowrap;
}

.evds-excerpt{
  width:100%;
  color:var(--evds-muted);
  font-size:11px;
  line-height:1.55;
  text-align:center;
}

.evds-stock{
  min-height:24px;
  padding:4px 9px;
  border-radius:999px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:6px;
  font-size:10.5px;
  line-height:1;
  font-weight:700;
}

.evds-stock-dot{
  width:7px;
  height:7px;
  border-radius:50%;
  background:currentColor;
}

.evds-stock.is-in{background:#effaf3;color:#238447}
.evds-stock.is-out{background:#fff1f1;color:#b23a3a}

/* Bottom row: physical left/right independent of RTL */
.evds-product-bottom{
  width:100%;
  min-height:var(--evds-action-size);
  margin-top:4px;
  padding:0;
  direction:ltr;
  display:grid;
  grid-template-columns:var(--evds-action-size) minmax(0,1fr) var(--evds-action-size);
  align-items:center;
  gap:6px;
}

.evds-product-bottom .evds-price{
  grid-column:2;
  direction:rtl;
  width:100%;
  min-height:0;
  margin:0;
  padding:0;
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  flex-wrap:wrap;
  color:var(--evds-accent);
  font-size:14px;
  line-height:1.35;
  font-weight:800;
  text-align:center;
}

.evds-price del{
  color:var(--evds-muted);
  font-size:10.5px;
  font-weight:500;
  opacity:.82;
}

.evds-price ins{
  color:inherit;
  font-size:14px;
  font-weight:800;
  text-decoration:none;
}

.evds-product-actions{
  position:static;
  width:var(--evds-action-size);
  height:var(--evds-action-size);
  margin:0;
  padding:0;
}

.evds-action-left .evds-product-actions{
  grid-column:1;
  grid-row:1;
}

.evds-action-right .evds-product-actions{
  grid-column:3;
  grid-row:1;
}

/* Purchase button — complete color control */
.evds-buy-button{
  width:var(--evds-action-size)!important;
  height:var(--evds-action-size)!important;
  min-width:var(--evds-action-size)!important;
  min-height:var(--evds-action-size)!important;
  padding:0!important;
  margin:0!important;
  border:1px solid var(--evds-action-border)!important;
  border-radius:10px!important;
  background:var(--evds-action-color)!important;
  color:var(--evds-action-icon)!important;
  box-shadow:none!important;
  text-decoration:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-size:0!important;
  line-height:0!important;
  transition:background .16s ease,color .16s ease,border-color .16s ease,transform .16s ease!important;
}

.evds-buy-button:hover{
  background:var(--evds-action-hover)!important;
  color:var(--evds-action-hover-icon)!important;
  border-color:var(--evds-action-hover-border)!important;
  transform:translateY(-1px);
}

.evds-action-style-outline .evds-buy-button{
  background:transparent!important;
}

.evds-action-style-soft .evds-buy-button{
  background:color-mix(in srgb,var(--evds-action-color) 14%,#fff)!important;
}

.evds-action-style-minimal .evds-buy-button{
  background:transparent!important;
  border-color:transparent!important;
}

.evds-action-shape-circle .evds-buy-button{border-radius:50%!important}
.evds-action-shape-rounded .evds-buy-button{border-radius:10px!important}
.evds-action-shape-square .evds-buy-button{border-radius:2px!important}

.evds-buy-svg{
  width:20px!important;
  height:20px!important;
  display:block!important;
  overflow:visible!important;
  color:currentColor!important;
  fill:none!important;
}

.evds-buy-svg path{
  stroke:currentColor!important;
}

.evds-buy-svg circle{
  color:currentColor!important;
  fill:currentColor!important;
}

.evds-buy-button.is-loading{
  opacity:.55!important;
  pointer-events:none!important;
}

.evds-buy-button.is-added{
  box-shadow:0 0 0 3px color-mix(in srgb,var(--evds-action-color) 16%,transparent)!important;
}

.evds-buy-button.has-error{
  border-color:#dc2626!important;
}

/* Compact / Standard / Large content */
.evds-size-compact .evds-product-body{padding:10px 11px 11px!important}
.evds-size-compact .evds-product-title{font-size:12.5px!important}
.evds-size-standard .evds-product-body{padding:13px!important}
.evds-size-standard .evds-product-title{font-size:14px!important}
.evds-size-large .evds-product-body{padding:15px!important}
.evds-size-large .evds-product-title{font-size:15px!important}

@media(max-width:1024px){
  .evds-tax-card{
    flex-basis:calc((100% - (var(--evds-cols-t) - 1)*var(--evds-gap))/var(--evds-cols-t));
  }

  .evds-slider-shell{
    grid-template-columns:minmax(0,1fr) 128px;
  }

  .evds-products.evds-width-match .evds-product-track{
    grid-auto-columns:calc((100% - (var(--evds-cols-t) - 1)*var(--evds-gap))/var(--evds-cols-t));
  }
}

@media(max-width:767px){
  .evds-section{
    padding-inline:14px;
    margin-bottom:26px;
  }

  .evds-nav{display:none}

  .evds-slider-shell{
    display:flex;
    flex-direction:column;
  }

  .evds-track{gap:10px}

  .evds-tax-card{
    flex-basis:calc((100% - (var(--evds-cols-m) - 1)*10px)/var(--evds-cols-m));
    min-height:150px;
    padding:10px;
  }

  .evds-tax-image-wrap{height:76px}

  .evds-category .evds-tax-card{min-height:160px}
  .evds-category .evds-tax-image-wrap{height:92px}

  .evds-all-card{min-height:110px}

  .evds-products.evds-width-match .evds-product-track{
    grid-auto-columns:calc((100% - (var(--evds-cols-m) - 1)*10px)/var(--evds-cols-m));
  }

  .evds-product-image-link{
    height:min(var(--evds-image-height),145px);
    padding:9px;
  }

  .evds-product-body{padding:9px 10px 10px!important}
  .evds-product-title{font-size:12px!important}
  .evds-product-bottom .evds-price{font-size:13px}
}


/* =========================================================
   v0.9.5 — add-to-cart toast
   ========================================================= */
.evds-cart-toast{
  position:fixed;
  left:50%;
  bottom:26px;
  z-index:999999;
  transform:translate(-50%,18px);
  min-width:220px;
  max-width:calc(100vw - 28px);
  padding:11px 14px;
  border:1px solid rgba(15,35,65,.08);
  border-radius:12px;
  background:#ffffff;
  color:var(--evds-text);
  box-shadow:0 12px 34px rgba(15,35,65,.16);
  display:flex;
  align-items:center;
  justify-content:center;
  gap:9px;
  opacity:0;
  visibility:hidden;
  pointer-events:none;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease;
  direction:rtl;
  font-size:13px;
  font-weight:700;
}

.evds-cart-toast.is-visible{
  opacity:1;
  visibility:visible;
  transform:translate(-50%,0);
}

.evds-cart-toast__icon{
  width:22px;
  height:22px;
  flex:0 0 22px;
  border-radius:50%;
  background:var(--evds-accent);
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:13px;
  line-height:1;
  font-weight:900;
}

.evds-cart-toast__text{
  line-height:1.4;
}

@media(max-width:767px){
  .evds-cart-toast{
    bottom:18px;
    min-width:0;
    width:auto;
    max-width:calc(100vw - 24px);
    padding:10px 12px;
    font-size:12.5px;
  }
}


/* =========================================================
   v0.10.0 — configurable END Woo Favorites appearance
   ========================================================= */
.evds-products .evds-wishlist .end-wf-button{
  width:var(--evds-wishlist-size)!important;
  height:var(--evds-wishlist-size)!important;
  min-width:var(--evds-wishlist-size)!important;
  min-height:var(--evds-wishlist-size)!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--evds-wishlist-color)!important;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease!important;
}
.evds-products .evds-wishlist .end-wf-button:hover{color:var(--evds-wishlist-hover)!important}
.evds-products .evds-wishlist .end-wf-button.is-favorite{
  color:var(--evds-wishlist-active)!important;
  background:var(--evds-wishlist-active-bg)!important;
}
.evds-products .evds-wishlist .end-wf-icon,
.evds-products .evds-wishlist .evds-wishlist-svg{
  width:var(--evds-wishlist-icon-size)!important;
  height:var(--evds-wishlist-icon-size)!important;
  display:block!important;
  stroke:currentColor!important;
  fill:none!important;
}
.evds-products .evds-wishlist .end-wf-button.is-favorite .end-wf-icon,
.evds-products .evds-wishlist .end-wf-button.is-favorite .evds-wishlist-svg{
  fill:currentColor!important;
  stroke:currentColor!important;
}
.evds-products .evds-wishlist .evds-wishlist-always-filled{
  fill:currentColor!important;
  stroke:currentColor!important;
}
.evds-products.evds-wishlist-style-minimal .evds-wishlist .end-wf-button{
  background:transparent!important;border:0!important;border-radius:0!important;box-shadow:none!important
}
.evds-products.evds-wishlist-style-soft .evds-wishlist .end-wf-button{
  background:color-mix(in srgb,var(--evds-wishlist-bg) 84%,transparent)!important;
  border:1px solid color-mix(in srgb,var(--evds-wishlist-border) 55%,transparent)!important;
  border-radius:10px!important;box-shadow:0 4px 12px rgba(16,35,63,.06)!important
}
.evds-products.evds-wishlist-style-circle .evds-wishlist .end-wf-button{
  background:var(--evds-wishlist-bg)!important;border:1px solid var(--evds-wishlist-border)!important;
  border-radius:50%!important;box-shadow:0 4px 12px rgba(16,35,63,.08)!important
}
.evds-products.evds-wishlist-style-square .evds-wishlist .end-wf-button{
  background:var(--evds-wishlist-bg)!important;border:1px solid var(--evds-wishlist-border)!important;
  border-radius:9px!important;box-shadow:0 4px 12px rgba(16,35,63,.07)!important
}
.evds-products.evds-wishlist-style-soft .evds-wishlist .end-wf-button:hover,
.evds-products.evds-wishlist-style-circle .evds-wishlist .end-wf-button:hover,
.evds-products.evds-wishlist-style-square .evds-wishlist .end-wf-button:hover{
  transform:translateY(-1px)!important
}


/* =========================================================
   v0.11.0 — refined product cards
   ========================================================= */
.evds-products .evds-product-card{border-radius:var(--evds-card-radius)!important}
.evds-products .evds-product-body{padding:var(--evds-card-padding)!important;gap:8px!important}
.evds-products .evds-product-title{
  min-height:var(--evds-title-min-height)!important;
  display:-webkit-box!important;-webkit-box-orient:vertical!important;
  -webkit-line-clamp:var(--evds-title-lines)!important;overflow:hidden!important;
}
.evds-products .evds-rating{opacity:.92}
.evds-products .evds-product-bottom .evds-price{column-gap:6px!important;row-gap:2px!important}
.evds-products.evds-price-stacked .evds-product-bottom .evds-price{flex-direction:column!important;gap:1px!important}
.evds-products.evds-price-stacked .evds-product-bottom .evds-price del{order:1}
.evds-products.evds-price-stacked .evds-product-bottom .evds-price ins{order:2}

.evds-products .evds-badge{border-radius:var(--evds-badge-radius)!important;box-shadow:none!important}
.evds-products.evds-badge-style-soft .evds-badge{border:1px solid transparent}
.evds-products.evds-badge-style-soft .evds-badge-sale{
  background:color-mix(in srgb,var(--evds-accent) 12%,#fff)!important;
  border-color:color-mix(in srgb,var(--evds-accent) 22%,transparent)!important;
  color:var(--evds-accent)!important
}
.evds-products.evds-badge-style-soft .evds-badge-percent{
  background:#eef2f7!important;border-color:#dce3ec!important;color:#17283f!important
}
.evds-products.evds-badge-style-soft .evds-badge-new{
  background:#f4f5f7!important;border-color:#e5e7eb!important;color:#4b5563!important
}
.evds-products.evds-badge-style-solid .evds-badge-sale{background:var(--evds-accent)!important;color:#fff!important}
.evds-products.evds-badge-style-solid .evds-badge-percent{background:#17283f!important;color:#fff!important}
.evds-products.evds-badge-style-solid .evds-badge-new{background:#6b7280!important;color:#fff!important}
.evds-products.evds-badge-style-minimal .evds-badge{
  min-height:auto!important;padding:2px 4px!important;background:transparent!important;border:0!important;font-weight:800!important
}
.evds-products.evds-badge-style-minimal .evds-badge-sale{color:var(--evds-accent)!important}
.evds-products.evds-badge-style-minimal .evds-badge-percent{color:#17283f!important}
.evds-products.evds-badge-style-minimal .evds-badge-new{color:#6b7280!important}

.evds-products .evds-buy-button{
  box-shadow:0 3px 10px color-mix(in srgb,var(--evds-action-color) 12%,transparent)!important
}
.evds-products.evds-action-style-minimal .evds-buy-button{box-shadow:none!important}
.evds-products .evds-product-media{
  border-bottom:1px solid color-mix(in srgb,var(--evds-border) 70%,transparent)
}

@media(max-width:767px){
  .evds-products.evds-mobile-compact .evds-product-body{padding:9px!important;gap:5px!important}
  .evds-products.evds-mobile-compact .evds-product-title{
    min-height:36px!important;font-size:11.5px!important;line-height:1.45!important
  }
  .evds-products.evds-mobile-compact .evds-product-bottom{gap:4px!important}
  .evds-products.evds-mobile-compact .evds-product-bottom .evds-price{font-size:12.5px!important}
  .evds-products.evds-mobile-compact .evds-price del{font-size:9.5px!important}
  .evds-products.evds-mobile-compact .evds-product-badges{top:7px!important;right:7px!important;gap:3px!important}
  .evds-products.evds-mobile-compact .evds-badge{min-height:19px!important;padding:2px 5px!important;font-size:9px!important}
  .evds-products.evds-mobile-compact .evds-wishlist{top:7px!important;left:7px!important}
}


/* =========================================================
   v0.11.3 — stock status on product image
   ========================================================= */
.evds-products .evds-product-media .evds-stock-overlay{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  left:auto!important;
  top:auto!important;
  z-index:18!important;
  min-height:24px!important;
  padding:5px 8px!important;
  margin:0!important;
  border-radius:999px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:800!important;
  box-shadow:0 3px 10px rgba(16,35,63,.08)!important;
  backdrop-filter:blur(4px);
  -webkit-backdrop-filter:blur(4px);
  pointer-events:none!important;
}

.evds-products .evds-product-media .evds-stock-overlay.is-in{
  background:rgba(239,250,243,.94)!important;
  color:#238447!important;
  border:1px solid rgba(35,132,71,.15)!important;
}

.evds-products .evds-product-media .evds-stock-overlay.is-out{
  background:rgba(255,241,241,.95)!important;
  color:#b23a3a!important;
  border:1px solid rgba(178,58,58,.15)!important;
}

.evds-products .evds-product-media .evds-stock-overlay .evds-stock-dot{
  width:6px!important;
  height:6px!important;
  flex:0 0 6px!important;
}

@media(max-width:767px){
  .evds-products .evds-product-media .evds-stock-overlay{
    right:7px!important;
    bottom:7px!important;
    min-height:21px!important;
    padding:4px 7px!important;
    font-size:9px!important;
  }
}


/* =========================================================
   v0.11.4 — badge-style stock + true content collapsing
   ========================================================= */

/* Stock badge follows the same geometry language as sale/new badges. */
.evds-products .evds-product-media .evds-stock-overlay{
  position:absolute!important;
  right:10px!important;
  bottom:10px!important;
  left:auto!important;
  top:auto!important;
  z-index:18!important;

  min-height:22px!important;
  padding:3px 7px!important;
  margin:0!important;
  border-radius:var(--evds-badge-radius)!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  font-size:10px!important;
  line-height:1.3!important;
  font-weight:800!important;

  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none!important;
}

.evds-products.evds-badge-style-soft .evds-stock-overlay.is-in{
  background:#eff8f2!important;
  border:1px solid #d6ecdc!important;
  color:#2a7a43!important;
}

.evds-products.evds-badge-style-soft .evds-stock-overlay.is-out{
  background:#fff2f2!important;
  border:1px solid #f1d7d7!important;
  color:#b23a3a!important;
}

.evds-products.evds-badge-style-solid .evds-stock-overlay.is-in{
  background:#2f8b4f!important;
  border:1px solid #2f8b4f!important;
  color:#fff!important;
}

.evds-products.evds-badge-style-solid .evds-stock-overlay.is-out{
  background:#b94747!important;
  border:1px solid #b94747!important;
  color:#fff!important;
}

.evds-products.evds-badge-style-minimal .evds-stock-overlay{
  min-height:auto!important;
  padding:2px 4px!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}

.evds-products.evds-badge-style-minimal .evds-stock-overlay.is-in{
  color:#2a7a43!important;
}

.evds-products.evds-badge-style-minimal .evds-stock-overlay.is-out{
  color:#b23a3a!important;
}

/* Optional content should consume exactly zero space when absent. */
.evds-products .evds-product-card.no-rating .evds-rating,
.evds-products .evds-product-card.no-excerpt .evds-excerpt{
  display:none!important;
  min-height:0!important;
  height:0!important;
  margin:0!important;
  padding:0!important;
}

/* If cart is disabled, price uses the complete bottom row instead of reserving action columns. */
.evds-products .evds-product-card.no-cart .evds-product-bottom{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  min-height:auto!important;
  grid-template-columns:none!important;
  gap:0!important;
}

.evds-products .evds-product-card.no-cart .evds-product-bottom .evds-price{
  width:100%!important;
  min-height:auto!important;
  padding:0!important;
  margin:0!important;
}

/* No phantom vertical spacing from empty optional wrappers. */
.evds-products .evds-product-body > :empty{
  display:none!important;
  margin:0!important;
  padding:0!important;
  min-height:0!important;
}

/* Keep body naturally compact around the content that really exists. */
.evds-products .evds-product-body{
  min-height:0!important;
  height:auto!important;
}

/* Do not reserve a rating row globally. */
.evds-products .evds-rating{
  min-height:0!important;
}

/* Stock dot is no longer used. */
.evds-products .evds-stock-dot{
  display:none!important;
}

@media(max-width:767px){
  .evds-products .evds-product-media .evds-stock-overlay{
    right:7px!important;
    bottom:7px!important;
    min-height:19px!important;
    padding:2px 5px!important;
    font-size:9px!important;
  }
}


/* =========================================================
   v0.11.5 — compact content + true cover image mode
   ========================================================= */

/*
 * When rating and excerpt are both absent, do not reserve the title
 * alignment height. The title and price collapse naturally together.
 */
.evds-products .evds-product-card.no-rating.no-excerpt .evds-product-title{
  min-height:0!important;
  height:auto!important;
  margin-bottom:0!important;
}

.evds-products .evds-product-card.no-rating.no-excerpt .evds-product-body{
  gap:5px!important;
}

.evds-products .evds-product-card.no-rating.no-excerpt .evds-product-bottom{
  margin-top:0!important;
}

/* If only one optional content block exists, keep spacing modest. */
.evds-products .evds-product-card.no-rating.has-excerpt .evds-product-body,
.evds-products .evds-product-card.has-rating.no-excerpt .evds-product-body{
  gap:6px!important;
}

/*
 * TRUE COVER MODE:
 * image fills the complete media width with no internal white padding.
 * The card itself clips the image to the same rounded top corners.
 */
.evds-products.evds-fit-cover .evds-product-media{
  overflow:hidden!important;
  border-radius:var(--evds-card-radius) var(--evds-card-radius) 0 0!important;
}

.evds-products.evds-fit-cover .evds-product-image-link{
  width:100%!important;
  height:var(--evds-image-height)!important;
  padding:0!important;
  margin:0!important;
  display:block!important;
  overflow:hidden!important;
  border-radius:var(--evds-card-radius) var(--evds-card-radius) 0 0!important;
  background:transparent!important;
}

.evds-products.evds-fit-cover .evds-product-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border-radius:var(--evds-card-radius) var(--evds-card-radius) 0 0!important;
}

/* Cover mode should meet the content cleanly without a visual gap. */
.evds-products.evds-fit-cover .evds-product-body{
  margin-top:0!important;
}

.evds-products.evds-fit-cover .evds-product-media{
  border-bottom:1px solid color-mix(in srgb,var(--evds-border) 70%,transparent)!important;
}

/*
 * CONTAIN remains intentionally padded so the full product is visible.
 * Keep corners on the media/card rather than on the product image itself.
 */
.evds-products.evds-fit-contain .evds-product-image-link{
  padding:11px!important;
}

.evds-products.evds-fit-contain .evds-product-image{
  object-fit:contain!important;
  border-radius:8px!important;
}

/* Keep the image/title relationship compact on mobile too. */
@media(max-width:767px){
  .evds-products.evds-fit-cover .evds-product-image-link{
    padding:0!important;
    height:min(var(--evds-image-height),145px)!important;
  }

  .evds-products .evds-product-card.no-rating.no-excerpt .evds-product-body{
    gap:4px!important;
  }
}


/* =========================================================
   v0.12.0 — final card polish before Hero
   ========================================================= */
.evds-products.evds-stock-bottom_right .evds-stock-overlay{right:10px!important;left:auto!important}
.evds-products.evds-stock-bottom_left .evds-stock-overlay{left:10px!important;right:auto!important}

.evds-products.evds-wishlist-top_left .evds-wishlist{left:9px!important;right:auto!important}
.evds-products.evds-wishlist-top_left .evds-product-badges{right:9px!important;left:auto!important}
.evds-products.evds-wishlist-top_right .evds-wishlist{right:9px!important;left:auto!important}
.evds-products.evds-wishlist-top_right .evds-product-badges{left:9px!important;right:auto!important}

.evds-products .evds-buy-button.is-added{position:relative!important}
.evds-products .evds-buy-button.is-added .evds-buy-svg{opacity:0!important}
.evds-products .evds-buy-button.is-added::after{
  content:"✓"!important;position:absolute!important;inset:0!important;
  display:flex!important;align-items:center!important;justify-content:center!important;
  color:var(--evds-action-icon)!important;font-size:18px!important;line-height:1!important;font-weight:900!important
}

.evds-toast{
  position:fixed;left:50%;bottom:26px;z-index:999999;transform:translate(-50%,18px);
  min-width:230px;max-width:calc(100vw - 28px);padding:11px 13px;
  border:1px solid rgba(15,35,65,.08);border-radius:12px;background:#fff;color:var(--evds-text);
  box-shadow:0 12px 34px rgba(15,35,65,.16);display:flex;align-items:center;justify-content:center;
  gap:9px;opacity:0;visibility:hidden;pointer-events:none;direction:rtl;font-size:13px;font-weight:700;
  transition:opacity .18s ease,transform .18s ease,visibility .18s ease
}
.evds-toast.is-visible{opacity:1;visibility:visible;transform:translate(-50%,0);pointer-events:auto}
.evds-toast__icon{
  width:22px;height:22px;flex:0 0 22px;border-radius:50%;background:var(--evds-accent);color:#fff;
  display:flex;align-items:center;justify-content:center;font-size:13px;line-height:1;font-weight:900
}
.evds-toast.is-favorite .evds-toast__icon{font-size:12px}
.evds-toast__text{line-height:1.4}
.evds-toast__action{
  margin-inline-start:3px;padding:4px 7px;border-radius:7px;background:var(--evds-soft);
  color:var(--evds-accent)!important;text-decoration:none!important;font-size:11px;font-weight:800;white-space:nowrap
}
.evds-toast__action:hover{background:color-mix(in srgb,var(--evds-accent) 10%,#fff)}

@media(max-width:767px){
  .evds-products.evds-stock-bottom_right .evds-stock-overlay{right:7px!important}
  .evds-products.evds-stock-bottom_left .evds-stock-overlay{left:7px!important}
  .evds-products.evds-wishlist-top_left .evds-wishlist{left:7px!important}
  .evds-products.evds-wishlist-top_right .evds-wishlist{right:7px!important}
  .evds-products.evds-wishlist-top_left .evds-product-badges{right:7px!important}
  .evds-products.evds-wishlist-top_right .evds-product-badges{left:7px!important}
  .evds-toast{
    bottom:18px;min-width:0;width:auto;max-width:calc(100vw - 24px);padding:10px 11px;font-size:12.5px
  }
}



/* =========================================================
   v0.14.6 — consolidated product action + modal styling
   ========================================================= */

/* Favorites plugin keeps its own single toast. */
.end-wf-toast{
  min-width:220px!important;
  max-width:calc(100vw - 28px)!important;
  padding:11px 14px!important;
  border:1px solid rgba(15,35,65,.08)!important;
  border-radius:12px!important;
  background:#fff!important;
  color:var(--evds-text,#10233f)!important;
  box-shadow:0 12px 34px rgba(15,35,65,.16)!important;
  font-size:13px!important;
  line-height:1.4!important;
  font-weight:700!important;
}

/* ---------------------------------------------------------
   CART QUANTITY CONTROL
   --------------------------------------------------------- */
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  display:grid!important;
  align-items:center!important;
  min-height:32px!important;
  column-gap:12px!important;
}

.evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:64px minmax(0,1fr)!important;
}
.evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:minmax(0,1fr) 64px!important;
}

.evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-actions{
  grid-column:1!important;
  grid-row:1!important;
  justify-self:start!important;
}
.evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-price{
  grid-column:2!important;
  grid-row:1!important;
}
.evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-actions{
  grid-column:2!important;
  grid-row:1!important;
  justify-self:end!important;
}
.evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-price{
  grid-column:1!important;
  grid-row:1!important;
}

.evds-products .evds-product-actions:has(.evds-qty-control){
  position:static!important;
  inset:auto!important;
  transform:none!important;
  width:auto!important;
  min-width:0!important;
  height:auto!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
}

.evds-products .evds-qty-control{
  width:62px!important;
  min-width:62px!important;
  height:29px!important;
  padding:2px!important;
  margin:0!important;
  border:1px solid color-mix(in srgb,var(--evds-action-color) 28%,var(--evds-border))!important;
  border-radius:8px!important;
  background:var(--evds-surface,#fff)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:0!important;
  direction:rtl!important;
  box-shadow:none!important;
}
.evds-products .evds-qty-control.is-loading{
  opacity:.58!important;
  pointer-events:none!important;
}
.evds-products .evds-qty-btn{
  appearance:none!important;
  -webkit-appearance:none!important;
  width:20px!important;
  height:23px!important;
  min-width:20px!important;
  min-height:23px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:5px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  font-family:Arial,sans-serif!important;
  font-size:15px!important;
  line-height:1!important;
  font-weight:700!important;
  cursor:pointer!important;
  box-shadow:none!important;
  outline:none!important;
}
.evds-products .evds-qty-plus{
  background:var(--evds-action-color)!important;
  color:var(--evds-action-icon,#fff)!important;
}
.evds-products .evds-qty-plus:hover,
.evds-products .evds-qty-plus:focus{
  background:var(--evds-action-hover,var(--evds-action-color))!important;
  color:var(--evds-action-hover-icon,#fff)!important;
}
.evds-products .evds-qty-minus{
  background:color-mix(in srgb,var(--evds-action-color) 10%,var(--evds-surface,#fff))!important;
  color:var(--evds-action-color)!important;
}
.evds-products .evds-qty-minus:hover,
.evds-products .evds-qty-minus:focus{
  background:color-mix(in srgb,var(--evds-action-color) 18%,var(--evds-surface,#fff))!important;
  color:var(--evds-action-color)!important;
}
.evds-products .evds-qty-value{
  min-width:18px!important;
  padding:0!important;
  text-align:center!important;
  color:var(--evds-text)!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
}

/* Price remains complete and separate from the stepper. */
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price{
  width:100%!important;
  min-width:0!important;
  margin:0!important;
  padding:0!important;
  overflow:visible!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:baseline!important;
  justify-content:center!important;
  gap:5px!important;
  white-space:nowrap!important;
  line-height:1.15!important;
}
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price del,
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price ins,
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price .amount,
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price bdi,
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price .woocommerce-Price-currencySymbol{
  display:inline!important;
  flex:none!important;
  max-width:none!important;
  overflow:visible!important;
  white-space:nowrap!important;
  text-overflow:clip!important;
}
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price del{
  margin:0!important;
  font-size:9.5px!important;
  opacity:.72!important;
}
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price ins{
  margin:0!important;
  font-size:12.5px!important;
  text-decoration:none!important;
}

/* ---------------------------------------------------------
   VARIABLE PRODUCT MODAL
   --------------------------------------------------------- */
html.evds-modal-open,
html.evds-modal-open body{
  overflow:hidden!important;
}
.evds-var-modal[hidden]{display:none!important}
.evds-var-modal{
  position:fixed!important;
  inset:0!important;
  z-index:9999999!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  padding:18px!important;
  opacity:0;
  visibility:hidden;
  transition:opacity .18s ease,visibility .18s ease;
}
.evds-var-modal.is-open{
  opacity:1;
  visibility:visible;
}
.evds-var-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  background:rgba(8,24,44,.46)!important;
  backdrop-filter:blur(3px);
  -webkit-backdrop-filter:blur(3px);
}
.evds-var-modal__dialog{
  position:relative!important;
  z-index:2!important;
  width:min(430px,100%)!important;
  max-height:min(680px,calc(100vh - 36px))!important;
  overflow:auto!important;
  padding:22px!important;
  border:1px solid color-mix(in srgb,var(--evds-border) 88%,transparent)!important;
  border-radius:18px!important;
  background:var(--evds-surface,#fff)!important;
  box-shadow:0 22px 60px rgba(8,24,44,.22)!important;
  direction:rtl!important;
  text-align:right!important;
  transform:translateY(8px) scale(.985);
  transition:transform .18s ease;
}
.evds-var-modal.is-open .evds-var-modal__dialog{
  transform:translateY(0) scale(1);
}
.evds-var-modal__close{
  position:absolute!important;
  top:12px!important;
  left:12px!important;
  width:30px!important;
  height:30px!important;
  padding:0!important;
  border:1px solid var(--evds-border)!important;
  border-radius:8px!important;
  background:#fff!important;
  color:var(--evds-muted)!important;
  font-size:20px!important;
  line-height:1!important;
  cursor:pointer!important;
}
.evds-var-modal__head{
  padding:0 36px 0 0!important;
  margin:0 0 14px!important;
}
.evds-var-modal__head strong{
  display:block!important;
  margin:0!important;
  color:var(--evds-text)!important;
  font-size:17px!important;
  line-height:1.5!important;
  font-weight:900!important;
}
.evds-var-modal__image-wrap{
  width:100%!important;
  height:210px!important;
  margin:0 0 16px!important;
  border:1px solid var(--evds-border)!important;
  border-radius:14px!important;
  background:var(--evds-soft)!important;
  overflow:hidden!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}
.evds-var-modal__image{
  width:100%!important;
  height:100%!important;
  padding:10px!important;
  object-fit:contain!important;
  border-radius:14px!important;
  transition:opacity .18s ease,transform .18s ease;
}
.evds-var-modal__image.is-changing{
  opacity:.7!important;
  transform:scale(.975)!important;
}
.evds-var-modal__fields{
  display:grid!important;
  gap:12px!important;
  padding:12px!important;
  border:1.5px solid color-mix(in srgb,var(--evds-action-color) 28%,var(--evds-border))!important;
  border-radius:12px!important;
  background:color-mix(in srgb,var(--evds-action-color) 3%,var(--evds-surface,#fff))!important;
}
.evds-var-field{
  display:grid!important;
  gap:7px!important;
  padding:0!important;
  border:0!important;
}
.evds-var-field + .evds-var-field{
  padding-top:10px!important;
  border-top:1px solid color-mix(in srgb,var(--evds-action-color) 12%,var(--evds-border))!important;
}
.evds-var-field>span{
  color:var(--evds-text)!important;
  font-size:12.5px!important;
  font-weight:900!important;
}
.evds-var-field select{
  width:100%!important;
  height:44px!important;
  padding:0 40px 0 12px!important;
  border:2px solid color-mix(in srgb,var(--evds-action-color) 38%,var(--evds-border))!important;
  border-radius:10px!important;
  background:
    linear-gradient(45deg,transparent 50%,var(--evds-action-color) 50%) calc(100% - 16px) 18px/5px 5px no-repeat,
    linear-gradient(135deg,var(--evds-action-color) 50%,transparent 50%) calc(100% - 11px) 18px/5px 5px no-repeat,
    var(--evds-surface,#fff)!important;
  color:var(--evds-text)!important;
  font-size:13px!important;
  font-weight:800!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  cursor:pointer!important;
  outline:none!important;
  box-shadow:none!important;
}
.evds-var-field select:hover{
  border-color:color-mix(in srgb,var(--evds-action-color) 68%,var(--evds-border))!important;
}
.evds-var-field select:focus{
  border-color:var(--evds-action-color)!important;
  box-shadow:0 0 0 3px color-mix(in srgb,var(--evds-action-color) 15%,transparent)!important;
}
.evds-var-field select option{
  background:#fff!important;
  color:#10233f!important;
}
.evds-var-modal__status{
  min-height:44px!important;
  margin-top:14px!important;
  padding:10px 12px!important;
  border:1px solid var(--evds-border)!important;
  border-radius:10px!important;
  background:var(--evds-soft)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
}
.evds-var-modal__price,
.evds-var-modal__price *,
.evds-var-modal__price span,
.evds-var-modal__price bdi,
.evds-var-modal__price .amount,
.evds-var-modal__price .woocommerce-Price-amount,
.evds-var-modal__price .woocommerce-Price-currencySymbol{
  color:var(--evds-text)!important;
  -webkit-text-fill-color:var(--evds-text)!important;
  opacity:1!important;
  visibility:visible!important;
}
.evds-var-modal__price{
  font-size:15px!important;
  line-height:1.3!important;
  font-weight:900!important;
}
.evds-var-modal__price ins,
.evds-var-modal__price ins *,
.evds-var-modal__price ins bdi,
.evds-var-modal__price ins .amount,
.evds-var-modal__price ins .woocommerce-Price-amount,
.evds-var-modal__price ins .woocommerce-Price-currencySymbol{
  color:var(--evds-action-color)!important;
  -webkit-text-fill-color:var(--evds-action-color)!important;
  background:transparent!important;
  text-decoration:none!important;
}
.evds-var-modal__price del,
.evds-var-modal__price del *,
.evds-var-modal__price del bdi,
.evds-var-modal__price del .amount,
.evds-var-modal__price del .woocommerce-Price-amount,
.evds-var-modal__price del .woocommerce-Price-currencySymbol{
  color:var(--evds-muted)!important;
  -webkit-text-fill-color:var(--evds-muted)!important;
  opacity:1!important;
}
.evds-var-modal__availability{
  font-size:11px!important;
  font-weight:800!important;
}
.evds-var-modal__availability.is-in{color:#2a7a43!important}
.evds-var-modal__availability.is-out{color:#b23a3a!important}

@media(max-width:767px){
  .end-wf-toast{
    max-width:calc(100vw - 24px)!important;
    font-size:12.5px!important;
  }
  .evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    column-gap:8px!important;
  }
  .evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:58px minmax(0,1fr)!important;
  }
  .evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:minmax(0,1fr) 58px!important;
  }
  .evds-products .evds-qty-control{
    width:56px!important;
    min-width:56px!important;
  }
  .evds-products .evds-qty-btn{
    width:18px!important;
    min-width:18px!important;
    font-size:14px!important;
  }
  .evds-products .evds-qty-value{
    min-width:16px!important;
    font-size:11px!important;
  }
  .evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price{
    gap:3px!important;
  }
  .evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price del{
    font-size:8.5px!important;
  }
  .evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom .evds-price ins{
    font-size:11px!important;
  }

  .evds-var-modal{
    align-items:flex-end!important;
    padding:10px!important;
  }
  .evds-var-modal__dialog{
    width:100%!important;
    max-height:84vh!important;
    padding:17px!important;
    border-radius:16px 16px 12px 12px!important;
  }
  .evds-var-modal__image-wrap{
    height:185px!important;
  }
}


/* =========================================================
   v0.14.7 — precise delete icon + modal primary button
   ========================================================= */

/*
 * Delete button at quantity 1:
 * Small mask icon, independent of theme SVG/icon colors.
 */
.evds-products .evds-qty-minus.is-remove{
  background:color-mix(in srgb,var(--evds-accent,#1478ff) 10%,#fff)!important;
  color:var(--evds-accent,#1478ff)!important;
  border:0!important;
  box-shadow:none!important;
}

.evds-products .evds-qty-minus.is-remove:hover,
.evds-products .evds-qty-minus.is-remove:focus{
  background:var(--evds-accent,#1478ff)!important;
  color:#fff!important;
}

/* Smaller, cleaner trash icon. No SVG fill can be overridden by Blocksy. */
.evds-products .evds-trash-icon{
  display:block!important;
  width:11px!important;
  height:11px!important;
  min-width:11px!important;
  min-height:11px!important;
  margin:0!important;
  padding:0!important;
  background-color:var(--evds-accent,#1478ff)!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-1 6h8l-.65 10H8.65L8 9Zm2 2v6h1.5v-6H10Zm2.5 0v6H14v-6h-1.5Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M9 3h6l1 2h4v2H4V5h4l1-2Zm-1 6h8l-.65 10H8.65L8 9Zm2 2v6h1.5v-6H10Zm2.5 0v6H14v-6h-1.5Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  pointer-events:none!important;
}

.evds-products .evds-qty-minus.is-remove:hover .evds-trash-icon,
.evds-products .evds-qty-minus.is-remove:focus .evds-trash-icon{
  background-color:#fff!important;
}

/*
 * Modal primary add-to-cart button:
 * Use the site's accent color directly, not the product-action color setting.
 * This prevents a user-selected white action color from turning the modal button white.
 */
.evds-var-modal__add{
  width:100%!important;
  height:46px!important;
  margin-top:14px!important;
  padding:0 16px!important;
  border:1px solid var(--evds-accent,#1478ff)!important;
  border-radius:10px!important;
  background-color:var(--evds-accent,#1478ff)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--evds-accent,#1478ff) 20%,transparent)!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:900!important;
  cursor:pointer!important;
  opacity:1!important;
  appearance:none!important;
  -webkit-appearance:none!important;
}

.evds-var-modal__add:hover:not(:disabled),
.evds-var-modal__add:focus:not(:disabled){
  border-color:var(--evds-navy,#10233f)!important;
  background-color:var(--evds-navy,#10233f)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:0 7px 18px rgba(16,35,63,.18)!important;
}

.evds-var-modal__add:disabled{
  border-color:color-mix(in srgb,var(--evds-accent,#1478ff) 55%,#d6e2f0)!important;
  background-color:color-mix(in srgb,var(--evds-accent,#1478ff) 58%,#d6e2f0)!important;
  background-image:none!important;
  color:#fff!important;
  -webkit-text-fill-color:#fff!important;
  box-shadow:none!important;
  opacity:1!important;
  cursor:not-allowed!important;
}


/* =========================================================
   v0.14.8 — clearer delete icon
   ========================================================= */
.evds-products .evds-qty-minus.is-remove{
  width:22px!important;
  min-width:22px!important;
  height:23px!important;
  min-height:23px!important;
}

.evds-products .evds-trash-icon{
  width:13px!important;
  height:14px!important;
  min-width:13px!important;
  min-height:14px!important;
  background-color:var(--evds-accent,#1478ff)!important;
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 5h8l1 2h3v2H4V7h3l1-2Zm1 5h6l-.6 8.2c-.06.9-.8 1.6-1.7 1.6h-1.4c-.9 0-1.64-.7-1.7-1.6L9 10Zm1.4 1.2.35 6.1h1.4l-.35-6.1h-1.4Zm2.9 0-.35 6.1h1.4l.35-6.1h-1.4Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M8 5h8l1 2h3v2H4V7h3l1-2Zm1 5h6l-.6 8.2c-.06.9-.8 1.6-1.7 1.6h-1.4c-.9 0-1.64-.7-1.7-1.6L9 10Zm1.4 1.2.35 6.1h1.4l-.35-6.1h-1.4Zm2.9 0-.35 6.1h1.4l.35-6.1h-1.4Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
}

.evds-products .evds-qty-minus.is-remove:hover .evds-trash-icon,
.evds-products .evds-qty-minus.is-remove:focus .evds-trash-icon{
  background-color:#fff!important;
}


/* =========================================================
   v0.14.9 — recognizable trash-can icon
   ========================================================= */

/* Make the delete action clearly read as a trash can. */
.evds-products .evds-qty-minus.is-remove{
  width:22px!important;
  min-width:22px!important;
  height:23px!important;
  min-height:23px!important;
  padding:0!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.evds-products .evds-trash-icon{
  display:block!important;
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  margin:0!important;
  padding:0!important;
  background-color:var(--evds-accent,#1478ff)!important;

  /* Material-style delete bin: lid + body + inner lines, visually unmistakable */
  -webkit-mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12Zm3.5-9h1.5v8H9.5v-8Zm3.5 0h1.5v8H13v-8ZM15.5 4l-1-1h-5l-1 1H5v2h14V4h-3.5Z'/%3E%3C/svg%3E")!important;
  mask-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24'%3E%3Cpath fill='%23000' d='M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6v12Zm3.5-9h1.5v8H9.5v-8Zm3.5 0h1.5v8H13v-8ZM15.5 4l-1-1h-5l-1 1H5v2h14V4h-3.5Z'/%3E%3C/svg%3E")!important;
  -webkit-mask-repeat:no-repeat!important;
  mask-repeat:no-repeat!important;
  -webkit-mask-position:center!important;
  mask-position:center!important;
  -webkit-mask-size:contain!important;
  mask-size:contain!important;
  pointer-events:none!important;
}

.evds-products .evds-qty-minus.is-remove:hover .evds-trash-icon,
.evds-products .evds-qty-minus.is-remove:focus .evds-trash-icon{
  background-color:#fff!important;
}


/* =========================================================
   v0.15.0 — EV Destination Hero
   ========================================================= */
.evds-hero,
.evds-hero *{box-sizing:border-box}

.evds-hero{
  position:relative;
  width:min(1240px,calc(100% - 24px));
  height:var(--evds-hero-height);
  min-height:360px;
  margin:0 auto 34px;
  border:1px solid var(--evds-border);
  border-radius:var(--evds-hero-radius);
  background:var(--evds-surface);
  overflow:hidden;
  direction:rtl;
  color:var(--evds-text);
  box-shadow:0 14px 40px rgba(16,35,63,.06);
}

.evds-hero__viewport{
  width:100%;
  height:100%;
  overflow:hidden;
}

.evds-hero__track{
  width:100%;
  height:100%;
  display:flex;
  direction:ltr;
  transition:transform .55s cubic-bezier(.22,.61,.36,1);
  will-change:transform;
}

.evds-hero__slide{
  position:relative;
  flex:0 0 100%;
  width:100%;
  height:100%;
  overflow:hidden;
  direction:rtl;
  background:var(--evds-surface);
}

.evds-hero__slide--split{
  display:grid;
  grid-template-columns:42% 58%;
}

.evds-hero__content{
  position:relative;
  z-index:3;
  order:2;
  display:flex;
  flex-direction:column;
  justify-content:center;
  min-width:0;
  padding:42px 44px 34px;
  background:
    radial-gradient(circle at 85% 18%,color-mix(in srgb,var(--evds-accent) 8%,transparent),transparent 34%),
    var(--evds-surface);
}

.evds-hero__media{
  position:relative;
  order:1;
  height:100%;
  overflow:hidden;
  background:var(--evds-soft);
  clip-path:polygon(0 0,100% 0,88% 100%,0 100%);
}

.evds-hero__image,
.evds-hero__cover-image{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
  object-position:center;
}

.evds-hero__badge{
  align-self:flex-start;
  display:inline-flex;
  align-items:center;
  min-height:28px;
  padding:5px 10px;
  margin-bottom:13px;
  border:1px solid color-mix(in srgb,var(--evds-accent) 18%,var(--evds-border));
  border-radius:999px;
  background:color-mix(in srgb,var(--evds-accent) 7%,#fff);
  color:var(--evds-accent);
  font-size:11px;
  line-height:1;
  font-weight:900;
}

.evds-hero__title{
  max-width:520px;
  margin:0;
  color:var(--evds-text);
  font-size:clamp(30px,3.1vw,48px);
  line-height:1.18;
  letter-spacing:-.02em;
  font-weight:900;
}

.evds-hero__text{
  max-width:520px;
  margin:14px 0 0;
  color:var(--evds-muted);
  font-size:15px;
  line-height:1.85;
}

.evds-hero__buttons{
  display:flex;
  flex-wrap:wrap;
  gap:9px;
  margin-top:20px;
}

.evds-hero__button{
  min-height:42px;
  padding:10px 17px;
  border-radius:10px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  text-decoration:none!important;
  font-size:13px;
  font-weight:900;
  transition:.18s ease;
}

.evds-hero__button--primary{
  border:1px solid var(--evds-accent);
  background:var(--evds-accent);
  color:#fff!important;
  box-shadow:0 6px 16px color-mix(in srgb,var(--evds-accent) 18%,transparent);
}

.evds-hero__button--primary:hover{
  border-color:var(--evds-navy);
  background:var(--evds-navy);
}

.evds-hero__button--secondary{
  border:1px solid var(--evds-border);
  background:#fff;
  color:var(--evds-text)!important;
}

.evds-hero__button--secondary:hover{
  border-color:color-mix(in srgb,var(--evds-accent) 38%,var(--evds-border));
  color:var(--evds-accent)!important;
}

.evds-hero__features{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:9px 12px;
  margin-top:24px;
  padding-top:17px;
  border-top:1px solid color-mix(in srgb,var(--evds-border) 76%,transparent);
}

.evds-hero__feature{
  min-width:0;
  display:flex;
  align-items:center;
  gap:8px;
}

.evds-hero__feature-icon{
  width:30px;
  height:30px;
  flex:0 0 30px;
  border-radius:9px;
  background:color-mix(in srgb,var(--evds-accent) 8%,#fff);
  color:var(--evds-accent);
  display:flex;
  align-items:center;
  justify-content:center;
}

.evds-hero__feature-icon svg{
  width:16px;
  height:16px;
  fill:currentColor;
}

.evds-hero__feature-copy{
  min-width:0;
  display:grid;
  gap:1px;
}

.evds-hero__feature-copy strong{
  color:var(--evds-text);
  font-size:11px;
  line-height:1.3;
  font-weight:900;
}

.evds-hero__feature-copy small{
  color:var(--evds-muted);
  font-size:9.5px;
  line-height:1.3;
}

/* Full-image slides */
.evds-hero__slide--cover{
  background:var(--evds-soft);
}

.evds-hero__cover-image,
.evds-hero__slide--cover .evds-hero__placeholder{
  position:absolute;
  inset:0;
}

.evds-hero__cover-overlay{
  position:absolute;
  inset:0;
  z-index:1;
  background:linear-gradient(90deg,rgba(6,21,42,.10) 0%,rgba(6,21,42,.28) 42%,rgba(6,21,42,.72) 100%);
}

.evds-hero__cover-content{
  position:absolute;
  z-index:2;
  right:7%;
  bottom:14%;
  width:min(520px,78%);
  color:#fff;
}

.evds-hero__cover-content h2{
  margin:0;
  color:#fff!important;
  font-size:clamp(30px,3.4vw,50px);
  line-height:1.18;
  font-weight:900;
  text-shadow:0 2px 18px rgba(0,0,0,.18);
}

.evds-hero__cover-content p{
  margin:12px 0 18px;
  max-width:470px;
  color:rgba(255,255,255,.88)!important;
  font-size:15px;
  line-height:1.8;
}

.evds-hero__placeholder{
  width:100%;
  height:100%;
  background:
    radial-gradient(circle at 28% 38%,color-mix(in srgb,var(--evds-accent) 26%,transparent),transparent 24%),
    linear-gradient(135deg,var(--evds-soft),#eaf2ff);
  display:flex;
  align-items:center;
  justify-content:center;
}

.evds-hero__placeholder span{
  color:color-mix(in srgb,var(--evds-accent) 35%,transparent);
  font-size:90px;
  line-height:1;
  font-weight:900;
  letter-spacing:-.08em;
}

/* arrows and dots */
.evds-hero__arrow{
  position:absolute;
  z-index:8;
  top:50%;
  width:36px;
  height:36px;
  margin:0!important;
  padding:0!important;
  transform:translateY(-50%);
  border:1px solid rgba(255,255,255,.8)!important;
  border-radius:50%;
  background:rgba(255,255,255,.88)!important;
  color:var(--evds-text)!important;
  box-shadow:0 5px 18px rgba(15,35,65,.12);
  display:flex;
  align-items:center;
  justify-content:center;
  font-family:Arial,sans-serif!important;
  font-size:24px!important;
  line-height:1!important;
  cursor:pointer;
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.evds-hero__arrow:hover{
  background:var(--evds-accent)!important;
  border-color:var(--evds-accent)!important;
  color:#fff!important;
}

.evds-hero__arrow--prev{right:14px}
.evds-hero__arrow--next{left:14px}

.evds-hero__dots{
  position:absolute;
  z-index:8;
  left:50%;
  bottom:13px;
  transform:translateX(-50%);
  display:flex;
  align-items:center;
  gap:6px;
  padding:5px 7px;
  border-radius:999px;
  background:rgba(255,255,255,.72);
  backdrop-filter:blur(8px);
  -webkit-backdrop-filter:blur(8px);
}

.evds-hero__dot{
  width:7px!important;
  min-width:7px!important;
  height:7px!important;
  min-height:7px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#aeb9c8!important;
  cursor:pointer;
  transition:.18s ease;
}

.evds-hero__dot.is-active{
  width:20px!important;
  background:var(--evds-accent)!important;
}

/* admin preview */
.evds-hero-image-preview{
  width:260px;
  height:120px;
  border:1px solid #dcdcde;
  border-radius:8px;
  background:#f6f7f7;
  overflow:hidden;
  display:flex;
  align-items:center;
  justify-content:center;
}
.evds-hero-image-preview img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}

/* mobile */
@media(max-width:900px){
  .evds-hero{
    width:calc(100% - 20px);
    height:auto;
    min-height:0;
  }

  .evds-hero__viewport,
  .evds-hero__track{
    height:auto;
  }

  .evds-hero__track{
    align-items:stretch;
  }

  .evds-hero__slide{
    height:auto;
    min-height:620px;
  }

  .evds-hero__slide--split{
    display:flex;
    flex-direction:column;
  }

  .evds-hero__content{
    order:2;
    min-height:350px;
    padding:28px 24px 38px;
  }

  .evds-hero__media{
    order:1;
    height:280px;
    flex:0 0 280px;
    clip-path:none;
    border-radius:var(--evds-hero-radius) var(--evds-hero-radius) 0 0;
  }

  .evds-hero__title{
    font-size:clamp(27px,7vw,38px);
  }

  .evds-hero__features{
    margin-top:20px;
  }

  .evds-hero__slide--cover{
    min-height:560px;
  }

  .evds-hero__cover-content{
    right:24px;
    bottom:55px;
    width:calc(100% - 48px);
  }
}

@media(max-width:560px){
  .evds-hero{
    width:calc(100% - 16px);
    margin-bottom:26px;
    border-radius:min(var(--evds-hero-radius),18px);
  }

  .evds-hero__slide{
    min-height:590px;
  }

  .evds-hero__content{
    min-height:350px;
    padding:23px 18px 42px;
  }

  .evds-hero__media{
    height:230px;
    flex-basis:230px;
  }

  .evds-hero__badge{
    margin-bottom:10px;
  }

  .evds-hero__title{
    font-size:27px;
  }

  .evds-hero__text{
    margin-top:10px;
    font-size:13px;
    line-height:1.75;
  }

  .evds-hero__buttons{
    margin-top:16px;
  }

  .evds-hero__button{
    min-height:40px;
    padding:9px 13px;
    font-size:12px;
  }

  .evds-hero__features{
    gap:8px;
    margin-top:17px;
    padding-top:14px;
  }

  .evds-hero__feature-icon{
    width:27px;
    height:27px;
    flex-basis:27px;
  }

  .evds-hero__feature-copy strong{font-size:10px}
  .evds-hero__feature-copy small{font-size:8.5px}

  .evds-hero__arrow{
    top:220px;
    width:32px;
    height:32px;
  }

  .evds-hero__arrow--prev{right:9px}
  .evds-hero__arrow--next{left:9px}

  .evds-hero__slide--cover{
    min-height:520px;
  }

  .evds-hero__cover-content{
    right:18px;
    bottom:50px;
    width:calc(100% - 36px);
  }

  .evds-hero__cover-content h2{
    font-size:30px;
  }

  .evds-hero__cover-content p{
    font-size:13px;
  }
}


/* =========================================================
   v0.15.1 — balanced Hero layout
   ========================================================= */

/*
 * Desktop composition:
 * 56% visual / 44% content. Because the hero is RTL, the first grid
 * track is physically on the right. Explicit areas prevent accidental
 * reversal and keep the visual side dominant without overwhelming text.
 */
@media(min-width:901px){
  .evds-hero__slide--split{
    display:grid!important;
    grid-template-columns:56% 44%!important;
    grid-template-areas:"media content"!important;
    direction:rtl!important;
  }

  .evds-hero__media{
    grid-area:media!important;
    order:initial!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
    clip-path:polygon(0 0,100% 0,100% 100%,8% 100%)!important;
    background:var(--evds-soft)!important;
  }

  .evds-hero__image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    max-width:none!important;
    max-height:none!important;
    margin:0!important;
    padding:0!important;
    object-fit:cover!important;
    object-position:center!important;
    border:0!important;
    border-radius:0!important;
  }

  .evds-hero__content{
    grid-area:content!important;
    order:initial!important;
    min-width:0!important;
    height:100%!important;
    padding:34px 34px 28px 40px!important;
    justify-content:center!important;
    background:
      radial-gradient(circle at 82% 17%,color-mix(in srgb,var(--evds-accent) 6%,transparent),transparent 34%),
      var(--evds-surface)!important;
  }

  .evds-hero__badge{
    margin-bottom:10px!important;
    min-height:26px!important;
    padding:4px 9px!important;
    font-size:10px!important;
  }

  .evds-hero__title{
    max-width:480px!important;
    margin:0!important;
    font-size:clamp(27px,2.45vw,39px)!important;
    line-height:1.24!important;
    letter-spacing:-.015em!important;
  }

  .evds-hero__text{
    max-width:470px!important;
    margin-top:11px!important;
    font-size:13.5px!important;
    line-height:1.75!important;
  }

  .evds-hero__buttons{
    margin-top:17px!important;
    gap:8px!important;
  }

  .evds-hero__button{
    min-height:39px!important;
    padding:8px 14px!important;
    border-radius:9px!important;
    font-size:12px!important;
  }

  /*
   * Features become one compact row instead of two sparse rows.
   * This keeps the lower part of the hero visually anchored.
   */
  .evds-hero__features{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:6px!important;
    margin-top:20px!important;
    padding-top:14px!important;
  }

  .evds-hero__feature{
    min-width:0!important;
    gap:6px!important;
    align-items:center!important;
  }

  .evds-hero__feature-icon{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    border-radius:8px!important;
  }

  .evds-hero__feature-icon svg{
    width:14px!important;
    height:14px!important;
  }

  .evds-hero__feature-copy strong{
    font-size:9.6px!important;
    line-height:1.25!important;
    white-space:nowrap!important;
  }

  .evds-hero__feature-copy small{
    font-size:8.3px!important;
    line-height:1.2!important;
    white-space:nowrap!important;
  }

  /* Keep arrows visually inside the card edges. */
  .evds-hero__arrow--prev{right:12px!important}
  .evds-hero__arrow--next{left:12px!important}
}

/*
 * Slightly calmer outer card. Background remains controlled by site colors;
 * this only fixes proportion and whitespace.
 */
.evds-hero{
  box-shadow:0 12px 34px rgba(16,35,63,.055)!important;
}

/* Mobile keeps the image above content but makes both portions tighter. */
@media(max-width:900px){
  .evds-hero__slide--split{
    display:flex!important;
    flex-direction:column!important;
  }

  .evds-hero__media{
    order:1!important;
    width:100%!important;
    height:260px!important;
    min-height:260px!important;
    flex:0 0 260px!important;
    clip-path:none!important;
  }

  .evds-hero__image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
    object-fit:cover!important;
  }

  .evds-hero__content{
    order:2!important;
    padding:24px 20px 38px!important;
  }
}


/* =========================================================
   v0.15.2 — closer to reference hero composition
   ========================================================= */
.evds-hero{
  width:min(1210px,calc(100% - 28px))!important;
  border-radius:20px!important;
  box-shadow:0 12px 30px rgba(16,35,63,.045)!important;
}
@media(min-width:901px){
  .evds-hero__slide--split{grid-template-columns:55% 45%!important}
  .evds-hero__content{
    padding:38px 42px 32px 44px!important;
    justify-content:center!important;
  }
  .evds-hero__title{
    max-width:470px!important;
    font-size:clamp(28px,2.35vw,38px)!important;
    line-height:1.22!important;
  }
  .evds-hero__text{
    max-width:455px!important;
    margin-top:12px!important;
    font-size:13.5px!important;
    line-height:1.8!important;
  }
  .evds-hero__buttons{margin-top:19px!important}
  .evds-hero__features{
    margin-top:22px!important;
    padding-top:15px!important;
  }
  .evds-hero__media{
    clip-path:polygon(0 0,100% 0,100% 100%,9% 100%)!important;
  }
  .evds-hero__image{object-position:center center!important}
}
.evds-hero__badge{display:none!important}
@media(max-width:900px){
  .evds-hero__content{padding-top:26px!important}
}


/* =========================================================
   v0.16.0 — Hero rebuilt from the original reference
   Reference dimensions:
   1240px wide / ~510px high
   copy 36–38%, visual 58%, feature strip ~60%
   ========================================================= */

.evds-hero{
  width:min(1240px,calc(100% - 40px))!important;
  height:var(--evds-hero-height)!important;
  min-height:495px!important;
  margin:10px auto 34px!important;
  border:0!important;
  border-radius:24px!important;
  background:#eef5fc!important;
  box-shadow:none!important;
}

.evds-hero__slide--reference{
  position:relative!important;
  width:100%!important;
  height:100%!important;
  overflow:hidden!important;
  border-radius:24px!important;
  background:#eef5fc!important;
}

.evds-hero__background{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  overflow:hidden!important;
  border-radius:inherit!important;
  background:#eef5fc!important;
}

.evds-hero__reference-image{
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center left!important;
}

/* Only a very light readability gradient; no card behind text. */
.evds-hero__reference-shade{
  position:absolute!important;
  inset:0!important;
  z-index:1!important;
  pointer-events:none!important;
  background:linear-gradient(
    90deg,
    rgba(238,245,252,0) 0%,
    rgba(238,245,252,.08) 40%,
    rgba(238,245,252,.58) 66%,
    rgba(238,245,252,.94) 100%
  )!important;
}

.evds-hero__reference-main{
  position:relative!important;
  z-index:2!important;
  width:100%!important;
  height:calc(100% - 92px)!important;
  padding:24px 34px 10px 44px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:24px!important;
  direction:rtl!important;
}

.evds-hero__reference-copy{
  width:36%!important;
  flex:0 0 36%!important;
  min-width:0!important;
  padding:18px 0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  gap:13px!important;
  text-align:right!important;
}

.evds-hero__reference-visual{
  width:58%!important;
  flex:0 0 58%!important;
  min-height:300px!important;
}

.evds-hero__kicker{
  color:#1478ff!important;
  font-size:15px!important;
  line-height:1.18!important;
  font-weight:600!important;
}

.evds-hero__reference-title{
  margin:0!important;
  color:#10233f!important;
  font-size:48px!important;
  line-height:1.18!important;
  font-weight:800!important;
  letter-spacing:0!important;
}

.evds-hero__reference-title span,
.evds-hero__reference-title strong{
  display:block!important;
  font:inherit!important;
}

.evds-hero__reference-title strong{
  color:#1478ff!important;
  font-weight:800!important;
}

.evds-hero__reference-text{
  margin:0!important;
  color:#10233f!important;
  font-size:17px!important;
  line-height:1.75!important;
  font-weight:400!important;
}

.evds-hero__reference-buttons{
  width:100%!important;
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:12px!important;
}

.evds-hero__ref-button{
  min-height:44px!important;
  padding:13px 20px!important;
  border-radius:10px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:13px!important;
  line-height:1!important;
  font-weight:800!important;
  transition:.18s ease!important;
}

.evds-hero__ref-button--primary{
  border:1px solid #0a1f3d!important;
  background:#0a1f3d!important;
  color:#fff!important;
}

.evds-hero__ref-button--primary:hover{
  border-color:#1478ff!important;
  background:#1478ff!important;
  color:#fff!important;
}

.evds-hero__ref-button--secondary{
  border:1px solid #1478ff!important;
  background:#fff!important;
  color:#1478ff!important;
}

.evds-hero__ref-button--secondary:hover{
  background:#1478ff!important;
  color:#fff!important;
}

/* Bottom strip is inside the hero, exactly like the reference. */
.evds-hero__reference-bottom{
  position:absolute!important;
  z-index:4!important;
  right:0!important;
  left:0!important;
  bottom:18px!important;
  padding:0 34px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:12px!important;
  direction:rtl!important;
}

.evds-hero__reference-features{
  width:60%!important;
  min-height:62px!important;
  padding:9px 12px!important;
  border:1px solid rgba(220,228,238,.75)!important;
  border-radius:14px!important;
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  display:grid!important;
  grid-template-columns:repeat(4,minmax(0,1fr))!important;
  gap:4px!important;
}

.evds-hero__reference-feature{
  min-width:0!important;
  min-height:44px!important;
  padding:4px 10px!important;
  display:flex!important;
  align-items:center!important;
  gap:7px!important;
  border-left:1px solid rgba(182,195,211,.45)!important;
}

.evds-hero__reference-feature:last-child{
  border-left:0!important;
}

.evds-hero__reference-feature-icon{
  width:22px!important;
  height:22px!important;
  flex:0 0 22px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:#10233f!important;
}

.evds-hero__reference-feature-icon svg{
  width:19px!important;
  height:19px!important;
  fill:currentColor!important;
}

.evds-hero__reference-feature-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  gap:3px!important;
}

.evds-hero__reference-feature-copy strong{
  color:#10233f!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.evds-hero__reference-feature-copy small{
  color:#6c7b90!important;
  font-size:11px!important;
  line-height:1.25!important;
  white-space:nowrap!important;
}

.evds-hero__reference-spacer{
  width:30%!important;
  min-height:1px!important;
}

/* Dots sit on the opposite lower side, not centered over the feature strip. */
.evds-hero__slide--reference ~ .evds-hero__dots{
  left:18%!important;
  bottom:28px!important;
}

/* Hero navigation stays subtle. */
.evds-hero__arrow{
  width:34px!important;
  height:34px!important;
  background:rgba(255,255,255,.84)!important;
  border:1px solid rgba(220,228,238,.88)!important;
  box-shadow:0 4px 14px rgba(15,35,65,.08)!important;
}

/* Tablet */
@media(max-width:900px){
  .evds-hero{
    width:calc(100% - 24px)!important;
    height:auto!important;
    min-height:620px!important;
  }

  .evds-hero__slide--reference{
    min-height:620px!important;
  }

  .evds-hero__background{
    height:100%!important;
  }

  .evds-hero__reference-image{
    object-position:center center!important;
  }

  .evds-hero__reference-shade{
    background:linear-gradient(
      180deg,
      rgba(238,245,252,0) 0%,
      rgba(238,245,252,.14) 30%,
      rgba(238,245,252,.96) 58%,
      rgba(238,245,252,1) 100%
    )!important;
  }

  .evds-hero__reference-main{
    min-height:520px!important;
    height:auto!important;
    padding:245px 24px 95px!important;
    display:block!important;
  }

  .evds-hero__reference-copy{
    width:100%!important;
    max-width:560px!important;
    flex:none!important;
    padding:0!important;
  }

  .evds-hero__reference-visual{
    display:none!important;
  }

  .evds-hero__reference-title{
    font-size:38px!important;
  }

  .evds-hero__reference-bottom{
    bottom:16px!important;
    padding:0 18px!important;
  }

  .evds-hero__reference-features{
    width:100%!important;
  }

  .evds-hero__reference-spacer{
    display:none!important;
  }
}

/* Mobile */
@media(max-width:560px){
  .evds-hero{
    width:calc(100% - 16px)!important;
    min-height:690px!important;
    border-radius:18px!important;
  }

  .evds-hero__slide--reference{
    min-height:690px!important;
    border-radius:18px!important;
  }

  .evds-hero__reference-main{
    padding:225px 18px 180px!important;
  }

  .evds-hero__reference-copy{
    gap:10px!important;
  }

  .evds-hero__kicker{
    font-size:13px!important;
  }

  .evds-hero__reference-title{
    font-size:34px!important;
    line-height:1.18!important;
  }

  .evds-hero__reference-text{
    font-size:14px!important;
    line-height:1.65!important;
  }

  .evds-hero__ref-button{
    min-height:41px!important;
    padding:11px 15px!important;
    font-size:12px!important;
  }

  .evds-hero__reference-bottom{
    bottom:14px!important;
    padding:0 12px!important;
  }

  .evds-hero__reference-features{
    min-height:142px!important;
    padding:8px!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:4px 0!important;
  }

  .evds-hero__reference-feature{
    min-height:58px!important;
    padding:5px 8px!important;
  }

  .evds-hero__reference-feature:nth-child(2n){
    border-left:0!important;
  }

  .evds-hero__reference-feature-copy strong{
    font-size:11px!important;
  }

  .evds-hero__reference-feature-copy small{
    font-size:9.5px!important;
    white-space:normal!important;
  }

  .evds-hero__arrow{
    top:170px!important;
  }
}


/* =========================================================
   v0.16.1 — HERO FIX
   Rebuilt to the actual split reference:
   text ~42% / image ~58% / diagonal join / no overlap.
   Also breaks out of narrow Elementor widget containers.
   ========================================================= */

/* Make the hero use the page viewport width even if Elementor puts the widget
   inside a narrow content column. */
.evds-hero{
  position:relative!important;
  left:50%!important;
  transform:translateX(-50%)!important;
  width:min(1240px,calc(100vw - 48px))!important;
  max-width:none!important;
  height:var(--evds-hero-height)!important;
  min-height:440px!important;
  margin:12px 0 36px!important;
  border:1px solid var(--evds-border)!important;
  border-radius:22px!important;
  background:var(--evds-surface,#fff)!important;
  box-shadow:0 14px 34px rgba(16,35,63,.055)!important;
  overflow:hidden!important;
}

/* Disable previous v0.16 full-background reference pieces when old markup/classes
   remain elsewhere in cached pages. */
.evds-hero__reference-main,
.evds-hero__reference-bottom,
.evds-hero__reference-shade{
  display:none!important;
}

.evds-hero__slide--splitref{
  display:grid!important;
  grid-template-columns:42% 58%!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:var(--evds-surface,#fff)!important;
  direction:rtl!important;
}

/* Text side: compact, vertically centered, no fixed blocks that can collide. */
.evds-hero__split-copy{
  position:relative!important;
  z-index:3!important;
  grid-column:1!important;
  min-width:0!important;
  height:100%!important;
  padding:38px 34px 28px 40px!important;
  display:flex!important;
  flex-direction:column!important;
  align-items:flex-start!important;
  justify-content:center!important;
  text-align:right!important;
  background:
    radial-gradient(circle at 88% 18%,color-mix(in srgb,var(--evds-accent) 6%,transparent),transparent 34%),
    var(--evds-surface,#fff)!important;
}

.evds-hero__split-kicker{
  margin:0 0 9px!important;
  color:var(--evds-accent)!important;
  font-size:12px!important;
  line-height:1.2!important;
  font-weight:800!important;
}

.evds-hero__split-title{
  width:100%!important;
  max-width:440px!important;
  margin:0!important;
  color:var(--evds-text)!important;
  font-size:clamp(30px,2.55vw,42px)!important;
  line-height:1.2!important;
  letter-spacing:-.015em!important;
  font-weight:900!important;
}

.evds-hero__split-title span,
.evds-hero__split-title strong{
  display:block!important;
  color:inherit!important;
  font:inherit!important;
}

.evds-hero__split-title strong{
  color:var(--evds-accent)!important;
}

.evds-hero__split-text{
  width:100%!important;
  max-width:450px!important;
  margin:12px 0 0!important;
  color:var(--evds-muted)!important;
  font-size:13.5px!important;
  line-height:1.75!important;
}

.evds-hero__split-buttons{
  display:flex!important;
  flex-wrap:wrap!important;
  align-items:center!important;
  gap:9px!important;
  margin-top:18px!important;
}

.evds-hero__split-button{
  min-height:40px!important;
  padding:9px 15px!important;
  border-radius:9px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  text-decoration:none!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:850!important;
  transition:.18s ease!important;
}

.evds-hero__split-button--primary{
  border:1px solid var(--evds-accent)!important;
  background:var(--evds-accent)!important;
  color:#fff!important;
}

.evds-hero__split-button--primary:hover{
  border-color:var(--evds-navy)!important;
  background:var(--evds-navy)!important;
  color:#fff!important;
}

.evds-hero__split-button--secondary{
  border:1px solid var(--evds-border)!important;
  background:#fff!important;
  color:var(--evds-text)!important;
}

.evds-hero__split-button--secondary:hover{
  border-color:var(--evds-accent)!important;
  color:var(--evds-accent)!important;
}

/* Four benefits: a clean 2x2 grid like the reference, not a floating overlay. */
.evds-hero__split-features{
  width:100%!important;
  max-width:470px!important;
  margin-top:20px!important;
  padding-top:14px!important;
  border-top:1px solid color-mix(in srgb,var(--evds-border) 80%,transparent)!important;
  display:grid!important;
  grid-template-columns:repeat(2,minmax(0,1fr))!important;
  gap:9px 16px!important;
}

.evds-hero__split-feature{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  gap:8px!important;
}

.evds-hero__split-feature-icon{
  width:29px!important;
  height:29px!important;
  flex:0 0 29px!important;
  border-radius:9px!important;
  background:color-mix(in srgb,var(--evds-accent) 8%,#fff)!important;
  color:var(--evds-accent)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.evds-hero__split-feature-icon svg{
  width:15px!important;
  height:15px!important;
  fill:currentColor!important;
}

.evds-hero__split-feature-copy{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:2px!important;
}

.evds-hero__split-feature-copy strong{
  color:var(--evds-text)!important;
  font-size:10.5px!important;
  line-height:1.25!important;
  font-weight:850!important;
}

.evds-hero__split-feature-copy small{
  color:var(--evds-muted)!important;
  font-size:9px!important;
  line-height:1.25!important;
}

/* Image side: full-height, with only a clean diagonal at the join. */
.evds-hero__split-media{
  position:relative!important;
  z-index:2!important;
  grid-column:2!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  overflow:hidden!important;
  background:var(--evds-soft)!important;
  clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)!important;
}

.evds-hero__split-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  display:block!important;
  object-fit:cover!important;
  object-position:center!important;
  border:0!important;
  border-radius:0!important;
}

/* Arrows/dots remain inside the hero and away from content. */
.evds-hero__arrow--prev{right:12px!important}
.evds-hero__arrow--next{left:12px!important}
.evds-hero__dots{bottom:10px!important}

/* Tablet / mobile: stop relying on viewport breakpoint only for a narrow Elementor
   column by forcing the hero itself to stay full-width; then stack normally. */
@media(max-width:900px){
  .evds-hero{
    left:50%!important;
    width:calc(100vw - 24px)!important;
    height:auto!important;
    min-height:0!important;
    margin-bottom:28px!important;
  }

  .evds-hero__slide--splitref{
    display:flex!important;
    flex-direction:column!important;
    min-height:620px!important;
  }

  .evds-hero__split-media{
    order:1!important;
    width:100%!important;
    height:270px!important;
    min-height:270px!important;
    flex:0 0 270px!important;
    clip-path:none!important;
  }

  .evds-hero__split-copy{
    order:2!important;
    width:100%!important;
    height:auto!important;
    min-height:350px!important;
    padding:25px 22px 42px!important;
  }

  .evds-hero__split-title{
    max-width:none!important;
    font-size:clamp(29px,6.5vw,38px)!important;
  }

  .evds-hero__split-text{max-width:none!important}
  .evds-hero__split-features{max-width:none!important}
}

@media(max-width:560px){
  .evds-hero{
    width:calc(100vw - 16px)!important;
    border-radius:18px!important;
  }

  .evds-hero__slide--splitref{
    min-height:650px!important;
  }

  .evds-hero__split-media{
    height:230px!important;
    min-height:230px!important;
    flex-basis:230px!important;
  }

  .evds-hero__split-copy{
    min-height:420px!important;
    padding:22px 17px 44px!important;
  }

  .evds-hero__split-kicker{
    font-size:11px!important;
  }

  .evds-hero__split-title{
    font-size:28px!important;
  }

  .evds-hero__split-text{
    font-size:12.5px!important;
    line-height:1.7!important;
  }

  .evds-hero__split-buttons{
    margin-top:15px!important;
  }

  .evds-hero__split-button{
    min-height:39px!important;
    padding:9px 13px!important;
    font-size:11.5px!important;
  }

  .evds-hero__split-features{
    margin-top:17px!important;
    gap:8px 10px!important;
  }

  .evds-hero__split-feature-icon{
    width:26px!important;
    height:26px!important;
    flex-basis:26px!important;
  }

  .evds-hero__split-feature-copy strong{font-size:9.5px!important}
  .evds-hero__split-feature-copy small{font-size:8.2px!important}

  .evds-hero__arrow{
    top:214px!important;
    width:31px!important;
    height:31px!important;
  }
}


/* =========================================================
   v0.16.2 — language-aware hero alignment + closer reference
   ========================================================= */

/*
 * Physical composition always follows the visual reference:
 * copy LEFT / image RIGHT.
 * Text direction and control flow then follow the active site language.
 */
@media(min-width:901px){
  .evds-hero__slide--splitref{
    direction:ltr!important;
    grid-template-columns:42% 58%!important;
  }

  .evds-hero__split-copy{
    grid-column:1!important;
    padding:42px 40px 30px 44px!important;
  }

  .evds-hero__split-media{
    grid-column:2!important;
    clip-path:polygon(7% 0,100% 0,100% 100%,0 100%)!important;
  }

  /* Arabic / RTL content */
  .evds-hero--rtl .evds-hero__split-copy{
    direction:rtl!important;
    text-align:right!important;
    align-items:flex-start!important;
  }

  .evds-hero--rtl .evds-hero__split-title,
  .evds-hero--rtl .evds-hero__split-text{
    text-align:right!important;
  }

  .evds-hero--rtl .evds-hero__split-buttons{
    direction:rtl!important;
    justify-content:flex-start!important;
  }

  .evds-hero--rtl .evds-hero__split-features{
    direction:rtl!important;
  }

  .evds-hero--rtl .evds-hero__split-feature{
    direction:rtl!important;
    text-align:right!important;
  }

  .evds-hero--rtl .evds-hero__split-feature-copy{
    align-items:flex-start!important;
    text-align:right!important;
  }

  /* English / LTR content */
  .evds-hero--ltr .evds-hero__split-copy{
    direction:ltr!important;
    text-align:left!important;
    align-items:flex-start!important;
  }

  .evds-hero--ltr .evds-hero__split-title,
  .evds-hero--ltr .evds-hero__split-text{
    text-align:left!important;
  }

  .evds-hero--ltr .evds-hero__split-buttons{
    direction:ltr!important;
    justify-content:flex-start!important;
  }

  .evds-hero--ltr .evds-hero__split-features{
    direction:ltr!important;
  }

  .evds-hero--ltr .evds-hero__split-feature{
    direction:ltr!important;
    text-align:left!important;
  }

  .evds-hero--ltr .evds-hero__split-feature-copy{
    align-items:flex-start!important;
    text-align:left!important;
  }

  /*
   * Reference proportions and typography.
   * Slightly wider copy than before, but still keeps the image dominant.
   */
  .evds-hero__split-title{
    max-width:445px!important;
    font-size:clamp(31px,2.7vw,44px)!important;
    line-height:1.17!important;
  }

  .evds-hero__split-text{
    max-width:455px!important;
    margin-top:13px!important;
    font-size:14px!important;
    line-height:1.78!important;
  }

  .evds-hero__split-buttons{
    margin-top:20px!important;
    gap:10px!important;
  }

  .evds-hero__split-button{
    min-height:42px!important;
    padding:10px 17px!important;
    border-radius:9px!important;
    font-size:12.5px!important;
  }

  /*
   * Match the visual reference more closely:
   * four benefits in a single horizontal strip along the bottom
   * of the copy side.
   */
  .evds-hero__split-features{
    max-width:470px!important;
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
    gap:0!important;
    margin-top:24px!important;
    padding-top:16px!important;
  }

  .evds-hero__split-feature{
    min-height:46px!important;
    padding-inline:8px!important;
    gap:6px!important;
    border-inline-start:1px solid color-mix(in srgb,var(--evds-border) 72%,transparent)!important;
  }

  .evds-hero__split-feature:first-child{
    border-inline-start:0!important;
  }

  .evds-hero__split-feature-icon{
    width:25px!important;
    height:25px!important;
    flex:0 0 25px!important;
    border-radius:7px!important;
    background:transparent!important;
    color:var(--evds-navy)!important;
  }

  .evds-hero__split-feature-icon svg{
    width:18px!important;
    height:18px!important;
  }

  .evds-hero__split-feature-copy strong{
    font-size:9.8px!important;
    white-space:nowrap!important;
  }

  .evds-hero__split-feature-copy small{
    font-size:8.4px!important;
    white-space:nowrap!important;
  }

  /*
   * Image focus closer to the supplied visual sample:
   * preserve skyline and car without zooming into the left edge.
   */
  .evds-hero__split-image{
    object-position:center center!important;
  }
}

/* Keep full-width behavior from v0.16.1, but visually closer to the mockup. */
.evds-hero{
  width:min(1240px,calc(100vw - 44px))!important;
  border-radius:20px!important;
}

/* Tablet/mobile: content direction still follows language. */
@media(max-width:900px){
  .evds-hero__slide--splitref{
    direction:ltr!important;
  }

  .evds-hero--rtl .evds-hero__split-copy{
    direction:rtl!important;
    text-align:right!important;
  }

  .evds-hero--ltr .evds-hero__split-copy{
    direction:ltr!important;
    text-align:left!important;
  }

  .evds-hero--rtl .evds-hero__split-buttons,
  .evds-hero--rtl .evds-hero__split-features{
    direction:rtl!important;
  }

  .evds-hero--ltr .evds-hero__split-buttons,
  .evds-hero--ltr .evds-hero__split-features{
    direction:ltr!important;
  }
}

@media(max-width:560px){
  .evds-hero__split-features{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .evds-hero__split-feature{
    border-inline-start:0!important;
    padding-inline:5px!important;
  }
}


/* =========================================================
   v0.17.0 — Hero flexibility / angle / pause / bottom features
   ========================================================= */
@media(min-width:901px){
  /*
   * Extend the light copy background into the image with the same
   * diagonal language as the reference. This is a dedicated layer,
   * not a clip on the text itself, so content never gets cut.
   */
  .evds-hero__split-copy{
    position:relative!important;
    isolation:isolate!important;
    overflow:visible!important;
    padding-bottom:96px!important;
    background:linear-gradient(135deg,#f7fbff 0%,#eef5fc 100%)!important;
  }

  .evds-hero__split-copy::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    top:0!important;
    bottom:0!important;
    left:calc(100% - 1px)!important;
    width:92px!important;
    background:linear-gradient(135deg,#f7fbff 0%,#eef5fc 100%)!important;
    clip-path:polygon(0 0,100% 0,24% 100%,0 100%)!important;
    pointer-events:none!important;
  }

  /* The image itself remains rectangular; the light panel creates the angle. */
  .evds-hero__split-media{
    clip-path:none!important;
  }

  /* Keep the 4 benefits physically close to the bottom edge of the hero. */
  .evds-hero__split-features{
    position:absolute!important;
    right:34px!important;
    left:34px!important;
    bottom:24px!important;
    width:auto!important;
    max-width:none!important;
    margin:0!important;
    padding-top:13px!important;
  }
}

/* Pause / Play control */
.evds-hero__pause{
  position:absolute!important;
  z-index:9!important;
  left:50%!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
  width:30px!important;
  height:30px!important;
  min-width:30px!important;
  min-height:30px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(210,221,234,.92)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.90)!important;
  color:var(--evds-navy)!important;
  box-shadow:0 4px 12px rgba(15,35,65,.08)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  backdrop-filter:blur(7px)!important;
  -webkit-backdrop-filter:blur(7px)!important;
}

.evds-hero__pause:hover{
  border-color:var(--evds-accent)!important;
  color:var(--evds-accent)!important;
}

.evds-hero__pause-icon{
  display:block!important;
  font-family:Arial,sans-serif!important;
  font-size:12px!important;
  line-height:1!important;
  font-weight:800!important;
}

.evds-hero__pause.is-paused .evds-hero__pause-icon{
  transform:translateX(1px)!important;
  font-size:11px!important;
}

/* When pause is visible, dots move slightly aside instead of overlapping it. */
.evds-hero:has(.evds-hero__pause) .evds-hero__dots{
  left:calc(50% + 54px)!important;
}

/* Main / additional image fit settings are inline; allow contain backgrounds to look clean. */
.evds-hero__split-media,
.evds-hero__slide--cover{
  background:var(--evds-soft)!important;
}

@media(max-width:900px){
  .evds-hero__split-copy::before{display:none!important}
  .evds-hero__split-copy{padding-bottom:44px!important}
  .evds-hero__split-features{
    position:static!important;
    width:100%!important;
    margin-top:18px!important;
  }
}

@media(max-width:560px){
  .evds-hero__pause{
    bottom:9px!important;
    width:28px!important;
    height:28px!important;
    min-width:28px!important;
    min-height:28px!important;
  }
}


/* =========================================================
   v0.17.1 — pause/play control matches hero navigation
   ========================================================= */

/* Same visual language and dimensions as the hero arrow buttons. */
.evds-hero__pause{
  width:34px!important;
  height:34px!important;
  min-width:34px!important;
  min-height:34px!important;
  padding:0!important;
  margin:0!important;
  border:1px solid rgba(220,228,238,.88)!important;
  border-radius:50%!important;
  background:rgba(255,255,255,.88)!important;
  color:var(--evds-text)!important;
  box-shadow:0 4px 14px rgba(15,35,65,.08)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  cursor:pointer!important;
  transition:background-color .18s ease,border-color .18s ease,color .18s ease,box-shadow .18s ease!important;

  /* Sit immediately beside the dots instead of looking like a separate large control. */
  left:calc(50% - 48px)!important;
  bottom:10px!important;
  transform:none!important;
}

.evds-hero__pause:hover,
.evds-hero__pause:focus-visible{
  background:var(--evds-accent)!important;
  border-color:var(--evds-accent)!important;
  color:#fff!important;
  outline:none!important;
}

/* Draw pause with CSS so it stays crisp and centered. */
.evds-hero__pause-icon{
  position:relative!important;
  width:12px!important;
  height:14px!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
}

.evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before,
.evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  content:""!important;
  position:absolute!important;
  top:1px!important;
  width:3px!important;
  height:12px!important;
  border-radius:1px!important;
  background:currentColor!important;
}

.evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before{
  left:1px!important;
}

.evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  right:1px!important;
}

/* Play state uses a clean triangle in the same button. */
.evds-hero__pause.is-paused .evds-hero__pause-icon::before{
  content:""!important;
  position:absolute!important;
  top:1px!important;
  left:2px!important;
  width:0!important;
  height:0!important;
  border-top:6px solid transparent!important;
  border-bottom:6px solid transparent!important;
  border-left:9px solid currentColor!important;
}

/* Keep dots centered; pause sits beside them. */
.evds-hero:has(.evds-hero__pause) .evds-hero__dots{
  left:50%!important;
  bottom:10px!important;
}

/* Mobile: same navigation size, just slightly tighter spacing. */
@media(max-width:560px){
  .evds-hero__pause{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    left:calc(50% - 45px)!important;
    bottom:9px!important;
  }
}


/* =========================================================
   v0.17.2 — per-slide image controls
   ========================================================= */

/* Each slide now controls its own fit / position / zoom.
   Keep transforms centered so 100% shows the exact selected fit. */
.evds-hero__split-image,
.evds-hero__cover-image{
  transform-origin:center center!important;
  transition:transform .2s ease!important;
}

/* Contain mode must actually be able to show the complete image.
   A neutral background fills any remaining space instead of cropping it. */
.evds-hero__split-media,
.evds-hero__slide--cover{
  background:var(--evds-soft)!important;
}

.evds-hero__split-image[style*="object-fit:contain"],
.evds-hero__cover-image[style*="object-fit:contain"]{
  object-fit:contain!important;
}

/* Prevent old global hero rules from forcing cover over per-slide inline choices. */
.evds-hero__split-image,
.evds-hero__cover-image{
  max-width:none!important;
  max-height:none!important;
}


/* =========================================================
   v0.17.3 — unified hero slider controls
   ========================================================= */
.evds-hero__controls{
  position:absolute!important;
  z-index:10!important;
  left:50%!important;
  bottom:10px!important;
  transform:translateX(-50%)!important;
  min-height:30px!important;
  padding:4px 6px!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  border:1px solid rgba(220,228,238,.88)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.88)!important;
  box-shadow:0 4px 14px rgba(15,35,65,.08)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}
.evds-hero__controls .evds-hero__pause{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  width:22px!important;
  height:22px!important;
  min-width:22px!important;
  min-height:22px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:50%!important;
  background:transparent!important;
  color:var(--evds-muted)!important;
  box-shadow:none!important;
}
.evds-hero__controls .evds-hero__pause:hover,
.evds-hero__controls .evds-hero__pause:focus-visible{
  background:color-mix(in srgb,var(--evds-accent) 10%,#fff)!important;
  color:var(--evds-accent)!important;
  outline:none!important;
}
.evds-hero__controls .evds-hero__pause-icon{
  position:relative!important;
  width:10px!important;
  height:12px!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before,
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  content:""!important;
  position:absolute!important;
  top:1px!important;
  width:2.5px!important;
  height:10px!important;
  border-radius:1px!important;
  background:currentColor!important;
}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before{left:1px!important}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{right:1px!important}
.evds-hero__controls .evds-hero__pause.is-paused .evds-hero__pause-icon::before{
  content:""!important;
  position:absolute!important;
  top:1px!important;
  left:2px!important;
  width:0!important;
  height:0!important;
  border-top:5px solid transparent!important;
  border-bottom:5px solid transparent!important;
  border-left:8px solid currentColor!important;
}
.evds-hero__controls .evds-hero__dots{
  position:relative!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;
  display:flex!important;
  align-items:center!important;
  gap:5px!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}
.evds-hero__split-image,
.evds-hero__cover-image{
  transform-origin:center center!important;
}

@media(max-width:560px){
  .evds-hero__controls{
    bottom:9px!important;
    min-height:28px!important;
    padding:3px 5px!important;
  }
}


/* =========================================================
   v0.17.4 — compact pause control + true image pan
   ========================================================= */

/* The whole control pill is intentionally slim and consistent. */
.evds-hero__controls{
  min-height:24px!important;
  height:24px!important;
  padding:3px 6px!important;
  gap:4px!important;
}

/* Pause is an icon-sized control, not a separate large circular button. */
.evds-hero__controls .evds-hero__pause{
  width:14px!important;
  height:14px!important;
  min-width:14px!important;
  min-height:14px!important;
  flex:0 0 14px!important;
  border-radius:4px!important;
  background:transparent!important;
  color:#9aa8ba!important;
}

.evds-hero__controls .evds-hero__pause:hover,
.evds-hero__controls .evds-hero__pause:focus-visible{
  background:color-mix(in srgb,var(--evds-accent) 9%,#fff)!important;
  color:var(--evds-accent)!important;
}

/* Very small pause glyph, same visual weight as the dots. */
.evds-hero__controls .evds-hero__pause-icon{
  width:8px!important;
  height:9px!important;
}

.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before,
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  top:1px!important;
  width:2px!important;
  height:7px!important;
  border-radius:1px!important;
}

.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before{
  left:0!important;
}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  right:0!important;
}

.evds-hero__controls .evds-hero__pause.is-paused .evds-hero__pause-icon::before{
  top:0!important;
  left:1px!important;
  border-top-width:4px!important;
  border-bottom-width:4px!important;
  border-left-width:6px!important;
}

/* Dots keep their existing size; only normalize vertical alignment. */
.evds-hero__controls .evds-hero__dots{
  height:14px!important;
  min-height:14px!important;
}

/*
 * X/Y controls now perform a real pan via transform.
 * This works even when object-position would have no visible effect
 * because one image dimension exactly fits the slide.
 */
.evds-hero__split-image,
.evds-hero__cover-image{
  transform-origin:center center!important;
  will-change:transform!important;
}

@media(max-width:560px){
  .evds-hero__controls{
    min-height:23px!important;
    height:23px!important;
    padding:3px 5px!important;
  }
}


/* =========================================================
   v0.17.5 — exact Hero control alignment + indicator direction
   ========================================================= */

/*
 * IMPORTANT:
 * The slide track moves physically left-to-right by index.
 * Keep the controls physical LTR too, regardless of Arabic/English page direction.
 * This removes the visual "indicator moves opposite to slide" effect.
 */
.evds-hero__controls,
.evds-hero__controls .evds-hero__dots{
  direction:ltr!important;
}

/* One compact pill containing pause + dots. */
.evds-hero__controls{
  min-height:24px!important;
  height:24px!important;
  padding:3px 6px!important;
  gap:5px!important;
  border:1px solid rgba(220,228,238,.88)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.90)!important;
  box-shadow:0 4px 12px rgba(15,35,65,.07)!important;
}

/*
 * Pause is now deliberately the SAME visual scale as the active slide marker:
 * 20px wide. No circle, no oval, no separate large button.
 */
.evds-hero__controls .evds-hero__pause{
  position:relative!important;
  inset:auto!important;
  transform:none!important;
  width:20px!important;
  height:14px!important;
  min-width:20px!important;
  min-height:14px!important;
  flex:0 0 20px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:color-mix(in srgb,var(--evds-accent) 10%,#fff)!important;
  color:var(--evds-accent)!important;
  box-shadow:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
}

/* Thin separator between pause and the indicator set. */
.evds-hero__controls .evds-hero__pause::after{
  content:""!important;
  position:absolute!important;
  right:-3px!important;
  top:3px!important;
  width:1px!important;
  height:8px!important;
  background:rgba(155,170,190,.28)!important;
}

.evds-hero__controls .evds-hero__pause:hover,
.evds-hero__controls .evds-hero__pause:focus-visible{
  background:var(--evds-accent)!important;
  color:#fff!important;
  outline:none!important;
}

/* Pause glyph is centered and weighted like the small slide dots. */
.evds-hero__controls .evds-hero__pause-icon{
  position:relative!important;
  width:8px!important;
  height:8px!important;
  display:block!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
}

.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before,
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  width:2px!important;
  height:8px!important;
  border-radius:1px!important;
  background:currentColor!important;
}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before{left:1px!important}
.evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{right:1px!important}

/* Play icon in the same exact 20x14 marker-sized control. */
.evds-hero__controls .evds-hero__pause.is-paused .evds-hero__pause-icon::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:1px!important;
  width:0!important;
  height:0!important;
  border-top:4px solid transparent!important;
  border-bottom:4px solid transparent!important;
  border-left:7px solid currentColor!important;
}

/* Indicators: force DOM order visually left-to-right, exactly matching slide index. */
.evds-hero__controls .evds-hero__dots{
  height:14px!important;
  min-height:14px!important;
  display:flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;
  padding:0!important;
  margin:0!important;
}

.evds-hero__controls .evds-hero__dot{
  flex:0 0 auto!important;
  width:7px!important;
  min-width:7px!important;
  height:7px!important;
  min-height:7px!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#aeb9c8!important;
  transition:width .18s ease,background-color .18s ease!important;
}

.evds-hero__controls .evds-hero__dot.is-active{
  width:20px!important;
  min-width:20px!important;
  background:var(--evds-accent)!important;
}

/* Do not let RTL rules elsewhere reorder the control rail. */
.evds-hero--rtl .evds-hero__controls,
.evds-hero--rtl .evds-hero__controls .evds-hero__dots{
  direction:ltr!important;
}

@media(max-width:560px){
  .evds-hero__controls{
    height:23px!important;
    min-height:23px!important;
    padding:3px 5px!important;
    gap:4px!important;
  }

  .evds-hero__controls .evds-hero__pause{
    width:18px!important;
    min-width:18px!important;
    height:13px!important;
    min-height:13px!important;
    flex-basis:18px!important;
  }
}


/* =========================================================
   v0.17.6 — final compact Hero control capsule
   ========================================================= */

/* One capsule owns everything: pause + all slide indicators. */
.evds-hero .evds-hero__controls{
  position:absolute!important;
  z-index:12!important;
  left:50%!important;
  right:auto!important;
  top:auto!important;
  bottom:11px!important;
  transform:translateX(-50%)!important;

  width:auto!important;
  min-width:0!important;
  max-width:calc(100% - 40px)!important;
  height:26px!important;
  min-height:26px!important;

  padding:4px 7px!important;
  margin:0!important;

  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;

  direction:ltr!important;
  white-space:nowrap!important;
  overflow:hidden!important;

  border:1px solid rgba(220,228,238,.92)!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.92)!important;
  box-shadow:0 4px 12px rgba(15,35,65,.07)!important;
  backdrop-filter:blur(8px)!important;
  -webkit-backdrop-filter:blur(8px)!important;
}

/* Pause is the same optical weight as one normal indicator. */
.evds-hero .evds-hero__controls .evds-hero__pause{
  position:static!important;
  inset:auto!important;
  transform:none!important;

  width:16px!important;
  min-width:16px!important;
  max-width:16px!important;
  height:16px!important;
  min-height:16px!important;
  max-height:16px!important;
  flex:0 0 16px!important;

  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:5px!important;

  background:transparent!important;
  color:#9daabc!important;
  box-shadow:none!important;

  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  overflow:hidden!important;
}

.evds-hero .evds-hero__controls .evds-hero__pause:hover,
.evds-hero .evds-hero__controls .evds-hero__pause:focus-visible{
  background:color-mix(in srgb,var(--evds-accent) 10%,#fff)!important;
  color:var(--evds-accent)!important;
  outline:none!important;
}

/* Crisp pause glyph. */
.evds-hero .evds-hero__controls .evds-hero__pause-icon{
  position:relative!important;
  display:block!important;
  width:8px!important;
  height:9px!important;
  min-width:8px!important;
  min-height:9px!important;
  font-size:0!important;
  line-height:0!important;
  transform:none!important;
}

.evds-hero .evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before,
.evds-hero .evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{
  content:""!important;
  position:absolute!important;
  top:0!important;
  width:2px!important;
  height:9px!important;
  border-radius:1px!important;
  background:currentColor!important;
}

.evds-hero .evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::before{left:1px!important}
.evds-hero .evds-hero__controls .evds-hero__pause:not(.is-paused) .evds-hero__pause-icon::after{right:1px!important}

.evds-hero .evds-hero__controls .evds-hero__pause.is-paused .evds-hero__pause-icon::before{
  content:""!important;
  position:absolute!important;
  top:0!important;
  left:1px!important;
  width:0!important;
  height:0!important;
  border-top:4.5px solid transparent!important;
  border-bottom:4.5px solid transparent!important;
  border-left:7px solid currentColor!important;
}

/* All dots stay INSIDE the same capsule. */
.evds-hero .evds-hero__controls .evds-hero__dots{
  position:static!important;
  inset:auto!important;
  left:auto!important;
  right:auto!important;
  top:auto!important;
  bottom:auto!important;
  transform:none!important;

  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  height:16px!important;
  min-height:16px!important;

  padding:0!important;
  margin:0!important;

  display:inline-flex!important;
  flex-direction:row!important;
  align-items:center!important;
  justify-content:center!important;
  gap:5px!important;

  direction:ltr!important;
  overflow:visible!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
}

.evds-hero .evds-hero__controls .evds-hero__dot{
  position:static!important;
  width:7px!important;
  min-width:7px!important;
  max-width:7px!important;
  height:7px!important;
  min-height:7px!important;
  max-height:7px!important;
  flex:0 0 7px!important;

  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:999px!important;
  background:#b4bfcd!important;
  box-shadow:none!important;

  transition:width .18s ease, min-width .18s ease, max-width .18s ease, background-color .18s ease!important;
}

.evds-hero .evds-hero__controls .evds-hero__dot.is-active{
  width:20px!important;
  min-width:20px!important;
  max-width:20px!important;
  flex-basis:20px!important;
  background:var(--evds-accent)!important;
}

/* Arabic must not visually reverse the index progression. */
.evds-hero--rtl .evds-hero__controls,
.evds-hero--rtl .evds-hero__controls .evds-hero__dots{
  direction:ltr!important;
}

@media(max-width:560px){
  .evds-hero .evds-hero__controls{
    bottom:9px!important;
    height:25px!important;
    min-height:25px!important;
    padding:4px 6px!important;
    gap:4px!important;
  }

  .evds-hero .evds-hero__controls .evds-hero__pause{
    width:15px!important;
    min-width:15px!important;
    max-width:15px!important;
    height:15px!important;
    min-height:15px!important;
    max-height:15px!important;
    flex-basis:15px!important;
  }

  .evds-hero .evds-hero__controls .evds-hero__dots{
    gap:4px!important;
  }
}


/* =========================================================
   v0.17.7 — configurable feature typography
   ========================================================= */
.evds-hero__split-feature-copy strong{
  font-size:var(--evds-hero-feature-title-size,10px)!important;
}

.evds-hero__split-feature-copy small{
  font-size:var(--evds-hero-feature-text-size,8.5px)!important;
}

/* Keep mobile readable while respecting the user's chosen values. */
@media(max-width:560px){
  .evds-hero__split-feature-copy strong{
    font-size:clamp(9px,var(--evds-hero-feature-title-size,10px),13px)!important;
  }
  .evds-hero__split-feature-copy small{
    font-size:clamp(8px,var(--evds-hero-feature-text-size,8.5px),11px)!important;
  }
}


/* =========================================================
   v0.17.8 — feature spacing + refined mobile Hero
   ========================================================= */

/* User-controlled spacing between the four benefit items. */
@media(min-width:901px){
  .evds-hero__split-features{
    column-gap:var(--evds-hero-feature-gap,12px)!important;
  }
}

/* Tablet */
@media(max-width:900px){
  .evds-hero{
    width:calc(100vw - 20px)!important;
    margin:8px 0 26px!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  .evds-hero__slide--splitref{
    min-height:0!important;
    height:auto!important;
    display:flex!important;
    flex-direction:column!important;
    background:var(--evds-surface,#fff)!important;
  }

  /* Image first, clean and dominant. */
  .evds-hero__split-media{
    order:1!important;
    position:relative!important;
    width:100%!important;
    height:285px!important;
    min-height:285px!important;
    flex:0 0 285px!important;
    clip-path:none!important;
    border-radius:0!important;
    overflow:hidden!important;
  }

  .evds-hero__split-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  /* Content becomes its own compact card area under the image. */
  .evds-hero__split-copy{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:24px 22px 48px!important;
    align-items:flex-start!important;
    justify-content:flex-start!important;
    background:var(--evds-surface,#fff)!important;
  }

  .evds-hero__split-kicker{
    margin-bottom:7px!important;
    font-size:11.5px!important;
  }

  .evds-hero__split-title{
    max-width:none!important;
    margin:0!important;
    font-size:clamp(28px,6vw,36px)!important;
    line-height:1.18!important;
  }

  .evds-hero__split-text{
    max-width:none!important;
    margin-top:10px!important;
    font-size:13px!important;
    line-height:1.7!important;
  }

  .evds-hero__split-buttons{
    width:100%!important;
    margin-top:16px!important;
    gap:8px!important;
  }

  .evds-hero__split-button{
    min-height:40px!important;
    padding:9px 14px!important;
    font-size:12px!important;
  }

  /* 2×2 benefits grid works better on phones/tablets. */
  .evds-hero__split-features{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin-top:20px!important;
    padding-top:15px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    column-gap:var(--evds-hero-feature-gap,12px)!important;
    row-gap:10px!important;
    border-top:1px solid color-mix(in srgb,var(--evds-border) 80%,transparent)!important;
  }

  .evds-hero__split-feature{
    min-height:42px!important;
    padding:0!important;
    border:0!important;
    gap:7px!important;
  }

  .evds-hero__split-feature-icon{
    width:27px!important;
    height:27px!important;
    flex:0 0 27px!important;
    border-radius:8px!important;
    background:color-mix(in srgb,var(--evds-accent) 8%,#fff)!important;
    color:var(--evds-accent)!important;
  }

  .evds-hero__split-feature-icon svg{
    width:15px!important;
    height:15px!important;
  }

  .evds-hero__split-feature-copy strong{
    white-space:normal!important;
    line-height:1.25!important;
  }

  .evds-hero__split-feature-copy small{
    white-space:normal!important;
    line-height:1.3!important;
  }

  /* Keep arrows on the image area rather than over text. */
  .evds-hero__arrow{
    top:142px!important;
    width:32px!important;
    height:32px!important;
  }

  .evds-hero__arrow--prev{right:10px!important}
  .evds-hero__arrow--next{left:10px!important}

  /* Controls remain centered at bottom of whole hero. */
  .evds-hero__controls{
    bottom:10px!important;
  }
}

/* Phone */
@media(max-width:560px){
  .evds-hero{
    width:calc(100vw - 12px)!important;
    border-radius:16px!important;
    margin-bottom:22px!important;
  }

  .evds-hero__slide--splitref{
    min-height:0!important;
  }

  .evds-hero__split-media{
    height:220px!important;
    min-height:220px!important;
    flex-basis:220px!important;
  }

  .evds-hero__split-copy{
    padding:20px 16px 46px!important;
  }

  .evds-hero__split-kicker{
    font-size:10.5px!important;
  }

  .evds-hero__split-title{
    font-size:27px!important;
    line-height:1.18!important;
  }

  .evds-hero__split-text{
    margin-top:9px!important;
    font-size:12.5px!important;
    line-height:1.65!important;
  }

  /* Buttons share the row and stay equal where space permits. */
  .evds-hero__split-buttons{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:14px!important;
  }

  .evds-hero__split-button{
    width:100%!important;
    min-width:0!important;
    min-height:39px!important;
    padding:8px 10px!important;
    font-size:11.5px!important;
    text-align:center!important;
  }

  .evds-hero__split-features{
    margin-top:17px!important;
    padding-top:14px!important;
    column-gap:max(6px,calc(var(--evds-hero-feature-gap,12px) * .72))!important;
    row-gap:9px!important;
  }

  .evds-hero__split-feature{
    gap:6px!important;
    min-height:40px!important;
  }

  .evds-hero__split-feature-icon{
    width:25px!important;
    height:25px!important;
    flex-basis:25px!important;
  }

  .evds-hero__split-feature-icon svg{
    width:14px!important;
    height:14px!important;
  }

  .evds-hero__arrow{
    top:110px!important;
    width:30px!important;
    height:30px!important;
    font-size:20px!important;
  }

  /* Full-image additional slides stay visually useful on mobile. */
  .evds-hero__slide--cover{
    min-height:520px!important;
  }

  .evds-hero__cover-content{
    right:16px!important;
    left:16px!important;
    bottom:54px!important;
    width:auto!important;
  }

  .evds-hero__cover-content h2{
    font-size:28px!important;
    line-height:1.2!important;
  }

  .evds-hero__cover-content p{
    font-size:12.5px!important;
    line-height:1.65!important;
  }
}


/* =========================================================
   v0.18.0 — double diagonal strips / mobile adaptive slides
   ========================================================= */

/* Individual icon-to-text spacing for each benefit. */
.evds-hero__split-feature{
  gap:var(--evds-feature-inner-gap,8px)!important;
}

/* Two translucent diagonal layers like the supplied reference. */
@media(min-width:901px){
  .evds-hero__split-copy{
    overflow:visible!important;
  }

  /* Main light angled continuation. */
  .evds-hero__split-copy::before{
    content:""!important;
    position:absolute!important;
    z-index:-1!important;
    top:0!important;
    bottom:0!important;
    left:calc(100% - 1px)!important;
    width:104px!important;
    background:rgba(238,245,252,.96)!important;
    clip-path:polygon(0 0,100% 0,28% 100%,0 100%)!important;
    pointer-events:none!important;
  }

  /* Second, narrower transparent strip outside the first. */
  .evds-hero__split-copy::after{
    content:""!important;
    position:absolute!important;
    z-index:-2!important;
    top:0!important;
    bottom:0!important;
    left:calc(100% + 54px)!important;
    width:38px!important;
    background:rgba(238,245,252,.42)!important;
    clip-path:polygon(0 0,100% 0,28% 100%,0 100%)!important;
    pointer-events:none!important;
  }
}

/* ---------------------------------------------------------
   MOBILE: slide height depends on slide content
   --------------------------------------------------------- */
@media(max-width:900px){
  /*
   * Do not force all slides to the height of the rich first slide.
   * Each slide owns its own mobile height.
   */
  .evds-hero,
  .evds-hero__viewport,
  .evds-hero__track{
    height:auto!important;
    min-height:0!important;
  }

  .evds-hero__track{
    align-items:flex-start!important;
  }

  .evds-hero__slide{
    height:auto!important;
    min-height:0!important;
  }

  /* First slide: image + text + benefits. */
  .evds-hero__slide--with-copy{
    min-height:0!important;
  }

  /* Image-only slides become genuinely compact on mobile. */
  .evds-hero__slide--image-only{
    height:320px!important;
    min-height:320px!important;
  }

  .evds-hero__slide--image-only .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  /* Cover slides that include text need a little more room, but not first-slide height. */
  .evds-hero__slide--cover-copy{
    height:430px!important;
    min-height:430px!important;
  }

  .evds-hero__slide--cover-copy .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .evds-hero__slide--cover-copy .evds-hero__cover-content{
    right:20px!important;
    left:20px!important;
    bottom:52px!important;
    width:auto!important;
  }

  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after{
    display:none!important;
  }
}

@media(max-width:560px){
  /* More phone-like proportions. */
  .evds-hero__slide--image-only{
    height:250px!important;
    min-height:250px!important;
  }

  .evds-hero__slide--cover-copy{
    height:360px!important;
    min-height:360px!important;
  }

  .evds-hero__slide--cover-copy .evds-hero__cover-content{
    right:16px!important;
    left:16px!important;
    bottom:48px!important;
  }

  /* First slide remains content-driven rather than fixed-height. */
  .evds-hero__slide--with-copy{
    min-height:0!important;
  }
}


/* =========================================================
   v0.18.1 — refined diagonal strips / mobile Hero / vehicle autoplay
   ========================================================= */

@media(min-width:901px){
  /* Space after each benefit item, independently configurable. */
  .evds-hero__split-feature{
    margin-inline-end:var(--evds-feature-after-gap,0px)!important;
  }

  /* Two clean, parallel diagonal strips like the reference. */
  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after{
    content:""!important;
    position:absolute!important;
    top:-24px!important;
    bottom:-24px!important;
    height:auto!important;
    clip-path:none!important;
    transform:skewX(-11deg)!important;
    transform-origin:center!important;
    pointer-events:none!important;
  }

  .evds-hero__split-copy::before{
    z-index:-1!important;
    left:calc(100% - 29px)!important;
    width:70px!important;
    background:rgba(238,245,252,.90)!important;
  }

  .evds-hero__split-copy::after{
    z-index:-2!important;
    left:calc(100% + 42px)!important;
    width:20px!important;
    background:rgba(238,245,252,.36)!important;
  }
}

/* Mobile is a separate composition, not a shrunk desktop hero. */
@media(max-width:900px){
  .evds-hero{
    width:calc(100vw - 14px)!important;
    height:auto!important;
    min-height:0!important;
    margin:6px 0 24px!important;
    border:0!important;
    border-radius:16px!important;
    background:transparent!important;
    box-shadow:none!important;
    overflow:visible!important;
  }

  .evds-hero__viewport{
    height:auto!important;
    min-height:0!important;
    border:1px solid var(--evds-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 8px 22px rgba(16,35,63,.055)!important;
    overflow:hidden!important;
  }

  .evds-hero__track{
    height:auto!important;
    min-height:0!important;
    align-items:flex-start!important;
  }

  .evds-hero__slide{
    height:auto!important;
    min-height:0!important;
  }

  .evds-hero__slide--with-copy{
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-media{
    order:1!important;
    height:205px!important;
    min-height:205px!important;
    flex:0 0 205px!important;
    clip-path:none!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-copy{
    order:2!important;
    min-height:0!important;
    height:auto!important;
    padding:17px 15px 50px!important;
    background:#fff!important;
  }

  .evds-hero__split-kicker{
    margin-bottom:5px!important;
    font-size:10px!important;
  }

  .evds-hero__split-title{
    font-size:25px!important;
    line-height:1.16!important;
  }

  .evds-hero__split-text{
    margin-top:7px!important;
    font-size:12px!important;
    line-height:1.6!important;
  }

  .evds-hero__split-buttons{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
    margin-top:12px!important;
  }

  .evds-hero__split-button{
    width:100%!important;
    min-height:37px!important;
    padding:8px 8px!important;
    font-size:11px!important;
  }

  .evds-hero__split-features{
    position:static!important;
    width:100%!important;
    margin-top:14px!important;
    padding-top:12px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 11px!important;
  }

  .evds-hero__split-feature{
    min-height:36px!important;
    margin:0!important;
    gap:var(--evds-feature-inner-gap,8px)!important;
  }

  .evds-hero__split-feature-icon{
    width:23px!important;
    height:23px!important;
    flex:0 0 23px!important;
  }

  .evds-hero__split-feature-icon svg{
    width:13px!important;
    height:13px!important;
  }

  .evds-hero__arrow{
    top:102px!important;
    width:30px!important;
    height:30px!important;
  }

  /* Image-only slides are compact. */
  .evds-hero__slide--image-only{
    height:240px!important;
    min-height:240px!important;
  }

  /* Full-image slides with text get only the height they need. */
  .evds-hero__slide--cover-copy{
    height:330px!important;
    min-height:330px!important;
  }
}

@media(max-width:560px){
  .evds-hero__slide--with-copy .evds-hero__split-media{
    height:185px!important;
    min-height:185px!important;
    flex-basis:185px!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-copy{
    padding:15px 13px 48px!important;
  }

  .evds-hero__split-title{
    font-size:23px!important;
  }

  .evds-hero__split-text{
    font-size:11.5px!important;
  }

  .evds-hero__slide--image-only{
    height:215px!important;
    min-height:215px!important;
  }

  .evds-hero__slide--cover-copy{
    height:305px!important;
    min-height:305px!important;
  }

  .evds-hero__arrow{
    top:92px!important;
    width:28px!important;
    height:28px!important;
  }
}

/* Clear 2x2 icon for "all vehicles". */
.evds-all-icon--four{
  width:34px!important;
  height:34px!important;
  padding:4px!important;
  display:grid!important;
  grid-template-columns:repeat(2,1fr)!important;
  grid-template-rows:repeat(2,1fr)!important;
  gap:4px!important;
}
.evds-all-icon--four i{
  display:block!important;
  width:100%!important;
  height:100%!important;
  border-radius:2px!important;
  background:currentColor!important;
}


/* =========================================================
   v0.18.2 — category card controls
   ========================================================= */
.evds-category .evds-tax-card{
  border-radius:var(--evds-category-card-radius,16px)!important;
}

.evds-category .evds-tax-image-wrap{
  height:var(--evds-category-image-height,118px)!important;
  border-radius:var(--evds-category-image-radius,12px)!important;
}

.evds-category .evds-tax-image{
  object-fit:var(--evds-category-image-fit,cover)!important;
}

/* Framed: current card with a distinct image panel. */
.evds-category.evds-category-style-framed .evds-tax-image-wrap{
  background:var(--evds-soft)!important;
}

/* Clean: image sits naturally without a colored inner frame. */
.evds-category.evds-category-style-clean .evds-tax-card{
  padding:12px!important;
  background:var(--evds-surface)!important;
}
.evds-category.evds-category-style-clean .evds-tax-image-wrap{
  background:transparent!important;
}

/* Image-top: larger visual area with title anchored below. */
.evds-category.evds-category-style-image_top .evds-tax-card{
  padding:0 0 13px!important;
  overflow:hidden!important;
  justify-content:flex-start!important;
}
.evds-category.evds-category-style-image_top .evds-tax-image-wrap{
  width:100%!important;
  margin:0 0 11px!important;
  border-radius:var(--evds-category-card-radius,16px) var(--evds-category-card-radius,16px) 0 0!important;
  background:var(--evds-soft)!important;
}
.evds-category.evds-category-style-image_top .evds-tax-name{
  padding-inline:10px!important;
}


/* =========================================================
   v0.18.3 — real category height / real feature spacing
   ========================================================= */

/* Category card height is now independent from image height. */
.evds-category .evds-tax-card{
  min-height:var(--evds-category-card-height,200px)!important;
  height:var(--evds-category-card-height,200px)!important;
}

/*
 * Desktop benefit row uses flex rather than a fixed 4-column grid.
 * A margin after one item can therefore genuinely increase the visible
 * distance before the next item.
 */
@media(min-width:901px){
  .evds-hero__split-features{
    display:flex!important;
    flex-direction:row!important;
    align-items:center!important;
    grid-template-columns:none!important;
    gap:0!important;
    column-gap:0!important;
    row-gap:0!important;
  }

  .evds-hero__split-feature{
    flex:1 1 0!important;
    min-width:0!important;
    margin:0!important;
    margin-inline-end:var(--evds-feature-after-gap,0px)!important;
    padding-inline:6px!important;
  }

  .evds-hero__split-feature:last-child{
    margin-inline-end:0!important;
  }
}

/* Keep mobile 2x2 layout independent from the desktop custom spacing. */
@media(max-width:900px){
  .evds-hero__split-features{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 11px!important;
  }

  .evds-hero__split-feature{
    margin:0!important;
  }
}


/* =========================================================
   v0.18.4 — clean diagonal bands + responsive category cards
   ========================================================= */

/* ---------------------------------------------------------
   HERO: remove old competing diagonal pseudo elements.
   The two bands are now drawn ONLY on the image side,
   so they stay parallel and never deform the text panel.
   --------------------------------------------------------- */
@media(min-width:901px){
  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after{
    display:none!important;
    content:none!important;
  }

  .evds-hero__split-media{
    position:relative!important;
    overflow:hidden!important;
    clip-path:none!important;
  }

  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    content:""!important;
    position:absolute!important;
    top:0!important;
    bottom:0!important;
    z-index:4!important;
    pointer-events:none!important;
  }

  /* Main light diagonal strip. */
  .evds-hero__split-media::before{
    left:-15px!important;
    width:76px!important;
    background:rgba(244,248,252,.84)!important;
    clip-path:polygon(34% 0,100% 0,66% 100%,0 100%)!important;
  }

  /* Secondary narrow translucent strip, perfectly parallel. */
  .evds-hero__split-media::after{
    left:47px!important;
    width:30px!important;
    background:rgba(244,248,252,.38)!important;
    clip-path:polygon(34% 0,100% 0,66% 100%,0 100%)!important;
  }
}

@media(max-width:900px){
  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    display:none!important;
    content:none!important;
  }
}

/* ---------------------------------------------------------
   CATEGORY CARDS
   Card height controls the whole card.
   The image area expands automatically while the title stays
   pinned to the bottom.
   --------------------------------------------------------- */
.evds-category .evds-tax-card{
  height:var(--evds-category-card-height,200px)!important;
  min-height:var(--evds-category-card-height,200px)!important;
  padding:10px 10px 13px!important;
  display:grid!important;
  grid-template-rows:minmax(var(--evds-category-image-height,118px),1fr) auto!important;
  align-items:stretch!important;
  justify-items:stretch!important;
  background:var(--evds-category-card-bg,#fff)!important;
  border-radius:var(--evds-category-card-radius,16px)!important;
  overflow:hidden!important;
}

.evds-category .evds-tax-image-wrap{
  width:100%!important;
  height:auto!important;
  min-height:var(--evds-category-image-height,118px)!important;
  margin:0 0 10px!important;
  align-self:stretch!important;
  border-radius:var(--evds-category-image-radius,12px)!important;
  background:var(--evds-soft)!important;
}

.evds-category .evds-tax-image{
  width:100%!important;
  height:100%!important;
  object-fit:var(--evds-category-image-fit,cover)!important;
}

.evds-category .evds-tax-name{
  align-self:end!important;
  width:100%!important;
  margin:0!important;
  padding:0 4px!important;
  line-height:1.35!important;
}

/* Image-only mode: the image fills the entire card. */
.evds-category.evds-category-hide-name .evds-tax-card{
  display:block!important;
  padding:0!important;
}

.evds-category.evds-category-hide-name .evds-tax-image-wrap{
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  margin:0!important;
  border-radius:var(--evds-category-card-radius,16px)!important;
  background:var(--evds-category-card-bg,#fff)!important;
}

.evds-category.evds-category-hide-name .evds-tax-image{
  width:100%!important;
  height:100%!important;
  object-fit:var(--evds-category-image-fit,cover)!important;
}

/* Style-specific refinements continue to respect the new height rules. */
.evds-category.evds-category-style-clean .evds-tax-image-wrap{
  background:transparent!important;
}

.evds-category.evds-category-style-image_top .evds-tax-card{
  grid-template-rows:minmax(var(--evds-category-image-height,118px),1fr) auto!important;
  padding:0 0 13px!important;
}

.evds-category.evds-category-style-image_top .evds-tax-image-wrap{
  margin:0 0 11px!important;
  border-radius:var(--evds-category-card-radius,16px) var(--evds-category-card-radius,16px) 0 0!important;
}

.evds-category.evds-category-style-image_top .evds-tax-name{
  padding-inline:12px!important;
}

/* Responsive scaling: preserve proportions without making cards oversized. */
@media(max-width:900px){
  .evds-category .evds-tax-card{
    height:clamp(160px,calc(var(--evds-category-card-height,200px) - 12px),300px)!important;
    min-height:clamp(160px,calc(var(--evds-category-card-height,200px) - 12px),300px)!important;
  }

  .evds-category .evds-tax-image-wrap{
    min-height:min(var(--evds-category-image-height,118px),150px)!important;
  }
}

@media(max-width:560px){
  .evds-category .evds-tax-card{
    height:clamp(150px,calc(var(--evds-category-card-height,200px) - 26px),250px)!important;
    min-height:clamp(150px,calc(var(--evds-category-card-height,200px) - 26px),250px)!important;
    padding:8px 8px 11px!important;
  }

  .evds-category .evds-tax-image-wrap{
    margin-bottom:8px!important;
    min-height:min(var(--evds-category-image-height,118px),132px)!important;
  }

  .evds-category .evds-tax-name{
    font-size:13px!important;
    padding-inline:2px!important;
  }

  .evds-category.evds-category-hide-name .evds-tax-card{
    padding:0!important;
  }
}


/* =========================================================
   v0.18.5 — simple Hero diagonal + clear mobile sliders
   ========================================================= */

/* HERO: return to one clean diagonal division. No decorative strips. */
@media(min-width:901px){
  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after,
  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    display:none!important;
    content:none!important;
  }

  .evds-hero__split-copy{
    overflow:hidden!important;
  }

  .evds-hero__split-media{
    position:relative!important;
    z-index:2!important;
    overflow:hidden!important;
    clip-path:polygon(8% 0,100% 0,100% 100%,0 100%)!important;
  }
}

/* Mobile/tablet: sliders must look interactive.
   Keep the navigation arrows visible for vehicles, categories and products. */
@media(max-width:767px){
  .evds-section-head{
    align-items:center!important;
    gap:10px!important;
  }

  .evds-section-head > div:first-child{
    min-width:0!important;
    flex:1 1 auto!important;
  }

  .evds-nav{
    display:flex!important;
    flex:0 0 auto!important;
    gap:6px!important;
  }

  .evds-arrow{
    width:32px!important;
    height:32px!important;
    min-width:32px!important;
    min-height:32px!important;
    background:#fff!important;
    box-shadow:0 3px 10px rgba(15,35,65,.06)!important;
  }

  .evds-arrow span{
    font-size:21px!important;
  }

  /* Horizontal track gets clear breathing room and snapping on every slider type. */
  .evds-track,
  .evds-product-track{
    scroll-snap-type:x mandatory!important;
    scroll-padding-inline:2px!important;
    padding-bottom:8px!important;
  }

  .evds-tax-card,
  .evds-product-card{
    scroll-snap-align:start!important;
  }

  /* Slight edge fade communicates that more content exists horizontally. */
  .evds-slider-shell,
  .evds-products{
    position:relative!important;
  }

  .evds-slider-shell::after,
  .evds-products::after{
    content:""!important;
    position:absolute!important;
    z-index:3!important;
    top:0!important;
    left:0!important;
    width:16px!important;
    height:100%!important;
    pointer-events:none!important;
    background:linear-gradient(to right,rgba(255,255,255,.92),rgba(255,255,255,0))!important;
  }

  /* Vehicle/category cards stay large enough to read but not so wide that
     the horizontal nature disappears. */
  .evds-vehicle .evds-tax-card,
  .evds-category .evds-tax-card{
    flex-basis:calc((100% - (var(--evds-cols-m) - 1)*10px)/var(--evds-cols-m))!important;
  }
}

/* Narrow phones: still keep compact arrows and let the configured mobile
   card count decide how many cards are visible. */
@media(max-width:420px){
  .evds-section{
    padding-inline:10px!important;
  }

  .evds-section-title{
    font-size:21px!important;
  }

  .evds-section-subtitle{
    font-size:12px!important;
  }

  .evds-arrow{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
  }
}


/* =========================================================
   v0.18.6 — continuous Hero wedge + swipe discoverability
   ========================================================= */

/* HERO: one clean diagonal, and the COPY background itself extends into it. */
@media(min-width:901px){
  .evds-hero__split-copy{
    --evds-hero-copy-bg:color-mix(in srgb,var(--evds-accent) 3.5%,#fff);
    overflow:visible!important;
    background:var(--evds-hero-copy-bg)!important;
  }

  .evds-hero__split-copy::before{
    content:""!important;
    display:block!important;
    position:absolute!important;
    z-index:1!important;
    top:0!important;
    bottom:0!important;
    left:calc(100% - 1px)!important;
    width:72px!important;
    background:var(--evds-hero-copy-bg)!important;
    clip-path:polygon(0 0,100% 0,34% 100%,0 100%)!important;
    pointer-events:none!important;
  }

  .evds-hero__split-copy::after,
  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    display:none!important;
    content:none!important;
  }

  .evds-hero__split-media{
    clip-path:none!important;
  }
}

/* Mobile swipe hint: alternative when arrows are intentionally disabled. */
.evds-mobile-swipe-hint{
  display:none;
}

@media(max-width:767px){
  /* Never invent arrows when the section has them disabled.
     If nav markup exists, it remains visible; otherwise use the swipe cue below. */
  .evds-section.evds-no-nav .evds-nav{
    display:none!important;
  }

  .evds-mobile-swipe-hint{
    width:max-content!important;
    max-width:100%!important;
    margin:8px auto 0!important;
    padding:5px 9px!important;
    border:1px solid color-mix(in srgb,var(--evds-border) 85%,transparent)!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--evds-soft) 86%,#fff)!important;
    color:var(--evds-muted)!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    opacity:0!important;
    transform:translateY(2px)!important;
    transition:opacity .18s ease,transform .18s ease!important;
    pointer-events:none!important;
  }

  .evds-mobile-swipe-hint.is-visible{
    display:flex!important;
    opacity:1!important;
    transform:none!important;
  }

  .evds-mobile-swipe-hint i{
    font-style:normal!important;
    color:var(--evds-accent)!important;
    font-size:13px!important;
    line-height:1!important;
  }

  /* For sections without arrows, reveal a small slice of the next card.
     This visually says "there is more" without changing the user's arrow setting. */
  .evds-taxonomy.evds-no-nav .evds-track{
    padding-inline-end:22px!important;
  }

  .evds-taxonomy.evds-no-nav[style*="--evds-cols-m:1"] .evds-tax-card{
    flex-basis:86%!important;
  }

  .evds-taxonomy.evds-no-nav[style*="--evds-cols-m:2"] .evds-tax-card{
    flex-basis:46%!important;
  }

  /* Products also get the cue; keep their configured count, with a subtle end padding. */
  .evds-products .evds-product-track{
    padding-inline-end:18px!important;
  }

  /* Ensure cue is not obscured by old edge fade. */
  .evds-slider-shell::after,
  .evds-products::after{
    height:calc(100% - 22px)!important;
  }
}

@media(max-width:420px){
  .evds-mobile-swipe-hint{
    margin-top:7px!important;
    font-size:10px!important;
  }
}


/* =========================================================
   v0.18.7 — final clean Hero split + independent slider controls
   ========================================================= */

/* ---------------------------------------------------------
   HERO DESKTOP
   One clean diagonal only. The entire slide owns the same light
   background as the copy, so the exposed diagonal can never turn
   white or mismatch the text side.
   --------------------------------------------------------- */
@media(min-width:901px){
  .evds-hero__slide--splitref{
    --evds-hero-copy-bg:color-mix(in srgb,var(--evds-accent) 4%,#fff);
    grid-template-columns:44% 56%!important;
    background:var(--evds-hero-copy-bg)!important;
    overflow:hidden!important;
  }

  .evds-hero__split-copy{
    grid-column:1!important;
    overflow:hidden!important;
    background:var(--evds-hero-copy-bg)!important;
  }

  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after,
  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    display:none!important;
    content:none!important;
  }

  .evds-hero__split-media{
    grid-column:2!important;
    position:relative!important;
    width:100%!important;
    height:100%!important;
    overflow:hidden!important;
    background:transparent!important;
    clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)!important;
  }
}

/* ---------------------------------------------------------
   HERO MOBILE
   Image-only slides should behave like image banners, not like the
   text-heavy first slide. Their height comes from aspect-ratio.
   --------------------------------------------------------- */
@media(max-width:900px){
  .evds-hero__slide--image-only{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 7!important;
    background:var(--evds-soft)!important;
  }

  .evds-hero__slide--image-only .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .evds-hero__slide--cover-copy{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 9!important;
  }
}

@media(max-width:560px){
  .evds-hero__slide--image-only{
    aspect-ratio:16 / 8.5!important;
  }

  .evds-hero__slide--cover-copy{
    aspect-ratio:4 / 3!important;
  }
}

/* ---------------------------------------------------------
   SWIPE DISCOVERABILITY
   Only sections where arrows are intentionally disabled receive
   the swipe hint. This applies to vehicles, categories and products.
   --------------------------------------------------------- */
@media(max-width:767px){
  .evds-section.evds-no-nav .evds-mobile-swipe-hint.is-visible{
    display:flex!important;
  }

  .evds-section.evds-has-nav .evds-mobile-swipe-hint{
    display:none!important;
  }

  /* Reveal a little of the next item when arrows are hidden. */
  .evds-taxonomy.evds-no-nav .evds-track,
  .evds-products.evds-no-nav .evds-product-track{
    padding-inline-end:20px!important;
  }

  .evds-products.evds-no-nav.evds-width-match[style*="--evds-cols-m:1"] .evds-product-track{
    grid-auto-columns:86%!important;
  }

  .evds-products.evds-no-nav.evds-width-match[style*="--evds-cols-m:2"] .evds-product-track{
    grid-auto-columns:46%!important;
  }
}


/* =========================================================
   v0.18.8 — mobile modal centering + category sizing cleanup
   ========================================================= */

/* ---------------------------------------------------------
   VARIABLE PRODUCT MODAL — true center on phones
   --------------------------------------------------------- */
@media(max-width:767px){
  .evds-var-modal{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:
      max(14px,env(safe-area-inset-top))
      14px
      max(14px,env(safe-area-inset-bottom))!important;
  }

  .evds-var-modal__dialog{
    width:min(92vw,420px)!important;
    max-width:92vw!important;
    max-height:min(82dvh,680px)!important;
    margin:auto!important;
    border-radius:16px!important;
    padding:18px!important;
    transform:scale(.985)!important;
    overscroll-behavior:contain!important;
  }

  .evds-var-modal.is-open .evds-var-modal__dialog{
    transform:scale(1)!important;
  }

  .evds-var-modal__image-wrap{
    height:clamp(155px,28dvh,210px)!important;
  }
}

/* Very short screens: still keep the modal centered, just reduce its content area. */
@media(max-width:767px) and (max-height:640px){
  .evds-var-modal__dialog{
    max-height:88dvh!important;
    padding:15px!important;
  }

  .evds-var-modal__image-wrap{
    height:135px!important;
    margin-bottom:12px!important;
  }
}

/* ---------------------------------------------------------
   CATEGORY CARDS — balanced mobile proportions
   --------------------------------------------------------- */
@media(max-width:900px){
  .evds-category .evds-tax-card{
    height:auto!important;
    min-height:0!important;
    aspect-ratio:1 / 1.06!important;
    padding:9px 9px 11px!important;
    grid-template-rows:minmax(0,1fr) auto!important;
  }

  .evds-category .evds-tax-image-wrap{
    min-height:0!important;
    height:auto!important;
    margin-bottom:9px!important;
  }

  .evds-category .evds-tax-name{
    min-height:34px!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    font-size:13px!important;
    line-height:1.3!important;
  }

  .evds-category.evds-category-hide-name .evds-tax-card{
    aspect-ratio:1 / 1!important;
    padding:0!important;
  }

  .evds-category.evds-category-hide-name .evds-tax-image-wrap{
    margin:0!important;
  }
}

@media(max-width:560px){
  .evds-category .evds-tax-card{
    aspect-ratio:1 / 1.02!important;
    padding:8px 8px 10px!important;
  }

  .evds-category .evds-tax-name{
    min-height:30px!important;
    font-size:12.5px!important;
  }

  .evds-category.evds-category-hide-name .evds-tax-card{
    aspect-ratio:1 / 1!important;
    padding:0!important;
  }
}

/* When two category cards are shown on mobile, keep them visually compact and readable. */
@media(max-width:560px){
  .evds-category[style*="--evds-cols-m:2"] .evds-tax-card{
    flex-basis:46%!important;
  }
}

/* ---------------------------------------------------------
   Keep all no-arrow sliders understandable on mobile.
   This includes vehicles, categories and product sliders.
   --------------------------------------------------------- */
@media(max-width:767px){
  .evds-section.evds-no-nav .evds-mobile-swipe-hint.is-visible{
    display:flex!important;
  }

  .evds-section.evds-no-nav .evds-track,
  .evds-section.evds-no-nav .evds-product-track{
    scroll-snap-type:x mandatory!important;
  }

  .evds-section.evds-no-nav .evds-tax-card,
  .evds-section.evds-no-nav .evds-product-card{
    scroll-snap-align:start!important;
  }
}


/* =========================================================
   v0.19.0 — consolidated responsive pass
   ========================================================= */

/* -------------------- HERO DESKTOP -------------------- */
@media(min-width:901px){
  .evds-hero__slide--splitref{
    --evds-hero-copy-bg:color-mix(in srgb,var(--evds-accent) 4%,#fff);
    display:grid!important;
    grid-template-columns:42% 58%!important;
    direction:ltr!important;
    background:var(--evds-hero-copy-bg)!important;
    overflow:hidden!important;
  }

  .evds-hero__split-copy{
    grid-column:1!important;
    position:relative!important;
    z-index:2!important;
    overflow:hidden!important;
    background:var(--evds-hero-copy-bg)!important;
  }

  .evds-hero__split-media{
    grid-column:2!important;
    position:relative!important;
    z-index:1!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    overflow:hidden!important;
    background:var(--evds-hero-copy-bg)!important;
    clip-path:polygon(9% 0,100% 0,100% 100%,0 100%)!important;
  }

  .evds-hero__split-copy::before,
  .evds-hero__split-copy::after,
  .evds-hero__split-media::before,
  .evds-hero__split-media::after{
    content:none!important;
    display:none!important;
  }

  .evds-hero--rtl .evds-hero__split-copy{
    direction:rtl!important;
    text-align:right!important;
  }

  .evds-hero--ltr .evds-hero__split-copy{
    direction:ltr!important;
    text-align:left!important;
  }
}

/* -------------------- HERO TABLET/PHONE -------------------- */
@media(max-width:900px){
  .evds-hero{
    left:50%!important;
    width:min(100% - 16px,720px)!important;
    transform:translateX(-50%)!important;
    height:auto!important;
    min-height:0!important;
    margin:8px 0 26px!important;
    border-radius:18px!important;
    overflow:hidden!important;
    box-shadow:0 8px 24px rgba(16,35,63,.07)!important;
  }

  .evds-hero__viewport{
    height:auto!important;
    min-height:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
  }

  .evds-hero__track{
    height:auto!important;
    min-height:0!important;
    align-items:flex-start!important;
  }

  .evds-hero__slide{
    min-height:0!important;
    height:auto!important;
  }

  /* First slide is a purposeful mobile card: image first, content second. */
  .evds-hero__slide--with-copy{
    display:flex!important;
    flex-direction:column!important;
    background:#fff!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-media{
    order:1!important;
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    flex:0 0 auto!important;
    aspect-ratio:16 / 7.2!important;
    clip-path:none!important;
    background:var(--evds-soft)!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-copy{
    order:2!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    padding:20px 18px 50px!important;
    background:#fff!important;
  }

  .evds-hero__split-kicker{
    margin:0 0 6px!important;
    font-size:10.5px!important;
  }

  .evds-hero__split-title{
    max-width:none!important;
    font-size:clamp(25px,5.8vw,34px)!important;
    line-height:1.17!important;
  }

  .evds-hero__split-text{
    max-width:none!important;
    margin-top:8px!important;
    font-size:12.5px!important;
    line-height:1.65!important;
  }

  .evds-hero__split-buttons{
    width:100%!important;
    margin-top:13px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .evds-hero__split-button{
    width:100%!important;
    min-height:38px!important;
    padding:8px 10px!important;
    font-size:11.5px!important;
    text-align:center!important;
  }

  .evds-hero__split-features{
    position:static!important;
    width:100%!important;
    max-width:none!important;
    margin:16px 0 0!important;
    padding-top:13px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:9px 12px!important;
  }

  .evds-hero__split-feature{
    min-height:38px!important;
    margin:0!important;
    padding:0!important;
    gap:var(--evds-feature-inner-gap,7px)!important;
  }

  .evds-hero__split-feature-icon{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
  }

  .evds-hero__split-feature-icon svg{
    width:13px!important;
    height:13px!important;
  }

  /* Full-image slides do NOT inherit the text slide height. */
  .evds-hero__slide--image-only{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16 / 7!important;
    background:var(--evds-soft)!important;
  }

  .evds-hero__slide--image-only .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .evds-hero__slide--cover-copy{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:16 / 9!important;
  }

  .evds-hero__slide--cover-copy .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
  }

  .evds-hero__slide--cover-copy .evds-hero__cover-content{
    right:18px!important;
    left:18px!important;
    bottom:52px!important;
    width:auto!important;
  }

  .evds-hero__arrow{
    top:calc((100% - 1px) / 2)!important;
    transform:translateY(-50%)!important;
  }
}

@media(max-width:560px){
  .evds-hero{
    width:calc(100% - 10px)!important;
    border-radius:15px!important;
    margin-bottom:22px!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-media{
    aspect-ratio:16 / 8.2!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-copy{
    padding:16px 14px 48px!important;
  }

  .evds-hero__split-title{
    font-size:23px!important;
  }

  .evds-hero__split-text{
    font-size:11.8px!important;
  }

  .evds-hero__split-features{
    gap:8px 9px!important;
  }

  .evds-hero__slide--image-only{
    aspect-ratio:16 / 8.6!important;
  }

  .evds-hero__slide--cover-copy{
    aspect-ratio:4 / 3!important;
  }
}

/* -------------------- ALL MOBILE SLIDERS -------------------- */
@media(max-width:767px){
  .evds-section{
    padding-inline:10px!important;
    margin-bottom:24px!important;
  }

  .evds-section-head{
    margin-bottom:11px!important;
    align-items:center!important;
  }

  .evds-section-title{
    font-size:clamp(20px,6vw,24px)!important;
  }

  .evds-section-subtitle{
    margin-top:4px!important;
    font-size:12px!important;
    line-height:1.55!important;
  }

  /* Arrows remain available only when enabled by the user. */
  .evds-section.evds-has-nav .evds-nav{
    display:flex!important;
  }

  .evds-section.evds-no-nav .evds-nav{
    display:none!important;
  }

  .evds-arrow{
    width:30px!important;
    height:30px!important;
    min-width:30px!important;
    min-height:30px!important;
  }

  .evds-arrow span{
    font-size:20px!important;
  }

  .evds-track,
  .evds-product-track{
    scroll-snap-type:x mandatory!important;
    scroll-behavior:smooth!important;
    overscroll-behavior-inline:contain!important;
    -webkit-overflow-scrolling:touch!important;
    scrollbar-width:none!important;
  }

  .evds-track::-webkit-scrollbar,
  .evds-product-track::-webkit-scrollbar{
    display:none!important;
  }

  /* Without arrows, show a deliberate peek of the next card. */
  .evds-taxonomy.evds-no-nav[style*="--evds-cols-m:1"] .evds-tax-card{
    flex-basis:84%!important;
  }

  .evds-taxonomy.evds-no-nav[style*="--evds-cols-m:2"] .evds-tax-card{
    flex-basis:45%!important;
  }

  .evds-products.evds-no-nav.evds-width-match[style*="--evds-cols-m:1"] .evds-product-track{
    grid-auto-columns:84%!important;
  }

  .evds-products.evds-no-nav.evds-width-match[style*="--evds-cols-m:2"] .evds-product-track{
    grid-auto-columns:45%!important;
  }

  /* Persistent small swipe cue only when arrows are hidden and overflow exists. */
  .evds-mobile-swipe-hint.is-visible{
    display:flex!important;
    margin-top:7px!important;
  }
}

/* Category card proportions on mobile. */
@media(max-width:767px){
  .evds-category .evds-tax-card{
    aspect-ratio:1 / 1.02!important;
    height:auto!important;
    min-height:0!important;
    padding:8px 8px 10px!important;
  }

  .evds-category .evds-tax-image-wrap{
    min-height:0!important;
    height:auto!important;
    margin-bottom:8px!important;
  }

  .evds-category .evds-tax-name{
    min-height:29px!important;
    font-size:12.5px!important;
    line-height:1.25!important;
  }

  .evds-category.evds-category-hide-name .evds-tax-card{
    aspect-ratio:1 / 1!important;
    padding:0!important;
  }
}

/* Vehicle cards are slightly wider/readable on narrow phones. */
@media(max-width:420px){
  .evds-vehicle[style*="--evds-cols-m:2"] .evds-tax-card{
    flex-basis:47%!important;
  }
}


/* =========================================================
   v0.19.1 — mobile Hero: moving images + fixed content
   ========================================================= */
.evds-hero__mobile-static{display:none}

@media(max-width:900px){
  .evds-hero{
    width:min(calc(100% - 14px),720px)!important;
    height:auto!important;
    min-height:0!important;
    overflow:visible!important;
    border:0!important;
    background:transparent!important;
    box-shadow:none!important;
  }

  .evds-hero__viewport{
    position:relative!important;
    width:100%!important;
    min-height:0!important;
    border-radius:18px!important;
    overflow:hidden!important;
    border:1px solid var(--evds-border)!important;
    background:var(--evds-soft)!important;
    box-shadow:0 8px 24px rgba(16,35,63,.07)!important;
  }

  .evds-hero__track{
    height:100%!important;
    min-height:0!important;
    align-items:stretch!important;
  }

  .evds-hero__slide,
  .evds-hero__slide--with-copy,
  .evds-hero__slide--image-only,
  .evds-hero__slide--cover-copy{
    position:relative!important;
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:16 / 8.4!important;
    background:var(--evds-soft)!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-copy{
    display:none!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:100%!important;
    aspect-ratio:auto!important;
    clip-path:none!important;
  }

  .evds-hero__split-image,
  .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    max-width:none!important;
    max-height:none!important;
  }

  .evds-hero__cover-overlay,
  .evds-hero__cover-content{
    display:none!important;
  }

  .evds-hero__mobile-static{
    display:block!important;
    width:100%!important;
    margin-top:10px!important;
    padding:18px 16px 16px!important;
    border:1px solid var(--evds-border)!important;
    border-radius:16px!important;
    background:#fff!important;
    box-shadow:0 7px 20px rgba(16,35,63,.045)!important;
  }

  .evds-hero--rtl .evds-hero__mobile-static{
    direction:rtl!important;
    text-align:right!important;
  }
  .evds-hero--ltr .evds-hero__mobile-static{
    direction:ltr!important;
    text-align:left!important;
  }

  .evds-hero__mobile-kicker{
    margin:0 0 6px!important;
    color:var(--evds-accent)!important;
    font-size:10.5px!important;
    font-weight:800!important;
  }

  .evds-hero__mobile-title{
    margin:0!important;
    color:var(--evds-text)!important;
    font-size:clamp(24px,6vw,32px)!important;
    line-height:1.16!important;
    font-weight:900!important;
  }

  .evds-hero__mobile-title span,
  .evds-hero__mobile-title strong{display:block!important}
  .evds-hero__mobile-title strong{color:var(--evds-accent)!important}

  .evds-hero__mobile-text{
    margin:9px 0 0!important;
    color:var(--evds-muted)!important;
    font-size:12.3px!important;
    line-height:1.65!important;
  }

  .evds-hero__mobile-buttons{
    margin-top:14px!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:7px!important;
  }

  .evds-hero__mobile-buttons .evds-hero__split-button{
    width:100%!important;
    min-height:39px!important;
    padding:8px 9px!important;
    font-size:11.5px!important;
  }

  .evds-hero__mobile-features{
    margin-top:15px!important;
    padding-top:13px!important;
    border-top:1px solid var(--evds-border)!important;
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:10px 12px!important;
  }

  .evds-hero__mobile-feature{
    min-width:0!important;
    display:flex!important;
    align-items:center!important;
    gap:var(--evds-feature-inner-gap,7px)!important;
  }

  .evds-hero__mobile-feature .evds-hero__split-feature-icon{
    width:24px!important;
    height:24px!important;
    flex:0 0 24px!important;
  }

  /* arrows/controls stay on image card, not static content */
  .evds-hero__arrow{
    top:calc((100vw - 14px) * .2625)!important;
  }
  .evds-hero__controls{
    bottom:auto!important;
    top:calc((100vw - 14px) * .525 - 34px)!important;
  }
}

@media(max-width:560px){
  .evds-hero{
    width:calc(100% - 10px)!important;
  }
  .evds-hero__viewport{border-radius:15px!important}
  .evds-hero__slide,
  .evds-hero__slide--with-copy,
  .evds-hero__slide--image-only,
  .evds-hero__slide--cover-copy{
    aspect-ratio:16 / 9.1!important;
  }
  .evds-hero__mobile-static{
    margin-top:8px!important;
    padding:15px 13px 14px!important;
    border-radius:14px!important;
  }
  .evds-hero__mobile-title{font-size:23px!important}
  .evds-hero__mobile-text{font-size:11.7px!important}
  .evds-hero__mobile-features{gap:8px 9px!important}
}


/* =========================================================
   v0.19.2 — mobile Hero controls anchored to image
   ========================================================= */
@media(max-width:900px){
  /*
   * Controls are visually attached to the moving-image area.
   * They no longer drift into the fixed text card below.
   */
  .evds-hero{
    --evds-mobile-hero-width:min(calc(100vw - 14px),720px);
    --evds-mobile-hero-image-h:calc(var(--evds-mobile-hero-width) * 8.4 / 16);
  }

  .evds-hero__controls{
    position:absolute!important;
    z-index:20!important;
    left:50%!important;
    right:auto!important;
    top:calc(var(--evds-mobile-hero-image-h) - 36px)!important;
    bottom:auto!important;
    transform:translateX(-50%)!important;
    margin:0!important;
  }

  .evds-hero__arrow{
    position:absolute!important;
    z-index:20!important;
    top:calc(var(--evds-mobile-hero-image-h) / 2)!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
  }

  .evds-hero__arrow--prev{
    right:10px!important;
  }

  .evds-hero__arrow--next{
    left:10px!important;
  }

  /* Slightly stronger glass treatment so controls remain readable on any image. */
  .evds-hero .evds-hero__controls{
    background:rgba(255,255,255,.90)!important;
    border-color:rgba(215,225,236,.96)!important;
    box-shadow:0 4px 14px rgba(11,28,50,.10)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }
}

@media(max-width:560px){
  .evds-hero{
    --evds-mobile-hero-width:calc(100vw - 10px);
    --evds-mobile-hero-image-h:calc(var(--evds-mobile-hero-width) * 9.1 / 16);
  }

  .evds-hero__controls{
    top:calc(var(--evds-mobile-hero-image-h) - 34px)!important;
  }

  .evds-hero__arrow{
    top:calc(var(--evds-mobile-hero-image-h) / 2)!important;
  }
}


/* =========================================================
   v0.19.3 — mobile Hero fill + controls inside image viewport
   ========================================================= */
@media(max-width:900px){
  .evds-hero__viewport{
    position:relative!important;
  }

  /* Mobile images always fill the whole frame: no empty bars or gaps. */
  .evds-hero__split-image,
  .evds-hero__cover-image{
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center center!important;
    transform:none!important;
  }

  /* Controls are now children of the image viewport. */
  .evds-hero__arrow{
    position:absolute!important;
    z-index:30!important;
    top:50%!important;
    bottom:auto!important;
    transform:translateY(-50%)!important;
    margin:0!important;
  }

  .evds-hero__arrow--prev{
    right:10px!important;
    left:auto!important;
  }

  .evds-hero__arrow--next{
    left:10px!important;
    right:auto!important;
  }

  /* Approved pause+dots capsule at bottom of the image. */
  .evds-hero .evds-hero__controls{
    position:absolute!important;
    z-index:31!important;
    left:50%!important;
    right:auto!important;
    top:auto!important;
    bottom:10px!important;
    transform:translateX(-50%)!important;
    margin:0!important;
    direction:ltr!important;
    background:rgba(255,255,255,.91)!important;
    border-color:rgba(215,225,236,.96)!important;
    box-shadow:0 4px 14px rgba(11,28,50,.10)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
  }

  .evds-hero .evds-hero__pause,
  .evds-hero .evds-hero__dots{
    position:relative!important;
    inset:auto!important;
    left:auto!important;
    right:auto!important;
    top:auto!important;
    bottom:auto!important;
    transform:none!important;
    margin:0!important;
  }
}

@media(max-width:560px){
  .evds-hero__arrow--prev{right:8px!important}
  .evds-hero__arrow--next{left:8px!important}

  .evds-hero .evds-hero__controls{
    bottom:8px!important;
  }
}


/* =========================================================
   v0.19.4 — exact 1200×600 mobile Hero frame (2:1)
   ========================================================= */
@media(max-width:900px){
  /* The uploaded Hero images are 1200×600 = 2:1.
     Make the moving image viewport use that exact ratio. */
  .evds-hero__viewport{
    width:100%!important;
    height:auto!important;
    min-height:0!important;
    aspect-ratio:2 / 1!important;
    overflow:hidden!important;
  }

  .evds-hero__track{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
  }

  .evds-hero__slide,
  .evds-hero__slide--with-copy,
  .evds-hero__slide--image-only,
  .evds-hero__slide--cover-copy{
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
    overflow:hidden!important;
  }

  .evds-hero__slide--with-copy .evds-hero__split-media{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-height:0!important;
    aspect-ratio:auto!important;
  }

  .evds-hero__split-image,
  .evds-hero__cover-image{
    position:absolute!important;
    inset:0!important;
    width:100%!important;
    height:100%!important;
    min-width:100%!important;
    min-height:100%!important;
    object-fit:cover!important;
    object-position:center!important;
    display:block!important;
    margin:0!important;
    padding:0!important;
    transform:none!important;
  }
}

@media(max-width:560px){
  .evds-hero__viewport{
    aspect-ratio:2 / 1!important;
  }

  .evds-hero__slide,
  .evds-hero__slide--with-copy,
  .evds-hero__slide--image-only,
  .evds-hero__slide--cover-copy{
    aspect-ratio:auto!important;
    height:100%!important;
  }
}


/* =========================================================
   v0.19.5 — EVDS favorites toast bridge
   ========================================================= */


/* Favorites and cart deliberately use the same EVDS toast shell. */
.evds-toast.is-favorite{
  background:#fff!important;
  color:var(--evds-text)!important;
  border-color:rgba(15,35,65,.08)!important;
  box-shadow:0 12px 34px rgba(15,35,65,.16)!important;
}


/* =========================================================
   v0.20.0 — native WordPress homepage composer
   ========================================================= */
.evds-homepage{
  width:min(100%,var(--evds-home-max,1240px));
  margin-inline:auto;
  display:flex;
  flex-direction:column;
  gap:var(--evds-home-gap,42px);
}
.evds-homepage__section{width:100%;min-width:0}
.evds-homepage .evds-section{margin-top:0!important;margin-bottom:0!important}
.evds-homepage .evds-hero{margin-top:0!important;margin-bottom:0!important}

/* New lightweight promo banner. */
.evds-promo{
  position:relative;min-height:180px;overflow:hidden;
  display:grid;grid-template-columns:minmax(0,1.35fr) auto minmax(0,.75fr);
  align-items:center;gap:28px;padding:28px 34px;
  border:1px solid color-mix(in srgb,var(--evds-accent) 16%,var(--evds-border));
  border-radius:20px;
  background:linear-gradient(115deg,color-mix(in srgb,var(--evds-accent) 7%,#fff),#fff 56%,color-mix(in srgb,var(--evds-accent) 4%,#fff));
}
.evds-promo--no-image{grid-template-columns:minmax(0,1fr) auto}
.evds-promo__content{min-width:0}
.evds-promo__kicker{display:block;margin-bottom:6px;color:var(--evds-accent);font-size:11px;font-weight:800}
.evds-promo__title{margin:0;color:var(--evds-text);font-size:clamp(22px,2.2vw,32px);line-height:1.25}
.evds-promo__text{max-width:650px;margin:8px 0 0;color:var(--evds-muted);font-size:13px;line-height:1.7}
.evds-promo__button{
  display:inline-flex;align-items:center;justify-content:center;min-height:38px;margin-top:14px;padding:7px 14px;
  border:1px solid var(--evds-accent);border-radius:9px;background:#fff;color:var(--evds-accent)!important;
  text-decoration:none!important;font-size:12px;font-weight:800
}
.evds-promo__value{
  min-width:110px;color:var(--evds-accent);font-size:clamp(38px,5vw,66px);line-height:1;font-weight:950;text-align:center;white-space:nowrap
}
.evds-promo__media{height:150px;min-width:200px;overflow:hidden;border-radius:15px}
.evds-promo__media img{width:100%;height:100%;display:block;object-fit:cover}

/* Vehicle "all" card: less dominant on mobile. */
@media(max-width:767px){
  .evds-vehicle .evds-all-card{
    width:46%!important;max-width:180px!important;min-height:112px!important;
    justify-self:start!important;margin-top:9px!important;padding:10px!important;border-radius:14px!important
  }
  .evds-vehicle .evds-all-card strong{font-size:12.5px!important}
  .evds-vehicle .evds-all-icon{font-size:24px!important}

  /* Shop-by-need: two clear cards plus a hint of the next card. */
  .evds-category .evds-track{gap:10px!important}
  .evds-category .evds-tax-card{
    flex:0 0 46%!important;aspect-ratio:1 / 1.04!important;
    min-height:0!important;height:auto!important;padding:7px 7px 9px!important
  }
  .evds-category .evds-tax-image-wrap{
    height:auto!important;min-height:0!important;flex:1 1 auto!important;margin-bottom:7px!important
  }
  .evds-category .evds-tax-name{
    min-height:28px!important;font-size:12px!important;line-height:1.25!important
  }
}

@media(max-width:560px){
  .evds-homepage{gap:30px!important}
  .evds-promo{
    min-height:0;grid-template-columns:1fr auto!important;gap:12px;
    padding:18px 16px;border-radius:16px
  }
  .evds-promo__content{grid-column:1}
  .evds-promo__value{grid-column:2;grid-row:1;min-width:74px;font-size:42px;align-self:start;margin-top:4px}
  .evds-promo__media{grid-column:1 / -1;height:150px;min-width:0;margin-top:4px}
  .evds-promo__title{font-size:20px}
  .evds-promo__text{font-size:11.7px;line-height:1.6}
  .evds-promo__button{min-height:36px;font-size:11px}
}


/* =========================================================
   v0.20.1 — homepage visual refinements
   ========================================================= */

/* Desktop/mobile versions of the all-vehicles card. */
.evds-all-card--mobile{display:none!important}

@media(max-width:767px){
  .evds-vehicle .evds-slider-shell{
    display:block!important;
  }

  .evds-vehicle .evds-all-card--desktop{
    display:none!important;
  }

  .evds-vehicle .evds-all-card--mobile{
    display:flex!important;
    flex:0 0 46%!important;
    min-width:0!important;
    min-height:0!important;
    aspect-ratio:1 / 1.02!important;
    padding:8px!important;
    margin:0!important;
    border-radius:14px!important;
    scroll-snap-align:start!important;
  }

  .evds-vehicle .evds-all-card--mobile strong{
    font-size:12px!important;
    line-height:1.25!important;
  }

  .evds-vehicle .evds-all-card--mobile .evds-all-icon{
    font-size:23px!important;
  }

  /* The shop-by-need carousel should show two complete cards,
     with only a small hint of additional content. */
  .evds-category .evds-track{
    gap:9px!important;
    padding-inline-end:14px!important;
  }

  .evds-category .evds-tax-card{
    flex-basis:47%!important;
  }

  .evds-category .evds-tax-image-wrap{
    border-radius:10px!important;
  }
}

/* Promo variants */
.evds-promo--style-offer{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.evds-promo--style-offer .evds-promo__media{display:none!important}

.evds-promo--style-image_text{
  grid-template-columns:minmax(0,.72fr) minmax(0,1.28fr) auto!important;
}
.evds-promo--style-image_text .evds-promo__media{
  grid-column:1!important;
  grid-row:1!important;
  min-width:0!important;
  height:136px!important;
}
.evds-promo--style-image_text .evds-promo__content{
  grid-column:2!important;
  grid-row:1!important;
}
.evds-promo--style-image_text .evds-promo__value{
  grid-column:3!important;
  grid-row:1!important;
  min-width:70px!important;
  font-size:clamp(28px,3.8vw,48px)!important;
}

.evds-promo--style-compact{
  min-height:120px!important;
  grid-template-columns:minmax(0,1fr) auto!important;
  padding-block:20px!important;
}
.evds-promo--style-compact .evds-promo__media{display:none!important}
.evds-promo--style-compact .evds-promo__text{max-width:760px!important}
.evds-promo--style-compact .evds-promo__value{font-size:38px!important}

@media(max-width:560px){
  .evds-promo{
    gap:10px!important;
  }

  .evds-promo--style-offer{
    grid-template-columns:minmax(0,1fr) auto!important;
  }

  .evds-promo--style-offer .evds-promo__value{
    grid-column:2!important;
    grid-row:1!important;
    align-self:start!important;
    font-size:40px!important;
  }

  .evds-promo--style-image_text{
    grid-template-columns:1fr auto!important;
    padding:14px!important;
  }

  .evds-promo--style-image_text .evds-promo__media{
    grid-column:1 / -1!important;
    grid-row:1!important;
    width:100%!important;
    height:auto!important;
    aspect-ratio:2.2 / 1!important;
    margin:0 0 4px!important;
    border-radius:12px!important;
  }

  .evds-promo--style-image_text .evds-promo__content{
    grid-column:1!important;
    grid-row:2!important;
  }

  .evds-promo--style-image_text .evds-promo__value{
    grid-column:2!important;
    grid-row:2!important;
    min-width:54px!important;
    margin-top:3px!important;
    font-size:30px!important;
  }

  .evds-promo--style-compact{
    min-height:0!important;
    padding:14px 15px!important;
  }

  .evds-promo--style-compact .evds-promo__title{
    font-size:18px!important;
  }

  /* Slightly tighter rhythm between the product sections. */
  .evds-homepage__section--best_selling,
  .evds-homepage__section--latest,
  .evds-homepage__section--featured,
  .evds-homepage__section--on_sale{
    margin-top:-2px!important;
  }

  .evds-products .evds-section-head{
    margin-bottom:9px!important;
  }
}


/* =========================================================
   v0.20.2 — variable product card price + all-vehicles hover
   ========================================================= */

/* Variable products use a compact "From price" presentation. */
.evds-price .evds-price-from{
  color:var(--evds-muted)!important;
  font-size:10px!important;
  line-height:1!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.evds-price .evds-price-current{
  color:var(--evds-accent)!important;
  font-size:14px!important;
  line-height:1.2!important;
  font-weight:800!important;
  white-space:nowrap!important;
}

/* "All vehicles" should feel interactive without lifting/moving the card. */
.evds-vehicle .evds-all-card{
  transition:
    border-color .18s ease,
    box-shadow .18s ease,
    background .18s ease!important;
}

.evds-vehicle .evds-all-card .evds-all-icon{
  transition:transform .18s ease,color .18s ease!important;
}

.evds-vehicle .evds-all-card:hover,
.evds-vehicle .evds-all-card:focus-visible{
  border-color:color-mix(in srgb,var(--evds-accent) 70%,var(--evds-border))!important;
  background:linear-gradient(
    145deg,
    color-mix(in srgb,var(--evds-accent) 8%,#fff),
    #fff
  )!important;
  box-shadow:0 8px 22px rgba(16,35,63,.08)!important;
  outline:none!important;
}

.evds-vehicle .evds-all-card:hover .evds-all-icon,
.evds-vehicle .evds-all-card:focus-visible .evds-all-icon{
  color:var(--evds-accent)!important;
  transform:scale(1.08)!important;
}


/* v0.20.3 — variable price label */
.evds-price .evds-price-from{
  font-size:9.8px!important;
  font-weight:700!important;
  color:var(--evds-muted)!important;
}
.evds-price .evds-price-current .woocommerce-Price-currencySymbol{
  font-size:.9em!important;
  vertical-align:baseline!important;
}


/* =========================================================
   v0.20.5 — native WooCommerce currency markup
   ========================================================= */

/*
 * Do not inject, hide or rebuild the currency symbol here.
 * EVDS now keeps WooCommerce's native price markup so the store's configured
 * currency symbol/icon and its own CSS continue to work exactly as elsewhere.
 */
.evds-price .evds-price-current{
  display:inline-flex!important;
  align-items:baseline!important;
  white-space:nowrap!important;
}

.evds-price .evds-price-current .woocommerce-Price-amount,
.evds-var-modal__price .woocommerce-Price-amount{
  white-space:nowrap!important;
}

.evds-price .evds-price-from{
  flex:0 0 auto!important;
  white-space:nowrap!important;
}

/* Keep the modal price compact without touching the currency-symbol node. */
.evds-var-modal__price{
  display:inline-flex!important;
  align-items:baseline!important;
  gap:5px!important;
  flex-wrap:wrap!important;
}


/* =========================================================
   v0.20.6 — modal variation price uses the product's native
   currency amount template; no extra currency node is created.
   ========================================================= */
.evds-var-modal__price{
  min-width:0!important;
}
.evds-var-modal__price > .woocommerce-Price-amount,
.evds-var-modal__price del,
.evds-var-modal__price ins{
  white-space:nowrap!important;
}


/* =========================================================
   v0.20.7 — one currency symbol in discounted variation modal
   ========================================================= */
.evds-var-modal__price del .evds-price-number-only{
  color:var(--evds-muted)!important;
  -webkit-text-fill-color:var(--evds-muted)!important;
  white-space:nowrap!important;
}

.evds-var-modal__price del{
  text-decoration:line-through!important;
  text-decoration-thickness:1px!important;
}

.evds-var-modal__price ins{
  text-decoration:none!important;
}

/* In a selected sale variation the current price owns the single currency symbol. */
.evds-var-modal__price del .woocommerce-Price-currencySymbol{
  display:none!important;
}


/* =========================================================
   v0.20.8 — clearer old/new price contrast in variation modal
   ========================================================= */

/* The old price must remain readable on the soft modal background.
   Previous generic modal rules could make it too pale. */
.evds-var-modal__price del,
.evds-var-modal__price del *,
.evds-var-modal__price del .evds-price-number-only{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
  visibility:visible!important;
  font-weight:700!important;
}

.evds-var-modal__price del{
  text-decoration-color:#64748b!important;
  text-decoration-thickness:1px!important;
}

/* Current selected variation price is the primary value. */
.evds-var-modal__price ins,
.evds-var-modal__price ins *,
.evds-var-modal__price ins .woocommerce-Price-amount,
.evds-var-modal__price ins .woocommerce-Price-currencySymbol{
  color:var(--evds-action-color)!important;
  -webkit-text-fill-color:var(--evds-action-color)!important;
  opacity:1!important;
  font-weight:900!important;
}

/* Keep native selection highlighting from making the old price look blank. */
.evds-var-modal__price del::selection,
.evds-var-modal__price del *::selection{
  background:rgba(20,120,255,.18);
  color:#334155!important;
  -webkit-text-fill-color:#334155!important;
}


/* =========================================================
   v0.20.9 — force selected/current variation price readable
   ========================================================= */

/* Some theme/Woo sale styles set <ins> text to white.
   Inside EVDS modal we always use the plugin accent for the current price. */
.evds-var-modal__status .evds-var-modal__price ins,
.evds-var-modal__status .evds-var-modal__price ins *,
.evds-var-modal__status .evds-var-modal__price ins bdi,
.evds-var-modal__status .evds-var-modal__price ins .amount,
.evds-var-modal__status .evds-var-modal__price ins .woocommerce-Price-amount,
.evds-var-modal__status .evds-var-modal__price ins .woocommerce-Price-currencySymbol,
.evds-var-modal__status .evds-var-modal__price .evds-price-current,
.evds-var-modal__status .evds-var-modal__price .evds-price-current *{
  color:var(--evds-action-color,#1478ff)!important;
  -webkit-text-fill-color:var(--evds-action-color,#1478ff)!important;
  opacity:1!important;
  visibility:visible!important;
  text-shadow:none!important;
}

/* Keep the sale wrapper transparent so no inherited white-button styling leaks in. */
.evds-var-modal__status .evds-var-modal__price ins{
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  padding:0!important;
}


/* =========================================================
   v0.20.10 — selected variation current price is no longer
   wrapped in Woo/theme <ins>, preventing inherited white text.
   ========================================================= */
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current *,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current bdi,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current .amount,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current .woocommerce-Price-amount,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current .woocommerce-Price-currencySymbol{
  color:#1478ff!important;
  -webkit-text-fill-color:#1478ff!important;
  opacity:1!important;
  visibility:visible!important;
  background:transparent!important;
  text-shadow:none!important;
  font-weight:900!important;
}

.evds-var-modal__status .evds-var-modal__price .evds-var-sale-current{
  display:inline-flex!important;
  align-items:baseline!important;
  white-space:nowrap!important;
  line-height:1.2!important;
}

/* Old variation price remains clearly secondary. */
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-old,
.evds-var-modal__status .evds-var-modal__price .evds-var-sale-old *{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
  font-weight:700!important;
}


/* =========================================================
   v0.20.11 — initial variable-modal price uses the same
   old/current wrappers as the selected variation price.
   ========================================================= */
.evds-var-modal__price--initial .evds-modal-price-from{
  color:var(--evds-muted,#64748b)!important;
  -webkit-text-fill-color:var(--evds-muted,#64748b)!important;
  font-size:11px!important;
  font-weight:700!important;
  white-space:nowrap!important;
}

.evds-var-modal__price--initial .evds-var-sale-current,
.evds-var-modal__price--initial .evds-var-sale-current *,
.evds-var-modal__price--initial .evds-var-sale-current bdi,
.evds-var-modal__price--initial .evds-var-sale-current .amount,
.evds-var-modal__price--initial .evds-var-sale-current .woocommerce-Price-amount,
.evds-var-modal__price--initial .evds-var-sale-current .woocommerce-Price-currencySymbol{
  color:#1478ff!important;
  -webkit-text-fill-color:#1478ff!important;
  opacity:1!important;
  visibility:visible!important;
  background:transparent!important;
  text-shadow:none!important;
  font-weight:900!important;
}

.evds-var-modal__price--initial .evds-var-sale-old,
.evds-var-modal__price--initial .evds-var-sale-old *{
  color:#64748b!important;
  -webkit-text-fill-color:#64748b!important;
  opacity:1!important;
  font-weight:700!important;
}


/* =========================================================
   v0.21.0 — flexible homepage rows / element widths
   ========================================================= */
.evds-homepage{
  gap:var(--evds-home-gap,42px);
}
.evds-layout-row{
  width:100%;
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:var(--evds-row-gap,14px);
  align-items:stretch;
}
.evds-layout-item{
  min-width:0;
  grid-column:span var(--evds-item-span,12);
}
.evds-layout-item > *{
  width:100%;
  max-width:100%;
}
.evds-layout-item .evds-section,
.evds-layout-item .evds-hero,
.evds-layout-item .evds-promo{
  margin:0!important;
}

/* Half/third-width content needs slightly tighter headings and internal gaps. */
.evds-layout-item[style*="--evds-item-span:6"] .evds-section-head,
.evds-layout-item[style*="--evds-item-span:4"] .evds-section-head,
.evds-layout-item[style*="--evds-item-span:3"] .evds-section-head{
  gap:8px;
}
.evds-layout-item[style*="--evds-item-span:6"] .evds-section-title,
.evds-layout-item[style*="--evds-item-span:4"] .evds-section-title,
.evds-layout-item[style*="--evds-item-span:3"] .evds-section-title{
  font-size:clamp(15px,1.4vw,20px);
}

/* Dynamic banners can be repeated without fixed slots. */
.evds-promo--dynamic{height:100%}

/* On tablet, very narrow 25/33% items become half-width. */
@media(max-width:1024px){
  .evds-layout-item[style*="--evds-item-span:3"],
  .evds-layout-item[style*="--evds-item-span:4"]{
    grid-column:span 6;
  }
}

/* Phone: builder layout stacks safely, irrespective of desktop width choice. */
@media(max-width:767px){
  .evds-layout-row{
    grid-template-columns:1fr;
    gap:18px;
  }
  .evds-layout-item{
    grid-column:1 / -1!important;
  }
}


/* =========================================================
   v0.21.1 — advanced flexible banners
   ========================================================= */
.evds-promo--dynamic{
  position:relative!important;
  isolation:isolate;
  min-height:var(--evds-banner-min,220px)!important;
  padding:var(--evds-banner-padding,28px)!important;
  border-radius:var(--evds-banner-radius,20px)!important;
  background:var(--evds-banner-bg,#f7fafe)!important;
  overflow:hidden!important;
  display:flex!important;
  gap:24px!important;
  border:1px solid var(--evds-banner-border,#e2e8f0)!important;
}

.evds-promo--dynamic .evds-promo__bg{
  position:absolute;inset:0;z-index:-3;
  background-image:var(--evds-banner-image);
  background-size:var(--evds-banner-image-fit,cover);
  background-position:var(--evds-banner-image-pos,50% 50%);
  background-repeat:no-repeat;
}
.evds-promo--dynamic .evds-promo__overlay{
  position:absolute;inset:0;z-index:-2;
  background:rgba(8,24,44,var(--evds-banner-overlay,.22));
}
.evds-promo--dynamic.evds-promo--image-background{
  color:#fff;
}
.evds-promo--dynamic.evds-promo--image-background .evds-promo__content{
  text-shadow:0 1px 2px rgba(0,0,0,.12);
}
.evds-promo--dynamic.evds-promo--image-none .evds-promo__bg,
.evds-promo--dynamic.evds-promo--image-none .evds-promo__overlay{
  display:none!important;
}

.evds-promo--dynamic .evds-promo__content{
  position:relative;z-index:2;
  width:min(100%,var(--evds-banner-content-width,65%));
  max-width:var(--evds-banner-content-width,65%);
  display:flex;flex-direction:column;
  gap:8px;
}
.evds-promo--dynamic.evds-promo--align-start .evds-promo__content{align-items:flex-start;text-align:start}
.evds-promo--dynamic.evds-promo--align-center .evds-promo__content{align-items:center;text-align:center;margin-inline:auto}
.evds-promo--dynamic.evds-promo--align-end .evds-promo__content{align-items:flex-end;text-align:end;margin-inline-start:auto}

.evds-promo--dynamic.evds-promo--valign-start{align-items:flex-start!important}
.evds-promo--dynamic.evds-promo--valign-center{align-items:center!important}
.evds-promo--dynamic.evds-promo--valign-end{align-items:flex-end!important}

.evds-promo--dynamic .evds-promo__title{
  display:flex!important;flex-direction:column;gap:1px;
  margin:0!important;color:var(--evds-banner-title,#10233f)!important;
}
.evds-promo--dynamic.evds-promo--image-background .evds-promo__title,
.evds-promo--dynamic.evds-promo--image-background .evds-promo__title *{
  color:#fff!important;-webkit-text-fill-color:#fff!important;
}
.evds-promo--dynamic .evds-promo__title-line2{
  color:var(--evds-accent)!important;
}
.evds-promo--dynamic.evds-promo--image-background .evds-promo__title-line2{
  color:#fff!important;opacity:.92
}
.evds-promo--dynamic .evds-promo__text{
  margin:0!important;color:var(--evds-banner-text,#6c7b90)!important;max-width:100%!important
}
.evds-promo--dynamic.evds-promo--image-background .evds-promo__text,
.evds-promo--dynamic.evds-promo--image-background .evds-promo__kicker{
  color:#fff!important;-webkit-text-fill-color:#fff!important
}
.evds-promo--dynamic .evds-promo__value--inline{
  position:static!important;min-width:0!important;margin:1px 0!important;
  color:var(--evds-accent)!important;font-size:clamp(26px,4vw,52px)!important;text-align:inherit!important
}
.evds-promo--dynamic.evds-promo--image-background .evds-promo__value--inline{
  color:#fff!important;-webkit-text-fill-color:#fff!important
}
.evds-promo--dynamic .evds-promo__actions{
  display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:4px
}
.evds-promo--dynamic .evds-promo__button{margin:0!important}
.evds-promo--dynamic.evds-promo--button-solid .evds-promo__button--primary{
  background:var(--evds-accent)!important;color:#fff!important;border-color:var(--evds-accent)!important
}
.evds-promo--dynamic.evds-promo--button-outline .evds-promo__button--primary{
  background:transparent!important;color:var(--evds-accent)!important;border-color:var(--evds-accent)!important
}
.evds-promo--dynamic.evds-promo--button-soft .evds-promo__button--primary{
  background:color-mix(in srgb,var(--evds-accent) 12%,#fff)!important;color:var(--evds-accent)!important;border-color:transparent!important
}
.evds-promo--dynamic .evds-promo__button--secondary{
  background:transparent!important;color:currentColor!important;border-color:currentColor!important
}

.evds-promo--dynamic.evds-promo--image-side{
  display:grid!important;
  grid-template-columns:minmax(0,1fr) minmax(180px,42%)!important;
}
.evds-promo--dynamic.evds-promo--side-start .evds-promo__media--side{grid-column:1;grid-row:1}
.evds-promo--dynamic.evds-promo--side-start .evds-promo__content{grid-column:2;grid-row:1}
.evds-promo--dynamic.evds-promo--side-end .evds-promo__content{grid-column:1;grid-row:1}
.evds-promo--dynamic.evds-promo--side-end .evds-promo__media--side{grid-column:2;grid-row:1}
.evds-promo--dynamic .evds-promo__media--side{
  width:100%;height:100%;min-height:calc(var(--evds-banner-min,220px) - (var(--evds-banner-padding,28px) * 2));
  border-radius:max(8px,calc(var(--evds-banner-radius,20px) - 7px));overflow:hidden
}
.evds-promo--dynamic .evds-promo__media--side img{
  width:100%;height:100%;display:block;
  object-fit:var(--evds-banner-image-fit,cover);
  object-position:var(--evds-banner-image-pos,50% 50%)
}

.evds-promo--dynamic.evds-promo--style-compact{min-height:min(var(--evds-banner-min,160px),180px)!important}
.evds-promo--dynamic.evds-promo--style-clean{border-color:transparent!important;box-shadow:none!important}

@media(max-width:767px){
  .evds-promo--dynamic{
    min-height:max(150px,calc(var(--evds-banner-min,220px) * .82))!important;
    padding:min(var(--evds-banner-padding,28px),18px)!important;
  }
  .evds-promo--dynamic .evds-promo__content{
    width:100%!important;max-width:100%!important
  }
  .evds-promo--dynamic.evds-promo--image-side{
    grid-template-columns:1fr!important
  }
  .evds-promo--dynamic.evds-promo--image-side .evds-promo__media--side,
  .evds-promo--dynamic.evds-promo--image-side .evds-promo__content{
    grid-column:1!important
  }
  .evds-promo--dynamic.evds-promo--image-side .evds-promo__media--side{
    grid-row:1!important;min-height:140px!important;aspect-ratio:2 / 1
  }
  .evds-promo--dynamic.evds-promo--image-side .evds-promo__content{
    grid-row:2!important
  }
}


/* =========================================================
   v0.21.2 — unified dynamic banners
   ========================================================= */
.evds-promo--dynamic.evds-promo--clickable{cursor:pointer}
.evds-promo--dynamic .evds-promo__card-link{
  position:absolute;
  inset:0;
  z-index:1;
  border-radius:inherit;
}
.evds-promo--dynamic .evds-promo__content,
.evds-promo--dynamic .evds-promo__media--side{
  position:relative;
  z-index:2;
}
/* Keep actual buttons independently clickable above the full-card link. */
.evds-promo--dynamic .evds-promo__actions,
.evds-promo--dynamic .evds-promo__button{
  position:relative;
  z-index:3;
}
.evds-promo--dynamic.evds-promo--clickable:focus-within{
  outline:2px solid var(--evds-accent);
  outline-offset:2px;
}


/* =========================================================
   v0.21.3 — equal-height items inside the same homepage row
   ========================================================= */
.evds-layout-row{
  align-items:stretch!important;
}

.evds-layout-item{
  display:flex;
  min-height:100%;
}

.evds-layout-item > *{
  flex:1 1 auto;
  height:100%;
  min-height:100%;
}

/* Dynamic banners in the same row must share the row height,
   regardless of text amount or image/content style. */
.evds-layout-item--banner .evds-promo--dynamic{
  width:100%!important;
  height:100%!important;
  min-height:max(var(--evds-banner-min,220px),100%)!important;
}

/* Do not force equal-height behavior between stacked mobile items. */
@media(max-width:767px){
  .evds-layout-item{
    display:block;
    min-height:0;
  }
  .evds-layout-item > *{
    height:auto;
    min-height:0;
  }
  .evds-layout-item--banner .evds-promo--dynamic{
    height:auto!important;
    min-height:max(150px,calc(var(--evds-banner-min,220px) * .82))!important;
  }
}




/* =========================================================
   v0.22.0 — native END Woo Favorites 0.9.4 integration
   ========================================================= */

/* Let END's own SVG state work: inactive outline, active filled. */
.evds-products .evds-wishlist .end-wf-icon{
  width:var(--evds-wishlist-icon-size)!important;
  height:var(--evds-wishlist-icon-size)!important;
  display:block!important;
  fill:none;
  stroke:currentColor;
  stroke-width:1.8;
  stroke-linecap:round;
  stroke-linejoin:round;
}

.evds-products .evds-wishlist .end-wf-button.is-favorite .end-wf-icon,
.evds-products .evds-wishlist .end-wf-button[aria-pressed="true"] .end-wf-icon{
  fill:currentColor!important;
  stroke:currentColor!important;
}

.evds-products .evds-wishlist .end-wf-button{
  width:var(--evds-wishlist-size)!important;
  height:var(--evds-wishlist-size)!important;
  min-width:var(--evds-wishlist-size)!important;
  min-height:var(--evds-wishlist-size)!important;
  padding:0!important;
  color:var(--evds-wishlist-color)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
}

.evds-products .evds-wishlist .end-wf-button:hover{
  color:var(--evds-wishlist-hover)!important;
}
.evds-products .evds-wishlist .end-wf-button.is-favorite,
.evds-products .evds-wishlist .end-wf-button[aria-pressed="true"]{
  color:var(--evds-wishlist-active)!important;
}

/* Optional EVDS circle background. */
.evds-products.evds-wishlist-circle-bg .evds-wishlist .end-wf-button{
  border-radius:50%!important;
  background:var(--evds-wishlist-bg)!important;
  border:1px solid var(--evds-wishlist-border)!important;
  box-shadow:0 3px 10px rgba(15,35,65,.08)!important;
}
.evds-products.evds-wishlist-circle-bg .evds-wishlist .end-wf-button:hover{
  background:var(--evds-wishlist-bg)!important;
}
.evds-products.evds-wishlist-circle-bg .evds-wishlist .end-wf-button.is-favorite,
.evds-products.evds-wishlist-circle-bg .evds-wishlist .end-wf-button[aria-pressed="true"]{
  background:var(--evds-wishlist-active-bg)!important;
  border-color:var(--evds-wishlist-border)!important;
}

/* Without circle mode, keep the clean transparent icon-only appearance. */
.evds-products:not(.evds-wishlist-circle-bg) .evds-wishlist .end-wf-button{
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
}

/* END text context may be returned for external buttons; EVDS cards show icon only. */
.evds-products .evds-wishlist .end-wf-label{
  display:none!important;
}


/* =========================================================
   v0.22.1 — EVDS owns favorites UI; END is only the engine
   ========================================================= */
.evds-products .evds-wishlist .evds-favorite-button{
  width:var(--evds-wishlist-size)!important;
  height:var(--evds-wishlist-size)!important;
  min-width:var(--evds-wishlist-size)!important;
  min-height:var(--evds-wishlist-size)!important;
  padding:0!important;
  margin:0!important;
  border:0!important;
  border-radius:0!important;
  background:transparent!important;
  box-shadow:none!important;
  appearance:none!important;
  -webkit-appearance:none!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  color:var(--evds-wishlist-color)!important;
  line-height:1!important;
  cursor:pointer!important;
  transition:color .16s ease,background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease!important;
}
.evds-products .evds-wishlist .evds-favorite-icon-wrap{
  width:var(--evds-wishlist-icon-size)!important;
  height:var(--evds-wishlist-icon-size)!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  pointer-events:none!important;
}
.evds-products .evds-wishlist .evds-favorite-icon{
  width:100%!important;
  height:100%!important;
  display:block!important;
  overflow:visible!important;
  fill:none!important;
  stroke:currentColor!important;
  stroke-width:1.8!important;
  stroke-linecap:round!important;
  stroke-linejoin:round!important;
  color:inherit!important;
  pointer-events:none!important;
}
.evds-products .evds-wishlist .evds-favorite-icon path{
  fill:inherit!important;
  stroke:inherit!important;
}
.evds-products .evds-wishlist .evds-favorite-button:hover{
  color:var(--evds-wishlist-hover)!important;
}
.evds-products .evds-wishlist .evds-favorite-button.is-favorite,
.evds-products .evds-wishlist .evds-favorite-button[aria-pressed="true"]{
  color:var(--evds-wishlist-active)!important;
}
.evds-products .evds-wishlist .evds-favorite-button.is-favorite .evds-favorite-icon,
.evds-products .evds-wishlist .evds-favorite-button[aria-pressed="true"] .evds-favorite-icon,
.evds-products .evds-wishlist .evds-favorite-button.is-favorite .evds-favorite-icon path,
.evds-products .evds-wishlist .evds-favorite-button[aria-pressed="true"] .evds-favorite-icon path{
  fill:currentColor!important;
  stroke:currentColor!important;
}

/* Optional circle controlled exclusively by EVDS. */
.evds-products.evds-wishlist-circle-bg .evds-wishlist .evds-favorite-button{
  border:1px solid var(--evds-wishlist-border)!important;
  border-radius:50%!important;
  background:var(--evds-wishlist-bg)!important;
  box-shadow:0 3px 10px rgba(15,35,65,.08)!important;
}
.evds-products.evds-wishlist-circle-bg .evds-wishlist .evds-favorite-button.is-favorite,
.evds-products.evds-wishlist-circle-bg .evds-wishlist .evds-favorite-button[aria-pressed="true"]{
  background:var(--evds-wishlist-active-bg)!important;
}
.evds-products .evds-wishlist .evds-favorite-button.is-loading{
  pointer-events:none!important;
  opacity:.68!important;
}
.evds-products .evds-wishlist .evds-favorite-button.is-loading .evds-favorite-icon{
  animation:evdsFavoritePulse .62s ease-in-out infinite;
}
@keyframes evdsFavoritePulse{
  0%,100%{transform:scale(1)}
  50%{transform:scale(.84)}
}


/* =========================================================
   v0.22.2 — centered mobile homepage + controllable side spacing
   ========================================================= */
.evds-homepage{
  box-sizing:border-box!important;
  margin-left:auto!important;
  margin-right:auto!important;
}

@media(max-width:1024px){
  .evds-homepage{
    width:100%!important;
    max-width:100%!important;
    padding-left:var(--evds-home-tablet-pad,16px)!important;
    padding-right:var(--evds-home-tablet-pad,16px)!important;
  }
}

@media(max-width:767px){
  .evds-homepage{
    width:100%!important;
    max-width:100%!important;
    padding-left:var(--evds-home-mobile-pad,10px)!important;
    padding-right:var(--evds-home-mobile-pad,10px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }

  .evds-homepage > .evds-layout-row,
  .evds-homepage .evds-layout-item{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }

  .evds-homepage .evds-layout-item > .evds-section,
  .evds-homepage .evds-layout-item > .evds-hero,
  .evds-homepage .evds-layout-item > .evds-promo{
    width:100%!important;
    max-width:100%!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
}


/* =========================================================
   v0.22.3 — controllable desktop side spacing
   ========================================================= */

/* Desktop uses its own independent horizontal padding. */
@media(min-width:1025px){
  .evds-homepage{
    width:min(100%,var(--evds-home-max,1240px))!important;
    max-width:var(--evds-home-max,1240px)!important;
    padding-left:var(--evds-home-desktop-pad,12px)!important;
    padding-right:var(--evds-home-desktop-pad,12px)!important;
    margin-left:auto!important;
    margin-right:auto!important;
    box-sizing:border-box!important;
  }
}

/* Keep row widths aligned with the padded homepage container. */
.evds-homepage > .evds-layout-row{
  width:100%!important;
  max-width:100%!important;
  box-sizing:border-box!important;
}


/* =========================================================
   v0.22.4 — reliable mobile carousel gestures
   ========================================================= */
@media(max-width:767px){
  .evds-track,
  .evds-product-track,
  .evds-hero__viewport,
  .evds-hero__track{
    touch-action:pan-y pinch-zoom!important;
    -webkit-overflow-scrolling:touch;
  }

  .evds-track,
  .evds-product-track{
    overscroll-behavior-inline:contain;
  }
}


/* =========================================================
   v0.22.5 — mobile hero controls below image
   ========================================================= */
@media(min-width:901px){
  .evds-hero > .evds-hero__controls{
    position:absolute!important;
    z-index:10!important;
    left:50%!important;
    bottom:10px!important;
    transform:translateX(-50%)!important;
  }
}

@media(max-width:900px){
  .evds-hero > .evds-hero__controls{
    position:relative!important;
    z-index:4!important;
    inset:auto!important;
    transform:none!important;
    width:max-content!important;
    max-width:calc(100% - 24px)!important;
    min-width:0!important;
    height:var(--evds-hero-mobile-control-height,22px)!important;
    min-height:var(--evds-hero-mobile-control-height,22px)!important;
    margin:var(--evds-hero-mobile-control-gap,6px) auto 0!important;
    padding:0 2px!important;
    gap:var(--evds-hero-mobile-control-spacing,5px)!important;
    border:0!important;
    border-radius:999px!important;
    background:transparent!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    direction:ltr!important;
  }

  .evds-hero > .evds-hero__controls--mobile-soft{
    padding:2px 7px!important;
    border:1px solid rgba(220,228,238,.72)!important;
    background:rgba(255,255,255,.72)!important;
    box-shadow:0 2px 8px rgba(15,35,65,.045)!important;
  }

  .evds-hero > .evds-hero__controls .evds-hero__dots{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    height:100%!important;
    min-height:0!important;
    gap:var(--evds-hero-mobile-control-spacing,5px)!important;
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    margin:0!important;
    padding:0!important;
  }

  .evds-hero > .evds-hero__controls .evds-hero__dot{
    width:var(--evds-hero-mobile-dot-size,5px)!important;
    min-width:var(--evds-hero-mobile-dot-size,5px)!important;
    height:var(--evds-hero-mobile-dot-size,5px)!important;
    min-height:var(--evds-hero-mobile-dot-size,5px)!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:999px!important;
    background:#cbd5e1!important;
    box-shadow:none!important;
    opacity:1!important;
  }

  .evds-hero > .evds-hero__controls .evds-hero__dot.is-active{
    width:var(--evds-hero-mobile-active-dot-width,16px)!important;
    min-width:var(--evds-hero-mobile-active-dot-width,16px)!important;
    background:var(--evds-accent)!important;
  }

  .evds-hero > .evds-hero__controls .evds-hero__pause{
    position:relative!important;
    inset:auto!important;
    transform:none!important;
    width:14px!important;
    height:14px!important;
    min-width:14px!important;
    min-height:14px!important;
    flex:0 0 14px!important;
    margin:0!important;
    padding:0!important;
    border:0!important;
    border-radius:4px!important;
    background:transparent!important;
    color:#91a0b2!important;
    box-shadow:none!important;
  }

  .evds-hero > .evds-hero__controls .evds-hero__pause:hover,
  .evds-hero > .evds-hero__controls .evds-hero__pause:focus-visible{
    background:transparent!important;
    color:var(--evds-accent)!important;
  }

  .evds-hero__mobile-static{
    margin-top:4px!important;
  }
}


/* =========================================================
   v0.22.6 — selectable mobile hero controls placement
   ========================================================= */
@media(max-width:900px){
  /* Below-image mode */
  .evds-hero > .evds-hero__controls--mobile-below{
    position:relative!important;
    inset:auto!important;
    transform:translate(var(--evds-hero-mobile-control-x,0),0)!important;
    margin-top:var(--evds-hero-mobile-control-gap,6px)!important;
  }
  .evds-hero > .evds-hero__controls--mobile-below.evds-hero__controls--align-left{
    margin-left:0!important;
    margin-right:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-below.evds-hero__controls--align-center{
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-below.evds-hero__controls--align-right{
    margin-left:auto!important;
    margin-right:0!important;
  }

  /* Overlay mode */
  .evds-hero > .evds-hero__controls--mobile-overlay{
    position:absolute!important;
    z-index:15!important;
    margin:0!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-left{
    left:12px!important;
    right:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-center{
    left:50%!important;
    right:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-right{
    right:12px!important;
    left:auto!important;
  }

  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-top{
    top:12px!important;
    bottom:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-center{
    top:25%!important;
    bottom:auto!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-bottom{
    top:calc(50% - var(--evds-hero-mobile-control-height,22px) - 10px)!important;
    bottom:auto!important;
  }

  /* Fine offsets are physical and consistent in RTL/LTR. */
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-left{
    transform:translate(var(--evds-hero-mobile-control-x,0),var(--evds-hero-mobile-control-y,8px))!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-center{
    transform:translate(calc(-50% + var(--evds-hero-mobile-control-x,0)),var(--evds-hero-mobile-control-y,8px))!important;
  }
  .evds-hero > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-right{
    transform:translate(var(--evds-hero-mobile-control-x,0),var(--evds-hero-mobile-control-y,8px))!important;
  }

  /* Soft style remains compact in either location. */
  .evds-hero > .evds-hero__controls--mobile-soft{
    padding-inline:7px!important;
  }
}


/* =========================================================
   v0.22.7 — correct mobile hero overlay + native smooth swipe
   ========================================================= */

/* Native touch scrolling is smoother than manually writing scrollLeft.
   Keep mouse drag JS, but let iOS/Android own finger momentum. */
@media(max-width:900px){
  .evds-track,
  .evds-product-track{
    touch-action:auto!important;
    -webkit-overflow-scrolling:touch!important;
    scroll-behavior:auto!important;
    overscroll-behavior-inline:contain!important;
  }

  /* Less aggressive snapping on touch makes product/category swipes feel
     natural and prevents the "sticky/jumpy" sensation between cards. */
  .evds-track,
  .evds-product-track{
    scroll-snap-type:x proximity!important;
  }
}

/* When "On image" is selected, JS moves the controls INSIDE the image
   viewport, so these positions are now relative to the image itself. */
@media(max-width:900px){
  .evds-hero__viewport{
    position:relative!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay{
    position:absolute!important;
    z-index:20!important;
    margin:0!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-left{
    left:12px!important;
    right:auto!important;
  }
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-center{
    left:50%!important;
    right:auto!important;
  }
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-right{
    right:12px!important;
    left:auto!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-top{
    top:12px!important;
    bottom:auto!important;
  }
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-center{
    top:50%!important;
    bottom:auto!important;
  }
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--vertical-bottom{
    top:auto!important;
    bottom:10px!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-left.evds-hero__controls--vertical-center,
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-right.evds-hero__controls--vertical-center{
    transform:translate(var(--evds-hero-mobile-control-x,0),calc(-50% + var(--evds-hero-mobile-control-y,8px)))!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-center.evds-hero__controls--vertical-center{
    transform:translate(calc(-50% + var(--evds-hero-mobile-control-x,0)),calc(-50% + var(--evds-hero-mobile-control-y,8px)))!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-center:not(.evds-hero__controls--vertical-center){
    transform:translateX(calc(-50% + var(--evds-hero-mobile-control-x,0))) translateY(var(--evds-hero-mobile-control-y,8px))!important;
  }

  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-left:not(.evds-hero__controls--vertical-center),
  .evds-hero__viewport > .evds-hero__controls--mobile-overlay.evds-hero__controls--align-right:not(.evds-hero__controls--vertical-center){
    transform:translate(var(--evds-hero-mobile-control-x,0),var(--evds-hero-mobile-control-y,8px))!important;
  }
}


/* =========================================================
   v0.22.8 — exact mobile hero control dimensions
   ========================================================= */
@media(max-width:900px){
  .evds-hero .evds-hero__controls{
    box-sizing:border-box!important;
    height:var(--evds-hero-mobile-control-height,22px)!important;
    min-height:var(--evds-hero-mobile-control-height,22px)!important;
    max-height:var(--evds-hero-mobile-control-height,22px)!important;
  }

  /* A soft background must remain inside the requested outer height. */
  .evds-hero .evds-hero__controls--mobile-soft{
    box-sizing:border-box!important;
    padding-top:1px!important;
    padding-bottom:1px!important;
  }

  .evds-hero .evds-hero__controls .evds-hero__dots{
    box-sizing:border-box!important;
    height:100%!important;
    min-height:0!important;
    max-height:100%!important;
  }

  /* Prevent old minimum sizes from making a small configured height look unchanged. */
  .evds-hero .evds-hero__controls .evds-hero__pause{
    box-sizing:border-box!important;
    width:min(14px,calc(var(--evds-hero-mobile-control-height,22px) - 2px))!important;
    height:min(14px,calc(var(--evds-hero-mobile-control-height,22px) - 2px))!important;
    min-width:0!important;
    min-height:0!important;
    flex:0 0 auto!important;
  }
}


/* =========================================================
   v0.22.9 — responsive Hero typography and content position
   ========================================================= */
@media(min-width:1025px){
  .evds-hero__split-copy{
    transform:translate(var(--evds-hero-d-x,0),var(--evds-hero-d-y,0))!important;
  }
  .evds-hero__split-kicker{font-size:var(--evds-hero-d-kicker,12px)!important}
  .evds-hero__split-title{font-size:var(--evds-hero-d-title,40px)!important}
  .evds-hero__split-text{font-size:var(--evds-hero-d-body,14px)!important}
  .evds-hero__split-button{font-size:var(--evds-hero-d-button,13px)!important}
  .evds-hero__split-copy{text-align:var(--evds-hero-d-align,start)!important}
}

@media(min-width:561px) and (max-width:1024px){
  .evds-hero__mobile-static{
    transform:translate(var(--evds-hero-t-x,0),var(--evds-hero-t-y,0))!important;
    text-align:var(--evds-hero-t-align,start)!important;
  }
  .evds-hero__mobile-kicker{font-size:var(--evds-hero-t-kicker,11px)!important}
  .evds-hero__mobile-title{font-size:var(--evds-hero-t-title,29px)!important}
  .evds-hero__mobile-text{font-size:var(--evds-hero-t-body,13px)!important}
  .evds-hero__mobile-buttons .evds-hero__split-button{font-size:var(--evds-hero-t-button,12px)!important}
}

@media(max-width:560px){
  .evds-hero__mobile-static{
    transform:translate(var(--evds-hero-m-x,0),var(--evds-hero-m-y,0))!important;
    text-align:var(--evds-hero-m-align,start)!important;
  }
  .evds-hero__mobile-kicker{font-size:var(--evds-hero-m-kicker,10px)!important}
  .evds-hero__mobile-title{font-size:var(--evds-hero-m-title,23px)!important}
  .evds-hero__mobile-text{font-size:var(--evds-hero-m-body,12px)!important}
  .evds-hero__mobile-buttons .evds-hero__split-button{font-size:var(--evds-hero-m-button,12px)!important}
}


/* =========================================================
   v0.23.0 — Hero text gaps + before/after spacing per device
   ========================================================= */
@media(min-width:1025px){
  .evds-hero{
    margin-top:var(--evds-hero-space-before-d,0)!important;
    margin-bottom:var(--evds-hero-space-after-d,0)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .evds-hero__split-text{
    margin-top:var(--evds-hero-d-title-desc-gap,13px)!important;
  }
  .evds-hero__split-buttons{
    margin-top:var(--evds-hero-d-desc-buttons-gap,20px)!important;
  }
}

@media(min-width:561px) and (max-width:1024px){
  .evds-hero{
    margin-top:var(--evds-hero-space-before-t,0)!important;
    margin-bottom:var(--evds-hero-space-after-t,0)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .evds-hero__mobile-text{
    margin-top:var(--evds-hero-t-title-desc-gap,9px)!important;
  }
  .evds-hero__mobile-buttons{
    margin-top:var(--evds-hero-t-desc-buttons-gap,14px)!important;
  }
}

@media(max-width:560px){
  .evds-hero{
    margin-top:var(--evds-hero-space-before-m,0)!important;
    margin-bottom:var(--evds-hero-space-after-m,0)!important;
    margin-left:auto!important;
    margin-right:auto!important;
  }
  .evds-hero__mobile-text{
    margin-top:var(--evds-hero-m-title-desc-gap,9px)!important;
  }
  .evds-hero__mobile-buttons{
    margin-top:var(--evds-hero-m-desc-buttons-gap,14px)!important;
  }
}


/* =========================================================
   v0.23.1 — reliable before/after Hero spacing
   ========================================================= */

/*
 * Inside [evds_homepage], the Hero sits inside a grid/flex layout item.
 * Applying the spacing only as Hero margins can be neutralized by that
 * layout. Therefore the homepage builder item owns the vertical space,
 * while standalone [evds_hero] continues to use Hero margins.
 */

/* Desktop */
@media(min-width:1025px){
  .evds-homepage .evds-layout-item:has(> .evds-hero){
    box-sizing:border-box!important;
    padding-top:var(--evds-hero-space-before-d,0)!important;
    padding-bottom:var(--evds-hero-space-after-d,0)!important;
  }

  .evds-homepage .evds-layout-item > .evds-hero{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Tablet */
@media(min-width:561px) and (max-width:1024px){
  .evds-homepage .evds-layout-item:has(> .evds-hero){
    box-sizing:border-box!important;
    padding-top:var(--evds-hero-space-before-t,0)!important;
    padding-bottom:var(--evds-hero-space-after-t,0)!important;
  }

  .evds-homepage .evds-layout-item > .evds-hero{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Mobile */
@media(max-width:560px){
  .evds-homepage .evds-layout-item:has(> .evds-hero){
    box-sizing:border-box!important;
    padding-top:var(--evds-hero-space-before-m,0)!important;
    padding-bottom:var(--evds-hero-space-after-m,0)!important;
  }

  .evds-homepage .evds-layout-item > .evds-hero{
    margin-top:0!important;
    margin-bottom:0!important;
  }
}

/* Standalone shortcode still honors the same controls directly. */
@media(min-width:1025px){
  body .evds-hero:not(.evds-homepage .evds-hero){
    margin-top:var(--evds-hero-space-before-d,0)!important;
    margin-bottom:var(--evds-hero-space-after-d,0)!important;
  }
}
@media(min-width:561px) and (max-width:1024px){
  body .evds-hero:not(.evds-homepage .evds-hero){
    margin-top:var(--evds-hero-space-before-t,0)!important;
    margin-bottom:var(--evds-hero-space-after-t,0)!important;
  }
}
@media(max-width:560px){
  body .evds-hero:not(.evds-homepage .evds-hero){
    margin-top:var(--evds-hero-space-before-m,0)!important;
    margin-bottom:var(--evds-hero-space-after-m,0)!important;
  }
}


/* =========================================================
   v0.23.3 — Hero slider controls per device
   ========================================================= */
@media(min-width:1025px){
  .evds-hero__controls{
    height:var(--evds-hero-desktop-control-height,24px)!important;
    min-height:var(--evds-hero-desktop-control-height,24px)!important;
    gap:var(--evds-hero-desktop-control-spacing,5px)!important;
    padding:0 4px!important;
    top:auto!important;
  }
  .evds-hero__controls--desktop-soft{background:rgba(255,255,255,.90)!important;border:1px solid rgba(220,228,238,.88)!important;border-radius:999px!important}
  .evds-hero__controls--desktop-plain{background:transparent!important;border:0!important;box-shadow:none!important}
  .evds-hero__controls .evds-hero__dots{gap:var(--evds-hero-desktop-control-spacing,5px)!important}
  .evds-hero__controls .evds-hero__dot{width:var(--evds-hero-desktop-dot-size,5px)!important;height:var(--evds-hero-desktop-dot-size,5px)!important;min-width:var(--evds-hero-desktop-dot-size,5px)!important}
  .evds-hero__controls .evds-hero__dot.is-active{width:var(--evds-hero-desktop-active-dot-width,20px)!important;min-width:var(--evds-hero-desktop-active-dot-width,20px)!important}

  .evds-hero__controls--desktop-overlay.evds-hero__controls--desktop-align-left{left:14px!important;right:auto!important;transform:translate(var(--evds-hero-desktop-control-x,0),var(--evds-hero-desktop-control-y,0))!important}
  .evds-hero__controls--desktop-overlay.evds-hero__controls--desktop-align-center{left:50%!important;right:auto!important;transform:translate(calc(-50% + var(--evds-hero-desktop-control-x,0)),var(--evds-hero-desktop-control-y,0))!important}
  .evds-hero__controls--desktop-overlay.evds-hero__controls--desktop-align-right{right:14px!important;left:auto!important;transform:translate(var(--evds-hero-desktop-control-x,0),var(--evds-hero-desktop-control-y,0))!important}

  .evds-hero__controls--desktop-vertical-top{top:12px!important;bottom:auto!important}
  .evds-hero__controls--desktop-vertical-center{top:50%!important;bottom:auto!important}
  .evds-hero__controls--desktop-vertical-bottom{bottom:10px!important;top:auto!important}
  .evds-hero__controls--desktop-vertical-center.evds-hero__controls--desktop-align-center{transform:translate(calc(-50% + var(--evds-hero-desktop-control-x,0)),calc(-50% + var(--evds-hero-desktop-control-y,0)))!important}

  .evds-hero__controls--desktop-below{
    top:calc(100% + var(--evds-hero-desktop-control-gap,8px))!important;
    bottom:auto!important;
  }
  .evds-hero:has(> .evds-hero__controls--desktop-below){overflow:visible!important}
  .evds-homepage .evds-layout-item:has(> .evds-hero > .evds-hero__controls--desktop-below){
    padding-bottom:calc(var(--evds-hero-space-after-d,0px) + var(--evds-hero-desktop-control-gap,8px) + var(--evds-hero-desktop-control-height,24px))!important;
  }
}

@media(min-width:561px) and (max-width:1024px){
  .evds-hero__controls{
    height:var(--evds-hero-tablet-control-height,22px)!important;
    min-height:var(--evds-hero-tablet-control-height,22px)!important;
    gap:var(--evds-hero-tablet-control-spacing,5px)!important;
  }
  .evds-hero__controls--tablet-soft{background:rgba(255,255,255,.82)!important;border:1px solid rgba(220,228,238,.78)!important;border-radius:999px!important}
  .evds-hero__controls--tablet-plain{background:transparent!important;border:0!important;box-shadow:none!important}
  .evds-hero__controls .evds-hero__dots{gap:var(--evds-hero-tablet-control-spacing,5px)!important}
  .evds-hero__controls .evds-hero__dot{width:var(--evds-hero-tablet-dot-size,5px)!important;height:var(--evds-hero-tablet-dot-size,5px)!important;min-width:var(--evds-hero-tablet-dot-size,5px)!important}
  .evds-hero__controls .evds-hero__dot.is-active{width:var(--evds-hero-tablet-active-dot-width,16px)!important;min-width:var(--evds-hero-tablet-active-dot-width,16px)!important}
}

/* Map the new mobile classes to the already-tested mobile positioning rules. */
@media(max-width:560px){
  .evds-hero__controls--mobile-soft{padding:2px 7px!important;border:1px solid rgba(220,228,238,.72)!important;background:rgba(255,255,255,.72)!important}
  .evds-hero__controls--mobile-plain{background:transparent!important;border:0!important;box-shadow:none!important}
  .evds-hero__controls--mobile-below{position:relative!important}
  .evds-hero__controls--mobile-overlay{position:absolute!important}
}


/* =========================================================
   v0.23.4 — desktop plain control style fix
   ========================================================= */

/*
 * The visual Hero switches to its desktop composition above 900px.
 * Slider-control device rules must use the same breakpoint; otherwise a
 * 901–1024px desktop/browser window could be controlled by the Tablet tab.
 */
@media(min-width:901px){
  .evds-hero__controls{
    height:var(--evds-hero-desktop-control-height,24px)!important;
    min-height:var(--evds-hero-desktop-control-height,24px)!important;
    max-height:var(--evds-hero-desktop-control-height,24px)!important;
    gap:var(--evds-hero-desktop-control-spacing,5px)!important;
  }

  .evds-hero__controls--desktop-plain{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    padding:0!important;
    border-radius:0!important;
  }

  .evds-hero__controls--desktop-soft{
    background:rgba(255,255,255,.90)!important;
    background-color:rgba(255,255,255,.90)!important;
    border:1px solid rgba(220,228,238,.88)!important;
    box-shadow:0 4px 12px rgba(15,35,65,.07)!important;
    backdrop-filter:blur(8px)!important;
    -webkit-backdrop-filter:blur(8px)!important;
    padding:3px 6px!important;
    border-radius:999px!important;
  }

  .evds-hero__controls .evds-hero__dots{
    gap:var(--evds-hero-desktop-control-spacing,5px)!important;
  }
  .evds-hero__controls .evds-hero__dot{
    width:var(--evds-hero-desktop-dot-size,5px)!important;
    min-width:var(--evds-hero-desktop-dot-size,5px)!important;
    height:var(--evds-hero-desktop-dot-size,5px)!important;
    min-height:var(--evds-hero-desktop-dot-size,5px)!important;
  }
  .evds-hero__controls .evds-hero__dot.is-active{
    width:var(--evds-hero-desktop-active-dot-width,20px)!important;
    min-width:var(--evds-hero-desktop-active-dot-width,20px)!important;
  }
}

/* Tablet controls now match the mobile/tablet Hero composition only. */
@media(min-width:561px) and (max-width:900px){
  .evds-hero__controls{
    height:var(--evds-hero-tablet-control-height,22px)!important;
    min-height:var(--evds-hero-tablet-control-height,22px)!important;
    max-height:var(--evds-hero-tablet-control-height,22px)!important;
    gap:var(--evds-hero-tablet-control-spacing,5px)!important;
  }
  .evds-hero__controls--tablet-plain{
    background:transparent!important;
    background-color:transparent!important;
    border:0!important;
    box-shadow:none!important;
    backdrop-filter:none!important;
    -webkit-backdrop-filter:none!important;
    padding:0!important;
    border-radius:0!important;
  }
  .evds-hero__controls--tablet-soft{
    background:rgba(255,255,255,.82)!important;
    border:1px solid rgba(220,228,238,.78)!important;
    box-shadow:0 2px 8px rgba(15,35,65,.045)!important;
    backdrop-filter:blur(7px)!important;
    -webkit-backdrop-filter:blur(7px)!important;
    padding:2px 7px!important;
    border-radius:999px!important;
  }
}


/* =========================================================
   v0.23.6 — Slider controls sizing safety layer
   Runtime JS applies the exact per-device values.
   ========================================================= */
.evds-hero__controls{
  box-sizing:border-box!important;
}
.evds-hero__controls .evds-hero__dots{
  box-sizing:border-box!important;
  min-height:0!important;
}
.evds-hero__controls .evds-hero__pause{
  box-sizing:border-box!important;
}


/* =========================================================
   v0.24.0 — Category full-card imagery + custom overlay text
   ========================================================= */
.evds-category.evds-category-full-image .evds-tax-card{
  position:relative!important;
  isolation:isolate!important;
  height:var(--evds-category-card-height,200px)!important;
  min-height:var(--evds-category-card-height,200px)!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--evds-category-card-radius,16px)!important;
  background:var(--evds-category-card-bg,#fff)!important;
}

.evds-category.evds-category-full-image .evds-tax-image-wrap{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  border-radius:inherit!important;
  background:var(--evds-category-card-bg,#fff)!important;
}

.evds-category.evds-category-full-image .evds-tax-image{
  position:absolute!important;
  inset:0!important;
  width:100%!important;
  height:100%!important;
  max-width:none!important;
  max-height:none!important;
  object-fit:var(--evds-category-image-fit,cover)!important;
  object-position:center!important;
  border-radius:inherit!important;
  display:block!important;
}

.evds-category.evds-category-full-image .evds-tax-name{
  position:absolute!important;
  z-index:3!important;
  left:10px!important;
  right:10px!important;
  bottom:10px!important;
  width:auto!important;
  padding:6px 9px!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.86)!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
  color:var(--evds-text)!important;
  text-align:center!important;
}

.evds-category-custom-copy{
  position:absolute!important;
  z-index:4!important;
  left:10px!important;
  right:10px!important;
  width:auto!important;
  padding:7px 10px!important;
  border-radius:8px!important;
  background:rgba(10,31,61,.68)!important;
  color:#fff!important;
  font-size:12px!important;
  line-height:1.45!important;
  font-weight:800!important;
  backdrop-filter:blur(5px)!important;
  -webkit-backdrop-filter:blur(5px)!important;
}

.evds-category-custom-copy--top{top:10px!important;bottom:auto!important}
.evds-category-custom-copy--center{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.evds-category-custom-copy--bottom{bottom:10px!important;top:auto!important}

.evds-category-custom-copy--align-start{text-align:start!important}
.evds-category-custom-copy--align-center{text-align:center!important}
.evds-category-custom-copy--align-end{text-align:end!important}

/* If both the native category name and custom text occupy the bottom,
   keep the custom text above the name rather than overlapping it. */
.evds-category.evds-category-full-image:not(.evds-category-hide-name) .evds-tax-card:has(.evds-category-custom-copy--bottom) .evds-category-custom-copy--bottom{
  bottom:52px!important;
}

/* Existing non-full-image mode still obeys selected fit correctly. */
.evds-category:not(.evds-category-full-image) .evds-tax-image{
  object-fit:var(--evds-category-image-fit,cover)!important;
}


/* =========================================================
   v0.24.1 — hard full-bleed category cards + title/description
   ========================================================= */

/* This block intentionally wins over all legacy category-card rules.
   Category imagery is always the full card background now. */
.evds-category .evds-tax-card,
.evds-category.evds-category-full-image .evds-tax-card{
  position:relative!important;
  isolation:isolate!important;
  display:block!important;
  height:var(--evds-category-card-height,200px)!important;
  min-height:var(--evds-category-card-height,200px)!important;
  aspect-ratio:auto!important;
  padding:0!important;
  overflow:hidden!important;
  border-radius:var(--evds-category-card-radius,16px)!important;
  background:var(--evds-category-card-bg,#fff)!important;
}

.evds-category .evds-tax-image-wrap,
.evds-category.evds-category-full-image .evds-tax-image-wrap{
  position:absolute!important;
  z-index:0!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:100%!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  border-radius:inherit!important;
  overflow:hidden!important;
  background:var(--evds-category-card-bg,#fff)!important;
}

.evds-category .evds-tax-image,
.evds-category.evds-category-full-image .evds-tax-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-width:100%!important;
  min-height:100%!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  padding:0!important;
  object-fit:var(--evds-category-image-fit,cover)!important;
  object-position:center center!important;
  border-radius:inherit!important;
}

/* Existing category name remains optional but floats over the image. */
.evds-category .evds-tax-name{
  position:absolute!important;
  z-index:3!important;
  left:10px!important;
  right:10px!important;
  bottom:10px!important;
  width:auto!important;
  min-height:0!important;
  margin:0!important;
  padding:6px 9px!important;
  display:block!important;
  border-radius:8px!important;
  background:rgba(255,255,255,.86)!important;
  color:var(--evds-text)!important;
  text-align:center!important;
  backdrop-filter:blur(6px)!important;
  -webkit-backdrop-filter:blur(6px)!important;
}

.evds-category-custom-copy{
  position:absolute!important;
  z-index:5!important;
  left:12px!important;
  right:12px!important;
  width:auto!important;
  max-width:calc(100% - 24px)!important;
  padding:0!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  gap:4px!important;
  background:transparent!important;
  color:#fff!important;
  text-shadow:0 1px 4px rgba(0,0,0,.48)!important;
  backdrop-filter:none!important;
  -webkit-backdrop-filter:none!important;
  pointer-events:none!important;
}

.evds-category-custom-title{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:var(--evds-cat-title-size,16px)!important;
  line-height:1.25!important;
  font-weight:800!important;
}

.evds-category-custom-description{
  display:block!important;
  margin:0!important;
  padding:0!important;
  color:inherit!important;
  font-size:var(--evds-cat-desc-size,12px)!important;
  line-height:1.45!important;
  font-weight:500!important;
}

.evds-category-custom-copy--top{top:12px!important;bottom:auto!important;transform:none!important}
.evds-category-custom-copy--center{top:50%!important;bottom:auto!important;transform:translateY(-50%)!important}
.evds-category-custom-copy--bottom{bottom:12px!important;top:auto!important;transform:none!important}

.evds-category-custom-copy--align-start{text-align:start!important;align-items:flex-start!important}
.evds-category-custom-copy--align-center{text-align:center!important;align-items:center!important}
.evds-category-custom-copy--align-end{text-align:end!important;align-items:flex-end!important}

/* If the native category name is also visible at the bottom, move custom copy above it. */
.evds-category:not(.evds-category-hide-name) .evds-tax-card:has(.evds-category-custom-copy--bottom) .evds-category-custom-copy--bottom{
  bottom:54px!important;
}

/* Keep full-card behavior on smart devices too. */
@media(max-width:900px){
  .evds-category .evds-tax-card,
  .evds-category.evds-category-full-image .evds-tax-card{
    height:var(--evds-category-card-height,200px)!important;
    min-height:var(--evds-category-card-height,200px)!important;
    aspect-ratio:auto!important;
    padding:0!important;
  }
}
@media(max-width:560px){
  .evds-category .evds-tax-card,
  .evds-category.evds-category-full-image .evds-tax-card{
    height:var(--evds-category-card-height,200px)!important;
    min-height:var(--evds-category-card-height,200px)!important;
    aspect-ratio:auto!important;
    padding:0!important;
  }
}


/* =========================================================
   v0.24.3 — WooCommerce add-to-cart cleanup inside EVDS cards
   ========================================================= */

/* WooCommerce appends this link after AJAX add-to-cart. EVDS cards use an
   icon action + quantity control instead, so the appended text must never
   enter the card layout. JS also removes it from the DOM. */
.evds-products .evds-product-card a.added_to_cart.wc-forward,
.evds-products .evds-product-card .added_to_cart.wc-forward{
  display:none!important;
  width:0!important;
  height:0!important;
  min-width:0!important;
  min-height:0!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
  visibility:hidden!important;
}

/* There is only one EVDS notification surface. Legacy toast markup from
   old EVDS releases is intentionally disabled if it survives cached HTML. */
.evds-cart-toast{
  display:none!important;
}


/* =========================================================
   v0.24.4 — Quantity control styling + exact card alignment
   ========================================================= */
.evds-products .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  min-height:max(var(--evds-action-size),var(--evds-qty-height,38px))!important;
}

.evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:var(--evds-qty-width,82px) minmax(0,1fr)!important;
}
.evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:minmax(0,1fr) var(--evds-qty-width,82px)!important;
}

.evds-products .evds-qty-control{
  width:var(--evds-qty-width,82px)!important;
  min-width:var(--evds-qty-width,82px)!important;
  height:var(--evds-qty-height,38px)!important;
  min-height:var(--evds-qty-height,38px)!important;
  padding:2px!important;
  gap:var(--evds-qty-gap,2px)!important;
  border:1px solid var(--evds-action-border)!important;
  border-radius:var(--evds-qty-radius,10px)!important;
  background:var(--evds-action-color)!important;
  color:var(--evds-action-icon)!important;
  overflow:hidden!important;
}

.evds-products.evds-action-style-outline .evds-qty-control{background:transparent!important}
.evds-products.evds-action-style-soft .evds-qty-control{
  background:color-mix(in srgb,var(--evds-action-color) 14%,#fff)!important;
}
.evds-products.evds-action-style-minimal .evds-qty-control{
  background:transparent!important;
  border-color:transparent!important;
}

.evds-products .evds-qty-btn{
  width:var(--evds-qty-button-size,28px)!important;
  height:var(--evds-qty-button-size,28px)!important;
  min-width:var(--evds-qty-button-size,28px)!important;
  min-height:var(--evds-qty-button-size,28px)!important;
  flex:0 0 var(--evds-qty-button-size,28px)!important;
  border-radius:calc(var(--evds-qty-radius,10px) * .65)!important;
}

.evds-products .evds-qty-plus,
.evds-products .evds-qty-minus{
  background:color-mix(in srgb,var(--evds-action-icon) 13%,transparent)!important;
  color:var(--evds-action-icon)!important;
}

.evds-products.evds-action-style-outline .evds-qty-plus,
.evds-products.evds-action-style-outline .evds-qty-minus,
.evds-products.evds-action-style-soft .evds-qty-plus,
.evds-products.evds-action-style-soft .evds-qty-minus,
.evds-products.evds-action-style-minimal .evds-qty-plus,
.evds-products.evds-action-style-minimal .evds-qty-minus{
  background:color-mix(in srgb,var(--evds-action-color) 10%,transparent)!important;
  color:var(--evds-action-color)!important;
}

.evds-products .evds-qty-plus:hover,
.evds-products .evds-qty-minus:hover,
.evds-products .evds-qty-plus:focus,
.evds-products .evds-qty-minus:focus{
  background:var(--evds-action-hover)!important;
  color:var(--evds-action-hover-icon)!important;
}

.evds-products .evds-qty-value{
  min-width:14px!important;
  flex:1 1 auto!important;
  color:inherit!important;
  font-size:var(--evds-qty-value-size,12px)!important;
  line-height:1!important;
  font-weight:800!important;
}
.evds-products.evds-action-style-outline .evds-qty-value,
.evds-products.evds-action-style-soft .evds-qty-value,
.evds-products.evds-action-style-minimal .evds-qty-value{
  color:var(--evds-action-color)!important;
}


/* =========================================================
   v0.24.5 — exact parity for + and delete quantity buttons
   ========================================================= */
.evds-products .evds-qty-control .evds-qty-btn,
.evds-products .evds-qty-control .evds-qty-plus,
.evds-products .evds-qty-control .evds-qty-minus{
  box-sizing:border-box!important;
  width:var(--evds-qty-button-size,28px)!important;
  height:var(--evds-qty-button-size,28px)!important;
  min-width:var(--evds-qty-button-size,28px)!important;
  max-width:var(--evds-qty-button-size,28px)!important;
  min-height:var(--evds-qty-button-size,28px)!important;
  max-height:var(--evds-qty-button-size,28px)!important;
  flex:0 0 var(--evds-qty-button-size,28px)!important;

  margin:0!important;
  padding:0!important;

  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;

  border:0!important;
  border-radius:calc(var(--evds-qty-radius,10px) * .65)!important;
  line-height:1!important;
  font-size:16px!important;
  font-weight:700!important;

  background:color-mix(in srgb,var(--evds-action-icon) 13%,transparent)!important;
  color:var(--evds-action-icon)!important;
  box-shadow:none!important;

  transform:none!important;
  transition:background-color .16s ease,color .16s ease,box-shadow .16s ease,transform .16s ease!important;
}

/* Outline / soft / minimal use the same visual logic for BOTH buttons. */
.evds-products.evds-action-style-outline .evds-qty-control .evds-qty-btn,
.evds-products.evds-action-style-soft .evds-qty-control .evds-qty-btn,
.evds-products.evds-action-style-minimal .evds-qty-control .evds-qty-btn{
  background:color-mix(in srgb,var(--evds-action-color) 10%,transparent)!important;
  color:var(--evds-action-color)!important;
}

/* Exact same hover/focus state for + and delete. */
.evds-products .evds-qty-control .evds-qty-btn:hover,
.evds-products .evds-qty-control .evds-qty-btn:focus,
.evds-products .evds-qty-control .evds-qty-btn:focus-visible{
  background:var(--evds-action-hover)!important;
  color:var(--evds-action-hover-icon)!important;
  border-color:var(--evds-action-hover-border)!important;
  box-shadow:none!important;
  outline:none!important;
  transform:none!important;
}

/* Plus glyph: center it exactly like the trash glyph. */
.evds-products .evds-qty-plus{
  font-family:Arial,sans-serif!important;
  font-size:16px!important;
  line-height:1!important;
  text-align:center!important;
}

/* Trash icon gets an exact square box and inherits the same currentColor. */
.evds-products .evds-qty-minus .evds-trash-icon{
  position:relative!important;
  display:block!important;
  width:12px!important;
  height:12px!important;
  min-width:12px!important;
  min-height:12px!important;
  margin:0!important;
  padding:0!important;
  color:currentColor!important;
  transform:none!important;
}

/* Rebuild the trash glyph with currentColor so hover is identical. */
.evds-products .evds-qty-minus .evds-trash-icon:before,
.evds-products .evds-qty-minus .evds-trash-icon:after{
  color:currentColor!important;
  border-color:currentColor!important;
  background:currentColor!important;
}

/* Prevent old remove-state rules from making delete look different. */
.evds-products .evds-qty-minus.is-remove,
.evds-products .evds-qty-minus.is-remove:hover,
.evds-products .evds-qty-minus.is-remove:focus,
.evds-products .evds-qty-minus.is-remove:focus-visible{
  width:var(--evds-qty-button-size,28px)!important;
  height:var(--evds-qty-button-size,28px)!important;
  min-width:var(--evds-qty-button-size,28px)!important;
  max-width:var(--evds-qty-button-size,28px)!important;
  min-height:var(--evds-qty-button-size,28px)!important;
  max-height:var(--evds-qty-button-size,28px)!important;
  margin:0!important;
  padding:0!important;
  border:0!important;
  border-radius:calc(var(--evds-qty-radius,10px) * .65)!important;
  box-shadow:none!important;
  transform:none!important;
}

.evds-products .evds-qty-minus.is-remove:hover,
.evds-products .evds-qty-minus.is-remove:focus,
.evds-products .evds-qty-minus.is-remove:focus-visible{
  background:var(--evds-action-hover)!important;
  color:var(--evds-action-hover-icon)!important;
}


/* =========================================================
   v0.24.6 — independent quantity-control visual system
   ========================================================= */
.evds-products .evds-qty-control{
  background:var(--evds-qty-bg,#fff)!important;
  border:1px solid var(--evds-qty-border,#d9e3ef)!important;
  box-shadow:none!important;
}

.evds-products .evds-qty-control .evds-qty-plus{
  background:transparent!important;
  color:var(--evds-qty-plus,#1478ff)!important;
}
.evds-products .evds-qty-control .evds-qty-plus:hover,
.evds-products .evds-qty-control .evds-qty-plus:focus,
.evds-products .evds-qty-control .evds-qty-plus:focus-visible{
  background:transparent!important;
  color:var(--evds-qty-plus-hover,#0a1f3d)!important;
}

.evds-products .evds-qty-control .evds-qty-minus,
.evds-products .evds-qty-control .evds-qty-minus.is-remove{
  background:transparent!important;
  color:var(--evds-qty-delete,#d64b4b)!important;
}
.evds-products .evds-qty-control .evds-qty-minus:hover,
.evds-products .evds-qty-control .evds-qty-minus:focus,
.evds-products .evds-qty-control .evds-qty-minus:focus-visible,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:hover,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:focus,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:focus-visible{
  background:var(--evds-qty-delete-hover-bg,#d64b4b)!important;
  color:var(--evds-qty-delete-hover,#fff)!important;
}

.evds-products .evds-qty-control .evds-qty-value{
  color:var(--evds-qty-value,#10233f)!important;
}

/* Trash icon must inherit the delete button color, including hover. */
.evds-products .evds-qty-control .evds-qty-minus .evds-trash-icon,
.evds-products .evds-qty-control .evds-qty-minus .evds-trash-icon:before,
.evds-products .evds-qty-control .evds-qty-minus .evds-trash-icon:after{
  color:currentColor!important;
  border-color:currentColor!important;
}

/* Reassert the outer border even if legacy quantity-control rules survive. */
.evds-products .evds-product-card .evds-qty-control{
  border-style:solid!important;
  border-width:1px!important;
  border-color:var(--evds-qty-border,#d9e3ef)!important;
}


/* =========================================================
   v0.24.7 — complete independent quantity states
   ========================================================= */
.evds-products .evds-product-card .evds-qty-control{
  background:var(--evds-qty-bg,#f7fbff)!important;
  border:1px solid var(--evds-qty-border,#b9d7f7)!important;
}
.evds-products .evds-qty-control .evds-qty-plus{
  background:var(--evds-qty-plus-bg,#eaf4ff)!important;
  color:var(--evds-qty-plus,#1478ff)!important;
}
.evds-products .evds-qty-control .evds-qty-plus:hover,
.evds-products .evds-qty-control .evds-qty-plus:focus,
.evds-products .evds-qty-control .evds-qty-plus:focus-visible{
  background:var(--evds-qty-plus-hover-bg,#1478ff)!important;
  color:var(--evds-qty-plus-hover,#fff)!important;
}
.evds-products .evds-qty-control .evds-qty-minus,
.evds-products .evds-qty-control .evds-qty-minus.is-remove{
  background:var(--evds-qty-delete-bg,#eef6ff)!important;
  color:var(--evds-qty-delete,#315f92)!important;
}
.evds-products .evds-qty-control .evds-qty-minus:hover,
.evds-products .evds-qty-control .evds-qty-minus:focus,
.evds-products .evds-qty-control .evds-qty-minus:focus-visible,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:hover,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:focus,
.evds-products .evds-qty-control .evds-qty-minus.is-remove:focus-visible{
  background:var(--evds-qty-delete-hover-bg,#1f6fbd)!important;
  color:var(--evds-qty-delete-hover,#fff)!important;
}
.evds-products .evds-qty-control .evds-qty-value{
  color:var(--evds-qty-value,#10233f)!important;
}
.evds-products .evds-qty-control .evds-trash-icon,
.evds-products .evds-qty-control .evds-trash-icon:before,
.evds-products .evds-qty-control .evds-trash-icon:after{
  color:currentColor!important;
  border-color:currentColor!important;
}

/* Configurable toast position. Old values were 26px desktop / 18px mobile. */
.evds-toast{
  bottom:var(--evds-toast-bottom,40px)!important;
}
@media(max-width:767px){
  .evds-toast{
    bottom:var(--evds-toast-bottom,40px)!important;
  }
}


/* =========================================================
   v0.24.8 — Mobile toast sizing refinement
   ========================================================= */
@media(max-width:767px){
  .evds-toast{
    width:min(88vw,360px)!important;
    max-width:calc(100vw - 28px)!important;
    min-width:0!important;
    padding:8px 10px!important;
    gap:7px!important;
    border-radius:10px!important;
    font-size:11.5px!important;
    line-height:1.35!important;
    justify-content:flex-start!important;
  }

  .evds-toast__icon{
    width:19px!important;
    height:19px!important;
    flex:0 0 19px!important;
    font-size:11px!important;
  }

  .evds-toast__text{
    min-width:0!important;
    flex:1 1 auto!important;
    line-height:1.35!important;
    overflow-wrap:anywhere!important;
  }

  .evds-toast__action{
    margin-inline-start:2px!important;
    padding:3px 6px!important;
    border-radius:6px!important;
    font-size:10px!important;
  }
}

@media(max-width:420px){
  .evds-toast{
    width:min(90vw,330px)!important;
    padding:8px 9px!important;
    font-size:11px!important;
  }
}


/* =========================================================
   v0.24.9 — toast clears detected mobile bottom bars
   ========================================================= */
:root{
  --evds-detected-bottom-bar:0px;
}

@media(max-width:767px){
  .evds-toast{
    bottom:max(
      var(--evds-toast-bottom,40px),
      calc(var(--evds-detected-bottom-bar,0px) + var(--evds-toast-bottom-bar-gap,12px))
    )!important;
  }
}


/* =========================================================
   v0.25.0 — toast fit-content, larger trash icon, one-line price/action
   ========================================================= */

/* Toast should hug its actual content, but never exceed the phone-safe width. */
.evds-toast{
  width:max-content!important;
  min-width:0!important;
  max-width:calc(100vw - 28px)!important;
}

@media(max-width:767px){
  .evds-toast{
    width:max-content!important;
    min-width:0!important;
    max-width:min(88vw,360px)!important;
  }
}

@media(max-width:420px){
  .evds-toast{
    max-width:min(90vw,330px)!important;
  }
}

/* Keep the quantity button box unchanged, but make the trash glyph itself clearer. */
.evds-products .evds-qty-control .evds-qty-minus .evds-trash-icon{
  width:15px!important;
  height:15px!important;
  min-width:15px!important;
  min-height:15px!important;
  transform:scale(1.08)!important;
  transform-origin:center!important;
}

/* Price block: keep current + old price together on one line whenever space allows. */
.evds-products .evds-product-price,
.evds-products .evds-price{
  min-width:0!important;
  display:flex!important;
  align-items:center!important;
  flex-wrap:nowrap!important;
  gap:5px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
}

.evds-products .evds-product-price del,
.evds-products .evds-price del,
.evds-products .evds-product-price ins,
.evds-products .evds-price ins,
.evds-products .evds-product-price .amount,
.evds-products .evds-price .amount{
  white-space:nowrap!important;
  flex:0 0 auto!important;
}

/* Bottom row: price and purchase/quantity action should remain on the same row. */
.evds-products .evds-product-bottom{
  display:grid!important;
  align-items:center!important;
  column-gap:8px!important;
  row-gap:0!important;
  grid-auto-flow:column!important;
}

.evds-products.evds-action-left .evds-product-bottom{
  grid-template-columns:auto minmax(0,1fr)!important;
}
.evds-products.evds-action-right .evds-product-bottom{
  grid-template-columns:minmax(0,1fr) auto!important;
}

.evds-products .evds-product-bottom .evds-price,
.evds-products .evds-product-bottom .evds-product-price{
  min-width:0!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}

/* On smaller widths, reduce gaps and price font slightly before allowing a wrap. */
@media(max-width:767px){
  .evds-products .evds-product-bottom{
    column-gap:6px!important;
  }

  .evds-products .evds-product-price,
  .evds-products .evds-price{
    gap:4px!important;
    font-size:clamp(11px,3.15vw,13px)!important;
  }

  .evds-products .evds-product-price del,
  .evds-products .evds-price del{
    font-size:.9em!important;
  }
}

/* Very narrow cards: preserve the single row by compressing price spacing only. */
@media(max-width:420px){
  .evds-products .evds-product-bottom{
    column-gap:5px!important;
  }
  .evds-products .evds-product-price,
  .evds-products .evds-price{
    gap:3px!important;
    letter-spacing:-.1px!important;
  }
}


/* =========================================================
   v0.25.1 — center prices first, shift only when space requires
   ========================================================= */

/* The flexible price column owns all remaining width.
   Its content is centered by default; as the action button consumes space,
   the center naturally shifts within the available column without wrapping
   the price/action row. */
.evds-products .evds-product-bottom .evds-price,
.evds-products .evds-product-bottom .evds-product-price{
  justify-self:stretch!important;
  justify-content:center!important;
  text-align:center!important;
  min-width:0!important;
  width:100%!important;
}

/* Keep price contents together and centered inside the available area. */
.evds-products .evds-product-bottom .evds-price > *,
.evds-products .evds-product-bottom .evds-product-price > *{
  flex:0 0 auto!important;
}

/* When the action is on the right, price uses the entire flexible column.
   When the action is on the left, the same rule applies in reverse. */
.evds-products.evds-action-right .evds-product-bottom{
  grid-template-columns:minmax(0,1fr) auto!important;
}
.evds-products.evds-action-left .evds-product-bottom{
  grid-template-columns:auto minmax(0,1fr)!important;
}

/* Quantity state keeps the same centering logic. */
.evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:minmax(0,1fr) var(--evds-qty-width,82px)!important;
}
.evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
  grid-template-columns:var(--evds-qty-width,82px) minmax(0,1fr)!important;
}

@media(max-width:767px){
  .evds-products .evds-product-bottom .evds-price,
  .evds-products .evds-product-bottom .evds-product-price{
    justify-content:center!important;
    text-align:center!important;
  }
}


/* =========================================================
   v0.25.2 — price aligned to the right with balanced inner spacing
   ========================================================= */

/* Price remains on the same row with the purchase/quantity action,
   but is now intentionally aligned to the right side of its available area. */
.evds-products .evds-product-bottom .evds-price,
.evds-products .evds-product-bottom .evds-product-price{
  justify-content:flex-end!important;
  text-align:right!important;
  padding-inline-end:6px!important;
  padding-inline-start:2px!important;
}

/* In RTL this visually keeps the price group near the right edge while
   preserving a small breathing space from the card/action area. */
html[dir="rtl"] .evds-products .evds-product-bottom .evds-price,
html[dir="rtl"] .evds-products .evds-product-bottom .evds-product-price{
  justify-content:flex-start!important;
  text-align:right!important;
  padding-inline-start:6px!important;
  padding-inline-end:2px!important;
}

/* Keep old + current price tight and on one line. */
.evds-products .evds-product-bottom .evds-price,
.evds-products .evds-product-bottom .evds-product-price{
  gap:4px!important;
  white-space:nowrap!important;
}

@media(max-width:767px){
  .evds-products .evds-product-bottom .evds-price,
  .evds-products .evds-product-bottom .evds-product-price{
    padding-inline-end:4px!important;
    padding-inline-start:1px!important;
  }

  html[dir="rtl"] .evds-products .evds-product-bottom .evds-price,
  html[dir="rtl"] .evds-products .evds-product-bottom .evds-product-price{
    padding-inline-start:4px!important;
    padding-inline-end:1px!important;
  }
}


/* =========================================================
   v0.25.3 — responsive cart icon + quantity sizing + EN badges
   ========================================================= */
.evds-products .evds-buy-svg{
  width:var(--evds-action-icon-d,20px)!important;
  height:var(--evds-action-icon-d,20px)!important;
}

@media(max-width:1024px){
  .evds-products .evds-buy-svg{
    width:var(--evds-action-icon-t,19px)!important;
    height:var(--evds-action-icon-t,19px)!important;
  }
  .evds-products{
    --evds-qty-width:var(--evds-qty-width-t,78px);
    --evds-qty-height:var(--evds-qty-height-t,36px);
    --evds-qty-radius:var(--evds-qty-radius-t,9px);
    --evds-qty-button-size:var(--evds-qty-button-size-t,26px);
    --evds-qty-value-size:var(--evds-qty-value-size-t,11px);
    --evds-qty-gap:var(--evds-qty-gap-t,2px);
  }
}

@media(max-width:767px){
  .evds-products .evds-buy-svg{
    width:var(--evds-action-icon-m,18px)!important;
    height:var(--evds-action-icon-m,18px)!important;
  }
  .evds-products{
    --evds-qty-width:var(--evds-qty-width-m,70px);
    --evds-qty-height:var(--evds-qty-height-m,34px);
    --evds-qty-radius:var(--evds-qty-radius-m,9px);
    --evds-qty-button-size:var(--evds-qty-button-size-m,24px);
    --evds-qty-value-size:var(--evds-qty-value-size-m,11px);
    --evds-qty-gap:var(--evds-qty-gap-m,2px);
  }
}

html[dir="ltr"] .evds-products .evds-badge{
  font-size:9px!important;
}
html[dir="ltr"] .evds-products .evds-stock-overlay{
  font-size:9px!important;
}


/* =========================================================
   v0.25.4 — FIX responsive quantity sizing
   Root cause: desktop quantity custom properties were written inline on
   .evds-products. Inline custom properties outranked the media-query
   reassignment from v0.25.3, so tablet/mobile values were saved but did not
   visibly take effect. Apply device vars directly to the actual elements.
   ========================================================= */

/* TABLET */
@media (min-width:768px) and (max-width:1024px){
  .evds-products .evds-qty-control{
    width:var(--evds-qty-width-t,78px)!important;
    min-width:var(--evds-qty-width-t,78px)!important;
    height:var(--evds-qty-height-t,36px)!important;
    min-height:var(--evds-qty-height-t,36px)!important;
    border-radius:var(--evds-qty-radius-t,9px)!important;
    gap:var(--evds-qty-gap-t,2px)!important;
  }

  .evds-products .evds-qty-control .evds-qty-btn,
  .evds-products .evds-qty-control .evds-qty-plus,
  .evds-products .evds-qty-control .evds-qty-minus,
  .evds-products .evds-qty-control .evds-qty-minus.is-remove{
    width:var(--evds-qty-button-size-t,26px)!important;
    height:var(--evds-qty-button-size-t,26px)!important;
    min-width:var(--evds-qty-button-size-t,26px)!important;
    max-width:var(--evds-qty-button-size-t,26px)!important;
    min-height:var(--evds-qty-button-size-t,26px)!important;
    max-height:var(--evds-qty-button-size-t,26px)!important;
    flex-basis:var(--evds-qty-button-size-t,26px)!important;
    border-radius:calc(var(--evds-qty-radius-t,9px) * .65)!important;
  }

  .evds-products .evds-qty-control .evds-qty-value{
    font-size:var(--evds-qty-value-size-t,11px)!important;
  }

  .evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:var(--evds-qty-width-t,78px) minmax(0,1fr)!important;
  }
  .evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:minmax(0,1fr) var(--evds-qty-width-t,78px)!important;
  }
}

/* MOBILE */
@media (max-width:767px){
  .evds-products .evds-qty-control{
    width:var(--evds-qty-width-m,70px)!important;
    min-width:var(--evds-qty-width-m,70px)!important;
    height:var(--evds-qty-height-m,34px)!important;
    min-height:var(--evds-qty-height-m,34px)!important;
    border-radius:var(--evds-qty-radius-m,9px)!important;
    gap:var(--evds-qty-gap-m,2px)!important;
  }

  .evds-products .evds-qty-control .evds-qty-btn,
  .evds-products .evds-qty-control .evds-qty-plus,
  .evds-products .evds-qty-control .evds-qty-minus,
  .evds-products .evds-qty-control .evds-qty-minus.is-remove{
    width:var(--evds-qty-button-size-m,24px)!important;
    height:var(--evds-qty-button-size-m,24px)!important;
    min-width:var(--evds-qty-button-size-m,24px)!important;
    max-width:var(--evds-qty-button-size-m,24px)!important;
    min-height:var(--evds-qty-button-size-m,24px)!important;
    max-height:var(--evds-qty-button-size-m,24px)!important;
    flex-basis:var(--evds-qty-button-size-m,24px)!important;
    border-radius:calc(var(--evds-qty-radius-m,9px) * .65)!important;
  }

  .evds-products .evds-qty-control .evds-qty-value{
    font-size:var(--evds-qty-value-size-m,11px)!important;
  }

  .evds-products.evds-action-left .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:var(--evds-qty-width-m,70px) minmax(0,1fr)!important;
  }
  .evds-products.evds-action-right .evds-product-card:has(.evds-qty-control) .evds-product-bottom{
    grid-template-columns:minmax(0,1fr) var(--evds-qty-width-m,70px)!important;
  }
}


/* =========================================================
   v0.25.5 — unify current price size + clear old-price strike
   ========================================================= */

/* All current/live prices in EVDS product cards use the same font size,
   regardless of simple/variable/sale markup produced by WooCommerce. */
.evds-products .evds-price,
.evds-products .evds-price ins,
.evds-products .evds-price .amount,
.evds-products .evds-price .woocommerce-Price-amount,
.evds-products .evds-price-current,
.evds-products .evds-var-sale-current{
  font-size:14px!important;
  line-height:1.35!important;
  font-weight:800!important;
}

/* Old/regular price stays smaller and always has a horizontal strike line. */
.evds-products .evds-price del,
.evds-products .evds-price del .amount,
.evds-products .evds-price del .woocommerce-Price-amount,
.evds-products .evds-var-sale-old{
  font-size:11px!important;
  line-height:1.35!important;
  font-weight:500!important;
  text-decoration-line:line-through!important;
  text-decoration-style:solid!important;
  text-decoration-thickness:1.2px!important;
  text-decoration-color:currentColor!important;
  opacity:.78!important;
}

/* Prevent nested amount markup from overriding the intended old-price size. */
.evds-products .evds-price del *{
  font-size:inherit!important;
  text-decoration:inherit!important;
}

/* Keep current and old prices on one line whenever possible. */
.evds-products .evds-price ins,
.evds-products .evds-price del,
.evds-products .evds-price-current,
.evds-products .evds-var-sale-current,
.evds-products .evds-var-sale-old{
  white-space:nowrap!important;
}

@media(max-width:767px){
  .evds-products .evds-price,
  .evds-products .evds-price ins,
  .evds-products .evds-price .amount,
  .evds-products .evds-price .woocommerce-Price-amount,
  .evds-products .evds-price-current{
    font-size:13px!important;
  }

  .evds-products .evds-price del,
  .evds-products .evds-price del .amount,
  .evds-products .evds-price del .woocommerce-Price-amount{
    font-size:10.5px!important;
  }
}


/* =========================================================
   v0.25.6 — dynamic banner motion, hover, text backgrounds
   ========================================================= */
.evds-promo--dynamic{
  transition:
    background-color .2s ease,
    border-color .2s ease,
    box-shadow .2s ease,
    transform .2s ease!important;
}

/* Entry animation */
@keyframes evdsBannerFade{
  from{opacity:0}
  to{opacity:1}
}
@keyframes evdsBannerRise{
  from{opacity:0;transform:translateY(14px)}
  to{opacity:1;transform:translateY(0)}
}
@keyframes evdsBannerZoom{
  from{opacity:0;transform:scale(.975)}
  to{opacity:1;transform:scale(1)}
}
.evds-promo--anim-fade{animation:evdsBannerFade .45s ease both}
.evds-promo--anim-rise{animation:evdsBannerRise .5s cubic-bezier(.2,.7,.25,1) both}
.evds-promo--anim-zoom{animation:evdsBannerZoom .5s cubic-bezier(.2,.7,.25,1) both}

/* Hover appearance: normal colors are already controlled in the Appearance tab. */
.evds-promo--hover-default:hover,
.evds-promo--hover-default:focus-within{
  border-color:color-mix(in srgb,var(--evds-banner-border) 55%,var(--evds-accent))!important;
  background-color:color-mix(in srgb,var(--evds-banner-bg) 92%,var(--evds-accent))!important;
  box-shadow:0 10px 28px rgba(16,35,63,.10)!important;
}
.evds-promo--hover-custom:hover,
.evds-promo--hover-custom:focus-within{
  background-color:var(--evds-banner-hover-bg)!important;
  border-color:var(--evds-banner-hover-border)!important;
  box-shadow:0 10px 28px rgba(16,35,63,.09)!important;
}

/* Transparent background can be applied only to the needed text node. */
.evds-promo--dynamic.evds-promo--textbg-title .evds-promo__title,
.evds-promo--dynamic.evds-promo--textbg-title_text .evds-promo__title,
.evds-promo--dynamic.evds-promo--textbg-all .evds-promo__title,
.evds-promo--dynamic.evds-promo--textbg-text .evds-promo__text,
.evds-promo--dynamic.evds-promo--textbg-title_text .evds-promo__text,
.evds-promo--dynamic.evds-promo--textbg-all .evds-promo__text,
.evds-promo--dynamic.evds-promo--textbg-all .evds-promo__kicker,
.evds-promo--dynamic.evds-promo--textbg-all .evds-promo__value{
  width:max-content;
  max-width:100%;
  padding:5px 9px;
  border-radius:var(--evds-banner-text-bg-radius,8px);
  background:var(--evds-banner-text-bg);
  box-decoration-break:clone;
  -webkit-box-decoration-break:clone;
}

/* Keep existing margins readable after adding a text background. */
.evds-promo--dynamic .evds-promo__text[style]{max-width:100%}

@media(prefers-reduced-motion:reduce){
  .evds-promo--anim-fade,
  .evds-promo--anim-rise,
  .evds-promo--anim-zoom{
    animation:none!important;
  }
}


/* =========================================================
   v0.25.7 — stronger, configurable banner hover system
   ========================================================= */
.evds-promo--dynamic{
  will-change:transform,box-shadow,border-color,background-color;
}
.evds-promo--dynamic .evds-promo__bg,
.evds-promo--dynamic .evds-promo__media img{
  transition:transform .28s cubic-bezier(.2,.7,.25,1)!important;
}

/* Common hover colors */
.evds-promo--hover-default:hover,
.evds-promo--hover-default:focus-within{
  border-color:color-mix(in srgb,var(--evds-banner-border) 42%,var(--evds-accent))!important;
}
.evds-promo--hover-custom:hover,
.evds-promo--hover-custom:focus-within{
  background:var(--evds-banner-hover-bg)!important;
  border-color:var(--evds-banner-hover-border)!important;
}

/* 1. Lift */
.evds-promo--hover-effect-lift.evds-promo--hover-default:hover,
.evds-promo--hover-effect-lift.evds-promo--hover-default:focus-within,
.evds-promo--hover-effect-lift.evds-promo--hover-custom:hover,
.evds-promo--hover-effect-lift.evds-promo--hover-custom:focus-within{
  transform:translateY(calc(var(--evds-banner-hover-strength,8px) * -0.45))!important;
  box-shadow:0 var(--evds-banner-hover-strength,8px)
    calc(var(--evds-banner-hover-strength,8px) * 3)
    color-mix(in srgb,var(--evds-banner-hover-shadow,#10233f) 18%,transparent)!important;
}

/* 2. Shadow */
.evds-promo--hover-effect-shadow.evds-promo--hover-default:hover,
.evds-promo--hover-effect-shadow.evds-promo--hover-default:focus-within,
.evds-promo--hover-effect-shadow.evds-promo--hover-custom:hover,
.evds-promo--hover-effect-shadow.evds-promo--hover-custom:focus-within{
  box-shadow:0 calc(var(--evds-banner-hover-strength,8px) * .8)
    calc(var(--evds-banner-hover-strength,8px) * 3.4)
    color-mix(in srgb,var(--evds-banner-hover-shadow,#10233f) 22%,transparent)!important;
}

/* 3. Scale card */
.evds-promo--hover-effect-scale.evds-promo--hover-default:hover,
.evds-promo--hover-effect-scale.evds-promo--hover-default:focus-within,
.evds-promo--hover-effect-scale.evds-promo--hover-custom:hover,
.evds-promo--hover-effect-scale.evds-promo--hover-custom:focus-within{
  transform:scale(var(--evds-banner-hover-scale,1.02))!important;
  box-shadow:0 10px 28px color-mix(in srgb,var(--evds-banner-hover-shadow,#10233f) 14%,transparent)!important;
}

/* 4. Border focus */
.evds-promo--hover-effect-border.evds-promo--hover-default:hover,
.evds-promo--hover-effect-border.evds-promo--hover-default:focus-within,
.evds-promo--hover-effect-border.evds-promo--hover-custom:hover,
.evds-promo--hover-effect-border.evds-promo--hover-custom:focus-within{
  box-shadow:0 0 0 2px color-mix(in srgb,var(--evds-banner-hover-border,var(--evds-accent)) 30%,transparent)!important;
}

/* 5. Image zoom */
.evds-promo--hover-effect-image_zoom.evds-promo--hover-default:hover .evds-promo__bg,
.evds-promo--hover-effect-image_zoom.evds-promo--hover-custom:hover .evds-promo__bg,
.evds-promo--hover-effect-image_zoom.evds-promo--hover-default:hover .evds-promo__media img,
.evds-promo--hover-effect-image_zoom.evds-promo--hover-custom:hover .evds-promo__media img{
  transform:scale(var(--evds-banner-hover-image-scale,1.05))!important;
}

/* 6. Lift + image zoom */
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-default:hover,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-default:focus-within,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-custom:hover,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-custom:focus-within{
  transform:translateY(calc(var(--evds-banner-hover-strength,8px) * -0.45))!important;
  box-shadow:0 var(--evds-banner-hover-strength,8px)
    calc(var(--evds-banner-hover-strength,8px) * 3.2)
    color-mix(in srgb,var(--evds-banner-hover-shadow,#10233f) 20%,transparent)!important;
}
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-default:hover .evds-promo__bg,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-custom:hover .evds-promo__bg,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-default:hover .evds-promo__media img,
.evds-promo--hover-effect-lift_zoom.evds-promo--hover-custom:hover .evds-promo__media img{
  transform:scale(var(--evds-banner-hover-image-scale,1.05))!important;
}

/* Disable decorative hover on touch-first devices to avoid sticky hover states. */
@media(hover:none){
  .evds-promo--dynamic:hover{
    transform:none!important;
    box-shadow:none!important;
  }
  .evds-promo--dynamic:hover .evds-promo__bg,
  .evds-promo--dynamic:hover .evds-promo__media img{
    transform:none!important;
  }
}


/* =========================================================
   v0.25.8 — mobile horizontal-scroll cue
   ========================================================= */
@media(max-width:767px){
  /* Mobile arrows in the desktop nav are hidden, so show the swipe cue
     whenever the track really overflows, regardless of desktop arrow setting. */
  .evds-section .evds-mobile-swipe-hint.is-visible,
  .evds-section.evds-has-nav .evds-mobile-swipe-hint.is-visible,
  .evds-section.evds-no-nav .evds-mobile-swipe-hint.is-visible{
    display:inline-flex!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
  }

  .evds-mobile-swipe-hint{
    width:max-content!important;
    max-width:calc(100% - 24px)!important;
    min-height:27px!important;
    margin:7px auto 0!important;
    padding:4px 8px!important;
    border:1px solid color-mix(in srgb,var(--evds-accent) 18%,var(--evds-border))!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--evds-accent) 5%,#fff)!important;
    color:var(--evds-muted)!important;
    font-size:10px!important;
    line-height:1.2!important;
    font-weight:700!important;
    align-items:center!important;
    justify-content:center!important;
    gap:7px!important;
    box-shadow:0 2px 8px rgba(16,35,63,.04)!important;
  }

  .evds-mobile-swipe-hint .evds-swipe-arrow{
    width:18px!important;
    height:18px!important;
    flex:0 0 18px!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    border-radius:50%!important;
    background:color-mix(in srgb,var(--evds-accent) 10%,#fff)!important;
    color:var(--evds-accent)!important;
    font-size:17px!important;
    line-height:1!important;
    font-style:normal!important;
    font-weight:800!important;
  }

  /* A tiny alternating nudge makes the direction obvious without moving cards. */
  .evds-mobile-swipe-hint.is-visible .evds-swipe-arrow--left{
    animation:evdsSwipeLeft 1.6s ease-in-out infinite;
  }
  .evds-mobile-swipe-hint.is-visible .evds-swipe-arrow--right{
    animation:evdsSwipeRight 1.6s ease-in-out infinite;
  }
}

@keyframes evdsSwipeLeft{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(-2px)}
}
@keyframes evdsSwipeRight{
  0%,100%{transform:translateX(0)}
  50%{transform:translateX(2px)}
}

@media(prefers-reduced-motion:reduce){
  .evds-mobile-swipe-hint .evds-swipe-arrow{
    animation:none!important;
  }
}


/* =========================================================
   v0.26.0 — optional swipe hint per homepage row
   Restore the previous compact pill style and keep it centered.
   ========================================================= */
@media(max-width:767px){
  /* Off unless the parent homepage row explicitly enables it. */
  .evds-layout-row:not(.evds-row-swipe-hint-enabled) .evds-mobile-swipe-hint,
  .evds-layout-row[data-evds-mobile-swipe-hint="0"] .evds-mobile-swipe-hint{
    display:none!important;
    opacity:0!important;
    visibility:hidden!important;
  }

  .evds-layout-row.evds-row-swipe-hint-enabled .evds-mobile-swipe-hint.is-visible{
    display:flex!important;
    width:max-content!important;
    max-width:calc(100% - 24px)!important;
    min-height:0!important;
    margin:8px auto 0!important;
    padding:5px 9px!important;
    border:1px solid color-mix(in srgb,var(--evds-border) 85%,transparent)!important;
    border-radius:999px!important;
    background:color-mix(in srgb,var(--evds-soft) 86%,#fff)!important;
    color:var(--evds-muted)!important;
    font-size:10.5px!important;
    line-height:1!important;
    font-weight:700!important;
    align-items:center!important;
    justify-content:center!important;
    gap:6px!important;
    opacity:1!important;
    visibility:visible!important;
    transform:none!important;
    pointer-events:none!important;
    box-shadow:none!important;
    position:relative!important;
    left:auto!important;
    right:auto!important;
  }

  .evds-layout-row.evds-row-swipe-hint-enabled .evds-mobile-swipe-hint i{
    width:auto!important;
    height:auto!important;
    min-width:0!important;
    flex:0 0 auto!important;
    display:inline!important;
    padding:0!important;
    border:0!important;
    border-radius:0!important;
    background:transparent!important;
    color:var(--evds-accent)!important;
    font-size:13px!important;
    line-height:1!important;
    font-style:normal!important;
    font-weight:700!important;
    animation:none!important;
    transform:none!important;
  }
}


/* =========================================================
   v0.26.1 — LTR/RTL foundation
   ========================================================= */
.evds-homepage[dir="rtl"],.evds-section[dir="rtl"],.evds-hero[dir="rtl"],.evds-promo[dir="rtl"]{direction:rtl}
.evds-homepage[dir="ltr"],.evds-section[dir="ltr"],.evds-hero[dir="ltr"],.evds-promo[dir="ltr"]{direction:ltr}
.evds-section[dir="rtl"] .evds-section-head-copy,.evds-section[dir="rtl"] .evds-section-title,.evds-section[dir="rtl"] .evds-section-subtitle{text-align:right!important}
.evds-section[dir="ltr"] .evds-section-head-copy,.evds-section[dir="ltr"] .evds-section-title,.evds-section[dir="ltr"] .evds-section-subtitle{text-align:left!important}
.evds-section[dir="ltr"] .evds-nav{direction:ltr}.evds-section[dir="rtl"] .evds-nav{direction:rtl}
.evds-products[dir="ltr"] .evds-product-bottom .evds-price,.evds-products[dir="ltr"] .evds-product-bottom .evds-product-price{direction:ltr!important;text-align:left!important}
.evds-products[dir="rtl"] .evds-product-bottom .evds-price,.evds-products[dir="rtl"] .evds-product-bottom .evds-product-price{direction:rtl!important;text-align:right!important}
.evds-promo[dir="ltr"] .evds-promo__content{direction:ltr;text-align:left}.evds-promo[dir="rtl"] .evds-promo__content{direction:rtl;text-align:right}
.evds-mobile-swipe-hint{direction:inherit!important;margin-inline:auto!important}
.evds-section[dir="ltr"] .evds-badge{font-size:9px!important}
@media(min-width:901px){
 .evds-hero[dir="ltr"] .evds-hero__split-copy{direction:ltr!important;text-align:left!important}
 .evds-hero[dir="rtl"] .evds-hero__split-copy{direction:rtl!important;text-align:right!important}
}
.evds-promo__actions,.evds-hero__split-buttons,.evds-hero__mobile-buttons{direction:inherit}






/* =========================================================
   v0.26.6 — safe toast direction only
   Cart/favorite appearance and behavior remain from stable 0.26.0.
   ========================================================= */
.evds-toast[dir="ltr"]{direction:ltr!important;text-align:left!important}
.evds-toast[dir="rtl"]{direction:rtl!important;text-align:right!important}


/* =========================================================
   v0.26.9 — Safari/macOS card overlap hardening
   ========================================================= */

/* Basic intrinsic-size guards help Safari Grid/Flex avoid content-driven
   expansion that can visually push one card over the next. */
.evds-slider-shell,
.evds-track,
.evds-product-track,
.evds-tax-card,
.evds-product-card,
.evds-product-media,
.evds-product-image-link,
.evds-product-body,
.evds-product-bottom{
  min-width:0;
  max-width:100%;
  box-sizing:border-box;
}

.evds-product-card,
.evds-tax-card{
  isolation:isolate;
}

html.evds-is-safari .evds-track,
html.evds-is-safari .evds-product-track{
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  -webkit-overflow-scrolling:touch;
}

/* Use the width calculated in JS only in Safari. This bypasses Safari's
   inconsistent support for calc() multiplication/division with CSS vars. */
html.evds-is-safari .evds-taxonomy .evds-tax-card{
  flex:0 0 var(--evds-safari-tax-card-width)!important;
  width:var(--evds-safari-tax-card-width)!important;
  max-width:var(--evds-safari-tax-card-width)!important;
}

html.evds-is-safari .evds-products.evds-width-match .evds-product-track{
  grid-auto-columns:var(--evds-safari-product-card-width)!important;
}

html.evds-is-safari .evds-products .evds-product-card{
  width:100%!important;
  max-width:100%!important;
  min-width:0!important;
}

/* Prevent transformed hover media from painting outside its own Safari layer. */
html.evds-is-safari .evds-product-card,
html.evds-is-safari .evds-tax-card{
  overflow:hidden!important;
  -webkit-transform:translateZ(0);
  transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

html.evds-is-safari .evds-product-image{
  -webkit-transform:translateZ(0);
  backface-visibility:hidden;
  -webkit-backface-visibility:hidden;
}

/* Safari can keep stale snap geometry after responsive width changes.
   Proximity is visually identical here but recalculates more reliably. */
html.evds-is-safari .evds-track,
html.evds-is-safari .evds-product-track{
  scroll-snap-type:x proximity!important;
}


/* =========================================================
   v0.26.10 — Safari homepage-row overlap fix
   The overlap shown on macOS Safari is caused by the equal-height builder
   chain using min-height:100% + max(...,100%). Safari can paint the banner at
   its visual height without contributing that height correctly to the grid
   row, so the following row starts too early.
   ========================================================= */

.evds-layout-row{
  grid-auto-rows:auto!important;
  align-items:stretch!important;
  min-height:0!important;
}

.evds-layout-item{
  align-self:stretch!important;
  min-height:0!important;
  height:auto!important;
}

/* Banners provide a real intrinsic minimum height.
   Do not combine percentage min-height with max() here; Safari is unreliable
   with that combination inside stretched CSS-grid items. */
.evds-layout-item--banner{
  display:flex!important;
  align-items:stretch!important;
}

.evds-layout-item--banner .evds-promo--dynamic{
  flex:1 1 auto!important;
  align-self:stretch!important;
  width:100%!important;
  height:auto!important;
  min-height:var(--evds-banner-min,220px)!important;
}

/* Once the row height has been established by intrinsic content, matching
   banners naturally stretch to the same row height through the flex item. */
@supports (height: stretch){
  .evds-layout-item--banner .evds-promo--dynamic{
    height:stretch!important;
  }
}

/* Explicit Safari safety: never allow a banner to be painted outside a row
   whose box height was incorrectly resolved to a smaller value. */
html.evds-is-safari .evds-layout-row{
  position:relative!important;
  overflow:visible!important;
}

html.evds-is-safari .evds-layout-item{
  position:relative!important;
  contain:none!important;
}

html.evds-is-safari .evds-layout-item--banner .evds-promo--dynamic{
  position:relative!important;
  min-height:var(--evds-banner-min,220px)!important;
  height:auto!important;
}

/* Mobile remains stacked and intrinsic. */
@media(max-width:767px){
  .evds-layout-item--banner .evds-promo--dynamic{
    min-height:max(150px,calc(var(--evds-banner-min,220px) * .82))!important;
    height:auto!important;
  }
}


/* =========================================================
   v0.26.11 — variable modal viewport portal / stacking fix
   ========================================================= */

/* The modal is moved to body on open. This deliberately bypasses every
   product-card/grid/slider stacking context and overflow boundary. */
body > .evds-var-modal.evds-var-modal--portaled{
  position:fixed!important;
  inset:0!important;
  width:100vw!important;
  height:100vh!important;
  min-width:100vw!important;
  min-height:100vh!important;
  max-width:none!important;
  max-height:none!important;
  margin:0!important;
  box-sizing:border-box!important;
  z-index:2147483000!important;
  isolation:isolate!important;
  overflow:hidden!important;
  transform:none!important;
  contain:none!important;
}

body > .evds-var-modal.evds-var-modal--portaled .evds-var-modal__backdrop{
  position:absolute!important;
  inset:0!important;
  z-index:0!important;
  width:100%!important;
  height:100%!important;
  margin:0!important;
  transform:none!important;
}

body > .evds-var-modal.evds-var-modal--portaled .evds-var-modal__dialog{
  position:relative!important;
  z-index:1!important;
  isolation:isolate!important;
}

/* Page content must never establish a layer above an open portaled modal. */
html.evds-modal-open body > .evds-var-modal.evds-var-modal--portaled{
  visibility:visible;
}

html.evds-modal-open,
html.evds-modal-open body,
body.evds-modal-open{
  overflow:hidden!important;
  overscroll-behavior:none!important;
}

/* Desktop: center against the actual viewport, not the product-card box. */
@media(min-width:768px){
  body > .evds-var-modal.evds-var-modal--portaled{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:
      max(18px,env(safe-area-inset-top))
      max(18px,env(safe-area-inset-right))
      max(18px,env(safe-area-inset-bottom))
      max(18px,env(safe-area-inset-left))!important;
  }
}

/* Phones/tablets: same viewport-level geometry; no clipping by slider/card. */
@media(max-width:767px){
  body > .evds-var-modal.evds-var-modal--portaled{
    display:flex!important;
    align-items:center!important;
    justify-content:center!important;
    padding:
      max(12px,env(safe-area-inset-top))
      max(12px,env(safe-area-inset-right))
      max(12px,env(safe-area-inset-bottom))
      max(12px,env(safe-area-inset-left))!important;
  }

  body > .evds-var-modal.evds-var-modal--portaled .evds-var-modal__dialog{
    width:min(92vw,420px)!important;
    max-width:92vw!important;
    max-height:min(86dvh,680px)!important;
    margin:auto!important;
  }
}

/* Fallback for browsers without dvh. */
@supports not (height:1dvh){
  @media(max-width:767px){
    body > .evds-var-modal.evds-var-modal--portaled .evds-var-modal__dialog{
      max-height:86vh!important;
    }
  }
}


/* =========================================================
   v0.26.12 — add-to-cart loading spinner
   ========================================================= */
@keyframes evds-cart-spin-centered{
  from{transform:translate(-50%,-50%) rotate(0deg)}
  to{transform:translate(-50%,-50%) rotate(360deg)}
}
@keyframes evds-cart-spin-inline{
  from{transform:rotate(0deg)}
  to{transform:rotate(360deg)}
}

/* Regular product-card AJAX button.
   Woo may use .loading; EVDS mirrors it to .is-loading as well. */
.evds-products .evds-buy-button.loading,
.evds-products .evds-buy-button.is-loading{
  position:relative!important;
  pointer-events:none!important;
  opacity:1!important;
  transform:none!important;
}

.evds-products .evds-buy-button.loading .evds-buy-svg,
.evds-products .evds-buy-button.is-loading .evds-buy-svg{
  opacity:0!important;
}

.evds-products .evds-buy-button.loading::after,
.evds-products .evds-buy-button.is-loading::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  left:50%!important;
  width:calc(var(--evds-action-icon-size,20px) * .82)!important;
  height:calc(var(--evds-action-icon-size,20px) * .82)!important;
  min-width:13px!important;
  min-height:13px!important;
  max-width:20px!important;
  max-height:20px!important;
  margin:0!important;
  border:2px solid currentColor!important;
  border-inline-end-color:transparent!important;
  border-radius:50%!important;
  background:none!important;
  box-shadow:none!important;
  opacity:1!important;
  transform:translate(-50%,-50%) rotate(0deg);
  transform-origin:center!important;
  animation:evds-cart-spin-centered .65s linear infinite!important;
  pointer-events:none!important;
}

/* Modal add button: keep the button label visible and show a compact spinner
   beside it while the request is in progress. */
.evds-var-modal__add.is-loading{
  position:relative!important;
  pointer-events:none!important;
  cursor:wait!important;
  opacity:1!important;
  padding-inline-end:42px!important;
}

.evds-var-modal__add.is-loading::after{
  content:""!important;
  position:absolute!important;
  top:50%!important;
  inset-inline-end:16px!important;
  width:16px!important;
  height:16px!important;
  margin-top:-8px!important;
  border:2px solid rgba(255,255,255,.55)!important;
  border-top-color:#fff!important;
  border-radius:50%!important;
  animation:evds-cart-spin-inline .65s linear infinite!important;
  pointer-events:none!important;
}

/* Respect reduced-motion while still showing a clear busy indicator. */
@media (prefers-reduced-motion:reduce){
  .evds-products .evds-buy-button.loading::after,
  .evds-products .evds-buy-button.is-loading::after,
  .evds-var-modal__add.is-loading::after{
    animation-duration:1.4s!important;
  }
}


/* =========================================================
   v0.26.13 — true spinner rotation fix
   ========================================================= */
.evds-products .evds-buy-button.loading::after,
.evds-products .evds-buy-button.is-loading::after{
  border-width:2px!important;
  border-style:solid!important;
  border-color:currentColor!important;
  border-top-color:transparent!important;
  border-right-color:currentColor!important;
  border-bottom-color:currentColor!important;
  border-left-color:currentColor!important;
  will-change:transform!important;
  animation:evds-cart-spin-centered .65s linear infinite!important;
}

.evds-var-modal__add.is-loading::after{
  border-width:2px!important;
  border-style:solid!important;
  border-color:rgba(255,255,255,.55)!important;
  border-top-color:#fff!important;
  will-change:transform!important;
  animation:evds-cart-spin-inline .65s linear infinite!important;
}


/* =========================================================
   v0.26.15 — variable stock/restock integration hardening
   ========================================================= */
.evds-var-modal__add.is-restock-mode{
  background:color-mix(in srgb,var(--evds-accent,#1478ff) 10%,#fff)!important;
  border-color:color-mix(in srgb,var(--evds-accent,#1478ff) 30%,#dbe5ef)!important;
  color:var(--evds-accent,#1478ff)!important;
  -webkit-text-fill-color:var(--evds-accent,#1478ff)!important;
  box-shadow:none!important;
  cursor:pointer!important;
}
.evds-var-modal__add.is-restock-mode::before{
  content:"🔔";
  display:inline-block;
  margin-inline-end:8px;
  font-size:15px;
  line-height:1;
}


/* =========================================================
   v0.26.16 — correct product-strip start edge by language
   Arabic starts from the physical RIGHT; English from the physical LEFT.
   ========================================================= */
.evds-products[dir="rtl"] .evds-product-track{
  direction:rtl!important;
}
.evds-products[dir="ltr"] .evds-product-track{
  direction:ltr!important;
}
.evds-section[dir="rtl"] .evds-track{
  direction:rtl!important;
}
.evds-section[dir="ltr"] .evds-track{
  direction:ltr!important;
}


/* =========================================================
   v0.26.17 — bell uses EXACT purchase-button visual state
   ========================================================= */
/* No restock-specific background, border, icon color or hover rules.
   Because the bell already has .evds-buy-button, it now follows the exact
   same normal + hover selectors as the purchase button for every action
   style (solid / outline / soft / minimal) and shape. */
.evds-products .evds-restock-button .evds-restock-svg{
  width:var(--evds-action-icon-size,20px)!important;
  height:var(--evds-action-icon-size,20px)!important;
  display:block!important;
  overflow:visible!important;
  color:currentColor!important;
  fill:none!important;
}
.evds-products .evds-restock-button .evds-restock-svg path{
  fill:none!important;
  stroke:currentColor!important;
}


/* =========================================================
   v0.26.18 — pointer cursor for actionable controls
   ========================================================= */

/* EV Destination Store product-card actions. */
.evds-products .evds-buy-button,
.evds-products .evds-restock-button,
.evds-products [data-end-wf-button],
.evds-products .evds-qty-btn,
.evds-products .evds-product-actions button,
.evds-products .evds-product-actions a{
  cursor:pointer!important;
}

/* Variable-product modal controls. */
.evds-var-modal button,
.evds-var-modal select,
.evds-var-modal [role="button"]{
  cursor:pointer!important;
}

/* END Woo Re-Stock modal controls can be visually controlled from EVDS
   without modifying the Re-Stock plugin itself. These selectors are safe:
   if that plugin is absent, they simply match nothing. */
.endwrs-modal .endwrs-submit,
.endwrs-modal .endwrs-success-close,
.endwrs-modal .endwrs-close,
.endwrs-modal button,
.endwrs-open{
  cursor:pointer!important;
}

/* Disabled controls should not pretend to be clickable. */
.evds-products button:disabled,
.evds-var-modal button:disabled,
.endwrs-modal button:disabled{
  cursor:not-allowed!important;
}


/* =========================================================
   v0.26.19 — restore approved Hero geometry
   ========================================================= */

/*
 * v0.26.10 fixed Safari banner-row overlap, but one helper rule was too broad:
 *   .evds-layout-item > * { height:auto!important; }
 * That also targeted the Hero and overrode its configured desktop height.
 *
 * The Safari fix is now kept only where it was actually needed: banners.
 * Hero returns to its original/configured dimensions.
 */
.evds-layout-item--banner > *{
  min-height:0!important;
}

/* Approved desktop Hero proportions: configured height, bounded width,
   centered inside its builder item. */
@media(min-width:901px){
  .evds-homepage .evds-layout-item--hero > .evds-hero{
    width:min(1240px,calc(100% - 24px))!important;
    max-width:1240px!important;
    height:var(--evds-hero-height)!important;
    min-height:360px!important;
    margin-left:auto!important;
    margin-right:auto!important;
    align-self:auto!important;
  }
}

/* Tablet/mobile continue using the approved responsive Hero rules
   (image ratio + fixed content treatment); do not force desktop height. */
@media(max-width:900px){
  .evds-homepage .evds-layout-item--hero > .evds-hero{
    height:auto!important;
    min-height:0!important;
  }
}


/* =========================================================
   v0.26.21 — button hover + optional new-tab links
   ========================================================= */

/* Banner buttons: clear, consistent hover without changing configured layout. */
.evds-promo .evds-promo__button{
  cursor:pointer!important;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease!important;
}

.evds-promo--dynamic.evds-promo--button-solid .evds-promo__button--primary:hover,
.evds-promo--dynamic.evds-promo--button-solid .evds-promo__button--primary:focus-visible{
  background:color-mix(in srgb,var(--evds-accent) 84%,#000)!important;
  border-color:color-mix(in srgb,var(--evds-accent) 84%,#000)!important;
  color:#fff!important;
  transform:translateY(-1px);
  box-shadow:0 6px 16px color-mix(in srgb,var(--evds-accent) 18%,transparent)!important;
}

.evds-promo--dynamic.evds-promo--button-outline .evds-promo__button--primary:hover,
.evds-promo--dynamic.evds-promo--button-outline .evds-promo__button--primary:focus-visible{
  background:var(--evds-accent)!important;
  border-color:var(--evds-accent)!important;
  color:#fff!important;
  transform:translateY(-1px);
}

.evds-promo--dynamic.evds-promo--button-soft .evds-promo__button--primary:hover,
.evds-promo--dynamic.evds-promo--button-soft .evds-promo__button--primary:focus-visible{
  background:color-mix(in srgb,var(--evds-accent) 22%,#fff)!important;
  border-color:color-mix(in srgb,var(--evds-accent) 30%,transparent)!important;
  color:var(--evds-accent)!important;
  transform:translateY(-1px);
}

.evds-promo--dynamic .evds-promo__button--secondary:hover,
.evds-promo--dynamic .evds-promo__button--secondary:focus-visible{
  background:color-mix(in srgb,currentColor 8%,transparent)!important;
  border-color:currentColor!important;
  transform:translateY(-1px);
}

/* Legacy/simple promo button gets an actual hover too. */
.evds-promo:not(.evds-promo--dynamic) .evds-promo__button:hover,
.evds-promo:not(.evds-promo--dynamic) .evds-promo__button:focus-visible{
  background:var(--evds-accent)!important;
  color:#fff!important;
  border-color:var(--evds-accent)!important;
  transform:translateY(-1px);
  box-shadow:0 6px 16px color-mix(in srgb,var(--evds-accent) 16%,transparent)!important;
}

/* Hero CTA buttons: add visible hover while preserving approved Hero dimensions. */
.evds-hero__split-button,
.evds-hero__button{
  cursor:pointer!important;
  transition:
    background-color .18s ease,
    border-color .18s ease,
    color .18s ease,
    box-shadow .18s ease,
    transform .18s ease!important;
}

.evds-hero__split-button--primary:hover,
.evds-hero__split-button--primary:focus-visible,
.evds-hero__button--primary:hover,
.evds-hero__button--primary:focus-visible{
  filter:brightness(.92);
  transform:translateY(-1px);
  box-shadow:0 6px 16px color-mix(in srgb,var(--evds-accent) 17%,transparent)!important;
}

.evds-hero__split-button--secondary:hover,
.evds-hero__split-button--secondary:focus-visible{
  border-color:var(--evds-accent)!important;
  color:var(--evds-accent)!important;
  background:color-mix(in srgb,var(--evds-accent) 7%,#fff)!important;
  transform:translateY(-1px);
}

/* Full-banner links also communicate clickability. */
.evds-promo--clickable,
.evds-promo--clickable .evds-promo__card-link{
  cursor:pointer!important;
}




/* =========================================================
   v0.26.23 — iPhone/Safari-safe category carousel
   Two full cards + a small third-card hint
   ========================================================= */
@media(max-width:767px){
  .evds-category .evds-track{
    gap:10px!important;
    padding-inline:0!important;
    overflow-x:auto!important;
    overflow-y:hidden!important;
    scroll-snap-type:x proximity!important;
    scroll-padding-inline:0!important;
    -webkit-overflow-scrolling:touch!important;
    overscroll-behavior-inline:contain!important;
    touch-action:auto!important;
  }

  /*
   * JS writes an exact pixel width to this variable on real devices.
   * The fallback keeps the same intended geometry before JS runs.
   */
  .evds-category .evds-tax-card{
    flex:0 0 var(--evds-category-mobile-card-width,calc((100% - 30px) / 2))!important;
    width:var(--evds-category-mobile-card-width,calc((100% - 30px) / 2))!important;
    min-width:var(--evds-category-mobile-card-width,calc((100% - 30px) / 2))!important;
    max-width:var(--evds-category-mobile-card-width,calc((100% - 30px) / 2))!important;
    min-height:0!important;
    height:auto!important;
    aspect-ratio:1 / 1.04!important;
    scroll-snap-align:start!important;
    box-sizing:border-box!important;
  }

  .evds-category[dir="rtl"] .evds-track{direction:rtl!important}
  .evds-category[dir="ltr"] .evds-track{direction:ltr!important}

  /* Hide the native scrollbar without changing the scroll geometry. */
  .evds-category .evds-track::-webkit-scrollbar{display:none!important}
  .evds-category .evds-track{scrollbar-width:none!important}
}
