
/* ============================================================
   Signal Market Pro - Fresh Final v200
   ONE site logo + deterministic ad placements + shared controls
   ============================================================ */

/* One and only one site logo system. */
.brand::before,
.footer .brand::before{
  content:none!important;
  display:none!important;
  background:none!important;
  width:0!important;
  min-width:0!important;
  height:0!important;
  flex:0 0 0!important;
}
.brand.smp-brand-image{
  display:inline-flex!important;
  align-items:center!important;
  min-width:0!important;
  width:auto!important;
  height:auto!important;
  gap:0!important;
}
.brand.smp-brand-image .smp-site-logo{
  display:block!important;
  width:190px!important;
  max-width:190px!important;
  height:44px!important;
  object-fit:contain!important;
  object-position:left center!important;
}
.footer .brand.smp-brand-image .smp-site-logo{
  width:180px!important;
  max-width:180px!important;
  height:42px!important;
}
.brand.smp-brand-image > span,
.brand.smp-brand-image > .logo{display:none!important}

/* Fresh desktop advertisement shell. Left + centre + right are independent. */
.smp-ad-shell{
  width:min(1740px,calc(100% - 24px));
  margin:0 auto;
  display:grid;
  grid-template-columns:clamp(140px,15vw,280px) minmax(0,1100px) clamp(140px,15vw,280px);
  gap:18px;
  align-items:stretch;
}
.smp-ad-shell > main.container{
  width:100%!important;
  max-width:none!important;
  margin:0!important;
  min-width:0!important;
}
.smp-ad-side-slot{
  min-width:0;
  position:relative;
  align-self:stretch;
  padding-top:var(--smp-ad-side-top,52px);
}
.smp-home-page{--smp-ad-side-top:82px}
.smp-dashboard-page{--smp-ad-side-top:52px}
.smp-ad-side-inner{
  position:sticky;
  top:82px;
  width:100%;
  max-width:280px;
  margin:0 auto;
}
.smp-ad-side-slot .smp-ad-side{
  display:block!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1/2!important;
}
.smp-ad-side-slot .smp-ad-image{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  object-fit:cover!important;
  aspect-ratio:1/2!important;
}
.smp-banner-middle-wrap{
  width:100%;
  margin:20px 0 28px;
}
.smp-banner-middle-wrap .smp-ad-middle{
  display:block!important;
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  max-height:none!important;
  aspect-ratio:1200/250!important;
  overflow:hidden!important;
}
.smp-banner-middle-wrap .smp-ad-middle > .smp-ad-image{
  position:absolute!important;
  inset:0!important;
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  max-height:none!important;
  object-fit:cover!important;
}

/* Mobile partner card is CSS-controlled instead of UA detection. */
.smp-mobile-ad-stack{display:none}

.smp-day-toolbar{
  display:flex;
  align-items:end;
  justify-content:space-between;
  gap:12px;
  flex-wrap:wrap;
  margin:0 0 18px;
  padding:14px;
  border:1px solid rgba(255,255,255,.08);
  border-radius:14px;
  background:rgba(255,255,255,.025);
}
.smp-day-toolbar form{display:flex;align-items:end;gap:10px;flex-wrap:wrap;margin:0}
.smp-day-toolbar .field{margin:0;min-width:190px}
.smp-day-toolbar input[type=date]{min-height:42px}
.smp-bulkbar{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:14px 0}
.smp-check{width:18px;height:18px;accent-color:#53e6a6}

@media(max-width:1199px){
  .smp-ad-shell{
    grid-template-columns:clamp(110px,13vw,155px) minmax(0,1fr) clamp(110px,13vw,155px);
    gap:10px;
  }
  .smp-ad-side-inner{max-width:155px}
  .smp-ad-side-slot .smp-ad-overlay{display:none!important}
}
@media(max-width:899px){
  .smp-ad-shell{display:block;width:100%}
  .smp-ad-side-slot{display:none!important}
  .smp-ad-shell > main.container{max-width:1180px!important;margin:0 auto!important}
  .smp-mobile-ad-stack{display:block;margin:18px 0 26px}
  .smp-banner-middle-wrap .smp-ad-middle{aspect-ratio:16/5!important}
}
@media(max-width:620px){
  .brand.smp-brand-image .smp-site-logo{width:155px!important;max-width:155px!important;height:38px!important}
}
