/* NSW Level 1.0.7 — loja: hierarquia recolhível nativa, capa vermelha, selo branco.
 * Seletores deliberadamente ancorados em .ed-shop-layout, que EXISTE no
 * template de arquivo WooCommerce. "body .woocommerce" falhava no catálogo.
 */
:root{
  --nsw107-ink:#111C30;
  --nsw107-blue:#00C9EF;
  --nsw107-red:#FF303B;
  --nsw107-line:#E0E7EE;
}

/* Grade responsiva; não depende do body ter um contêiner .woocommerce. */
body .ed-shop-layout{
  display:grid!important;
  grid-template-columns:minmax(220px,250px) minmax(0,1fr)!important;
  align-items:start!important;
  gap:24px!important;
  width:100%;
}
body .ed-shop-layout .ed-shop-content{min-width:0!important;width:100%}

/* Sidebar branca */
body .ed-shop-layout .ed-shop-sidebar.nsw-console-sidebar{
  background:#FFFFFF!important;
  background-image:none!important;
  color:var(--nsw107-ink)!important;
  border:1px solid var(--nsw107-line)!important;
  border-radius:20px!important;
  padding:18px 14px!important;
  box-shadow:0 12px 30px rgba(17,28,48,.07)!important;
  overflow:visible!important;
}
body .ed-shop-layout .nsw-console-sidebar .ed-shop-sidebar-title{
  font-weight:850!important;
  font-size:18px!important;
  line-height:1.3!important;
  margin:0 0 16px!important;
  color:var(--nsw107-ink)!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-groups{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  gap:12px!important;
  width:100%!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-group{
  display:block!important;
  width:100%!important;
  margin:0!important;
  padding:0!important;
  min-width:0;
  border:1px solid var(--nsw107-line)!important;
  border-radius:13px!important;
  background:#FFFFFF!important;
  overflow:hidden!important;
  box-shadow:none!important;
}
/* O summary inteiro é clicável: nada de setinhas soltas em botões antigos. */
body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  gap:10px!important;
  min-height:49px!important;
  width:100%!important;
  padding:12px 14px!important;
  margin:0!important;
  background:#F4F8FC!important;
  border:0!important;
  border-radius:0!important;
  color:var(--nsw107-ink)!important;
  font-size:14px!important;
  font-weight:850!important;
  line-height:1.35!important;
  list-style:none!important;
  cursor:pointer!important;
  user-select:none;
  transition:background-color .18s ease!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading::-webkit-details-marker{display:none!important}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading::marker{content:""}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading:hover,
body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading:focus-visible{
  background:#E7F8FD!important;
}
body .ed-shop-layout .nsw-console-sidebar details[open]>.nsw-category-heading{
  background:#E7F8FD!important;
  color:#006B87!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-title{
  flex:1;min-width:0;display:block!important;white-space:normal;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-chevron{
  display:block!important;
  position:static!important;
  width:10px!important;
  height:10px!important;
  flex:0 0 10px!important;
  border:0!important;
  border-right:2px solid currentColor!important;
  border-bottom:2px solid currentColor!important;
  border-radius:0!important;
  transform:translateY(-2px) rotate(45deg)!important;
  background:none!important;
  transition:transform .18s ease!important;
}
body .ed-shop-layout .nsw-console-sidebar details[open]>.nsw-category-heading .nsw-category-chevron{
  transform:translateY(2px) rotate(225deg)!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-children{
  display:flex!important;
  flex-direction:column!important;
  flex-wrap:nowrap!important;
  width:100%!important;
  gap:4px!important;
  padding:9px 10px 11px!important;
  margin:0!important;
  background:#FFF!important;
  border-top:1px solid #E8EFF4!important;
}
body .ed-shop-layout .nsw-console-sidebar details:not([open])>.nsw-category-children{
  display:none!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-child{
  display:flex!important;
  align-items:center!important;
  position:relative!important;
  min-height:38px!important;
  padding:8px 12px 8px 23px!important;
  margin:0!important;
  width:100%!important;
  border:1px solid transparent!important;
  border-radius:9px!important;
  box-shadow:none!important;
  background:#FFF!important;
  color:#495D78!important;
  font-size:13px!important;
  font-weight:700!important;
  text-decoration:none!important;
  line-height:1.35!important;
  transform:none!important;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-child::before{
  content:"";position:absolute;left:9px;top:50%;transform:translateY(-50%);
  width:5px;height:5px;border-radius:50%;background:#00B7DA;
}
body .ed-shop-layout .nsw-console-sidebar .nsw-category-child:hover,
body .ed-shop-layout .nsw-console-sidebar .nsw-category-child.is-active{
  background:#EAF9FD!important;
  border-color:#C9EEF6!important;
  color:#007D9D!important;
}
body .ed-shop-layout .nsw-console-sidebar :is(summary,a):focus-visible{
  outline:2px solid var(--nsw107-blue)!important;outline-offset:-3px!important;
}

/* Cards com a mesma faixa vermelha da vitrine inicial. */
body .ed-shop-layout .ed-shop-content ul.products li.product{
  background:#FFF!important;
  background-image:none!important;
  border:1px solid var(--nsw107-line)!important;
  border-radius:15px!important;
  overflow:hidden!important;
  box-shadow:0 12px 30px rgba(17,28,48,.08)!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product:hover{
  border-color:#A4DFED!important;
  box-shadow:0 17px 35px rgba(17,28,48,.13)!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .ed-cover-frame{
  position:relative!important;
  display:flex!important;
  flex-direction:column!important;
  border:0!important;
  border-radius:0!important;
  overflow:hidden!important;
  margin:0 0 10px!important;
  padding:0!important;
  background:#F3F8FC!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .ed-platform-header.nsw-platform-header{
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:100%!important;
  min-height:44px!important;
  height:auto!important;
  padding:9px 5px!important;
  margin:0!important;
  background:var(--nsw107-red)!important;
  background-image:none!important;
  border:0!important;
  border-bottom:2px solid #DA2531!important;
  border-radius:0!important;
  color:#FFF!important;
  font-weight:900!important;
  letter-spacing:.45px!important;
  font-size:clamp(11px,1vw,14px)!important;
  line-height:1.2!important;
  text-align:center!important;
  text-transform:uppercase!important;
  box-shadow:none!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .ed-platform-header.nsw-platform-unconfirmed{
  background:#64758A!important;border-bottom-color:#526377!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .ed-cover-frame img{
  display:block!important;
  width:100%!important;
  max-width:100%!important;
  height:auto!important;
  margin:0!important;
  border-radius:0!important;
  aspect-ratio:1/1!important;
  object-fit:cover!important;
  background:#F3F8FC!important;
}
/* Força o selo branco, com o logotipo de alto contraste. */
body .ed-shop-layout .ed-shop-content ul.products li.product .ed-cover-brand{
  position:absolute!important;
  display:block!important;
  visibility:visible!important;
  opacity:1!important;
  left:9px!important;
  right:auto!important;
  bottom:9px!important;
  top:auto!important;
  width:110px!important;
  height:42px!important;
  padding:4px!important;
  border:1px solid #E0E7EE!important;
  border-radius:8px!important;
  background-color:#FFF!important;
  background-image:url('nsw-level-cover-mark.png')!important;
  background-position:center center!important;
  background-size:calc(100% - 12px) auto!important;
  background-repeat:no-repeat!important;
  box-shadow:0 4px 14px rgba(9,26,46,.20)!important;
  filter:none!important;
  pointer-events:none!important;
  z-index:20!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .woocommerce-loop-product__title{
  color:var(--nsw107-ink)!important;
}
body .ed-shop-layout .ed-shop-content ul.products li.product .price,
body .ed-shop-layout .ed-shop-content ul.products li.product .price ins{
  color:var(--nsw107-red)!important;
}
@media(max-width:900px){
  body .ed-shop-layout{grid-template-columns:215px minmax(0,1fr)!important;gap:16px!important}
}
@media(max-width:767px){
  body .ed-shop-layout{display:flex!important;flex-direction:column!important;gap:18px!important}
  body .ed-shop-layout .ed-shop-sidebar.nsw-console-sidebar{position:static!important;width:100%!important}
  body .ed-shop-layout .ed-shop-content{width:100%!important}
}
@media(max-width:640px){
  body .ed-shop-layout .ed-shop-content ul.products li.product .ed-platform-header.nsw-platform-header{
    min-height:36px!important;padding:7px 4px!important;font-size:10px!important;
  }
  body .ed-shop-layout .ed-shop-content ul.products li.product .ed-cover-brand{
    left:6px!important;bottom:6px!important;width:86px!important;height:36px!important;
  }
}
@media(prefers-reduced-motion:reduce){
  body .ed-shop-layout .nsw-console-sidebar .nsw-category-heading,
  body .ed-shop-layout .nsw-console-sidebar .nsw-category-chevron{transition:none!important}
}
