body{margin:0;background:#f8fafc;color:#1e293b;font-family:Inter,system-ui,sans-serif}
.sto-ad{max-width:1280px;margin:12px auto;text-align:center;padding:0 14px;min-height:0}.sto-ad:empty{display:none}
.sto-ad-content{width:100%;max-width:100%;min-width:0;text-align:center;overflow:visible}
.sto-ad-content iframe,.sto-ad-content ins{max-width:100%}
.sto-top-product{background:rgba(255,255,255,.97);max-width:none;box-shadow:0 2px 14px #0f172a14;padding:5px 12px;margin:0;z-index:40}
.sto-product-link{margin:auto;display:flex;align-items:center;gap:14px;max-width:760px;padding:5px;text-align:left;min-width:0;color:#172554;text-decoration:none}
.sto-product-link img{width:62px;height:45px;object-fit:contain;flex-shrink:0}
.sto-product-copy{display:flex;flex:1;flex-direction:column;min-width:0;font-size:13px}
.sto-product-copy span{font-size:11px;color:#64748b;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.sto-product-button{background:#4f46e5;color:white;padding:9px 14px;border-radius:8px;font-size:12px;font-weight:700;white-space:nowrap}
.sto-ad-label{color:#64748b;font-size:9px;display:block;text-align:center}
.sto-fallback{max-width:880px;margin:2rem auto;background:#fff;border:1px solid #e2e8f0;border-radius:16px;padding:30px;font-size:16px;line-height:1.6}
.sto-fallback h1{font-size:32px;font-weight:800;line-height:1.25}.sto-fallback a{color:#4f46e5;text-decoration:underline}
.sto-post-content{line-height:1.8;font-size:16px}.sto-post-content p{margin:1em 0}.sto-post-content h2{font-size:24px;font-weight:800;margin:1em 0}.sto-post-content h3{font-size:20px;font-weight:700;margin:1em 0}.sto-post-content ul{list-style:disc;padding-left:24px}.sto-post-content a{color:#4f46e5;text-decoration:underline}.sto-post-content img{max-width:100%;height:auto}
@media(max-width:600px){.sto-product-copy span{display:none}.sto-product-button{padding:8px 10px}}

.sto-bottom-ad{position:fixed;bottom:0;left:0;right:0;max-width:none;padding:9px 35px 4px;background:#fff;box-shadow:0 -3px 18px #0f172a25;z-index:70;margin:0}.sto-ad-close{position:absolute;right:12px;top:6px;font-size:24px;color:#64748b;line-height:1;background:transparent;border:0;cursor:pointer}




/* v1.2.4: original mobile hamburger as the only menu on every device.
   Overlay anchored below the header, independently scrollable to its last link.
   The overlay is not part of sticky header layout and cannot be clipped on mobile. */
.sto-original-header .sto-original-desktop-nav { display:none !important; }
.sto-original-header .sto-original-mobile-toggle { display:inline-flex !important; align-items:center; justify-content:center; }
.sto-original-header .sto-universal-menu-panel {
  position:absolute;
  top:100%; left:0; right:0;
  width:100%; max-width:none;
  box-sizing:border-box;
  max-height:calc(100vh - 72px);
  max-height:calc(100dvh - 100%);
  overflow-x:hidden; overflow-y:auto;
  overscroll-behavior:contain;
  -webkit-overflow-scrolling:touch;
  padding-bottom:calc(24px + env(safe-area-inset-bottom, 0px));
  z-index:101;
}
.sto-original-header .sto-universal-menu-panel button {
  white-space:normal;
  overflow-wrap:break-word;
}

/* Ads v1.2.5: prevent script/iframe placements collapsing or being clipped. */
.sto-ad-content > iframe,.sto-ad-content > img{max-width:100%}
.sto-ad-content ins.adsbygoogle{display:block;min-width:0}
.sto-ad-test{border:2px dashed #4f46e5;background:#eef2ff;color:#312e81;padding:18px;min-height:80px;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:5px;border-radius:10px;font:600 14px/1.4 Inter,system-ui,sans-serif}
.sto-ad-test small{font-weight:400;opacity:.85}

/* v1.2.6: WordPress itself paints ad banners; React moves them without recreating scripts. */
.sto-server-ad { box-sizing:border-box; max-width:1280px; margin:12px auto; padding:0 14px; text-align:center; min-height:0; }
.sto-server-ad.sto-top-product { position:sticky; top:56px; z-index:40; max-width:none; margin:0; padding:5px 12px; }
.sto-server-ad.sto-bottom-ad { position:fixed; bottom:0; inset-inline:0; z-index:70; }
.sto-server-ad .sto-product-link { color:#172554; text-decoration:none; }
.sto-server-ad .sto-product-copy strong { display:block; }
.sto-ad-anchor { display:contents; }
.sto-server-ad .sto-ad-close:focus-visible { outline:2px solid #4f46e5; }
.sto-server-ad .sto-debug-message { padding:12px; background:#eff6ff; color:#1d4ed8; border:1px dashed #93c5fd; font-weight:600; }
.sto-ad-debug-panel { position:relative; z-index:20; max-width:1024px; margin:14px auto; background:#fff; color:#1e293b; border:2px solid #4f46e5; border-radius:10px; padding:16px; font:14px/1.5 system-ui,sans-serif; }
.sto-ad-debug-panel ul { padding-left:22px; list-style:disc; }
.sto-server-ad ins.adsbygoogle { display:block; min-width:0; }
.sto-server-ad img { max-width:100%; }

@media(min-width:1024px){.sto-server-ad.sto-top-product{top:66px}}


/* v1.2.7: responsive WordPress-native advertising placements.
   Fixed-size creatives are contained without causing horizontal page overflow.
   Network-injected heights and widths are respected whenever possible. */
.sto-server-ad {
  box-sizing: border-box;
  width: 100%;
  min-width: 0;
  max-width: min(100%, 1280px);
  margin-inline: auto;
  padding-inline: clamp(8px, 2.5vw, 24px);
  overflow-wrap: anywhere;
}
.sto-server-ad, .sto-server-ad * { box-sizing: border-box; }
.sto-server-ad .sto-ad-content {
  width: 100%;
  min-width: 0;
  max-width: 100%;
  display: block; /* earlier base stylesheet uses flex and shrinks fixed-size creatives */
  overflow-x: auto; /* fixed 728/970px creatives remain reachable on narrow screens */
  overflow-y: hidden;
  -webkit-overflow-scrolling: touch;
  scrollbar-width: thin;
  text-align: center;
}
.sto-server-ad .sto-ad-content > img,
.sto-server-ad .sto-ad-content picture img,
.sto-server-ad .sto-product-link img {
  max-width: 100%;
  height: auto;
}
.sto-server-ad .sto-ad-content iframe,
.sto-server-ad .sto-ad-content video,
.sto-server-ad .sto-ad-content embed,
.sto-server-ad .sto-ad-content object,
.sto-server-ad .sto-ad-content ins.adsbygoogle { max-width: 100%; }
.sto-server-ad .sto-ad-content video { height: auto; }
.sto-server-ad .sto-ad-content ins.adsbygoogle { min-width: 0; }
.sto-server-ad .sto-product-link {
  width: 100%;
  max-width: 760px;
  min-width: 0;
  gap: clamp(8px, 1.5vw, 14px);
  flex-wrap: wrap;
  justify-content: center;
}
.sto-server-ad .sto-product-link img {
  width: clamp(44px, 7vw, 72px);
  height: clamp(40px, 5vw, 55px);
  object-fit: contain;
  flex: 0 0 auto;
}
.sto-server-ad .sto-product-copy {
  flex: 1 1 130px;
  min-width: 0;
  text-align: left;
  overflow-wrap: anywhere;
}
.sto-server-ad .sto-product-copy strong { white-space: normal; line-height: 1.3; }
.sto-server-ad .sto-product-copy span {
  display: block;
  white-space: normal;
  overflow: hidden;
  overflow-wrap: anywhere;
  text-overflow: clip;
  line-height: 1.3;
}
.sto-server-ad .sto-product-button {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  min-height: 36px;
  min-width: 0;
  max-width: 100%;
  text-align: center;
  white-space: normal;
  overflow-wrap: anywhere;
}
.sto-server-ad.sto-top-product {
  max-width: 100%;
  width: 100%;
  padding-inline: clamp(8px, 2vw, 20px);
  overflow-x: clip;
}
.sto-server-ad.sto-bottom-ad {
  box-sizing: border-box;
  width: 100%;
  max-width: 100%;
  max-height: min(36dvh, 230px);
  overflow-x: hidden;
  overflow-y: auto;
  overscroll-behavior: contain;
  --sto-bottom-inline-pad: clamp(46px, 6vw, 60px);
  padding: 8px var(--sto-bottom-inline-pad) calc(8px + env(safe-area-inset-bottom, 0px));
}
.sto-server-ad .sto-ad-close {
  position: sticky; /* remains reachable when a tall sticky creative scrolls */
  top: 0;
  float: right;
  margin-right: -36px;
  margin-top: -2px;
  right: 0;
  transform: translateX(calc(var(--sto-bottom-inline-pad) + 4px));
  display: flex;
  justify-content: center;
  align-items: center;
  width: 36px;
  height: 36px;
  min-width: 36px;
  border-radius: 50%;
  touch-action: manipulation;
  z-index: 2;
}
.sto-server-ad .sto-ad-label { line-height: 1.3; }
body.sto-ad-has-sticky-bottom { padding-bottom: var(--sto-sticky-bottom-space, 0px); }
@media (max-width: 600px) {
  .sto-server-ad { margin-block: 8px; padding-inline: 8px; }
  .sto-server-ad.sto-top-product { padding: 4px 8px; }
  .sto-server-ad .sto-product-link { gap: 7px; padding: 4px; }
  .sto-server-ad .sto-product-copy { flex-basis: 90px; font-size: 12px; }
  .sto-server-ad .sto-product-copy span { display: block; font-size: 11px; }
  .sto-server-ad .sto-product-button { padding: 7px 9px; font-size: 11px; }
  .sto-server-ad.sto-bottom-ad {
    max-height: min(32dvh, 180px);
    --sto-bottom-inline-pad: 42px;
    padding-inline: var(--sto-bottom-inline-pad);
  }
  .sto-server-ad.sto-bottom-ad .sto-product-link { gap: 6px; }
}
@media (max-width: 380px) {
  .sto-server-ad.sto-top-product .sto-product-link {
    display: grid;
    grid-template-columns: 48px minmax(0, 1fr);
    justify-items: start;
    gap: 5px 8px;
  }
  .sto-server-ad.sto-top-product .sto-product-copy { width: 100%; }
  .sto-server-ad.sto-top-product .sto-product-button { grid-column: 2; min-height: 32px; }
  .sto-server-ad.sto-bottom-ad { --sto-bottom-inline-pad: 40px; padding-inline: var(--sto-bottom-inline-pad); }
  .sto-server-ad.sto-bottom-ad .sto-product-link img { width: 40px; height: 40px; }
}
@media (max-height: 480px) and (orientation: landscape) {
  .sto-server-ad.sto-bottom-ad { max-height: 35dvh; }
  .sto-server-ad.sto-top-product { max-height: 28dvh; overflow-y: auto; }
}
