:root{
  --vwd-white:#FFFFFF;
  --vwd-text:#181818;
  --vwd-muted:#9D9D9D;
  --vwd-border:#F1F1F1;
  --vwd-navy:#13284C;
  --vwd-blue:#27529D;
  --vwd-danger:#DC2626;
  --vwd-shadow:0px 1px 2px 0px rgba(0,0,0,0.05);
  --vwd-radius-lg:16px;
  --vwd-radius-md:8px;
  --vwd-focus:0 0 0 3px rgba(39,82,157,0.25);
}

.vwd-shell{
  width:100%;
  max-width:1280px;
  margin:0 auto;
  padding:0;
  font-family:Inter,system-ui,-apple-system,Segoe UI,Roboto,Arial,sans-serif;
  color:var(--vwd-text);
}

/* Garante que o rodapé do tema permaneça visível nas telas de conta.
   Sem overflow-x no .vwd-shell, o footer e os scripts do wp_footer()
   são corretamente renderizados em todas as views do dashboard. */
body.woocommerce-account .site-footer{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
}

.vwd-auth{
  max-width:640px;
  margin:64px auto;
  padding:24px;
  border:1px solid var(--vwd-border);
  border-radius:var(--vwd-radius-lg);
  box-shadow:var(--vwd-shadow);
}

.vwd-auth__text{
  margin:0 0 12px;
  font-size:16px;
  line-height:1.5;
}

.vwd-layout{
  width:100%;
  margin:0;
  display:grid;
  grid-template-columns:282px 1fr;
  gap:32px;
  align-items:start;
}

.vwd-aside__card{
  border:1px solid var(--vwd-border);
  border-radius:var(--vwd-radius-lg);
  box-shadow:var(--vwd-shadow);
  overflow:hidden;
  background:var(--vwd-white);
}

.vwd-aside__profile{
  min-height:112px;
  padding:24px 16px;
  background:linear-gradient(90deg, rgba(19,40,76,1) 0%, rgba(39,82,157,1) 100%);
  display:flex;
  align-items:center;
  gap:16px;
}

.vwd-aside__avatar{
  width:64px;
  height:64px;
  border-radius:9999px;
  background-color:rgba(255,255,255,0.3);
  display:flex;
  align-items:center;
  justify-content:center;
  flex:0 0 auto;
}

.vwd-aside__avatar-image{
  width:100%;
  height:100%;
  border-radius:9999px;
  background-size:cover;
  background-position:center;
}

.vwd-aside__avatar-fallback{
  color:#FFFFFF;
  font-size:20px;
  font-weight:700;
  line-height:1;
}

.vwd-aside__profile-meta{
  display:flex;
  flex-direction:column;
  gap:2px;
  min-width:0;
  flex:1 1 auto;
}

.vwd-aside__name{
  color:#FFFFFF;
  font-size:18px;
  font-weight:700;
  line-height:1.5555555556;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.vwd-aside__email{
  color:rgba(255,255,255,0.8);
  font-size:14px;
  font-weight:400;
  line-height:1.4285714286;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.vwd-aside__nav{
  width:282px;
  padding:8px;
  display:flex;
  flex-direction:column;
  gap:4px;
}

.vwd-navitem{
  display:flex;
  align-items:center;
  gap:12px;
  padding:12px 16px;
  border-radius:var(--vwd-radius-md);
  text-decoration:none;
  color:var(--vwd-text);
  font-size:16px;
  font-weight:500;
  line-height:1.5;
}

.vwd-navitem.is-active{
  background:var(--vwd-navy);
  color:var(--vwd-white);
}

.vwd-navitem--danger{
  color:var(--vwd-danger);
}

.vwd-navitem:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-navitem__icon{
  width:30px;
  height:30px;
  flex:0 0 auto;
  background-position:center;
  background-repeat:no-repeat;
  background-size:30px 30px;
  opacity:0.9;
}

.vwd-navitem__icon--dashboard{
  background-image:url('icons/nav-dashboard.svg');
  filter:brightness(0) saturate(100%) invert(8%);
}
.vwd-navitem__icon--account{background-image:url('icons/nav-meus-dados.svg');}
.vwd-navitem__icon--address{background-image:url('icons/nav-enderecos.svg');}
.vwd-navitem__icon--payment{background-image:url('icons/nav-pagamentos.svg');}
.vwd-navitem__icon--favorites{background-image:url('icons/nav-favoritos.svg');}
.vwd-navitem__icon--orders{background-image:url('icons/nav-meus-pedidos.svg');}
.vwd-navitem__icon--history{background-image:url('icons/nav-historico.svg');}
.vwd-navitem__icon--logout{background-image:url('icons/nav-sair.svg');}

.vwd-navitem.is-active .vwd-navitem__icon{
  filter:brightness(0) invert(1);
}

.vwd-navitem{
  transition:background-color 250ms cubic-bezier(0.4,0,0.2,1),color 250ms cubic-bezier(0.4,0,0.2,1);
}

.tab-active{
  background:var(--vwd-navy);
  color:var(--vwd-white);
}

.vwd-navitem__divider{
  height:1px;
  background:var(--vwd-border);
  margin:8px 0;
}

.vwd-main{
  outline:none;
}

.vwd-section--main{
  display:flex;
  flex-direction:column;
  gap:32px;
}

.vwd-heading{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.vwd-heading--row{
  flex-direction:row;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
}

.vwd-h1{
  margin:0;
  font-size:36px;
  font-weight:700;
  line-height:1.1111111111;
  color:var(--vwd-text);
}

.vwd-h2{
  margin:0;
  font-size:24px;
  font-weight:700;
  line-height:1.3333333333;
  color:var(--vwd-text);
}

.vwd-subtitle{
  font-size:14px;
  line-height:1.4285714286;
  color:var(--vwd-muted);
}

.vwd-lead{
  margin:0;
  font-size:14px;
  font-weight:400;
  line-height:1.4285714286;
  color:var(--vwd-muted);
  max-width:720px;
}

.vwd-welcome{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
}

.vwd-welcome__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.vwd-welcome__name{
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
  color:var(--vwd-text);
}

.vwd-welcome__email{
  font-size:14px;
  font-weight:400;
  line-height:1.4285714286;
  color:var(--vwd-muted);
}

.vwd-quicknav{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  align-items:center;
}

.vwd-heading__actions{
  display:flex;
  align-items:center;
  gap:12px;
}

.vwd-cards{
  display:flex;
  gap:24px;
  align-items:stretch;
}

.vwd-card{
  background:var(--vwd-white);
  border:1px solid var(--vwd-border);
  box-shadow:var(--vwd-shadow);
  border-radius:var(--vwd-radius-lg);
}

.vwd-stat{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:16px;
  flex:1 1 0;
}

.vwd-stat__top{
  width:239.33px;
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.vwd-stat__icon{
  width:48px;
  height:48px;
  border-radius:12px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:48px 48px;
}

.vwd-stat__icon--total{background-image:url('icons/stat-pedidos.svg');}
.vwd-stat__icon--progress{background-image:url('icons/stat-andamento.svg');}
.vwd-stat__icon--done{background-image:url('icons/stat-concluidos.svg');}

.vwd-stat__value{
  font-size:30px;
  font-weight:700;
  line-height:1.2;
  color:var(--vwd-navy);
}

.vwd-stat__value--orange{color:#F47726;}
.vwd-stat__value--green{color:#22C55E;}

.vwd-stat__label{
  width:239.33px;
  font-size:16px;
  font-weight:500;
  line-height:1.5;
  color:var(--vwd-muted);
}

.vwd-panels{
  display:grid;
  grid-template-columns:1fr 294px;
  gap:24px;
  align-items:start;
}

.vwd-panels--full{
  grid-template-columns:1fr;
}

.vwd-panels--single{
  grid-template-columns:1fr 1fr;
}

.vwd-panel{
  overflow:hidden;
}

.vwd-panel__header{
  padding:24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--vwd-border);
}

.vwd-panel__body{
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.vwd-panel--orders .vwd-panel__body{
  padding:0;
}

.vwd-link{
  font-size:16px;
  font-weight:500;
  line-height:1.5;
  color:var(--vwd-blue);
  text-decoration:none;
}

.vwd-link:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
  border-radius:6px;
}

.vwd-link--action{
  display:inline-flex;
  align-items:center;
  gap:12px;
}

.vwd-link__chev{
  width:17px;
  height:14px;
  background:url('icons/icon-chevron-right.svg') center/17px 14px no-repeat;
}

.vwd-link__chev--details{
  background-image:url('icons/icon-details-right.svg');
}

.vwd-orderrow{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  padding:24px;
  border-top:1px solid var(--vwd-border);
  width:100%;
  box-sizing:border-box;
}

.vwd-orderrow:first-child{
  border-top:1px solid var(--vwd-border);
}

.vwd-orderrow__left{
  display:flex;
  flex-direction:column;
  gap:12px;
  min-width:260px;
}

.vwd-orderrow__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.vwd-orderrow__id{
  font-size:18px;
  font-weight:700;
  line-height:1.5555555556;
  color:var(--vwd-text);
}

.vwd-orderrow__date{
  font-size:14px;
  font-weight:400;
  line-height:1.4285714286;
  color:var(--vwd-muted);
}

.vwd-badge{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:8px 16px;
  border-radius:9999px;
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
  white-space:nowrap;
}

.vwd-badge.is-success{background:#DCFCE7;color:#15803D;}
.vwd-badge.is-info{background:#DBEAFE;color:#1D4ED8;}
.vwd-badge.is-warning{background:#FEF3C7;color:#B45309;}
.vwd-badge.is-neutral{background:#F1F1F1;color:var(--vwd-text);}
.vwd-badge.is-danger{background:#FEE2E2;color:#B91C1C;}

.vwd-orderrow__mid{
  display:flex;
  align-items:flex-start;
  gap:16px;
  flex:1 1 auto;
  min-width:260px;
}

.vwd-orderrow__thumbwrap{
  width:clamp(96px, 18vw, 160px);
  max-width:160px;
}

.vwd-orderrow__thumb{
  width:100%;
  aspect-ratio:16/9;
  border-radius:8px;
  background:#E5E7EB;
  flex:0 0 auto;
  overflow:hidden;
}

.vwd-orderrow__thumb--skeleton{
  background:linear-gradient(90deg,#E5E7EB 25%,#F3F4F6 37%,#E5E7EB 63%);
  background-size:400% 100%;
  animation:vwd-skeleton 1.2s ease-in-out infinite;
}

.vwd-orderrow__title{
  font-size:16px;
  font-weight:400;
  line-height:1.5;
  color:var(--vwd-text);
  overflow:hidden;
  text-overflow:ellipsis;
  white-space:nowrap;
}

.vwd-orderrow__right{
  display:flex;
  flex-direction:column;
  align-items:flex-end;
  gap:12px;
  min-width:148px;
}

.vwd-badge--ribbon{
  animation:vwd-fade-in 300ms ease-in-out;
}

.vwd-orderrow__total{
  font-size:16px;
  font-weight:600;
  line-height:1.5;
  color:var(--vwd-text);
}

.vwd-empty{
  padding:24px;
  border:1px dashed var(--vwd-border);
  border-radius:12px;
  color:var(--vwd-muted);
  font-size:14px;
  line-height:1.4285714286;
}

.vwd-filters{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.vwd-filters__row{
  display:flex;
  gap:16px;
  align-items:flex-end;
  flex-wrap:wrap;
}

.vwd-filters__row--actions{
  justify-content:flex-end;
}

.vwd-field{
  display:flex;
  flex-direction:column;
  gap:8px;
}

.vwd-field--grow{
  flex:1 1 320px;
}

.vwd-label{
  font-size:14px;
  font-weight:500;
  line-height:1.4285714286;
  color:var(--vwd-text);
}

.vwd-input,
.vwd-select{
  height:44px;
  padding:0 12px;
  border:1px solid var(--vwd-border);
  border-radius:10px;
  font-size:14px;
  line-height:1.4285714286;
  background:var(--vwd-white);
  color:var(--vwd-text);
}

.vwd-input:focus-visible,
.vwd-select:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-btn{
  height:44px;
  padding:0 16px;
  border-radius:10px;
  border:1px solid transparent;
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  gap:8px;
  text-decoration:none;
}

.vwd-btn:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-btn--primary{
  background:var(--vwd-blue);
  color:var(--vwd-white);
}

.vwd-btn--ghost{
  background:transparent;
  border-color:var(--vwd-border);
  color:var(--vwd-text);
}

.vwd-listcard{
  overflow:hidden;
}

.vwd-pagination{
  padding:16px 24px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:12px;
}

.vwd-pagebtn{
  height:36px;
  padding:0 12px;
  border:1px solid var(--vwd-border);
  border-radius:10px;
  background:var(--vwd-white);
  color:var(--vwd-text);
  text-decoration:none;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
}

.vwd-pagebtn:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-pageinfo{
  font-size:14px;
  line-height:1.4285714286;
  color:var(--vwd-muted);
}

.vwd-items{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.vwd-item{
  display:grid;
  grid-template-columns:1fr auto;
  gap:8px 16px;
  padding:12px;
  border:1px solid var(--vwd-border);
  border-radius:12px;
}

.vwd-item__name{
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
}

.vwd-item__meta{
  font-size:14px;
  line-height:1.4285714286;
  color:var(--vwd-muted);
  grid-column:1 / 2;
}

.vwd-item__total{
  grid-column:2 / 3;
  grid-row:1 / 3;
  align-self:center;
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
}

.vwd-dl{
  margin:0;
  display:grid;
  grid-template-columns:140px 1fr;
  row-gap:12px;
  column-gap:12px;
}

.vwd-dl dt{
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
}

.vwd-dl dd{
  margin:0;
  font-size:14px;
  line-height:1.4285714286;
  color:var(--vwd-text);
}

.vwd-modal{
  position:fixed;
  inset:0;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
  z-index:9999;
}

.vwd-modal__overlay{
  position:absolute;
  inset:0;
  background:rgba(0,0,0,0.4);
}

.vwd-modal__dialog{
  position:relative;
  width:min(720px, 100%);
  background:var(--vwd-white);
  border-radius:var(--vwd-radius-lg);
  border:1px solid var(--vwd-border);
  box-shadow:0px 20px 40px rgba(0,0,0,0.25);
  overflow:hidden;
}

.vwd-modal__header{
  padding:16px 24px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--vwd-border);
}

.vwd-modal__body{
  padding:24px;
}

.vwd-iconbtn{
  width:40px;
  height:40px;
  border-radius:10px;
  border:1px solid var(--vwd-border);
  background:var(--vwd-white);
  cursor:pointer;
}

.vwd-iconbtn:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-form{
  display:flex;
  flex-direction:column;
  gap:16px;
}

.vwd-form__actions{
  display:flex;
  justify-content:flex-end;
  gap:12px;
}

.vwd-itemsedit{
  border:1px solid var(--vwd-border);
  border-radius:12px;
  overflow:hidden;
}

.vwd-itemsedit__header{
  padding:12px 16px;
  display:flex;
  align-items:center;
  justify-content:space-between;
  border-bottom:1px solid var(--vwd-border);
}

.vwd-itemsedit__title{
  font-size:14px;
  font-weight:600;
  line-height:1.4285714286;
}

.vwd-itemsedit__list{
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.vwd-itemedit{
  display:grid;
  grid-template-columns:1fr 92px 120px 40px;
  gap:12px;
  align-items:end;
}

.vwd-itemedit__remove{
  width:40px;
  height:44px;
  border-radius:10px;
  border:1px solid var(--vwd-border);
  background:var(--vwd-white);
  cursor:pointer;
}

.vwd-itemedit__remove:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
}

.vwd-shortcut{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:flex-start;
  gap:12px;
  text-decoration:none;
  color:var(--vwd-text);
  padding:16px;
  border:1px solid var(--vwd-border);
  border-radius:12px;
  transition:all 200ms ease-in-out;
}

.vwd-shortcut:hover{
  border-color:#D9E3F5;
  background:#F8FBFF;
}

.vwd-shortcut:active{
  transform:translateY(1px);
}

.vwd-history{
  list-style:none;
  margin:0;
  padding:24px;
  display:flex;
  flex-direction:column;
  gap:12px;
}

.vwd-history__item{
  border:1px solid var(--vwd-border);
  border-radius:12px;
  padding:12px 14px;
  display:flex;
  justify-content:space-between;
  gap:16px;
  align-items:center;
}

.vwd-history__meta{
  display:flex;
  flex-direction:column;
  gap:4px;
}

.vwd-history__title{
  font-size:14px;
  font-weight:600;
  line-height:1.4;
  color:var(--vwd-text);
}

.vwd-history__date{
  font-size:13px;
  font-weight:400;
  line-height:1.4;
  color:var(--vwd-muted);
}

.vwd-history__status{
  display:flex;
  align-items:center;
  gap:10px;
}

.vwd-history__total{
  font-size:14px;
  font-weight:700;
  color:var(--vwd-navy);
}

.vwd-shortcut:focus-visible{
  outline:none;
  box-shadow:var(--vwd-focus);
  border-radius:8px;
}

.vwd-shortcut__label{
  font-size:16px;
  font-weight:500;
  line-height:1.5;
  flex:1 1 auto;
}

.vwd-shortcut__icon{
  width:24px;
  height:24px;
  background:url('icons/shortcut-orders.svg') center/24px 24px no-repeat;
  flex:0 0 auto;
}

.vwd-shortcut__icon--address{background-image:url('icons/shortcut-address.svg');}
.vwd-shortcut__icon--payment{background-image:url('icons/shortcut-payment.svg');}
.vwd-shortcut__icon--profile{background-image:url('icons/shortcut-profile.svg');}

.vwd-shortcut__chev{
  width:10px;
  height:16px;
  background:url('icons/shortcut-arrow-orders.svg') center/10px 16px no-repeat;
  flex:0 0 auto;
}

.vwd-info{
  display:flex;
  flex-direction:column;
  gap:10px;
}

.vwd-info__row{
  display:grid;
  grid-template-columns:24px 92px 1fr;
  gap:8px 12px;
  align-items:center;
}

.vwd-info__icon{
  width:24px;
  height:24px;
  background-position:center;
  background-repeat:no-repeat;
  background-size:24px 24px;
  opacity:0.9;
  margin-top:0;
}

.vwd-info__icon--email{background-image:url('icons/account-email.svg');}
.vwd-info__icon--phone{background-image:url('icons/account-phone.svg');}
.vwd-info__icon--cpf{background-image:url('icons/account-cpf.svg');}
.vwd-info__icon--member{background-image:url('icons/account-member.svg');}

@keyframes vwd-fade-in{
  from{opacity:0;}
  to{opacity:1;}
}

@keyframes vwd-skeleton{
  0%{background-position:100% 0;}
  100%{background-position:0 0;}
}

.vwd-info__label{
  color:var(--vwd-muted);
  font-size:13px;
  font-weight:400;
  line-height:1.3;
}

.vwd-info__value{
  color:var(--vwd-text);
  font-size:14px;
  font-weight:500;
  line-height:1.3;
}

.vwd-btn--full{
  width:100%;
}

.vwd-sr{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}

.vwd-chart svg{
  width:100%;
  height:auto;
  display:block;
}

/* Favoritos: thumbs maiores dentro do dashboard */
.vwd-panel__body .vertex-favorites-thumb{
  width:72px;
  height:72px;
}

.vwd-panel__body .vertex-favorites-thumb img,
.vwd-panel__body .vertex-favorites-thumb__placeholder{
  width:72px;
  height:72px;
}

@media (max-width: 1024px){
  .vwd-welcome{
    flex-direction:column;
    align-items:flex-start;
  }
  .vwd-layout{
    width:100%;
    grid-template-columns:1fr;
    gap:16px;
  }
  .vwd-aside__nav{
    width:auto;
  }
  .vwd-cards{
    flex-direction:column;
  }
  .vwd-stat__top,
  .vwd-stat__label{
    width:auto;
  }
  .vwd-panels{
    grid-template-columns:1fr;
  }
  .vwd-panels--single{
    grid-template-columns:1fr;
  }
  .vwd-orderrow{
    flex-direction:column;
    align-items:flex-start;
  }
  .vwd-orderrow__left{
    min-width:0;
    width:100%;
  }
  .vwd-orderrow__thumbwrap{
    width:clamp(96px, 26vw, 140px);
    max-width:140px;
  }
  .vwd-orderrow__right{
    align-items:flex-start;
  }
  .vwd-history{
    padding:16px;
  }
  .vwd-history__item{
    flex-direction:column;
    align-items:flex-start;
  }
}

@media (max-width: 768px){
  .vwd-orderrow__thumbwrap{
    width:100%;
    max-width:none;
  }
  .vwd-orderrow__date{
    font-size:14px;
  }
}

