.sp-imgslot{position:relative;background:var(--sp-stone-200,#dadada);overflow:hidden;min-height:100%;}
.sp-imgslot::after{content:attr(data-ph);position:absolute;inset:0;display:flex;align-items:center;justify-content:center;text-align:center;padding:8px;font-family:monospace;font-size:10px;letter-spacing:.14em;color:var(--sp-stone-500,#4d4d4d);opacity:.7;}
/* mobile menu is styled by home.css (white panel, black links) — no override here */
@media (max-width:900px){.sp-nav-links,.sp-nav-atl{display:none !important;}.sp-nav-mobile{display:flex !important;}}
/* Sponsor / collaborator marquee — tighten tiles & gap on smaller screens
   (desktop keeps its inline 280x140 / 48px; these override it below breakpoints) */
@media (max-width:1024px){
  .sp-spon-tile{margin-right:32px !important;}
  .sp-spon-tile{width:200px !important;height:120px !important;padding:12px !important;}
  .sp-spon-logo{height:74px !important;max-width:170px !important;}
}
@media (max-width:768px){
  .sp-spon-tile{margin-right:18px !important;}
  .sp-spon-tile{width:148px !important;height:92px !important;padding:8px !important;}
  .sp-spon-logo{height:58px !important;max-width:128px !important;}
}
@media (max-width:480px){
  .sp-spon-tile{margin-right:12px !important;}
  .sp-spon-tile{width:120px !important;height:78px !important;padding:6px !important;}
  .sp-spon-logo{height:48px !important;max-width:104px !important;}
}
/* Mobile header announcement + footer odometer fixes */
@media (max-width:600px){
  .sp-announce{justify-content:center !important;font-size:10px !important;letter-spacing:0.04em !important;text-align:center;}
  .sp-announce-cta{display:none !important;}
  #contact .sp-odometer{flex-direction:column !important;align-items:flex-start !important;gap:14px !important;}
  #contact .sp-odometer .sp-odo{transform:scale(0.8);transform-origin:left center;}
}
@media (max-width:820px){ .sp-404 .sp-photo-ov{} }
@media (max-width:860px){ .page-template-page-partner .sp-form ~ *, body.page section > div > div[style*="grid-template-columns:1fr 1.4fr"]{ grid-template-columns:1fr !important; } }
@media (max-width:860px){ .sp-partner-cols{ grid-template-columns:1fr !important; gap:36px !important; } }
/* Mobile nav: breathing room between search / cart / menu */
@media (max-width:900px){ .sp-nav-mobile{ gap:24px !important; } .sp-nav{ gap:14px !important; } }
/* Floating KM pill overlaps buy controls on mobile — hide it on phones (footer odometer remains) */
@media (max-width:900px){ .sp-km-pill{ display:none !important; } }
/* ---- Site search overlay ---- */
.sp-search{position:fixed;inset:0;z-index:130;background:rgba(11,11,11,0.97);display:flex;flex-direction:column;align-items:center;justify-content:center;opacity:0;visibility:hidden;transition:opacity .3s;padding:6vw;}
.sp-search.open{opacity:1;visibility:visible;}
.sp-search-x{position:absolute;top:18px;right:24px;background:none;border:none;color:#fff;font-size:40px;line-height:1;cursor:pointer;}
.sp-search-form{width:min(780px,100%);text-align:center;}
.sp-search-eyebrow{display:block;font-family:monospace;font-size:12px;letter-spacing:0.2em;color:#E7511F;margin-bottom:22px;}
.sp-search-field{display:flex;align-items:center;gap:14px;border-bottom:2px solid #E7511F;padding-bottom:12px;}
.sp-search-field input{flex:1;min-width:0;background:none;border:none;outline:none;color:#fff;font-family:inherit;font-weight:900;font-style:italic;font-size:clamp(22px,5vw,46px);letter-spacing:-0.02em;text-transform:none;}
.sp-search-field input::placeholder{color:rgba(255,255,255,0.32);}
.sp-search-field button{background:none;border:none;color:#E7511F;font-size:30px;cursor:pointer;flex:0 0 auto;}
.sp-search-hint{margin-top:16px;font-family:monospace;font-size:12px;letter-spacing:0.08em;color:rgba(255,255,255,0.5);text-transform:none;}
/* ---- Search results page ---- */
.sp-results{max-width:1180px;margin:0 auto;padding:7vh 5vw 13vh;}
.sp-results-head{font-weight:900;font-style:italic;letter-spacing:-0.02em;font-size:clamp(30px,5vw,60px);margin:0 0 6px;}
.sp-results-sub{font-family:monospace;font-size:13px;letter-spacing:0.08em;color:rgba(11,11,11,0.55);margin-bottom:5vh;text-transform:none;}
.sp-results-label{font-family:monospace;font-size:12px;font-weight:700;letter-spacing:0.16em;color:#E7511F;margin:5vh 0 20px;}
.sp-results-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 24px;}
.sp-res-card{display:flex;flex-direction:column;color:#0B0B0B;text-decoration:none;}
.sp-res-card .sp-res-img{aspect-ratio:1/1;background:#f0f0f0;overflow:hidden;}
.sp-res-card .sp-res-img img{width:100%;height:100%;object-fit:cover;display:block;}
.sp-res-card .sp-res-t{font-weight:800;font-size:15px;margin-top:12px;}
.sp-res-card .sp-res-p{font-weight:700;margin-top:4px;color:#E7511F;}
.sp-res-pages{display:flex;flex-direction:column;}
.sp-res-page{display:block;padding:20px 0;border-top:1px solid rgba(11,11,11,0.14);color:#0B0B0B;text-decoration:none;}
.sp-res-page:last-child{border-bottom:1px solid rgba(11,11,11,0.14);}
.sp-res-page b{font-weight:900;font-style:italic;font-size:clamp(18px,2.2vw,26px);}
.sp-res-page span{display:block;margin-top:4px;font-size:13.5px;color:rgba(11,11,11,0.6);text-transform:none;}
.sp-results-empty{padding:6vh 0;font-weight:800;font-style:italic;font-size:clamp(22px,3vw,34px);}
@media (max-width:820px){ .sp-results-grid{grid-template-columns:1fr 1fr;} }
/* ---- Mobile header: bigger left logo + spaced search/cart/burger ---- */
@media (max-width:900px){
  .sp-nav{ padding-left:18px !important; padding-right:18px !important; }
  .sp-nav .sp-logo{ height:66px !important; }
  .sp-nav-mobile{ gap:28px !important; }
}
/* ---- Mobile footer: shrink odometer reels so it fits the bar ---- */
@media (max-width:600px){
  #contact .sp-odometer{ flex-direction:column !important; align-items:flex-start !important; gap:12px !important; }
  #contact .sp-odo{ transform:none !important; padding:5px !important; gap:1px !important; }
  #contact .sp-odo-w{ width:22px !important; height:30px !important; }
  #contact .sp-odo-strip > span{ height:30px !important; font-size:19px !important; }
  #contact .sp-odo-dot{ font-size:16px !important; padding:0 1px 4px !important; }
}
/* Mobile nav layout override: logo flush-left, icons (search·cart·burger) spaced right */
@media (max-width:900px){
  nav.sp-nav{ justify-content:space-between !important; }
  nav.sp-nav .sp-logo-link{ margin:0 !important; }
  nav.sp-nav .sp-burger{ position:static !important; transform:none !important; right:auto !important; top:auto !important; }
  .sp-nav-mobile{ gap:26px !important; align-items:center; }
}
/* Menu side label: vertical scrolling marquee BAND — same look as the homepage marquee (orange band, bold black text) */
.sp-mm-side{ align-items:center !important; justify-content:flex-start !important; width:78px !important; background:#E7511F !important; border-right:2px solid #0B0B0B !important; }
.sp-mm-side-track{ display:flex; flex-direction:column; align-items:center; justify-content:center; width:100%; animation:sp-vmarquee 22s linear infinite; }
.sp-mm-side-track span{ flex:0 0 auto; text-align:center; writing-mode:vertical-rl; transform:rotate(180deg); white-space:nowrap; font-family:'Futura Cyrillic',Arial,sans-serif; font-weight:900; font-size:26px; letter-spacing:0.02em; color:#0B0B0B; text-transform:uppercase; }
@keyframes sp-vmarquee{ from{ transform:translateY(0); } to{ transform:translateY(-50%); } }


/* sponsor marquee: seamless gapless spacing + clickable/hover */
.sp-spon-tile { margin-right:48px; }
.sp-spon-logo, .sp-spon-link { transition: transform 0.28s ease; }
.sp-spon-link { display:flex; align-items:center; justify-content:center; width:100%; height:100%; }
.sp-spon-tile:hover .sp-spon-logo { transform: scale(1.16); }
.sp-spon-track:hover { animation-play-state: paused; }
