.google-ad-card {
  position: relative;
  overflow: hidden;
}

.ad-fallback {
  display: grid;
  gap: 3px;
  place-items: center;
  text-align: center;
  color: var(--md-on-surface-variant);
}

.ad-fallback b {
  color: var(--md-on-surface);
  font: 900 11px 'DM Sans';
}

.ad-fallback small {
  max-width: 170px;
  font-size: 10px;
  line-height: 1.35;
}

.side-ad-rail {
  position: fixed;
  left: max(12px, calc((100vw - 1740px) / 2));
  top: 132px;
  z-index: 18;
  width: 144px;
  height: min(640px, calc(100vh - 148px));
  min-height: 0;
  padding: 10px;
  border-radius: 22px;
  border: 1px dashed rgba(210,232,213,.22);
  background: rgba(18,32,24,.45);
  backdrop-filter: blur(16px);
  display: grid;
  grid-template-rows: auto minmax(0,1fr);
  align-content: stretch;
  justify-items: center;
  gap: 8px;
}

.side-ad-rail>span{display:inline-grid;place-items:center;height:28px;padding:0 13px;border-radius:999px;background:rgba(0,0,0,.24);color:#dbe8dc;font:900 11px 'DM Sans'}
.side-ad-rail .ad-fallback{
  min-height:0;
  gap:1px;
}

.side-ad-rail .ad-fallback b{
  font-size:10px;
}

.side-ad-rail .ad-fallback small{
  font-size:9px;
}

.side-ad-rail .adsbygoogle {
  width: 120px !important;
  height: 600px !important;
  min-height: 600px;
  max-width: 120px;
  align-self:start;
}

.side-ad-rail:has(.adsbygoogle[data-ad-status="filled"]) .ad-fallback {
  display: none;
}

.top-ad-bar {
  width: min(1180px, calc(100% - 32px));
  min-height: 64px;
  margin: 16px auto 0;
  padding: 12px 18px;
  border-radius: 22px;
  border: 1px dashed rgba(210,232,213,.18);
  background: rgba(18,32,24,.28);
  backdrop-filter: blur(16px);
  display: flex;
  align-items: center;
  gap: 13px;
}

.top-ad-bar .ad-fallback {
  margin-right: auto;
  place-items: start;
  text-align: left;
}

.top-ad-bar .adsbygoogle {
  min-height: 42px;
  flex: 1;
}

.google-ad-slot .adsbygoogle {
  min-height: 180px;
}

@media(min-width:1280px){
  body:not(.ad-free-active) main{
    padding-left:150px;
  }

  body:not(.ad-free-active) .top-ad-bar{
    width:min(1180px,calc(100% - 190px));
    margin-left:170px;
    margin-right:auto;
  }
}

@media(max-width:1279px){
  .side-ad-rail{display:none}
}

@media(min-width:1280px) and (max-width:1500px){
  .side-ad-rail{
    left:8px;
    width:132px;
    padding:8px 6px;
  }

  .side-ad-rail .adsbygoogle{
    width:120px!important;
  }
}
