/*
 * EVCP Info card system
 *
 * Primary rows use horizontal separators and a left-edge interaction cue.
 * Search and terminology results retain a complete shared frame. Sidebar
 * links use the same cue at a quieter scale.
 */

:root{
  --evcp-card-transition:.18s ease;
  --evcp-card-image-scale:1.035;
  --evcp-card-tint:color-mix(in srgb,var(--evcp-cyan) 5%,var(--evcp-surface));
}

/*
 * Card typography
 *
 * Kicker links retain the locked EVCP cyan and darken only when the link
 * itself is targeted. Actions are sentence case, while secondary metadata
 * remains deliberately neutral.
 */
.evcp-card-kicker.evcp-product-maker,
.evcp-card-kicker.evcp-home-article-kicker,
.evcp-card-kicker.evcp-news-row-kicker,
.evcp-card-kicker.evcp-news-card-kicker{
  color:var(--evcp-muted);
  font-size:11px;
  font-weight:700;
  line-height:1.2;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.evcp-card-kicker time{
  white-space:nowrap;
}

.evcp-card-kicker.evcp-product-maker a,
.evcp-card-kicker.evcp-home-article-kicker a,
.evcp-card-kicker.evcp-news-row-kicker a,
.evcp-card-kicker.evcp-news-card-kicker a,
.evcp-card-kicker .evcp-news-row-category{
  color:var(--evcp-cyan);
  font-weight:700;
  text-decoration:none;
  transition:color var(--evcp-card-transition);
}

.evcp-card-kicker.evcp-product-maker a:hover,
.evcp-card-kicker.evcp-product-maker a:focus-visible,
.evcp-card-kicker.evcp-home-article-kicker a:hover,
.evcp-card-kicker.evcp-home-article-kicker a:focus-visible,
.evcp-card-kicker.evcp-news-row-kicker a:hover,
.evcp-card-kicker.evcp-news-row-kicker a:focus-visible,
.evcp-card-kicker.evcp-news-card-kicker a:hover,
.evcp-card-kicker.evcp-news-card-kicker a:focus-visible{
  color:var(--evcp-cyan-hover);
  text-decoration:none;
}

.evcp-card-kicker.evcp-product-maker a:focus-visible,
.evcp-card-kicker.evcp-home-article-kicker a:focus-visible,
.evcp-card-kicker.evcp-news-row-kicker a:focus-visible,
.evcp-card-kicker.evcp-news-card-kicker a:focus-visible,
.evcp-card-action:focus-visible{
  border-radius:2px;
  outline:2px solid color-mix(in srgb,var(--evcp-cyan) 58%,transparent);
  outline-offset:2px;
}

.evcp-card-action{
  color:var(--evcp-cyan);
  font-size:13px;
  font-weight:700;
  line-height:1.3;
  letter-spacing:0;
  text-decoration:none;
  text-transform:none;
  transition:color var(--evcp-card-transition);
}

.evcp-card-action:hover,
.evcp-card-action:focus-visible{
  color:var(--evcp-cyan-hover);
  text-decoration:underline;
  text-decoration-thickness:1px;
  text-underline-offset:3px;
}

.evcp-card-meta.evcp-manufacturer-country{
  color:var(--evcp-cyan);
  font-size:11px;
  font-weight:700;
  transition:color var(--evcp-card-transition);
}

.evcp-manufacturer-card:hover .evcp-card-meta.evcp-manufacturer-country,
.evcp-manufacturer-card:focus-within .evcp-card-meta.evcp-manufacturer-country{
  color:var(--evcp-cyan-hover);
}

.evcp-manufacturer-card .evcp-manufacturer-name{
  transition:color var(--evcp-card-transition);
}

.evcp-manufacturer-card .evcp-manufacturer-link:hover .evcp-manufacturer-name,
.evcp-manufacturer-card .evcp-manufacturer-link:focus-visible .evcp-manufacturer-name{
  color:var(--evcp-cyan);
}

/* Shared horizontal result rows */
.evcp-catalogue-page .evcp-catalogue-grid,
.evcp-charger-grid,
.evcp-terminology-page .evcp-terminology-key,
.evcp-terminology-page .evcp-terminology-best,
.evcp-terminology-page .evcp-terminology-closest,
.evcp-terminology-page .evcp-terminology-standard,
.evcp-terminology-page .evcp-terminology-group{
  border:0;
  border-top:1px solid var(--evcp-line);
  background:var(--evcp-surface);
}

.evcp-catalogue-grid .evcp-product-row,
.evcp-charger-grid .evcp-home-product-row,
.evcp-home-charger-list .evcp-home-product-row,
.evcp-home-article-list .evcp-home-article,
.evcp-template-news .evcp-news-lead,
.evcp-template-news .evcp-news-row,
.evcp-template-article-template .evcp-article-related .evcp-news-row,
.evcp-terminology-page .evcp-glossary-entry{
  position:relative;
  border-right:0;
  border-left:0;
  border-radius:0;
  background:var(--evcp-surface);
  box-shadow:none;
  transition:background-color var(--evcp-card-transition);
}

.evcp-catalogue-grid .evcp-product-row,
.evcp-charger-grid .evcp-home-product-row,
.evcp-home-charger-list .evcp-home-product-row,
.evcp-home-article-list .evcp-home-article,
.evcp-template-news .evcp-news-row,
.evcp-template-article-template .evcp-article-related .evcp-news-row,
.evcp-terminology-page .evcp-glossary-entry{
  border-top:0;
  border-bottom:1px solid var(--evcp-line-soft);
}

.evcp-catalogue-grid .evcp-product-row::before,
.evcp-charger-grid .evcp-home-product-row::before,
.evcp-home-charger-list .evcp-home-product-row::before,
.evcp-home-article-list .evcp-home-article::before,
.evcp-template-news .evcp-news-lead::before,
.evcp-template-news .evcp-news-row::before,
.evcp-template-article-template .evcp-article-related .evcp-news-row::before,
.evcp-terminology-page .evcp-glossary-entry::before{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  z-index:2;
  width:2px;
  background:var(--evcp-cyan);
  content:"";
  pointer-events:none;
  opacity:0;
}

.evcp-catalogue-grid .evcp-product-row:hover,
.evcp-catalogue-grid .evcp-product-row:focus-within,
.evcp-charger-grid .evcp-home-product-row:hover,
.evcp-charger-grid .evcp-home-product-row:focus-within,
.evcp-home-charger-list .evcp-home-product-row:hover,
.evcp-home-charger-list .evcp-home-product-row:focus-within,
.evcp-home-article-list .evcp-home-article:hover,
.evcp-home-article-list .evcp-home-article:focus-within,
.evcp-template-news .evcp-news-lead:hover,
.evcp-template-news .evcp-news-lead:focus-within,
.evcp-template-news .evcp-news-row:hover,
.evcp-template-news .evcp-news-row:focus-within,
.evcp-template-article-template .evcp-article-related .evcp-news-row:hover,
.evcp-template-article-template .evcp-article-related .evcp-news-row:focus-within,
.evcp-terminology-page .evcp-glossary-entry:hover,
.evcp-terminology-page .evcp-glossary-entry:focus-within{
  z-index:1;
  background:var(--evcp-card-tint);
  box-shadow:none;
}

.evcp-catalogue-grid .evcp-product-row:hover::before,
.evcp-catalogue-grid .evcp-product-row:focus-within::before,
.evcp-charger-grid .evcp-home-product-row:hover::before,
.evcp-charger-grid .evcp-home-product-row:focus-within::before,
.evcp-home-charger-list .evcp-home-product-row:hover::before,
.evcp-home-charger-list .evcp-home-product-row:focus-within::before,
.evcp-home-article-list .evcp-home-article:hover::before,
.evcp-home-article-list .evcp-home-article:focus-within::before,
.evcp-template-news .evcp-news-lead:hover::before,
.evcp-template-news .evcp-news-lead:focus-within::before,
.evcp-template-news .evcp-news-row:hover::before,
.evcp-template-news .evcp-news-row:focus-within::before,
.evcp-template-article-template .evcp-article-related .evcp-news-row:hover::before,
.evcp-template-article-template .evcp-article-related .evcp-news-row:focus-within::before,
.evcp-terminology-page .evcp-glossary-entry:hover::before,
.evcp-terminology-page .evcp-glossary-entry:focus-within::before{
  opacity:1;
}

/* Keep the left accent clear of all media. */
.evcp-home-charger-list .evcp-home-product-row,
.evcp-home-article-list .evcp-home-article,
.evcp-template-article-template .evcp-article-related .evcp-news-row,
.evcp-terminology-page .evcp-glossary-entry{
  padding-left:8px;
}

.evcp-catalogue-grid .evcp-product-row,
.evcp-charger-grid .evcp-home-product-row{
  padding-left:8px;
}

.evcp-template-news .evcp-news-lead{
  min-height:296px;
  margin:0;
  padding:14px 12px 14px 10px;
  border:0;
  border-top:1px solid var(--evcp-line);
  border-bottom:1px solid var(--evcp-line-soft);
}

.evcp-template-news .evcp-news-feed{
  margin-top:0;
  border:0;
  background:var(--evcp-surface);
}

.evcp-template-news .evcp-news-feed>.evcp-news-row{
  padding-right:12px;
  padding-left:10px;
}

/* Stable, centred media animation. */
.evcp-home-charger-list .evcp-product-row-media img,
.evcp-charger-grid .evcp-product-row-media img,
.evcp-home-article-list .evcp-home-article-image img,
.evcp-template-news .evcp-news-lead-image img,
.evcp-template-news .evcp-news-row-image img,
.evcp-template-article-template .evcp-article-related .evcp-news-row-image img{
  backface-visibility:hidden;
  transform-origin:center center;
  transition:transform .22s cubic-bezier(.2,.65,.3,1);
  will-change:transform;
}

.evcp-home-charger-list .evcp-home-product-row:hover .evcp-product-row-media img,
.evcp-home-charger-list .evcp-home-product-row:focus-within .evcp-product-row-media img,
.evcp-charger-grid .evcp-home-product-row:hover .evcp-product-row-media img,
.evcp-charger-grid .evcp-home-product-row:focus-within .evcp-product-row-media img{
  transform:scale(1.025);
}

.evcp-home-article-list .evcp-home-article:hover .evcp-home-article-image img,
.evcp-home-article-list .evcp-home-article:focus-within .evcp-home-article-image img,
.evcp-template-news .evcp-news-lead:hover .evcp-news-lead-image img,
.evcp-template-news .evcp-news-lead:focus-within .evcp-news-lead-image img,
.evcp-template-news .evcp-news-row:hover .evcp-news-row-image img,
.evcp-template-news .evcp-news-row:focus-within .evcp-news-row-image img,
.evcp-template-article-template .evcp-article-related .evcp-news-row:hover .evcp-news-row-image img,
.evcp-template-article-template .evcp-article-related .evcp-news-row:focus-within .evcp-news-row-image img{
  transform:scale(var(--evcp-card-image-scale));
}

/*
 * Catalogue product images are absolutely centred with a baseline scale.
 * Preserve the translate component on hover so the image cannot jump.
 */
.evcp-catalogue-grid .evcp-product-row>.evcp-product-row-media img{
  backface-visibility:hidden;
  transform:translate(-50%,-50%) scale(1.18);
  transform-origin:center center;
  transition:transform .22s cubic-bezier(.2,.65,.3,1);
  will-change:transform;
}

.evcp-catalogue-grid .evcp-product-row:hover>.evcp-product-row-media img,
.evcp-catalogue-grid .evcp-product-row:focus-within>.evcp-product-row-media img{
  transform:translate(-50%,-50%) scale(1.21);
}

.evcp-row-arrow,
.evcp-home-article-arrow,
.evcp-news-row-arrow,
.evcp-term-card-arrow,
.evcp-term-row-arrow{
  backface-visibility:hidden;
  transform:translateX(0);
  transition:color .2s ease,transform .24s cubic-bezier(.2,.65,.3,1);
  will-change:transform;
}

.evcp-terminology-page .evcp-term-row-arrow{
  transform:translateX(0);
  transition:color .2s ease,transform .24s cubic-bezier(.2,.65,.3,1);
}

.evcp-catalogue-grid .evcp-product-row:hover .evcp-row-arrow,
.evcp-catalogue-grid .evcp-product-row:focus-within .evcp-row-arrow,
.evcp-charger-grid .evcp-home-product-row:hover .evcp-row-arrow,
.evcp-charger-grid .evcp-home-product-row:focus-within .evcp-row-arrow,
.evcp-home-charger-list .evcp-home-product-row:hover .evcp-row-arrow,
.evcp-home-charger-list .evcp-home-product-row:focus-within .evcp-row-arrow,
.evcp-home-article-list .evcp-home-article:hover .evcp-home-article-arrow,
.evcp-home-article-list .evcp-home-article:focus-within .evcp-home-article-arrow,
.evcp-template-news .evcp-news-lead:hover .evcp-news-row-arrow,
.evcp-template-news .evcp-news-lead:focus-within .evcp-news-row-arrow,
.evcp-template-news .evcp-news-row:hover .evcp-news-row-arrow,
.evcp-template-news .evcp-news-row:focus-within .evcp-news-row-arrow,
.evcp-template-article-template .evcp-article-related .evcp-news-row:hover .evcp-news-row-arrow,
.evcp-template-article-template .evcp-article-related .evcp-news-row:focus-within .evcp-news-row-arrow,
.evcp-terminology-page .evcp-glossary-entry:hover .evcp-term-card-arrow,
.evcp-terminology-page .evcp-glossary-entry:focus-within .evcp-term-card-arrow,
.evcp-terminology-page .evcp-glossary-entry:hover .evcp-term-row-arrow,
.evcp-terminology-page .evcp-glossary-entry:focus-within .evcp-term-row-arrow{
  color:var(--evcp-cyan);
  transform:translateX(2px);
}

.evcp-terminology-page .evcp-category-list a::after,
.evcp-term-related-link::after,
.evcp-template-news .evcp-news-category-list a::after{
  transition:color var(--evcp-card-transition),transform var(--evcp-card-transition);
}

.evcp-terminology-page .evcp-category-list a:hover::after,
.evcp-terminology-page .evcp-category-list a:focus-visible::after,
.evcp-terminology-page .evcp-category-list a.is-active::after,
.evcp-term-related-link:hover::after,
.evcp-term-related-link:focus-visible::after,
.evcp-template-news .evcp-news-category-list a:hover::after,
.evcp-template-news .evcp-news-category-list a:focus-visible::after,
.evcp-template-news .evcp-news-category-list a[aria-current="page"]::after{
  transform:translate(3px,-50%);
}

/* Article search remains a complete framed result group. */
.evcp-article-search-list{
  border:1px solid var(--evcp-line);
  background:var(--evcp-surface);
}

.evcp-article-search-item{
  position:relative;
  border:0;
  border-bottom:1px solid var(--evcp-line-soft);
  border-radius:0;
  background:var(--evcp-surface);
  box-shadow:none;
  transition:background-color var(--evcp-card-transition),box-shadow var(--evcp-card-transition);
}

.evcp-article-search-item:last-child{
  border-bottom:0;
}

.evcp-article-search-item:hover,
.evcp-article-search-item:focus-within{
  z-index:1;
  background:var(--evcp-surface);
  box-shadow:inset 0 0 0 2px var(--evcp-cyan);
}

.evcp-article-search-image img{
  transition:transform .22s ease;
}

.evcp-article-search-item:hover .evcp-article-search-image img,
.evcp-article-search-item:focus-within .evcp-article-search-image img{
  transform:scale(var(--evcp-card-image-scale));
}

/* Sidebar links and category navigation */
.evcp-news-sidebar-card,
.evcp-term-related-sidebar .evcp-sidebar-card,
.evcp-article-rail-terms{
  border:1px solid var(--evcp-line);
  background:var(--evcp-surface);
  box-shadow:none;
}

.evcp-news-sidebar-post,
.evcp-template-news .evcp-news-category-list a,
.evcp-term-related-link,
.evcp-article-rail-terms a,
.evcp-mini-post{
  position:relative;
  border-top:1px solid var(--evcp-line-soft);
  background:var(--evcp-surface);
  box-shadow:none;
  transition:background-color var(--evcp-card-transition),color var(--evcp-card-transition);
}

.evcp-news-sidebar-post:first-child,
.evcp-template-news .evcp-news-category-list a:first-child,
.evcp-term-related-link:first-child,
.evcp-article-rail-terms li:first-child,
.evcp-mini-post:first-child{
  border-top:0;
}

.evcp-news-sidebar-post::before,
.evcp-template-news .evcp-news-category-list a::before,
.evcp-term-related-link::before,
.evcp-article-rail-terms a::before,
.evcp-mini-post::before{
  position:absolute;
  top:0;
  bottom:0;
  left:0;
  width:2px;
  background:var(--evcp-cyan);
  content:"";
  pointer-events:none;
  opacity:0;
}

.evcp-news-sidebar-post:hover,
.evcp-news-sidebar-post:focus-visible,
.evcp-template-news .evcp-news-category-list a:hover,
.evcp-template-news .evcp-news-category-list a:focus-visible,
.evcp-template-news .evcp-news-category-list a[aria-current="page"],
.evcp-term-related-link:hover,
.evcp-term-related-link:focus-visible,
.evcp-article-rail-terms a:hover,
.evcp-article-rail-terms a:focus-visible,
.evcp-mini-post:hover,
.evcp-mini-post:focus-visible{
  z-index:1;
  background:var(--evcp-card-tint);
  color:var(--evcp-cyan);
  box-shadow:none;
}

.evcp-news-sidebar-post:hover::before,
.evcp-news-sidebar-post:focus-visible::before,
.evcp-template-news .evcp-news-category-list a:hover::before,
.evcp-template-news .evcp-news-category-list a:focus-visible::before,
.evcp-template-news .evcp-news-category-list a[aria-current="page"]::before,
.evcp-term-related-link:hover::before,
.evcp-term-related-link:focus-visible::before,
.evcp-article-rail-terms a:hover::before,
.evcp-article-rail-terms a:focus-visible::before,
.evcp-mini-post:hover::before,
.evcp-mini-post:focus-visible::before{
  opacity:1;
}

/* Override legacy full inset frames in the two article sidebars. */
.evcp-template-news .evcp-news-sidebar-post:hover,
.evcp-template-news .evcp-news-sidebar-post:focus-visible,
.evcp-template-article-template .evcp-news-sidebar-post:hover,
.evcp-template-article-template .evcp-news-sidebar-post:focus-visible{
  background:var(--evcp-card-tint);
  box-shadow:none;
}

/* Catalogue rows never receive side borders or a full hover frame. */
.evcp-catalogue-page .evcp-catalogue-grid .evcp-product-row{
  border-right:0;
  border-bottom:1px solid var(--evcp-line-soft);
  border-left:0;
}

.evcp-catalogue-page .evcp-catalogue-grid .evcp-product-row:hover,
.evcp-catalogue-page .evcp-catalogue-grid .evcp-product-row:focus-within{
  box-shadow:none;
}

.evcp-news-sidebar-post:hover .evcp-news-sidebar-copy strong,
.evcp-news-sidebar-post:focus-visible .evcp-news-sidebar-copy strong,
.evcp-mini-post:hover .evcp-mini-post-title,
.evcp-mini-post:focus-visible .evcp-mini-post-title{
  color:var(--evcp-cyan);
}

.evcp-news-sidebar-thumb img,
.evcp-mini-thumb img{
  backface-visibility:hidden;
  transform-origin:center center;
  transition:transform .22s ease;
}

.evcp-news-sidebar-post:hover .evcp-news-sidebar-thumb img,
.evcp-news-sidebar-post:focus-visible .evcp-news-sidebar-thumb img,
.evcp-mini-post:hover .evcp-mini-thumb img,
.evcp-mini-post:focus-visible .evcp-mini-thumb img{
  transform:scale(var(--evcp-card-image-scale));
}

/* Separate article content from related reading without stacked rules. */
.evcp-template-article-template .evcp-article-related{
  margin-top:48px;
  padding-top:0;
  border-top:0;
}

.evcp-template-article-template .evcp-article-related>h2{
  margin:0;
  padding:0 0 12px;
  border-bottom:1px solid var(--evcp-line);
  background:transparent;
  color:var(--evcp-ink);
  font-size:22px;
  font-weight:700;
  line-height:1.2;
}

.evcp-template-article-template .evcp-article-related-list{
  border-top:0;
}

/* A title changes colour only when its own link is targeted. */
.evcp-product-row-title a:hover,
.evcp-product-row-title a:focus-visible,
.evcp-home-article h3 a:hover,
.evcp-home-article h3 a:focus-visible,
.evcp-news-row-copy h2 a:hover,
.evcp-news-row-copy h2 a:focus-visible,
.evcp-news-row-copy h3 a:hover,
.evcp-news-row-copy h3 a:focus-visible,
.evcp-article-search-body h3 a:hover,
.evcp-article-search-body h3 a:focus-visible,
.evcp-glossary-entry h3 a:hover,
.evcp-glossary-entry h3 a:focus-visible{
  color:var(--evcp-cyan);
}

@media (prefers-reduced-motion:reduce){
  .evcp-catalogue-grid *,
  .evcp-charger-grid *,
  .evcp-home-charger-list *,
  .evcp-home-article-list *,
  .evcp-template-news .evcp-news-lead *,
  .evcp-template-news .evcp-news-row *,
  .evcp-news-sidebar-post *,
  .evcp-template-news .evcp-news-category-list a *,
  .evcp-template-article-template .evcp-article-related *,
  .evcp-term-related-link *,
  .evcp-article-rail-terms a *,
  .evcp-mini-post *{
    transition:none;
  }
}
