#vs-pdm-custom-root{
  position:fixed;
  inset:0;
  pointer-events:none;
  z-index:999999;
  --vs-pdm-top: 0px;
  --vs-pdm-brand-shift: 0px;
  --vs-pdm-brand-end: 180px;
}

/* overlay */
#vs-pdm-custom-root .vs-pdm-overlay{
  position: fixed;
  left: 0;
  right: 0;
  top: var(--vs-pdm-top, 0px);
  height: calc(100vh - var(--vs-pdm-top, 0px));
  background: rgba(0,0,0,var(--vs-pdm-overlay, .06));
  opacity:0;
  pointer-events:none;
  transition:opacity .16s ease;
}

#vs-pdm-custom-root .vs-pdm-shell{
  position:absolute;
  left:0;
  top:0;
  width:100%;
  pointer-events:none;
}

#vs-pdm-custom-root .vs-pdm-panel-wrap{
  position:fixed;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:none !important;
  top: var(--vs-pdm-top, 0px);
  pointer-events:auto;

  background: var(--vs-pdm-bg, #fff) !important;
  color: var(--vs-pdm-fg, #111) !important;

  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;

  transform: translateY(-6px);
  opacity:0;
  transition: opacity .16s ease, transform .16s ease;
  overflow:hidden;

  min-height: 81vh;
  max-height: calc(100vh - var(--vs-pdm-top, 0px));
}

#vs-pdm-custom-root .vs-pdm-panel-wrap::before{
  content:none;
}

#vs-pdm-custom-root[data-open="1"] .vs-pdm-overlay{
  opacity:1;
  pointer-events:none;
}
#vs-pdm-custom-root[data-open="1"] .vs-pdm-panel-wrap{
  opacity:1;
  transform: translateY(0);
}

#vs-pdm-custom-root .vs-pdm-inner{
  width:100%;
  max-width:none !important;
  margin:0 !important;
  padding: 72px 24px 24px !important;
  min-height: 81vh;
  max-height: calc(100vh - var(--vs-pdm-top, 0px));
  overflow:auto;
}

/* nav - Tesla style architecture */
.vs-pdm-nav{
  position:relative;
  min-height:60px;
  width:100%;
}

.vs-pdm-brand{
  position:absolute;
  left: calc(var(--vs-pdm-brand-shift, 0px) * -1);
  top:50%;
  transform:translateY(-50%);
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  line-height:0;
  text-decoration:none;
  z-index:2;
}

.vs-pdm-brand-logo{
  display:block;
  width:clamp(90px, var(--vs-pdm-brand-w, 170px), 220px);
  max-width:none;
  height:auto;
  max-height:60px;
  object-fit:contain;
}

.vs-pdm-nav-items{
  display:flex;
  align-items:center;
  gap:22px;
  flex-wrap:wrap;
  min-width:0;
  padding-left: calc(var(--vs-pdm-brand-end, 180px) + 28px);
}

.vs-pdm-item{
  text-decoration:none;
  font-weight:650;
  opacity:.92;
  color: var(--vs-pdm-nav-fg, currentColor);
  transition: color .15s ease, opacity .15s ease;
  display:inline-flex;
  align-items:center;
  justify-content:flex-start;
  gap:10px;
  vertical-align:middle;
}

.vs-pdm-item:hover{
  opacity:1;
  color: var(--vs-pdm-nav-hover, currentColor);
}

.vs-pdm-item-label{
  display:inline-block;
  line-height:1.1;
  white-space:nowrap;
}

@media (max-width: 1366px){
  .vs-pdm-nav{
    min-height:52px;
  }

  .vs-pdm-brand-logo{
    width:clamp(82px, var(--vs-pdm-brand-w, 170px), 180px);
    max-height:48px;
  }

  .vs-pdm-nav-items{
    gap:18px;
    padding-left: calc(var(--vs-pdm-brand-end, 160px) + 24px);
  }
}

@media (max-width: 1024px){
  .vs-pdm-nav{
    min-height:46px;
  }

  .vs-pdm-brand-logo{
    width:clamp(72px, var(--vs-pdm-brand-w, 170px), 140px);
    max-height:40px;
  }

  .vs-pdm-nav-items{
    gap:16px;
    padding-left: calc(var(--vs-pdm-brand-end, 130px) + 18px);
  }
}

@media (max-width: 900px){
  .vs-pdm-nav{
    min-height:auto;
  }

  .vs-pdm-brand{
    position:static;
    transform:none;
    margin-bottom:10px;
  }

  .vs-pdm-brand-logo{
    width:min(var(--vs-pdm-brand-w, 170px), 110px);
    max-width:110px;
    max-height:34px;
  }

  .vs-pdm-nav-items{
    padding-left:0;
    gap:14px;
  }

  .vs-pdm-item-label{
    white-space:normal;
  }
}

/* panel layout starts where the logo ends */
.vs-pdm-panel .vs-pdm-layout{
  padding-left: calc(var(--vs-pdm-brand-end, 180px) + 28px);
  padding-right: 24px;
  box-sizing:border-box;
}

@media (max-width: 1366px){
  .vs-pdm-panel .vs-pdm-layout{
    padding-left: calc(var(--vs-pdm-brand-end, 160px) + 24px);
    padding-right: 20px;
  }
}

@media (max-width: 1024px){
  .vs-pdm-panel .vs-pdm-layout{
    padding-left: calc(var(--vs-pdm-brand-end, 130px) + 18px);
    padding-right: 18px;
  }
}

@media (max-width: 900px){
  .vs-pdm-panel .vs-pdm-layout{
    padding-left: 0;
    padding-right: 0;
  }
}

/* tiles-right layout */
.vs-pdm-layout{
  display:grid;
  grid-template-columns: minmax(0, 1fr) 320px;
  gap: 44px;
  align-items:start;
}

.vs-pdm-main-col{
  min-width:0;
}

.vs-pdm-side-col{
  min-width:0;
  padding-left:28px;
  position:relative;
  border-left:none;
  align-self:stretch;
}

.vs-pdm-side-col::before{
  content:"";
  position:absolute;
  left:0;
  top:0;
  bottom:0;
  width:1px;
  background:rgba(0,0,0,.12);
}

#vs-pdm-custom-root[data-theme="dark"] .vs-pdm-side-col::before{
  background:rgba(255,255,255,.14);
}

.vs-pdm-tiles{
  display:grid;
  gap:20px;
}

.vs-pdm-tiles.cols-4{
  grid-template-columns: repeat(4, minmax(0,1fr));
}

@media (max-width: 1200px){
  .vs-pdm-tiles.cols-4{
    grid-template-columns: repeat(3, minmax(0,1fr));
  }
}

@media (max-width: 900px){
  .vs-pdm-layout{
    grid-template-columns: 1fr;
    gap: 28px;
  }

  .vs-pdm-side-col{
    padding-left:0;
    padding-top:18px;
    border-left:none;
    border-top:none;
    align-self:start;
  }

  .vs-pdm-side-col::before{
    display:none;
  }

  .vs-pdm-side-col::after{
    content:"";
    position:absolute;
    left:0;
    right:0;
    top:0;
    height:1px;
    background:rgba(0,0,0,.10);
  }

  #vs-pdm-custom-root[data-theme="dark"] .vs-pdm-side-col::after{
    background:rgba(255,255,255,.12);
  }

  .vs-pdm-tiles.cols-4{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 700px){
  .vs-pdm-tiles{
    grid-template-columns: 1fr !important;
  }
}

/* tiles package */
#vs-pdm-custom-root .vs-pdm-tile{
  background: transparent !important;
  border: none !important;
  box-shadow: none !important;
  border-radius: 18px !important;
  overflow: visible !important;

  padding: 10px;
  transition:
    transform .22s ease,
    background-color .22s ease,
    box-shadow .22s ease,
    opacity .22s ease;

  opacity:0;
  transform: translateY(18px);
  will-change: transform, opacity;
}

#vs-pdm-custom-root .vs-pdm-tile *{
  box-shadow: none !important;
}

#vs-pdm-custom-root .vs-pdm-tile:hover{
  transform: translateY(-4px);
  background: rgba(0,0,0,.028) !important;
}

#vs-pdm-custom-root[data-theme="dark"] .vs-pdm-tile:hover{
  background: rgba(255,255,255,.045) !important;
}

#vs-pdm-custom-root .vs-pdm-tile-img{
  overflow:hidden;
  border-radius: 16px;
}

#vs-pdm-custom-root .vs-pdm-tile-img a{
  display:block;
  background:transparent !important;
  border:0 !important;
  outline:0 !important;
}

#vs-pdm-custom-root .vs-pdm-tile-img img{
  width:100%;
  height: 205px !important;
  object-fit: cover;
  display:block;
  border-radius: 16px;
  transition: transform .35s ease, opacity .25s ease;
}

#vs-pdm-custom-root .vs-pdm-tile:hover .vs-pdm-tile-img img{
  transform: scale(1.03);
}

#vs-pdm-custom-root .vs-pdm-tile-head{
  padding:14px 0 0;
  display:flex;
  gap:10px;
  align-items:center;
  flex-wrap:wrap;
  transition: transform .22s ease, opacity .22s ease;
}

#vs-pdm-custom-root .vs-pdm-tile-title{
  font-weight:750;
  text-decoration:none;
  color:inherit;
  white-space:normal;
  overflow:visible;
  text-overflow:unset;
  max-width:100%;
  display:block;
  line-height:1.2;
  transition: opacity .2s ease, color .2s ease;
}

#vs-pdm-custom-root .vs-pdm-tile:hover .vs-pdm-tile-title{
  opacity:1;
}

#vs-pdm-custom-root .vs-pdm-badge{
  font-size:12px;
  padding:3px 8px;
  border-radius:999px;
  background:rgba(0,0,0,.06);
  transition: transform .22s ease, opacity .22s ease;
}

#vs-pdm-custom-root .vs-pdm-tile-body{
  padding: 10px 0 10px;
  transition: transform .22s ease, opacity .22s ease;
}

#vs-pdm-custom-root .vs-pdm-actions{
  display:flex;
  flex-direction:column;
  gap:8px;
  margin-top:8px;
}

#vs-pdm-custom-root .vs-pdm-action{
  text-decoration:none;
  opacity:.9;
  color: var(--vs-pdm-action-fg, inherit);
  transition: transform .18s ease, opacity .18s ease, color .18s ease;
}

#vs-pdm-custom-root .vs-pdm-action:hover{
  opacity:1;
  text-decoration:underline;
  color: var(--vs-pdm-action-hover, inherit);
}

#vs-pdm-custom-root .vs-pdm-tile:hover .vs-pdm-tile-head,
#vs-pdm-custom-root .vs-pdm-tile:hover .vs-pdm-tile-body,
#vs-pdm-custom-root .vs-pdm-tile:hover .vs-pdm-badge{
  transform: translateY(-1px);
}

/* stagger */
@keyframes vsPdmTileIn{
  from{
    opacity:0;
    transform: translateY(24px);
  }
  to{
    opacity:1;
    transform: translateY(0);
  }
}

@keyframes vsPdmLinksIn{
  from{
    opacity:0;
    transform: translateX(14px);
  }
  to{
    opacity:1;
    transform: translateX(0);
  }
}

#vs-pdm-custom-root[data-open="1"] .vs-pdm-tile{
  animation: vsPdmTileIn .72s cubic-bezier(.22,.61,.36,1) both;
}

#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(1){ animation-delay: .08s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(2){ animation-delay: .18s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(3){ animation-delay: .28s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(4){ animation-delay: .38s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(5){ animation-delay: .48s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(6){ animation-delay: .58s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(7){ animation-delay: .68s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(8){ animation-delay: .78s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(9){ animation-delay: .88s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(10){ animation-delay: .98s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(11){ animation-delay: 1.08s; }
#vs-pdm-custom-root[data-open="1"] .vs-pdm-tiles > .vs-pdm-tile:nth-child(12){ animation-delay: 1.18s; }

#vs-pdm-custom-root .vs-pdm-links-title,
#vs-pdm-custom-root .vs-pdm-links-list{
  opacity:0;
  transform: translateX(14px);
}

#vs-pdm-custom-root[data-open="1"] .vs-pdm-links-title{
  animation: vsPdmLinksIn .36s ease both;
  animation-delay: .18s;
}

#vs-pdm-custom-root[data-open="1"] .vs-pdm-links-list{
  animation: vsPdmLinksIn .42s ease both;
  animation-delay: .24s;
}

#vs-pdm-custom-root .vs-pdm-links-title{
  font-size:13px;
  opacity:.7;
  margin-bottom:10px;
  color: var(--vs-pdm-rightlabel-fg, inherit);
}

#vs-pdm-custom-root .vs-pdm-links-list{
  display:flex;
  flex-direction:column;
  gap:10px;
}

#vs-pdm-custom-root .vs-pdm-link{
  text-decoration:none;
  font-weight:650;
  opacity:.92;
  color: var(--vs-pdm-rightlink-fg, inherit);
  transition: opacity .18s ease, transform .18s ease, color .18s ease;
}

#vs-pdm-custom-root .vs-pdm-link:hover{
  opacity:1;
  text-decoration:underline;
  color: var(--vs-pdm-rightlink-hover, inherit);
  transform: translateX(2px);
}

#vs-pdm-custom-root .vs-pdm-side-col:hover .vs-pdm-links-title{
  color: var(--vs-pdm-rightlabel-hover, var(--vs-pdm-rightlabel-fg, inherit));
}

/* columns layout - ΔΕΝ ΤΟ ΠΕΙΡΑΖΟΥΜΕ */
#vs-pdm-custom-root .vs-pdm-cols{
  display:grid;
  gap: 48px;
  align-items:start;
  max-width: 980px;
  margin: 0 auto;
  padding: 0 24px;
}

#vs-pdm-custom-root .vs-pdm-cols.cols-1{ grid-template-columns: 1fr; }
#vs-pdm-custom-root .vs-pdm-cols.cols-2{ grid-template-columns: repeat(2, minmax(0,1fr)); }
#vs-pdm-custom-root .vs-pdm-cols.cols-3{ grid-template-columns: repeat(3, minmax(0,1fr)); }
#vs-pdm-custom-root .vs-pdm-cols.cols-4{ grid-template-columns: repeat(4, minmax(0,1fr)); }
#vs-pdm-custom-root .vs-pdm-cols.cols-5{ grid-template-columns: repeat(5, minmax(0,1fr)); }
#vs-pdm-custom-root .vs-pdm-cols.cols-6{ grid-template-columns: repeat(6, minmax(0,1fr)); }

#vs-pdm-custom-root .vs-pdm-col-title{
  font-weight: 750;
  margin: 0 0 10px;
  opacity: .9;
  color: var(--vs-pdm-collabel-fg, var(--vs-pdm-fg, inherit));
  transition: color .15s ease;
}
#vs-pdm-custom-root .vs-pdm-col:hover .vs-pdm-col-title{
  color: var(--vs-pdm-collabel-hover, var(--vs-pdm-collabel-fg, var(--vs-pdm-fg, inherit)));
}

#vs-pdm-custom-root .vs-pdm-col a{
  display:block;
  text-decoration:none;
  padding: 6px 0;
  opacity: .92;
  color: var(--vs-pdm-fg, inherit);
}
#vs-pdm-custom-root .vs-pdm-col a:hover{
  opacity: 1;
  text-decoration: underline;
}

@media (max-width: 900px){
  #vs-pdm-custom-root .vs-pdm-cols.cols-3,
  #vs-pdm-custom-root .vs-pdm-cols.cols-4,
  #vs-pdm-custom-root .vs-pdm-cols.cols-5,
  #vs-pdm-custom-root .vs-pdm-cols.cols-6{
    grid-template-columns: repeat(2, minmax(0,1fr));
  }
}

@media (max-width: 600px){
  #vs-pdm-custom-root .vs-pdm-cols{
    grid-template-columns: 1fr !important;
    max-width: 100%;
  }

  #vs-pdm-custom-root .vs-pdm-inner{
    padding: 56px 18px 20px !important;
  }
}

#vs-pdm-custom-root[data-theme="dark"] .vs-pdm-badge{
  background: rgba(255,255,255,.10);
}

/* Astra safety */
.site-header,
.main-header-bar,
.ast-primary-header-bar,
.ast-builder-menu,
.main-header-menu{
  overflow: visible !important;
}

.site-header,
.main-header-bar,
.ast-primary-header-bar,
#masthead{
  position: relative;
  z-index: 1000000;
}

.ast-desktop .main-header-menu > li > a{
  padding-top: 16px !important;
  padding-bottom: 16px !important;
}