/*
Theme Name: Space 2047
Theme URI: https://space2047.com/
Author: Benjamin Arthur Robinson
Description: Neon Space 2047 WordPress theme.
Version: 3.1.2
License: GNU General Public License v2 or later
Text Domain: space2047
*/
:root{--cyan:#18eaff;--mag:#ee43ff;--pink:#ff3dcd;--dark:#020610;--panel:#071024}*{box-sizing:border-box}html{scroll-behavior:smooth}body{margin:0;background:#080713;color:#fff;font-family:Orbitron,Rajdhani,Arial,sans-serif;letter-spacing:.035em}a{color:inherit;text-decoration:none}body.show-menu{overflow:hidden}.space-page{min-height:100vh;position:relative;overflow:hidden;background:radial-gradient(circle at 50% 12%,rgba(24,234,255,.14),transparent 22%),radial-gradient(circle at 88% 86%,rgba(233,65,255,.22),transparent 32%),linear-gradient(180deg,#020711 0%,#030711 62%,#11061f 100%)}.space-page:before{content:"";position:absolute;inset:0;background-image:radial-gradient(circle,rgba(109,219,255,.65) 1px,transparent 1.5px);background-size:92px 92px;opacity:.12}.stars{position:absolute;inset:0;background:radial-gradient(circle at 12% 24%,rgba(93,218,255,.55) 1px,transparent 2px),radial-gradient(circle at 85% 30%,rgba(150,91,255,.55) 1px,transparent 2px),radial-gradient(circle at 63% 70%,rgba(93,218,255,.45) 1px,transparent 2px);background-size:310px 330px;opacity:.54}.wrap{position:relative;z-index:1;width:min(100%,1080px);margin:0 auto;padding:42px 36px 70px}.topbar{display:grid;grid-template-columns:96px 1fr 260px;gap:24px;align-items:center;margin-bottom:54px}.menu-icon-btn{width:80px;height:80px;border:3px solid var(--mag);border-radius:18px;background:rgba(9,6,25,.82);box-shadow:0 0 22px rgba(238,67,255,.42),inset 0 0 26px rgba(238,67,255,.08);display:grid;place-content:center;gap:8px;cursor:pointer}.menu-icon-btn span{display:block;width:42px;height:5px;background:var(--mag);border-radius:6px;box-shadow:0 0 10px rgba(238,67,255,.8)}.brand-block{text-align:center}.logo{display:inline-flex;gap:12px;align-items:baseline;justify-content:center;line-height:1}.logo .space,.logo .year{display:inline-block;font-weight:900;text-transform:uppercase}.logo .space{font-size:48px;color:var(--cyan);text-shadow:0 0 24px rgba(24,234,255,.75)}.logo .year{font-size:48px;color:var(--mag);text-shadow:0 0 20px rgba(233,65,255,.7)}.tagline{font-size:20px;line-height:1.2;margin-top:7px;font-weight:700;letter-spacing:.12em;text-transform:none}.contact-pill{height:80px;border:3px solid var(--mag);border-radius:18px;background:rgba(9,6,25,.82);box-shadow:0 0 22px rgba(238,67,255,.42),inset 0 0 26px rgba(238,67,255,.08);display:flex;align-items:center;justify-content:center;gap:18px;text-align:left}.contact-pill span{color:var(--cyan);font-size:26px;text-shadow:0 0 14px rgba(24,234,255,.7)}.contact-pill strong{font-size:20px;line-height:1.05}.promo-block{text-align:center}.book-hero{margin:0 auto 40px;max-width:860px}.poster-frame{border:3px solid var(--cyan);border-radius:22px;padding:0;background:#020916;box-shadow:0 0 34px rgba(24,234,255,.22),0 0 54px rgba(233,65,255,.13);overflow:hidden}.book-hero img{display:block;width:100%;height:auto;border-radius:18px}.hero-title{margin:0 auto 36px;text-align:center;line-height:1.04;font-weight:900;color:var(--cyan);font-size:74px;text-shadow:0 0 25px rgba(24,234,255,.88);max-width:960px}.hero-title span{display:block}.hero-title span:not(:first-child){font-size:.82em;text-transform:none}.hero-title .amazon{color:#cf63ff;text-shadow:0 0 28px rgba(207,99,255,.9)}.subline{text-align:center;margin:0 0 36px;font-size:24px;font-weight:900;letter-spacing:.17em;line-height:1.3}.mobile-break{display:none}.button-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:28px;margin:0 auto 56px;max-width:880px}.neon-btn{height:104px;border:3px solid var(--cyan);border-radius:20px;background:rgba(2,10,31,.84);display:flex;align-items:center;justify-content:flex-start;gap:22px;padding:18px 26px;box-shadow:0 0 22px rgba(0,231,255,.28),inset 0 0 30px rgba(0,231,255,.05);font-size:26px;font-weight:900;line-height:1.05;text-transform:uppercase}.neon-btn:hover,.neon-btn:focus{transform:translateY(-1px);box-shadow:0 0 30px rgba(0,231,255,.45),inset 0 0 35px rgba(0,231,255,.08)}.btn-icon{flex:0 0 62px;width:62px;height:62px;border-radius:50%;display:grid;place-items:center;background:radial-gradient(circle,rgba(29,235,255,.28),rgba(29,235,255,.05));color:#d7faff;text-shadow:0 0 12px var(--cyan);font-size:32px}.crew-section{max-width:920px;margin:20px auto 46px}.crew-section h2{text-align:center;color:var(--cyan);font-size:54px;margin:42px 0 30px;text-shadow:0 0 24px rgba(24,234,255,.7)}.crew-grid{display:grid;grid-template-columns:repeat(2,1fr);gap:24px}.crew-card{border:2px solid rgba(24,234,255,.75);border-radius:18px;min-height:400px;padding:16px;background:rgba(2,10,31,.72);box-shadow:0 0 24px rgba(0,231,255,.24),inset 0 0 35px rgba(0,231,255,.04);display:grid;grid-template-rows:1fr auto;gap:12px}.crew-card img{display:block;width:100%;height:330px;object-fit:cover;object-position:center top;border-radius:12px;background:#071121}.crew-card strong{text-align:center;font-size:26px;color:#fff}.content-card{max-width:920px;margin:24px auto;border:1.8px solid rgba(24,234,255,.6);border-radius:22px;background:rgba(12,7,34,.72);padding:38px 44px;box-shadow:inset 0 0 30px rgba(24,234,255,.035)}.content-card h2{margin:0 0 20px;color:var(--cyan);font-size:34px}.content-card p{margin:0;font-family:Rajdhani,Arial,sans-serif;letter-spacing:.02em;font-size:23px;line-height:1.45;color:#f1f5ff}.slide-menu{position:fixed;z-index:50;top:0;left:0;width:min(90vw,410px);height:100vh;overflow:auto;background:linear-gradient(180deg,rgba(2,8,22,.98),rgba(18,4,38,.98));border-right:2px solid var(--cyan);box-shadow:0 0 50px rgba(0,231,255,.25);transform:translateX(-105%);transition:transform .22s ease;padding:24px}.show-menu .slide-menu{transform:translateX(0)}.menu-shade{position:fixed;z-index:45;inset:0;background:rgba(0,0,0,.55);opacity:0;pointer-events:none;transition:opacity .22s}.show-menu .menu-shade{opacity:1;pointer-events:auto}.close-menu{float:right;background:transparent;border:0;color:#fff;font-size:44px;cursor:pointer}.slide-logo{clear:both;padding:32px 0 18px;text-align:center;line-height:.86}.slide-logo span,.slide-logo strong{display:block;font-size:42px;font-weight:900}.slide-logo span{color:var(--cyan)}.slide-logo strong{color:var(--mag)}.slide-links,.slide-links ul{list-style:none;margin:0;padding:0}.slide-links li{position:relative;margin:0 0 12px}.slide-links a{display:block;border:1px solid rgba(24,234,255,.65);border-radius:14px;padding:15px 50px 15px 18px;background:rgba(2,10,31,.72);font-weight:900;text-transform:uppercase;color:#fff}.slide-links a:hover{box-shadow:0 0 22px rgba(24,234,255,.35)}.slide-links .sub-menu{display:none;margin:10px 0 0 18px}.slide-links .submenu-open>.sub-menu{display:block}.slide-links .sub-menu a{font-size:14px;border-color:rgba(233,65,255,.6);background:rgba(15,7,35,.76)}.submenu-toggle{position:absolute;right:8px;top:7px;width:36px;height:36px;border:1px solid rgba(24,234,255,.65);border-radius:10px;background:rgba(24,234,255,.1);color:#fff;font-size:24px;line-height:1;cursor:pointer}
@media(max-width:760px){.wrap{padding:30px 17px 42px}.topbar{grid-template-columns:58px 1fr 150px;gap:10px;margin-bottom:30px}.menu-icon-btn{width:56px;height:56px;border-width:2px;border-radius:12px;gap:6px}.menu-icon-btn span{width:29px;height:3px}.logo{gap:6px}.logo .space,.logo .year{font-size:25px}.tagline{font-size:12px;margin-top:4px}.contact-pill{height:56px;border-width:2px;border-radius:12px;gap:8px}.contact-pill span{font-size:18px}.contact-pill strong{font-size:12px;letter-spacing:.06em}.book-hero{max-width:calc(100vw - 68px);margin-bottom:28px}.poster-frame{border-width:2px;border-radius:16px}.book-hero img{border-radius:14px}.hero-title{font-size:43px;margin-bottom:28px}.hero-title span:not(:first-child){font-size:.86em}.subline{font-size:14px;margin-bottom:28px}.mobile-break{display:block}.button-grid{gap:16px;margin-bottom:42px}.neon-btn{height:72px;border-width:2px;border-radius:14px;padding:11px 14px;gap:12px;font-size:16px}.btn-icon{width:44px;height:44px;flex-basis:44px;font-size:23px}.crew-grid{gap:16px}.crew-card{min-height:282px;padding:12px}.crew-card img{height:220px}.crew-card strong{font-size:18px}.crew-section h2{font-size:38px}.content-card{padding:28px 24px}.content-card h2{font-size:30px}.content-card p{font-size:21px}}
@media(max-width:420px){.wrap{padding-left:14px;padding-right:14px}.topbar{grid-template-columns:52px 1fr 132px}.menu-icon-btn{width:50px;height:50px}.contact-pill{height:50px}.contact-pill strong{font-size:11px}.logo .space,.logo .year{font-size:22px}.tagline{font-size:10px}.book-hero{max-width:calc(100vw - 54px)}.hero-title{font-size:37px}.neon-btn{height:68px;font-size:14px}.btn-icon{width:40px;height:40px;flex-basis:40px}.crew-card img{height:176px}.crew-card{min-height:232px}.content-card p{font-size:18px}}


/* Character profile pages */
.character-page .wrap{max-width:980px}
.character-profile{max-width:920px;margin:22px auto 70px;border:2px solid rgba(24,234,255,.72);border-radius:26px;background:linear-gradient(180deg,rgba(5,11,33,.86),rgba(21,5,42,.86));box-shadow:0 0 34px rgba(24,234,255,.22),0 0 42px rgba(238,67,255,.12);padding:30px}
.character-profile img{width:100%;border-radius:20px;border:2px solid rgba(238,67,255,.65);box-shadow:0 0 30px rgba(238,67,255,.22);display:block;margin-bottom:28px}
.character-profile h1{font-size:60px;line-height:1;margin:0 0 10px;color:var(--cyan);text-shadow:0 0 24px rgba(24,234,255,.75)}
.character-role{font-size:24px;color:#ff72ff;font-weight:900;margin:0 0 26px;text-transform:uppercase}
.character-profile p{font-family:Rajdhani,Arial,sans-serif;font-size:24px;line-height:1.45;letter-spacing:.02em}
.character-profile h2{font-size:34px;margin:34px 0 18px;color:var(--cyan);text-shadow:0 0 18px rgba(24,234,255,.55)}
.quote-list{display:grid;gap:16px;margin:0;padding:0;list-style:none}
.quote-list li{font-family:Rajdhani,Arial,sans-serif;font-size:23px;line-height:1.38;border-left:6px solid var(--cyan);padding:15px 18px;background:rgba(0,0,0,.24);border-radius:0 16px 16px 0}
.back-link{display:inline-flex;margin-top:28px;border:2px solid var(--mag);border-radius:16px;padding:14px 20px;color:white;box-shadow:0 0 22px rgba(238,67,255,.3)}
.crew-card{transition:transform .18s ease, box-shadow .18s ease}
.crew-card:hover{transform:translateY(-2px);box-shadow:0 0 34px rgba(0,231,255,.4),inset 0 0 35px rgba(0,231,255,.04)}
.crew-card a{display:grid;grid-template-rows:1fr auto;gap:12px;height:100%}
@media(max-width:760px){.character-profile{padding:22px}.character-profile h1{font-size:42px}.character-role{font-size:18px}.character-profile p,.quote-list li{font-size:20px}.character-profile h2{font-size:28px}}

.placeholder-panel{margin-top:24px;border:2px dashed rgba(24,234,255,.6);border-radius:20px;padding:36px;text-align:center;font-family:Rajdhani,Arial,sans-serif;font-size:24px;color:#fff;background:rgba(0,0,0,.22)}

.space2047-audio-player{margin-top:24px;border:2px solid rgba(24,234,255,.72);border-radius:22px;padding:24px;background:linear-gradient(180deg,rgba(0,229,255,.09),rgba(238,67,255,.09));box-shadow:0 0 28px rgba(24,234,255,.18)}
.space2047-audio-player h2{margin-top:0;color:var(--cyan)}
.space2047-audio-player audio{width:100%;margin:14px 0;filter:drop-shadow(0 0 12px rgba(24,234,255,.25))}
.space2047-audio-player p,.audio-shortcode-help p,.about-me-panel p{font-family:Rajdhani,Arial,sans-serif;font-size:22px;line-height:1.45}
.audio-empty{border:2px dashed rgba(238,67,255,.7);border-radius:18px;padding:22px;text-align:center;color:#fff;background:rgba(0,0,0,.25)}
.audio-shortcode-help,.about-me-panel{margin-top:24px;border:2px solid rgba(238,67,255,.65);border-radius:22px;padding:24px;background:rgba(0,0,0,.24);box-shadow:0 0 28px rgba(238,67,255,.15)}
.audio-shortcode-help code{display:block;white-space:normal;word-break:break-word;border:1px solid rgba(24,234,255,.5);border-radius:14px;padding:16px;color:#00f2ff;background:#020715;font-size:17px}


/* Fully independent slide menu */
.independent-main-menu,
.independent-main-menu ul{
  list-style:none;
  margin:0;
  padding:0;
}
.independent-main-menu a,
.independent-main-menu .submenu-toggle{
  width:100%;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:72px;
  padding:18px 26px;
  border:1.8px solid rgba(24,234,255,.65);
  border-radius:18px;
  background:rgba(2,8,26,.72);
  color:#fff;
  font-family:Orbitron,Arial,sans-serif;
  font-size:22px;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  text-decoration:none;
  box-shadow:inset 0 0 22px rgba(0,231,255,.05),0 0 18px rgba(0,231,255,.08);
}
.independent-main-menu > li{
  margin-bottom:16px;
}
.independent-main-menu .submenu-toggle{
  cursor:pointer;
}
.independent-main-menu .submenu-toggle strong{
  width:42px;
  height:42px;
  display:grid;
  place-items:center;
  border:1.8px solid rgba(24,234,255,.7);
  border-radius:14px;
  font-size:28px;
}
.independent-main-menu .sub-menu{
  display:none;
  margin:12px 0 0 18px;
}
.independent-main-menu .menu-item-has-children.is-open .sub-menu{
  display:grid;
  gap:10px;
}
.independent-main-menu .sub-menu a{
  min-height:56px;
  font-size:17px;
  border-color:rgba(238,67,255,.55);
}


/* Menu open compatibility fix */
body.menu-open .slide-menu,
body.show-menu .slide-menu{
  transform:translateX(0) !important;
}
body.menu-open .menu-shade,
body.show-menu .menu-shade{
  opacity:1 !important;
  pointer-events:auto !important;
}
.menu-icon-btn,
.close-menu,
.submenu-toggle{
  -webkit-tap-highlight-color: transparent;
  touch-action: manipulation;
}
.independent-main-menu .menu-item-has-children > .sub-menu{
  display:none;
}
.independent-main-menu .menu-item-has-children.is-open > .sub-menu{
  display:grid !important;
  gap:10px;
}


/* Overlap fix: independent menu must not inherit old slide-link plus layout */
.slide-menu{
  box-sizing:border-box;
}
.independent-main-menu{
  display:block !important;
  position:relative !important;
}
.independent-main-menu > li{
  display:block !important;
  position:relative !important;
  margin:0 0 18px 0 !important;
  padding:0 !important;
  min-height:0 !important;
}
.independent-main-menu a,
.independent-main-menu .submenu-toggle{
  box-sizing:border-box !important;
  position:relative !important;
  inset:auto !important;
  transform:none !important;
  margin:0 !important;
  width:100% !important;
  min-height:72px !important;
  height:auto !important;
  display:flex !important;
  flex-direction:row !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:16px !important;
  padding:18px 28px !important;
  line-height:1.12 !important;
  text-align:left !important;
  white-space:normal !important;
}
.independent-main-menu .submenu-toggle span{
  display:block !important;
  flex:1 1 auto !important;
}
.independent-main-menu .submenu-toggle strong{
  position:static !important;
  flex:0 0 46px !important;
  width:46px !important;
  height:46px !important;
  margin-left:16px !important;
}
.independent-main-menu .sub-menu{
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:auto !important;
  margin:12px 0 0 20px !important;
  padding:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.independent-main-menu .sub-menu li{
  margin:0 0 10px 0 !important;
}
.independent-main-menu .sub-menu a{
  min-height:54px !important;
  padding:14px 22px !important;
  font-size:16px !important;
}
.independent-main-menu .menu-item-has-children:not(.is-open) > .sub-menu{
  display:none !important;
}
.independent-main-menu .menu-item-has-children.is-open > .sub-menu{
  display:block !important;
}

/* Promotional Videos homepage box */
.promotional-videos-card h2{
  color:var(--cyan);
}
.youtube-channel-box{
  margin-top:22px;
  display:grid;
  gap:18px;
}
.youtube-embed-note{
  border:2px solid rgba(24,234,255,.7);
  border-radius:18px;
  padding:22px;
  background:linear-gradient(180deg,rgba(0,229,255,.10),rgba(238,67,255,.08));
  box-shadow:0 0 26px rgba(24,234,255,.18);
}
.youtube-embed-note strong{
  display:block;
  color:#fff;
  font-family:Orbitron,Arial,sans-serif;
  font-size:22px;
  text-transform:uppercase;
  margin-bottom:6px;
}
.youtube-embed-note span{
  display:block;
  color:var(--cyan);
  font-family:Rajdhani,Arial,sans-serif;
  font-size:24px;
}
.youtube-channel-link{
  margin-top:18px;

  display:flex;
  align-items:center;
  justify-content:center;
  min-height:62px;
  padding:16px 20px;
  border:2px solid rgba(238,67,255,.9);
  border-radius:18px;
  color:#fff !important;
  text-decoration:none;
  font-family:Orbitron,Arial,sans-serif;
  font-weight:900;
  letter-spacing:.04em;
  text-transform:uppercase;
  background:rgba(0,0,0,.28);
  box-shadow:0 0 24px rgba(238,67,255,.34), inset 0 0 24px rgba(238,67,255,.06);
}
.youtube-shortcode-note{
  font-family:Rajdhani,Arial,sans-serif;
  font-size:19px;
  line-height:1.4;
  color:#f1f5ff;
  border-left:5px solid var(--cyan);
  padding:12px 16px;
  background:rgba(0,0,0,.18);
}


.youtube-frame-shell{
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  border:2px solid rgba(24,234,255,.75);
  background:#000;
  box-shadow:0 0 24px rgba(24,234,255,.22);
  margin-bottom:18px;
}

.youtube-frame-shell iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}

/* Replace broken channel iframe with a styled working channel panel */
.youtube-frame-shell{
  display:none !important;
}
.youtube-channel-preview{
  min-height:190px;
  display:grid;
  place-items:center;
  text-align:center;
  gap:8px;
  border:2px solid rgba(24,234,255,.75);
  border-radius:18px;
  background:
    radial-gradient(circle at center, rgba(238,67,255,.18), transparent 62%),
    linear-gradient(180deg, rgba(3,11,34,.95), rgba(9,0,25,.95));
  box-shadow:0 0 28px rgba(24,234,255,.22), inset 0 0 28px rgba(238,67,255,.08);
  padding:26px;
  margin-bottom:22px;
}
.youtube-play-mark{
  width:76px;
  height:76px;
  border-radius:50%;
  display:grid;
  place-items:center;
  border:2px solid rgba(238,67,255,.9);
  color:#fff;
  font-size:34px;
  box-shadow:0 0 25px rgba(238,67,255,.42);
  background:rgba(0,0,0,.35);
}
.youtube-channel-preview strong{
  display:block;
  color:var(--cyan);
  font-family:Orbitron,Arial,sans-serif;
  font-size:23px;
  text-transform:uppercase;
}
.youtube-channel-preview span{
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:22px;
}
.youtube-channel-link{
  margin-top:22px !important;
}

/* Restored YouTube embed */
.youtube-frame-shell{
  display:block !important;
  width:100%;
  aspect-ratio:16/9;
  overflow:hidden;
  border-radius:18px;
  border:2px solid rgba(24,234,255,.75);
  background:#000;
  box-shadow:0 0 24px rgba(24,234,255,.22);
  margin-bottom:22px;
}
.youtube-frame-shell iframe{
  width:100%;
  height:100%;
  border:0;
  display:block;
}
.youtube-channel-link{
  margin-top:22px !important;
}

/* Keeps promotional video text inside the glowing box under the YouTube button */
.promo-video-text{
  margin:22px 0 0 0 !important;
  color:#ffffff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:23px;
  line-height:1.45;
  letter-spacing:.02em;
}
.promotional-videos-card,
.promotional-video-card{
  overflow:hidden;
}

/* Centre text inside homepage glowing content boxes */
.content-card,
.content-card h2,
.content-card p,
.promo-video-text,
.youtube-embed-note,
.youtube-embed-note strong,
.youtube-embed-note span,
.youtube-shortcode-note,
.about-me-panel,
.audio-shortcode-help,
.placeholder-panel{
  text-align:center !important;
}

.content-card p,
.promo-video-text{
  margin-left:auto !important;
  margin-right:auto !important;
}

.youtube-channel-link{
  margin-left:auto !important;
  margin-right:auto !important;
}

/* About Me external link buttons */
.space2047-link-button{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  margin:20px auto 0 auto;
  padding:18px 34px;
  border-radius:20px;
  border:2px solid #18eaff;
  background:linear-gradient(180deg,#040b2a,#120019);
  color:#ffffff !important;
  font-family:Orbitron,Arial,sans-serif;
  font-size:22px;
  font-weight:900;
  letter-spacing:.04em;
  text-decoration:none !important;
  text-transform:uppercase;
  box-shadow:0 0 18px rgba(24,234,255,.35),0 0 28px rgba(255,0,255,.18);
  transition:.25s ease;
  text-align:center;
}
.space2047-link-button:hover{
  transform:translateY(-2px);
  box-shadow:0 0 24px rgba(24,234,255,.55),0 0 40px rgba(255,0,255,.28);
}
@media(max-width:760px){
  .space2047-link-button{
    width:100%;
    padding:16px 18px;
    font-size:16px;
  }
}

/* Official Blog / News page */
.space2047-blog-list{
  display:grid;
  gap:24px;
  margin-top:30px;
}
.space2047-blog-card{
  border:2px solid rgba(24,234,255,.68);
  border-radius:22px;
  padding:24px;
  background:linear-gradient(180deg,rgba(0,229,255,.07),rgba(238,67,255,.07));
  box-shadow:0 0 26px rgba(24,234,255,.16), inset 0 0 24px rgba(238,67,255,.04);
  text-align:left;
}
.space2047-blog-card h2{
  margin:0 0 10px 0;
  font-size:30px;
  color:var(--cyan);
}
.space2047-blog-card h2 a{
  color:var(--cyan);
  text-decoration:none;
}
.blog-meta{
  color:#ff72ff;
  font-family:Orbitron,Arial,sans-serif;
  font-size:14px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
  margin-bottom:14px;
}
.space2047-read-more{
  display:inline-flex;
  margin-top:12px;
  padding:12px 18px;
  border:2px solid rgba(238,67,255,.85);
  border-radius:14px;
  color:#fff !important;
  text-decoration:none;
  font-family:Orbitron,Arial,sans-serif;
  font-weight:900;
  text-transform:uppercase;
  box-shadow:0 0 18px rgba(238,67,255,.24);
}

/* Audio Gallery real player shortcode panel */
.audio-gallery-player-panel{
  margin-top:30px;
  border:2px solid rgba(238,67,255,.72);
  border-radius:24px;
  padding:28px;
  background:linear-gradient(180deg,rgba(238,67,255,.08),rgba(24,234,255,.06));
  box-shadow:0 0 28px rgba(238,67,255,.18), inset 0 0 24px rgba(24,234,255,.05);
  text-align:center;
}
.audio-gallery-player-panel h2{
  margin-top:0;
  color:var(--cyan);
  text-align:center;
}
.audio-gallery-player-panel audio,
.audio-gallery-player-panel iframe,
.audio-gallery-player-panel .ai-wrap,
.audio-gallery-player-panel .ai_playlist,
.audio-gallery-player-panel .wp-playlist{
  max-width:100%;
  margin-left:auto;
  margin-right:auto;
}

/* Single blog post pages */
.space2047-single-post .single-post-content{
  text-align:left;
}
.space2047-single-post .single-post-content p,
.space2047-single-post .single-post-content li{
  font-family:Rajdhani,Arial,sans-serif;
  font-size:23px;
  line-height:1.5;
  color:#fff;
}
.space2047-single-post .single-post-content a{
  color:var(--cyan);
}
.single-featured-image img{
  width:100%;
  height:auto;
  border-radius:20px;
  border:2px solid rgba(24,234,255,.65);
  margin:0 0 24px 0;
}

/* Contact page panel */
.space2047-contact-panel{
  text-align:center;
}
.space2047-contact-panel p{
  margin-bottom:34px;
}

/* Homepage latest blog posts box */
.latest-blog-home-box{
  text-align:center;
}
.home-latest-posts{
  display:grid;
  gap:14px;
  margin-top:24px;
}
.home-latest-post{
  border:2px solid rgba(24,234,255,.56);
  border-radius:18px;
  padding:16px 18px;
  background:rgba(0,0,0,.22);
  box-shadow:inset 0 0 18px rgba(24,234,255,.04),0 0 16px rgba(24,234,255,.08);
}
.home-latest-post a{
  display:block;
  color:#fff;
  font-family:Orbitron,Arial,sans-serif;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  text-decoration:none;
  text-transform:uppercase;
}
.home-latest-post span{
  display:block;
  margin-top:8px;
  color:#ff72ff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:17px;
  font-weight:700;
}
.home-latest-post:hover{
  border-color:rgba(238,67,255,.78);
  box-shadow:0 0 22px rgba(238,67,255,.22);
}

/* Featured Info box using official WordPress Latest Posts block */
.home-latest-posts-shortcode{
  margin-top:24px;
  text-align:center;
}
.home-latest-posts-shortcode ul,
.wp-block-latest-posts{
  list-style:none !important;
  padding:0 !important;
  margin:0 !important;
  display:grid;
  gap:14px;
}
.home-latest-posts-shortcode li,
.wp-block-latest-posts li{
  margin:0 !important;
  padding:16px 18px !important;
  border:2px solid rgba(24,234,255,.56);
  border-radius:18px;
  background:rgba(0,0,0,.22);
  box-shadow:inset 0 0 18px rgba(24,234,255,.04),0 0 16px rgba(24,234,255,.08);
  text-align:center;
}
.home-latest-posts-shortcode a,
.wp-block-latest-posts li a{
  color:#fff !important;
  font-family:Orbitron,Arial,sans-serif;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  text-decoration:none !important;
  text-transform:uppercase;
}
.wp-block-latest-posts__post-date{
  display:block;
  margin-top:8px;
  color:#ff72ff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:17px;
  font-weight:700;
}

/* Official WordPress menu support */
.slide-menu nav .independent-main-menu{
  display:block !important;
}
.slide-menu nav .independent-main-menu > li{
  display:block !important;
  margin:0 0 18px 0 !important;
}
.slide-menu nav .independent-main-menu a,
.slide-menu nav .independent-main-menu .submenu-toggle{
  width:100% !important;
}

/* WooCommerce shop sync styling */
.woocommerce-space-page .shop-profile{
  max-width:1080px;
}
.woocommerce ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:24px;
  margin:32px 0 !important;
  padding:0 !important;
}
.woocommerce ul.products li.product{
  width:auto !important;
  float:none !important;
  margin:0 !important;
  border:2px solid rgba(24,234,255,.68);
  border-radius:22px;
  padding:18px !important;
  background:linear-gradient(180deg,rgba(0,229,255,.07),rgba(238,67,255,.08));
  box-shadow:0 0 26px rgba(24,234,255,.16), inset 0 0 24px rgba(238,67,255,.04);
  text-align:center;
}
.woocommerce ul.products li.product img{
  border-radius:16px;
  border:1.5px solid rgba(24,234,255,.45);
  box-shadow:0 0 18px rgba(24,234,255,.13);
}
.woocommerce ul.products li.product .woocommerce-loop-product__title{
  color:#fff;
  font-family:Orbitron,Arial,sans-serif;
  font-size:18px;
  font-weight:900;
  line-height:1.25;
  text-transform:uppercase;
}
.woocommerce ul.products li.product .price{
  color:#ff72ff !important;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:22px;
  font-weight:900;
}
.woocommerce a.button,
.woocommerce button.button,
.woocommerce input.button,
.woocommerce #respond input#submit{
  border:2px solid rgba(238,67,255,.88) !important;
  border-radius:16px !important;
  color:#fff !important;
  background:rgba(0,0,0,.30) !important;
  font-family:Orbitron,Arial,sans-serif !important;
  font-weight:900 !important;
  text-transform:uppercase;
  box-shadow:0 0 22px rgba(238,67,255,.24);
}
.woocommerce-result-count,
.woocommerce-ordering,
.woocommerce-notices-wrapper,
.woocommerce .woocommerce-breadcrumb{
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
}
.woocommerce-ordering select{
  background:#050014;
  color:#fff;
  border:2px solid rgba(24,234,255,.6);
  border-radius:12px;
  padding:8px;
}
.woocommerce div.product .product_title,
.woocommerce div.product p.price,
.woocommerce div.product span.price{
  color:#fff;
}
.woocommerce div.product .summary,
.woocommerce div.product .woocommerce-tabs{
  color:#fff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:21px;
}

/* Force WooCommerce shortcode product display on shop page */
.space2047-products-grid{
  margin-top:34px;
}
.space2047-products-grid .woocommerce{
  width:100%;
}
.space2047-products-grid ul.products{
  display:grid !important;
  grid-template-columns:repeat(auto-fit,minmax(210px,1fr)) !important;
  gap:24px !important;
}
.space2047-products-grid ul.products::before,
.space2047-products-grid ul.products::after{
  display:none !important;
}
.space2047-products-grid ul.products li.product{
  float:none !important;
  width:auto !important;
  clear:none !important;
}
.woocommerce-info,
.woocommerce-message,
.woocommerce-error{
  background:rgba(0,0,0,.28) !important;
  border-top-color:#18eaff !important;
  color:#fff !important;
}

/* Book Previews page */
.book-preview-hero{
  margin:26px auto 32px auto;
  max-width:760px;
  border:2px solid rgba(24,234,255,.75);
  border-radius:24px;
  overflow:hidden;
  box-shadow:0 0 34px rgba(24,234,255,.24),0 0 38px rgba(238,67,255,.14);
  background:#020716;
}
.book-preview-hero img{
  width:100%;
  height:auto;
  display:block;
}
.book-preview-panel{
  border:2px solid rgba(238,67,255,.68);
  border-radius:24px;
  padding:26px;
  margin:24px 0;
  background:linear-gradient(180deg,rgba(238,67,255,.08),rgba(24,234,255,.06));
  box-shadow:0 0 26px rgba(238,67,255,.16);
  text-align:center;
}
.book-preview-panel h2,
.book-preview-card h2{
  color:var(--cyan);
  text-align:center;
}
.book-preview-grid{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(220px,1fr));
  gap:22px;
  margin-top:28px;
}
.book-preview-card{
  border:2px solid rgba(24,234,255,.65);
  border-radius:22px;
  padding:24px;
  background:rgba(0,0,0,.22);
  box-shadow:inset 0 0 20px rgba(24,234,255,.04),0 0 20px rgba(24,234,255,.12);
  text-align:center;
}
.book-preview-card p,
.book-preview-panel p{
  font-family:Rajdhani,Arial,sans-serif;
  font-size:22px;
  line-height:1.45;
}
.book-preview-card .space2047-link-button{
  margin-top:18px;
}

/* Book Previews dFlip shortcode box */
.book-flip-preview-card{
  grid-column:span 1;
}
.book-flip-shortcode{
  margin-top:18px;
  width:100%;
  max-width:100%;
  overflow:hidden;
}
.book-flip-shortcode iframe,
.book-flip-shortcode canvas,
.book-flip-shortcode .df-ui-wrapper,
.book-flip-shortcode .dflip,
.book-flip-shortcode .df-container{
  max-width:100% !important;
}
@media(min-width:900px){
  .book-preview-grid{
    grid-template-columns:1fr 1fr;
  }
}

/* Single full-width preview card */
.single-preview-card{
  max-width:1000px;
  margin:0 auto;
}

.single-preview-image{
  width:100%;
  overflow:hidden;
  border-radius:20px;
  border:2px solid rgba(24,234,255,.75);
  margin-bottom:24px;
  box-shadow:0 0 28px rgba(24,234,255,.24);
}

.single-preview-image img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.single-preview-card .book-flip-shortcode{
  margin-top:28px;
  margin-bottom:28px;
}

/* Book Previews final single-box fix */
.book-preview-main-box{
  max-width:1000px;
  padding:0;
  background:linear-gradient(180deg,rgba(0,229,255,.06),rgba(238,67,255,.08));
}

.book-preview-main-box img{
  width:100%;
  height:auto;
  display:block;
  object-fit:cover;
}

.book-preview-main-content{
  padding:28px;
  text-align:center;
}

.book-preview-main-content h2{
  color:var(--cyan);
  text-align:center;
  margin-top:0;
}

.book-preview-main-content p{
  font-family:Rajdhani,Arial,sans-serif;
  font-size:23px;
  line-height:1.45;
  text-align:center;
  margin:0 auto 26px auto;
  max-width:820px;
}

.book-preview-main-content .book-flip-shortcode{
  margin:26px auto;
  max-width:100%;
}

.book-preview-grid,
.book-preview-panel,
.single-preview-card{
  display:none !important;
}

/* Book Previews: centred text and second Alas the day preview box */
.book-previews-two-boxes{
  display:grid;
  gap:34px;
  margin-top:28px;
}

.book-preview-main-content,
.book-preview-main-content h2,
.book-preview-main-content p{
  text-align:center !important;
}

.book-preview-main-content p{
  margin-left:auto !important;
  margin-right:auto !important;
}

.book-preview-main-content .space2047-link-button{
  margin-left:auto !important;
  margin-right:auto !important;
}

.book-flip-shortcode{
  margin:28px auto;
  max-width:100%;
  overflow:hidden;
  text-align:center;
}

.book-flip-shortcode iframe,
.book-flip-shortcode canvas,
.book-flip-shortcode .df-ui-wrapper,
.book-flip-shortcode .dflip,
.book-flip-shortcode .df-container{
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Fully centre all Book Previews page text */
.book-preview-main-content,
.book-preview-main-content h1,
.book-preview-main-content h2,
.book-preview-main-content h3,
.book-preview-main-content p,
.book-preview-main-content div,
.book-preview-main-content span,
.book-previews-two-boxes,
.book-preview-main-box{
  text-align:center !important;
}

.book-preview-main-content,
.book-preview-main-content p,
.book-preview-main-content div,
.book-preview-main-content span,
.book-preview-main-content .space2047-link-button,
.book-flip-shortcode{
  margin-left:auto !important;
  margin-right:auto !important;
}

.book-preview-main-content p{
  max-width:820px;
}


/* Centre Book Previews page titles */
.page-title,
.book-previews-title,
.character-role,
.book-preview-page h1,
.page-template h1{
    text-align:center !important;
    width:100%;
    display:block;
    margin-left:auto !important;
    margin-right:auto !important;
}

.character-role{
    letter-spacing:2px;
}


/* Updated Meet The Crew heading */
.space2047-crew-heading,
.home-crew-title,
h2.crew-title{
    text-align:center !important;
    line-height:1.15;
    max-width:900px;
    margin-left:auto !important;
    margin-right:auto !important;
    font-size:clamp(42px,7vw,88px);
}


/* Perfect centering for Book Previews heading */
.page-title,
.book-previews-title,
.book-preview-page-title,
.page-template-page-book-previews h1,
.page-template h1,
h1.page-title{
    width:100% !important;
    display:block !important;
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    justify-content:center !important;
    align-items:center !important;
}

.character-role{
    text-align:center !important;
}


/* FINAL fix: centre the actual Book Previews heading and subtitle */
.character-profile .book-previews-main-title,
.book-previews-main-title{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding-left:0 !important;
  padding-right:0 !important;
}

.character-profile .book-previews-main-title + .character-role{
  display:block !important;
  width:100% !important;
  text-align:center !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

/* Homepage customer reviews box */
.customer-reviews-box{
  text-align:center !important;
}
.customer-reviews-box h2{
  text-align:center !important;
}
.customer-reviews-shortcode{
  margin-top:24px;
  text-align:left;
  max-width:100%;
  overflow:hidden;
}
.customer-reviews-shortcode *{
  max-width:100%;
}
.customer-reviews-shortcode .cr-reviews-grid,
.customer-reviews-shortcode .cr-all-reviews-shortcode,
.customer-reviews-shortcode .cr-review-card{
  color:#fff;
}
.customer-reviews-shortcode a{
  color:var(--cyan);
}


/* Centre all character page names and subtitles */
.character-profile h1,
.character-profile .character-name,
.character-profile .character-role,
.character-profile h2{
    text-align:center !important;
    width:100% !important;
    display:block !important;
    margin-left:auto !important;
    margin-right:auto !important;
}

.character-profile .character-role{
    line-height:1.35;
}

/* Restore character shortcode display and centre only the character headings */
.space2047-shortcode-character{
  max-width:920px;
  margin:0 auto 70px auto;
  border:2px solid rgba(24,234,255,.72);
  border-radius:26px;
  background:linear-gradient(180deg,rgba(5,11,33,.86),rgba(21,5,42,.86));
  box-shadow:0 0 34px rgba(24,234,255,.22),0 0 42px rgba(238,67,255,.12);
  padding:30px;
}

.space2047-shortcode-character img{
  width:100%;
  border-radius:20px;
  border:2px solid rgba(238,67,255,.65);
  box-shadow:0 0 30px rgba(238,67,255,.22);
  display:block;
  margin-bottom:28px;
}

.character-profile h1,
.character-profile .character-name,
.space2047-shortcode-character h1,
.space2047-shortcode-character .character-name{
  text-align:center !important;
  width:100% !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
}

.character-profile .character-role,
.space2047-shortcode-character .character-role{
  text-align:center !important;
  width:100% !important;
  display:block !important;
  margin-left:auto !important;
  margin-right:auto !important;
  line-height:1.35;
}


/* ===== SPACE 2047 FINAL ACTUAL MENU REBUILD ===== */
:root{--s2047-cyan:#00e5ff;--s2047-mag:#ff38ff;}

body.show-menu .menu-icon-btn{display:none!important}

.slide-menu{
  position:fixed!important;
  top:0!important;
  left:0!important;
  right:0!important;
  width:100vw!important;
  max-width:100vw!important;
  height:auto!important;
  max-height:92vh!important;
  transform:translateY(-110%)!important;
  transition:transform .25s ease!important;
  z-index:999997!important;
  padding:54px 18px 18px!important;
  overflow-y:auto!important;
  background:linear-gradient(180deg,rgba(2,7,21,.985),rgba(10,3,28,.965))!important;
  border-right:none!important;
  border-bottom:3px solid var(--s2047-mag)!important;
  box-shadow:0 0 24px rgba(255,56,255,.75),0 18px 42px rgba(0,229,255,.15)!important;
}
body.show-menu .slide-menu{transform:translateY(0)!important}
.close-menu{
  position:absolute!important;top:12px!important;right:22px!important;left:auto!important;
  background:transparent!important;border:none!important;color:var(--s2047-mag)!important;
  font-size:48px!important;line-height:1!important;text-shadow:0 0 14px var(--s2047-mag)!important;
  padding:0!important;margin:0!important;box-shadow:none!important;
}
.slide-logo{margin:0 auto 14px!important;text-align:center!important;padding:0!important;clear:none!important}
.slide-logo span,.slide-logo strong{display:inline-block!important;font-size:28px!important;line-height:1!important;margin:0 4px!important}
.slide-logo span{color:var(--s2047-cyan)!important;text-shadow:0 0 12px var(--s2047-cyan)!important}
.slide-logo strong{color:var(--s2047-mag)!important;text-shadow:0 0 12px var(--s2047-mag)!important}

.s2047-final-search{
  height:46px!important;max-width:900px!important;margin:0 auto 12px!important;padding:0 12px!important;
  border:2px solid var(--s2047-cyan)!important;border-radius:12px!important;
  display:flex!important;align-items:center!important;gap:10px!important;
  background:rgba(0,8,30,.82)!important;box-shadow:0 0 10px rgba(0,229,255,.24)!important;
}
.s2047-final-search span{font-size:24px!important;color:#fff!important}
.s2047-final-search input{
  width:100%!important;background:transparent!important;border:0!important;outline:0!important;color:#fff!important;
  font-size:16px!important;font-weight:800!important;font-family:Orbitron,Rajdhani,Arial,sans-serif!important;
}
.s2047-final-tabs{
  max-width:900px!important;margin:0 auto 12px!important;display:grid!important;grid-template-columns:1fr 1fr!important;
  gap:7px!important;
}
.s2047-final-tab{
  min-height:38px!important;padding:5px 7px!important;border:2px solid var(--s2047-cyan)!important;border-radius:10px!important;
  background:rgba(0,8,30,.82)!important;color:var(--s2047-cyan)!important;font-size:12px!important;font-weight:900!important;
  text-transform:uppercase!important;letter-spacing:.6px!important;font-family:Orbitron,Rajdhani,Arial,sans-serif!important;
}
.s2047-final-tab.active{border-color:var(--s2047-mag)!important;color:var(--s2047-mag)!important;box-shadow:0 0 11px rgba(255,56,255,.45)!important}
.s2047-final-panel{display:none!important;max-width:980px!important;margin:0 auto!important}
.s2047-final-panel.active{display:block!important}
.s2047-final-root{display:none!important}
.s2047-final-root.active{display:block!important}
.s2047-final-subview{display:none!important;max-width:980px!important;margin:0 auto!important}
.s2047-final-subview.active{display:block!important}

.s2047-final-grid,.s2047-final-grid ul{list-style:none!important;margin:0!important;padding:0!important}
.s2047-final-grid{
  display:grid!important;grid-template-columns:1fr 1fr!important;gap:4px 5px!important;max-width:980px!important;margin:0 auto!important;
}
.s2047-final-grid li{position:relative!important;display:block!important;margin:0!important;padding:0!important;min-height:34px!important;overflow:visible!important}
.s2047-final-link{
  display:flex!important;align-items:center!important;gap:8px!important;width:100%!important;height:34px!important;min-height:34px!important;
  padding:4px 30px 4px 9px!important;box-sizing:border-box!important;border:1px solid var(--s2047-cyan)!important;border-radius:10px!important;
  background:rgba(0,8,30,.88)!important;color:white!important;text-decoration:none!important;box-shadow:0 0 9px rgba(0,229,255,.20)!important;
  font-size:13px!important;font-weight:800!important;letter-spacing:.15px!important;line-height:1!important;text-transform:none!important;
}
.s2047-final-link:before,.s2047-final-link:after{display:none!important;content:none!important}
.s2047-final-icon{flex:0 0 18px!important;width:18px!important;color:var(--s2047-cyan)!important;font-size:15px!important;line-height:1!important;text-align:center!important;text-shadow:0 0 7px var(--s2047-cyan)!important}
.s2047-final-text{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.s2047-final-arrow{
  position:absolute!important;right:5px!important;top:50%!important;transform:translateY(-50%)!important;width:24px!important;height:24px!important;
  display:flex!important;align-items:center!important;justify-content:center!important;border:0!important;background:transparent!important;box-shadow:none!important;
  color:var(--s2047-cyan)!important;font-size:24px!important;line-height:1!important;padding:0!important;margin:0!important;text-shadow:0 0 8px var(--s2047-cyan)!important;
}
.s2047-final-submenu{display:none!important}
.s2047-final-back{
  background:transparent!important;border:0!important;color:var(--s2047-mag)!important;font-size:24px!important;font-weight:900!important;
  text-shadow:0 0 10px var(--s2047-mag)!important;margin:0 0 8px!important;padding:0!important;font-family:Orbitron,Rajdhani,Arial,sans-serif!important;
}
.s2047-final-subtitle{color:var(--s2047-mag)!important;font-size:18px!important;font-weight:900!important;text-transform:uppercase!important;margin:0 0 9px!important;text-shadow:0 0 8px var(--s2047-mag)!important}
.s2047-final-empty{border:2px solid var(--s2047-mag)!important;border-radius:10px!important;padding:12px!important;color:white!important;text-transform:uppercase!important;font-weight:900!important}

@media(max-width:760px){
  .slide-menu{padding:54px 18px 16px!important;max-height:92vh!important}
  .s2047-final-grid{grid-template-columns:1fr 1fr!important;gap:4px 5px!important}
  .s2047-final-link{height:32px!important;min-height:32px!important;font-size:12px!important;padding:4px 28px 4px 8px!important}
  .s2047-final-icon{font-size:14px!important;flex-basis:17px!important;width:17px!important}
  .s2047-final-arrow{width:22px!important;height:22px!important;font-size:22px!important}
}
/* hide old menu item styling inside new menu */
.slide-menu .slide-links:not(.s2047-final-grid){display:none!important}
.slide-menu .menu-label,.slide-menu .menu-arrow,.slide-menu .menu-hamburger,.slide-menu .hamburger-icon,.slide-menu .menu-toggle-icon{display:none!important}


/* ===== SPACE 2047 BACK BUTTON AND SUBMENU TITLE UPDATE ===== */
.s2047-final-back{
  width:100% !important;
  max-width:880px !important;
  min-height:46px !important;
  margin:10px auto 14px !important;
  padding:8px 16px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  text-align:center !important;
  border:2px solid var(--s2047-mag) !important;
  border-radius:12px !important;
  background:rgba(0,8,30,.82) !important;
  color:var(--s2047-mag) !important;
  font-size:18px !important;
  font-weight:900 !important;
  letter-spacing:.4px !important;
  text-shadow:0 0 10px var(--s2047-mag) !important;
  box-shadow:0 0 12px rgba(255,56,255,.32) !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
}

.s2047-final-subtitle{
  width:100% !important;
  max-width:880px !important;
  margin:0 auto 12px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:18px !important;
  text-align:center !important;
  color:var(--s2047-mag) !important;
  font-size:20px !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  letter-spacing:1px !important;
  text-shadow:0 0 10px var(--s2047-mag) !important;
}

.s2047-final-subtitle:before,
.s2047-final-subtitle:after{
  content:"" !important;
  display:block !important;
  height:3px !important;
  flex:1 1 auto !important;
  max-width:210px !important;
  border-radius:99px !important;
  background:var(--s2047-mag) !important;
  box-shadow:0 0 10px var(--s2047-mag) !important;
}

.s2047-final-subitems{
  max-width:880px !important;
  margin:0 auto !important;
}

@media(max-width:760px){
  .s2047-final-back{
    min-height:42px !important;
    font-size:16px !important;
    margin:8px auto 12px !important;
  }
  .s2047-final-subtitle{
    font-size:18px !important;
    gap:12px !important;
  }
  .s2047-final-subtitle:before,
  .s2047-final-subtitle:after{
    max-width:110px !important;
  }
}


/* ===== PAYPAL SUPPORT BUTTON DIRECT FIX ===== */
.s2047-paypal-support{
    width:100% !important;
    max-width:880px !important;
    margin:0 auto 12px auto !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    text-decoration:none !important;
    border-radius:14px !important;
    border:2px solid var(--s2047-cyan, #00e5ff) !important;
    background:linear-gradient(135deg, rgba(0,48,135,.92), rgba(0,156,222,.55), rgba(255,56,255,.16)) !important;
    color:#ffffff !important;
    box-shadow:0 0 18px rgba(0,229,255,.32), inset 0 0 14px rgba(255,255,255,.08) !important;
    font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
}

.s2047-paypal-logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:76px !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:9px !important;
    background:#ffffff !important;
    color:#003087 !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
    font-size:15px !important;
    letter-spacing:-.4px !important;
    box-shadow:0 0 12px rgba(255,255,255,.35) !important;
}

.s2047-paypal-text{
    color:#ffffff !important;
    font-size:18px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    text-transform:uppercase !important;
    text-shadow:0 0 10px var(--s2047-mag, #ff38ff) !important;
}

.s2047-paypal-support:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 0 24px rgba(0,229,255,.5), inset 0 0 18px rgba(255,255,255,.12) !important;
}

@media(max-width:760px){
    .s2047-paypal-support{
        min-height:44px !important;
        gap:9px !important;
        margin-bottom:10px !important;
    }
    .s2047-paypal-logo{
        min-width:64px !important;
        height:26px !important;
        font-size:13px !important;
    }
    .s2047-paypal-text{
        font-size:14px !important;
    }
}


/* PAYPAL LOGO SPACING ADJUSTMENT */
.s2047-paypal-logo{
    margin-left:10px !important;
}



/* ===== MENU TEXT SIZE REBALANCE ===== */

/* Top menu tab selectors slightly smaller */
.s2047-final-tab{
    font-size:11px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    min-height:40px !important;
}

/* Main menu items larger */
.s2047-final-link{
    font-size:15px !important;
    font-weight:800 !important;
    min-height:38px !important;
    height:38px !important;
}

/* Submenu items slightly smaller than main menu items */
.s2047-final-subitems .s2047-final-link{
    font-size:13px !important;
    min-height:34px !important;
    height:34px !important;
}

/* Mobile */
@media(max-width:760px){

    .s2047-final-tab{
        font-size:10px !important;
        min-height:36px !important;
    }

    .s2047-final-link{
        font-size:14px !important;
        min-height:36px !important;
        height:36px !important;
    }

    .s2047-final-subitems .s2047-final-link{
        font-size:12px !important;
        min-height:32px !important;
        height:32px !important;
    }
}


/* ===== SUBMENU TEXT BALANCE FIX ===== */

.s2047-final-subitems .s2047-final-link,
.s2047-final-subitems a,
.s2047-final-subitems span{
    font-size:11px !important;
    letter-spacing:.15px !important;
    line-height:1.1 !important;
}

.s2047-final-subitems .s2047-final-link{
    padding-left:10px !important;
    padding-right:10px !important;
}

@media(max-width:760px){

    .s2047-final-subitems .s2047-final-link,
    .s2047-final-subitems a,
    .s2047-final-subitems span{
        font-size:10px !important;
    }
}


/* ===== SCREEN FIT FIX - stop menu buttons going off screen ===== */

.slide-menu,
.slide-menu *{
    box-sizing:border-box !important;
}

.s2047-final-panel,
.s2047-final-subitems,
.s2047-final-grid{
    width:100% !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.s2047-final-grid{
    display:grid !important;
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:4px 5px !important;
    padding:0 !important;
    margin:0 auto !important;
}

.s2047-final-grid li{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.s2047-final-link{
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    overflow:hidden !important;
    font-size:12px !important;
    padding:4px 24px 4px 7px !important;
}

.s2047-final-text{
    min-width:0 !important;
    max-width:100% !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

.s2047-final-icon{
    flex:0 0 15px !important;
    width:15px !important;
    font-size:13px !important;
}

.s2047-final-arrow{
    right:3px !important;
    width:20px !important;
    height:20px !important;
    font-size:20px !important;
}

@media(max-width:760px){

    .slide-menu{
        padding-left:14px !important;
        padding-right:14px !important;
    }

    .s2047-final-grid{
        grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
        gap:4px 5px !important;
    }

    .s2047-final-link{
        font-size:11px !important;
        padding:4px 22px 4px 6px !important;
    }

    .s2047-final-subitems .s2047-final-link{
        font-size:10px !important;
        padding:4px 20px 4px 6px !important;
    }
}


/* SPACE 2047 AVATAR CHATBOT */

#s2047-avatar-launcher{
    position:fixed;
    bottom:20px;
    right:20px;
    width:72px;
    height:72px;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #00e5ff, #4b0082);
    border:3px solid #00e5ff;
    box-shadow:0 0 24px rgba(0,229,255,.6);
    z-index:999998;
    display:flex;
    align-items:center;
    justify-content:center;
    cursor:pointer;
    animation:s2047Pulse 2.2s infinite;
}

.s2047-avatar-face{
    color:#fff;
    font-size:34px;
    text-shadow:0 0 10px rgba(255,255,255,.8);
}

@keyframes s2047Pulse{
    0%{transform:scale(1);}
    50%{transform:scale(1.06);}
    100%{transform:scale(1);}
}

#s2047-avatar-chatbot{
    position:fixed;
    bottom:105px;
    right:20px;
    width:360px;
    max-width:calc(100vw - 30px);
    background:rgba(3,10,28,.97);
    border:2px solid #00e5ff;
    border-radius:20px;
    overflow:hidden;
    z-index:999999;
    display:none;
    box-shadow:0 0 28px rgba(0,229,255,.35);
}

#s2047-avatar-chatbot.active{
    display:block;
}

.s2047-avatar-header{
    display:flex;
    align-items:center;
    gap:12px;
    padding:12px;
    background:linear-gradient(90deg,#021529,#3c0066);
    border-bottom:1px solid rgba(255,255,255,.12);
}

.s2047-avatar-circle{
    width:42px;
    height:42px;
    border-radius:50%;
    background:radial-gradient(circle at 30% 30%, #00e5ff, #4b0082);
    display:flex;
    align-items:center;
    justify-content:center;
    color:#fff;
    font-size:18px;
}

.s2047-avatar-title{
    display:flex;
    flex-direction:column;
    color:#fff;
    line-height:1.2;
}

.s2047-avatar-title span{
    font-size:11px;
    opacity:.75;
}

#s2047-close-chat{
    margin-left:auto;
    background:none;
    border:0;
    color:#fff;
    font-size:28px;
    cursor:pointer;
}

.s2047-avatar-messages{
    height:300px;
    overflow-y:auto;
    padding:14px;
    display:flex;
    flex-direction:column;
    gap:10px;
}

.s2047-avatar-messages .bot,
.s2047-avatar-messages .user{
    padding:10px 12px;
    border-radius:12px;
    line-height:1.35;
    font-size:13px;
    color:#fff;
}

.s2047-avatar-messages .bot{
    background:rgba(0,229,255,.12);
}

.s2047-avatar-messages .user{
    background:rgba(255,56,255,.18);
    align-self:flex-end;
}

.s2047-avatar-input-wrap{
    display:flex;
    border-top:1px solid rgba(255,255,255,.1);
}

#s2047-avatar-input{
    flex:1;
    border:0;
    background:#07111f;
    color:#fff;
    padding:13px;
    outline:none;
}

#s2047-avatar-send{
    border:0;
    background:#00e5ff;
    color:#000;
    font-weight:700;
    padding:0 18px;
    cursor:pointer;
}

@media(max-width:760px){

    #s2047-avatar-chatbot{
        width:calc(100vw - 20px);
        right:10px;
        bottom:95px;
    }

    #s2047-avatar-launcher{
        width:66px;
        height:66px;
        right:12px;
        bottom:14px;
    }
}


/* SPACE 2047 SPEAKING CHATBOT CONTROLS */
#s2047-speech-toggle{
    margin-left:auto;
    margin-right:6px;
    border:1px solid #00e5ff;
    border-radius:10px;
    background:rgba(0,229,255,.12);
    color:#fff;
    font-size:11px;
    font-weight:800;
    padding:7px 9px;
    cursor:pointer;
    box-shadow:0 0 10px rgba(0,229,255,.25);
}

#s2047-speech-toggle:hover{
    background:rgba(255,56,255,.18);
    border-color:#ff38ff;
}

#s2047-avatar-launcher.speaking{
    animation:s2047SpeakingPulse .55s infinite alternate;
}

#s2047-avatar-launcher.speaking:after{
    content:"";
    position:absolute;
    inset:-10px;
    border-radius:50%;
    border:2px solid rgba(255,56,255,.75);
    box-shadow:0 0 18px rgba(255,56,255,.8);
}

@keyframes s2047SpeakingPulse{
    from{
        transform:scale(1);
        box-shadow:0 0 24px rgba(0,229,255,.6);
    }
    to{
        transform:scale(1.12);
        box-shadow:0 0 34px rgba(255,56,255,.85);
    }
}

.s2047-avatar-messages .bot{
    position:relative;
}

.s2047-avatar-messages .bot:before{
    content:"ICS";
    display:inline-block;
    margin-right:6px;
    color:#00e5ff;
    font-weight:900;
    font-size:11px;
}


/* CHATBOT USER-RESPONSE IMPROVEMENT */
.s2047-avatar-messages .bot{
    font-size:13px !important;
    line-height:1.35 !important;
}

.s2047-avatar-messages .user{
    font-size:13px !important;
}


/* CHATBOT RELEVANCE READABILITY UPDATE */
.s2047-avatar-messages .bot,
.s2047-avatar-messages .user{
    word-break:normal !important;
    overflow-wrap:anywhere !important;
}


/* ===== TRUE SCROLLING MENU PANEL FINAL ===== */
/* The menu is deliberately shorter than its content, so scrolling is real. */

.slide-menu{
    position:fixed !important;
    top:0 !important;
    left:0 !important;
    right:0 !important;
    width:100vw !important;
    max-width:100vw !important;

    height:62vh !important;
    max-height:62vh !important;
    min-height:0 !important;

    overflow-y:scroll !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior:contain !important;

    padding:54px 24px 18px 14px !important;
    box-sizing:border-box !important;

    background:linear-gradient(180deg,rgba(2,7,21,.985),rgba(10,3,28,.965)) !important;
    border-bottom:3px solid var(--s2047-mag,#ff38ff) !important;

    scrollbar-width:auto !important;
    scrollbar-color:#ffd400 rgba(0,8,30,.95) !important;
}

/* Remove every fake or fixed scrollbar/rail */
.slide-menu:before,
.slide-menu:after,
#s2047-menu-scroll-track,
#s2047-live-scroll-track,
.s2047-menu-scrollbox:after,
.s2047-moving-yellow-thumb,
.s2047-moving-scroll-track,
.s2047-custom-scrollbar-track{
    display:none !important;
    content:none !important;
}

/* Real native yellow scrollbar */
.slide-menu::-webkit-scrollbar{
    width:14px !important;
    display:block !important;
    background:rgba(0,8,30,.95) !important;
}

.slide-menu::-webkit-scrollbar-track{
    background:rgba(0,8,30,.95) !important;
    border-left:1px solid rgba(0,229,255,.55) !important;
    box-shadow:inset 0 0 8px rgba(0,229,255,.25) !important;
}

.slide-menu::-webkit-scrollbar-thumb{
    background:#ffd400 !important;
    border-radius:999px !important;
    border:2px solid rgba(0,8,30,.95) !important;
    box-shadow:0 0 12px rgba(255,212,0,.95) !important;
    min-height:64px !important;
}

/* Keep the menu compact and stop horizontal overflow */
.slide-menu,
.slide-menu *{
    box-sizing:border-box !important;
}

.s2047-final-panel,
.s2047-final-root,
.s2047-final-subview,
.s2047-final-grid,
.s2047-final-subitems{
    width:100% !important;
    max-width:100% !important;
    overflow-x:hidden !important;
}

.s2047-final-grid{
    grid-template-columns:minmax(0,1fr) minmax(0,1fr) !important;
    gap:4px 5px !important;
    margin-bottom:16px !important;
}

.s2047-final-grid li{
    min-width:0 !important;
}

.s2047-final-link{
    min-height:32px !important;
    height:32px !important;
    max-width:100% !important;
    overflow:hidden !important;
}

.s2047-final-text{
    min-width:0 !important;
    overflow:hidden !important;
    text-overflow:ellipsis !important;
    white-space:nowrap !important;
}

/* A little space at the bottom so the last row is reachable */
.s2047-final-root,
.s2047-final-subview{
    padding-bottom:70px !important;
}

@media(max-width:760px){
    .slide-menu{
        height:62vh !important;
        max-height:62vh !important;
        overflow-y:scroll !important;
        padding-left:14px !important;
        padding-right:24px !important;
    }
}



/* Keeps the working real scrolling from the last version.
   Adds a permanent yellow visual rail that does not block scrolling. */

.slide-menu{
    position:fixed !important;
}

/* Permanent yellow rail on the menu edge */
.slide-menu .s2047-permanent-yellow-rail{
    position:fixed !important;
    top:66px !important;
    right:6px !important;
    width:10px !important;
    height:calc(62vh - 84px) !important;
    border-radius:999px !important;
    background:#ffd400 !important;
    box-shadow:0 0 12px #ffd400, 0 0 18px rgba(255,212,0,.75) !important;
    z-index:1000002 !important;
    pointer-events:none !important;
    display:block !important;
}

/* Keep native scrollbar working too */
.slide-menu{
    scrollbar-width:auto !important;
    scrollbar-color:#ffd400 rgba(0,8,30,.95) !important;
}

.slide-menu::-webkit-scrollbar{
    width:14px !important;
    display:block !important;
}

.slide-menu::-webkit-scrollbar-thumb{
    background:#ffd400 !important;
    border-radius:999px !important;
    border:2px solid rgba(0,8,30,.95) !important;
    box-shadow:0 0 10px rgba(255,212,0,.95) !important;
}

@media(max-width:760px){
    .slide-menu .s2047-permanent-yellow-rail{
        top:66px !important;
        right:6px !important;
        height:calc(62vh - 84px) !important;
        width:10px !important;
    }
}


/* ===== ALIGNED YELLOW SCROLL THUMB ===== */
/* Keeps the working menu scroll, removes the thin native line,
   and adds a smaller yellow thumb that follows the real scroll position. */

.slide-menu{
    overflow-y:scroll !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

.slide-menu::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
    display:none !important;
}

/* remove old rail */
.s2047-permanent-yellow-rail{
    display:none !important;
}

/* visible track */
#s2047-aligned-scroll-track{
    position:fixed !important;
    right:7px !important;
    width:9px !important;
    border-radius:999px !important;
    background:rgba(0,8,30,.9) !important;
    border:1px solid rgba(0,229,255,.55) !important;
    box-shadow:inset 0 0 6px rgba(0,229,255,.28), 0 0 6px rgba(0,229,255,.22) !important;
    z-index:1000002 !important;
    pointer-events:none !important;
    opacity:0 !important;
}

body.show-menu #s2047-aligned-scroll-track,
body.menu-open #s2047-aligned-scroll-track{
    opacity:1 !important;
}

/* smaller moving yellow thumb */
#s2047-aligned-scroll-thumb{
    position:absolute !important;
    left:2px !important;
    width:5px !important;
    min-height:34px !important;
    border-radius:999px !important;
    background:#ffd400 !important;
    box-shadow:0 0 8px #ffd400, 0 0 12px rgba(255,212,0,.7) !important;
    transform:translateY(0);
}

@media(max-width:760px){
    #s2047-aligned-scroll-track{
        right:6px !important;
        width:9px !important;
    }
    #s2047-aligned-scroll-thumb{
        width:5px !important;
    }
}


/* BOOK QUOTE CHATBOT UPDATE */
.s2047-avatar-messages .bot{
    white-space:normal !important;
}


/* ===== SPACE 2047 WOO PRODUCT POPUP LONG DESCRIPTION FIX ===== */

#s2047-product-popup{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,.72);
    z-index:9999999;
    display:none;
    align-items:center;
    justify-content:center;
    padding:18px;
}

#s2047-product-popup.active{
    display:flex;
}

.s2047-product-popup-inner{
    position:relative;
    width:min(92vw,760px);
    max-height:84vh;
    overflow:hidden;
    background:linear-gradient(180deg,rgba(2,7,21,.98),rgba(16,3,32,.98));
    border:2px solid #00e5ff;
    border-radius:22px;
    box-shadow:0 0 30px rgba(0,229,255,.45), 0 0 18px rgba(255,56,255,.32);
    color:#fff;
}

.s2047-product-popup-close{
    position:absolute;
    top:10px;
    right:12px;
    width:42px;
    height:42px;
    border-radius:50%;
    border:2px solid #ff38ff;
    background:rgba(10,3,28,.95);
    color:#fff;
    font-size:30px;
    line-height:34px;
    cursor:pointer;
    z-index:2;
    box-shadow:0 0 12px rgba(255,56,255,.8);
}

.s2047-product-popup-content{
    max-height:84vh;
    overflow-y:auto;
    padding:28px 24px 26px;
    scrollbar-width:auto;
    scrollbar-color:#ffd400 rgba(0,8,30,.95);
}

.s2047-product-popup-content::-webkit-scrollbar{
    width:12px;
}

.s2047-product-popup-content::-webkit-scrollbar-thumb{
    background:#ffd400;
    border-radius:999px;
    border:2px solid rgba(0,8,30,.95);
    box-shadow:0 0 10px rgba(255,212,0,.95);
}

.s2047-product-popup-product h2{
    margin:0 54px 18px 0;
    color:#00e5ff;
    font-size:30px;
    line-height:1.1;
    text-shadow:0 0 12px rgba(0,229,255,.7);
}

.s2047-product-popup-image-wrap{
    text-align:center;
    margin:0 0 16px;
}

.s2047-product-popup-image{
    max-width:260px;
    height:auto;
    border-radius:14px;
    border:1px solid rgba(0,229,255,.5);
}

.s2047-product-popup-price{
    font-size:22px;
    font-weight:900;
    color:#ffd400;
    margin:10px 0 16px;
}

.s2047-product-popup-description{
    font-size:16px;
    line-height:1.55;
    color:#fff;
}

.s2047-product-popup-description p{
    margin:0 0 14px;
}

.s2047-product-popup-cart{
    margin-top:20px;
}

.s2047-product-popup-loading{
    padding:30px;
    text-align:center;
    color:#00e5ff;
    font-weight:800;
}

@media(max-width:760px){
    .s2047-product-popup-inner{
        width:calc(100vw - 20px);
        max-height:82vh;
    }

    .s2047-product-popup-content{
        max-height:82vh;
        padding:24px 18px;
    }

    .s2047-product-popup-product h2{
        font-size:24px;
        margin-right:50px;
    }

    .s2047-product-popup-description{
        font-size:14px;
    }
}


/* ===== SPACE 2047 SHOP SQUARE PRODUCT IMAGE + INFO BUTTON ===== */

/* Force product image area to be square and consistent */
.woocommerce ul.products li.product a img,
.woocommerce-page ul.products li.product a img,
.woocommerce ul.products li.product img,
.wc-block-grid__product-image img,
.wc-block-components-product-image img{
    width:100% !important;
    aspect-ratio:1 / 1 !important;
    height:auto !important;
    object-fit: contain !important;
    object-position:center center !important;
    display:block !important;
    border-radius:16px !important;
}

/* Give product cards a stable image frame */
.woocommerce ul.products li.product .woocommerce-LoopProduct-link,
.wc-block-grid__product-link{
    display:block !important;
}

.woocommerce ul.products li.product .woocommerce-LoopProduct-link img,
.wc-block-grid__product-image{
    background:rgba(0,8,30,.95) !important;
    border:1px solid rgba(0,229,255,.45) !important;
    box-shadow:0 0 12px rgba(0,229,255,.22) !important;
    overflow:hidden !important;
}

/* If theme uses custom product images */
li.product img{
    aspect-ratio:1 / 1 !important;
    object-fit: contain !important;
    object-position:center !important;
}

/* More information button */
.s2047-more-info-button{
    width:100% !important;
    margin:10px 0 8px !important;
    padding:10px 12px !important;
    border:2px solid #00e5ff !important;
    border-radius:14px !important;
    background:linear-gradient(90deg,rgba(0,229,255,.14),rgba(255,56,255,.16)) !important;
    color:#fff !important;
    font-weight:900 !important;
    font-size:13px !important;
    line-height:1.15 !important;
    letter-spacing:.4px !important;
    text-transform:none !important;
    cursor:pointer !important;
    box-shadow:0 0 12px rgba(0,229,255,.28), inset 0 0 12px rgba(255,56,255,.08) !important;
    text-align:center !important;
}

.s2047-more-info-button:hover,
.s2047-more-info-button:focus{
    border-color:#ff38ff !important;
    box-shadow:0 0 16px rgba(255,56,255,.55), 0 0 12px rgba(0,229,255,.35) !important;
    transform:translateY(-1px);
}

/* Mobile spacing */
@media(max-width:760px){
    .s2047-more-info-button{
        font-size:12px !important;
        padding:9px 10px !important;
    }
}


/* ===== SPACE 2047 POPUP SQUARE IMAGE FIX ===== */

.s2047-product-popup-image-wrap{
    width:min(320px, 100%) !important;
    aspect-ratio:1 / 1 !important;
    margin:0 auto 18px auto !important;
    overflow:hidden !important;
    border-radius:18px !important;
    border:2px solid rgba(0,229,255,.55) !important;
    background:rgba(0,8,30,.92) !important;
    box-shadow:0 0 16px rgba(0,229,255,.28), 0 0 10px rgba(255,56,255,.18) !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
}

.s2047-product-popup-image{
    width:100% !important;
    height:100% !important;
    max-width:none !important;
    max-height:none !important;
    object-fit: contain !important;
    object-position:center center !important;
    display:block !important;
    border-radius:0 !important;
}

/* Fallback if WooCommerce injects extra wrappers */
.s2047-product-popup-image-wrap img{
    width:100% !important;
    height:100% !important;
    object-fit: contain !important;
    object-position:center center !important;
}

/* Mobile sizing */
@media(max-width:760px){
    .s2047-product-popup-image-wrap{
        width:min(260px, 100%) !important;
    }
}


/* Space 2047 latest posts blog page */
.space2047-blog-page {
    background:
        radial-gradient(circle at top, rgba(43, 160, 255, 0.18), transparent 35%),
        linear-gradient(180deg, #020617 0%, #07031b 55%, #020617 100%);
    color: #ffffff;
    min-height: 100vh;
}

.space2047-blog-hero {
    padding: clamp(3rem, 8vw, 7rem) 1.25rem 2rem;
    text-align: center;
}

.space2047-blog-hero-inner {
    max-width: 980px;
    margin: 0 auto;
    border: 2px solid rgba(37, 224, 255, 0.65);
    border-radius: 28px;
    padding: clamp(2rem, 5vw, 4rem);
    background:
        linear-gradient(135deg, rgba(5, 20, 58, 0.88), rgba(45, 4, 62, 0.72)),
        radial-gradient(circle at center, rgba(255, 228, 87, 0.12), transparent 48%);
    box-shadow: 0 0 28px rgba(37, 224, 255, 0.28), inset 0 0 32px rgba(255, 255, 255, 0.06);
}

.space2047-blog-kicker {
    margin: 0 0 0.5rem;
    color: #ffe866;
    font-weight: 800;
    letter-spacing: 0.18em;
    text-transform: uppercase;
}

.space2047-blog-hero h1 {
    margin: 0;
    font-size: clamp(3rem, 12vw, 7rem);
    line-height: 0.95;
    color: #36e7ff;
    text-transform: uppercase;
    text-shadow: 0 0 18px rgba(54, 231, 255, 0.8), 0 4px 0 #000;
}

.space2047-blog-intro {
    max-width: 760px;
    margin: 1rem auto 0;
    font-size: clamp(1.05rem, 2.4vw, 1.35rem);
    line-height: 1.6;
}

.space2047-blog-posts-wrap {
    width: min(1180px, calc(100% - 2rem));
    margin: 0 auto;
    padding: 1.5rem 0 4rem;
}

.space2047-blog-grid {
    display: grid;
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: 1.35rem;
}

.space2047-blog-card {
    overflow: hidden;
    border: 2px solid rgba(54, 231, 255, 0.58);
    border-radius: 24px;
    background: linear-gradient(180deg, rgba(7, 22, 58, 0.94), rgba(4, 8, 30, 0.96));
    box-shadow: 0 0 20px rgba(54, 231, 255, 0.16), inset 0 0 20px rgba(255, 255, 255, 0.035);
}

.space2047-blog-thumb {
    display: block;
    aspect-ratio: 16 / 9;
    overflow: hidden;
    background: rgba(255, 255, 255, 0.06);
}

.space2047-blog-thumb img {
    display: block;
    width: 100%;
    height: 100%;
    object-fit: contain;
}

.space2047-blog-card-content {
    padding: 1.25rem;
}

.space2047-blog-meta {
    display: flex;
    flex-wrap: wrap;
    gap: 0.5rem;
    margin-bottom: 0.75rem;
    color: #ffe866;
    font-size: 0.85rem;
    font-weight: 700;
    letter-spacing: 0.06em;
    text-transform: uppercase;
}

.space2047-blog-title {
    margin: 0 0 0.75rem;
    font-size: clamp(1.35rem, 3vw, 2rem);
    line-height: 1.15;
}

.space2047-blog-title a {
    color: #ffffff;
    text-decoration: none;
    text-shadow: 0 0 10px rgba(54, 231, 255, 0.45);
}

.space2047-blog-title a:hover,
.space2047-blog-title a:focus {
    color: #36e7ff;
}

.space2047-blog-excerpt {
    color: rgba(255, 255, 255, 0.86);
    line-height: 1.65;
}

.space2047-blog-readmore {
    display: inline-flex;
    margin-top: 1rem;
    padding: 0.8rem 1.05rem;
    border: 2px solid rgba(255, 232, 102, 0.85);
    border-radius: 999px;
    color: #050816;
    background: #ffe866;
    font-weight: 900;
    text-decoration: none;
    text-transform: uppercase;
    letter-spacing: 0.04em;
    box-shadow: 0 0 14px rgba(255, 232, 102, 0.24);
}

.space2047-blog-pagination {
    display: flex;
    justify-content: center;
    gap: 0.5rem;
    margin-top: 2rem;
    flex-wrap: wrap;
}

.space2047-blog-pagination .page-numbers {
    display: inline-flex;
    align-items: center;
    justify-content: center;
    min-width: 42px;
    min-height: 42px;
    padding: 0.55rem 0.8rem;
    border: 1px solid rgba(54, 231, 255, 0.65);
    border-radius: 999px;
    color: #ffffff;
    text-decoration: none;
    background: rgba(5, 20, 58, 0.75);
}

.space2047-blog-pagination .current {
    color: #050816;
    background: #36e7ff;
    font-weight: 900;
}

.space2047-blog-empty {
    max-width: 760px;
    margin: 0 auto;
    padding: 2rem;
    border: 2px dashed rgba(54, 231, 255, 0.65);
    border-radius: 24px;
    text-align: center;
    background: rgba(5, 20, 58, 0.72);
}

@media (max-width: 900px) {
    .space2047-blog-grid {
        grid-template-columns: repeat(2, minmax(0, 1fr));
    }
}

@media (max-width: 620px) {
    .space2047-blog-grid {
        grid-template-columns: 1fr;
    }

    .space2047-blog-posts-wrap {
        width: min(100% - 1rem, 1180px);
    }

    .space2047-blog-card-content {
        padding: 1rem;
    }
}


/* Space 2047 scrollbar fix */
html,
body {
    min-height: 100%;
    overflow-x: hidden;
}

body {
    overflow-y: auto !important;
}

.site,
.site-main,
#page,
#primary,
.content-area {
    overflow: visible !important;
}

.space2047-menu-panel,
.space2047-mega-menu,
.space2047-menu-scroll,
.s2047-menu-panel,
.s2047-clean-panel,
.s2047-clean-overlay,
.menu-scroll-area {
    max-height: 100vh;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    -webkit-overflow-scrolling: touch;
    scrollbar-width: auto;
    scrollbar-color: #ffe866 rgba(2, 8, 28, 0.95);
}

.space2047-menu-panel::-webkit-scrollbar,
.space2047-mega-menu::-webkit-scrollbar,
.space2047-menu-scroll::-webkit-scrollbar,
.s2047-menu-panel::-webkit-scrollbar,
.s2047-clean-panel::-webkit-scrollbar,
.s2047-clean-overlay::-webkit-scrollbar,
.menu-scroll-area::-webkit-scrollbar {
    width: 14px;
}

.space2047-menu-panel::-webkit-scrollbar-track,
.space2047-mega-menu::-webkit-scrollbar-track,
.space2047-menu-scroll::-webkit-scrollbar-track,
.s2047-menu-panel::-webkit-scrollbar-track,
.s2047-clean-panel::-webkit-scrollbar-track,
.s2047-clean-overlay::-webkit-scrollbar-track,
.menu-scroll-area::-webkit-scrollbar-track {
    background: rgba(2, 8, 28, 0.95);
    border-radius: 999px;
}

.space2047-menu-panel::-webkit-scrollbar-thumb,
.space2047-mega-menu::-webkit-scrollbar-thumb,
.space2047-menu-scroll::-webkit-scrollbar-thumb,
.s2047-menu-panel::-webkit-scrollbar-thumb,
.s2047-clean-panel::-webkit-scrollbar-thumb,
.s2047-clean-overlay::-webkit-scrollbar-thumb,
.menu-scroll-area::-webkit-scrollbar-thumb {
    background: #ffe866;
    border: 3px solid rgba(2, 8, 28, 0.95);
    border-radius: 999px;
    box-shadow: 0 0 12px rgba(255, 232, 102, 0.8);
}

/* Prevent hidden page scroll locks from older menu scripts unless the live overlay is actually open */
body:not(.s2047-menu-open):not(.space2047-menu-open) {
    overflow-y: auto !important;
    position: static !important;
}

/* Space 2047 Picture Gallery page */
.space2047-picture-gallery-page {
    min-height: 100vh;
    color: #fff;
    background: radial-gradient(circle at top, rgba(41,231,255,.16), transparent 35%), linear-gradient(180deg,#020716 0%,#08031e 48%,#020716 100%);
    overflow-x: hidden;
}
.space2047-gallery-hero { padding: clamp(2.5rem,7vw,6rem) 1rem 1.5rem; text-align:center; }
.space2047-gallery-hero-inner {
    width:min(1050px,calc(100% - 1rem)); margin:0 auto; padding:clamp(1.75rem,5vw,4rem);
    border:3px solid #25e7ff; border-radius:32px;
    background:linear-gradient(135deg,rgba(4,18,56,.92),rgba(50,5,66,.74)),radial-gradient(circle at 50% 0%,rgba(255,232,102,.12),transparent 52%);
    box-shadow:0 0 32px rgba(37,231,255,.28), inset 0 0 30px rgba(255,255,255,.055);
}
.space2047-gallery-kicker { margin:0 0 .65rem; color:#ffe866; font-weight:900; letter-spacing:.16em; text-transform:uppercase; }
.space2047-gallery-hero h1 { margin:0; color:#35eaff; font-size:clamp(2.6rem,10vw,6.5rem); line-height:.95; text-transform:uppercase; text-shadow:0 0 18px rgba(53,234,255,.82),0 5px 0 #000; }
.space2047-gallery-hero p { max-width:800px; margin:1rem auto 0; font-size:clamp(1rem,2.4vw,1.25rem); line-height:1.6; }
.space2047-gallery-shell {
    width:min(1180px,calc(100% - 1rem)); margin:0 auto; padding:clamp(1rem,3vw,2rem);
    border:2px solid rgba(37,231,255,.72); border-radius:30px;
    background:linear-gradient(180deg,rgba(2,9,34,.92),rgba(8,3,30,.96));
    box-shadow:0 0 28px rgba(37,231,255,.18), inset 0 0 28px rgba(255,255,255,.035);
}
.space2047-gallery-viewer { display:grid; grid-template-columns:minmax(0,1.4fr) minmax(260px,.6fr); gap:clamp(1rem,3vw,2rem); align-items:center; }
.space2047-gallery-large-frame { overflow:hidden; border:3px solid #25e7ff; border-radius:24px; background:#030717; box-shadow:0 0 24px rgba(37,231,255,.25); }
.space2047-gallery-large-frame img { display:block; width:100%; max-height:72vh; object-fit:contain; background:#030717; }
.space2047-gallery-caption { padding:clamp(1rem,3vw,1.5rem); border:2px solid rgba(255,232,102,.75); border-radius:24px; background:radial-gradient(circle at top,rgba(255,232,102,.12),rgba(4,14,42,.86)); }
.space2047-gallery-caption h2 { margin:0 0 .75rem; color:#ffe866; font-size:clamp(1.7rem,4vw,3rem); line-height:1.05; text-transform:uppercase; text-shadow:0 0 12px rgba(255,232,102,.45),0 3px 0 #000; }
.space2047-gallery-caption p { margin:0; color:rgba(255,255,255,.9); line-height:1.6; }
.space2047-gallery-thumbnails {
    display:grid; grid-template-columns:repeat(5,minmax(0,1fr)); gap:.8rem; margin-top:1.25rem; max-height:460px;
    overflow-y:auto; overflow-x:hidden; padding:.35rem .35rem .35rem 0; scrollbar-width:auto; scrollbar-color:#ffe866 rgba(2,8,28,.95);
}
.space2047-gallery-thumbnails::-webkit-scrollbar { width:12px; }
.space2047-gallery-thumbnails::-webkit-scrollbar-track { background:rgba(2,8,28,.95); border-radius:999px; }
.space2047-gallery-thumbnails::-webkit-scrollbar-thumb { background:#ffe866; border:3px solid rgba(2,8,28,.95); border-radius:999px; box-shadow:0 0 12px rgba(255,232,102,.8); }
.space2047-gallery-thumb {
    cursor:pointer; overflow:hidden; padding:0; border:2px solid rgba(37,231,255,.45); border-radius:18px;
    background:linear-gradient(180deg,rgba(5,20,58,.95),rgba(3,8,28,.96)); color:#fff; box-shadow:inset 0 0 18px rgba(37,231,255,.05);
}
.space2047-gallery-thumb.is-active,.space2047-gallery-thumb:hover,.space2047-gallery-thumb:focus { border-color:#ffe866; box-shadow:0 0 18px rgba(255,232,102,.28), inset 0 0 18px rgba(37,231,255,.12); }
.space2047-gallery-thumb img { display:block; width:100%; aspect-ratio:1/1; object-fit:cover; }
.space2047-gallery-thumb span { display:block; padding:.55rem .45rem .65rem; min-height:3.4em; font-size:.82rem; line-height:1.2; font-weight:900; text-transform:uppercase; text-shadow:0 2px 0 #000; }
.space2047-gallery-ad-box {
    width:min(1180px,calc(100% - 1rem)); margin:clamp(1.25rem,4vw,2.5rem) auto 4rem; padding:clamp(1rem,3vw,2rem);
    border:3px dashed rgba(255,232,102,.85); border-radius:30px;
    background:radial-gradient(circle at top left,rgba(255,232,102,.16),transparent 34%),linear-gradient(135deg,rgba(18,8,46,.94),rgba(4,20,58,.92));
    box-shadow:0 0 25px rgba(255,232,102,.16);
}
.space2047-gallery-ad-inner { text-align:center; padding:clamp(1.25rem,4vw,2.75rem); border:1px solid rgba(37,231,255,.55); border-radius:24px; background:rgba(0,0,0,.18); }
.space2047-gallery-ad-label { display:inline-flex; margin:0 0 .75rem; padding:.45rem .8rem; border-radius:999px; color:#050816; background:#ffe866; font-weight:900; letter-spacing:.08em; text-transform:uppercase; }
.space2047-gallery-ad-inner h2 { margin:0 auto .75rem; max-width:900px; color:#35eaff; font-size:clamp(1.8rem,5vw,3.7rem); line-height:1.05; text-transform:uppercase; text-shadow:0 0 16px rgba(53,234,255,.65),0 4px 0 #000; }
.space2047-gallery-ad-inner p { max-width:800px; margin:0 auto; line-height:1.65; color:rgba(255,255,255,.9); }
.space2047-gallery-ad-button { display:inline-flex; margin-top:1.25rem; padding:.9rem 1.2rem; border:2px solid #25e7ff; border-radius:999px; color:#fff; background:linear-gradient(180deg,rgba(5,42,75,.98),rgba(4,10,34,.98)); font-weight:900; text-decoration:none; text-transform:uppercase; box-shadow:0 0 16px rgba(37,231,255,.2); }
@media (max-width:940px) { .space2047-gallery-viewer { grid-template-columns:1fr; } .space2047-gallery-thumbnails { grid-template-columns:repeat(3,minmax(0,1fr)); max-height:520px; } }
@media (max-width:560px) { .space2047-gallery-shell,.space2047-gallery-ad-box { width:min(100% - .5rem,1180px); border-radius:22px; } .space2047-gallery-thumbnails { grid-template-columns:repeat(2,minmax(0,1fr)); } .space2047-gallery-thumb span { font-size:.76rem; } }


/* Space 2047 gallery permanent scrollbar and equal image sizing fix */
.space2047-gallery-large-frame {
    aspect-ratio: 1 / 1;
    display: flex;
    align-items: center;
    justify-content: center;
}

.space2047-gallery-large-frame img,
#space2047GalleryMainImage {
    width: 100% !important;
    height: 100% !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

.space2047-gallery-thumbnails {
    overflow-y: scroll !important;
    scrollbar-gutter: stable both-edges;
    min-height: 360px;
    max-height: 520px;
    padding-right: 12px !important;
    border-right: 10px solid rgba(2, 8, 28, 0.95);
    box-shadow: inset -14px 0 0 rgba(255, 232, 102, 0.18);
}

.space2047-gallery-thumb {
    height: 100%;
    min-height: 190px;
    display: flex;
    flex-direction: column;
}

.space2047-gallery-thumb img {
    width: 100% !important;
    height: 150px !important;
    aspect-ratio: auto !important;
    object-fit: contain !important;
    object-position: center center !important;
    flex: 0 0 150px;
}

.space2047-gallery-thumb span {
    flex: 1 1 auto;
    display: flex !important;
    align-items: center;
    justify-content: center;
    text-align: center;
}

.space2047-gallery-thumbnails::-webkit-scrollbar {
    width: 18px !important;
    display: block !important;
}

.space2047-gallery-thumbnails::-webkit-scrollbar-track {
    background: rgba(2, 8, 28, 0.98) !important;
    border: 2px solid rgba(37, 231, 255, 0.55);
    border-radius: 999px;
    box-shadow: inset 0 0 10px rgba(37, 231, 255, 0.25);
}

.space2047-gallery-thumbnails::-webkit-scrollbar-thumb {
    background: linear-gradient(180deg, #ffe866, #ffb800) !important;
    border: 3px solid rgba(2, 8, 28, 0.98) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 14px rgba(255, 232, 102, 0.95) !important;
}

.space2047-gallery-thumbnails::-webkit-scrollbar-corner {
    background: rgba(2, 8, 28, 0.98) !important;
}

@media (max-width: 940px) {
    .space2047-gallery-large-frame {
        aspect-ratio: 1 / 1;
    }

    .space2047-gallery-thumbnails {
        min-height: 420px;
        max-height: 560px;
    }

    .space2047-gallery-thumb img {
        height: 160px !important;
        flex-basis: 160px;
    }
}

@media (max-width: 560px) {
    .space2047-gallery-large-frame {
        aspect-ratio: 1 / 1;
    }

    .space2047-gallery-thumbnails {
        min-height: 500px;
        max-height: 620px;
        padding-right: 10px !important;
    }

    .space2047-gallery-thumb {
        min-height: 180px;
    }

    .space2047-gallery-thumb img {
        height: 138px !important;
        flex-basis: 138px;
    }
}


/* Space 2047 gallery final permanent scrollbar reinforcement */
.space2047-gallery-thumbnails {
    overflow-y: scroll !important;
    overflow-x: hidden !important;
    scrollbar-gutter: stable both-edges !important;
    -webkit-overflow-scrolling: touch;
    padding-right: 18px !important;
    border-right: 14px solid rgba(2, 8, 28, 0.98) !important;
    box-shadow:
        inset -18px 0 0 rgba(255, 232, 102, 0.22),
        inset -22px 0 0 rgba(37, 231, 255, 0.18) !important;
}

.space2047-gallery-thumbnails::-webkit-scrollbar {
    width: 20px !important;
    display: block !important;
    -webkit-appearance: none !important;
}

.space2047-gallery-thumbnails::-webkit-scrollbar-track {
    background: rgba(2, 8, 28, 0.98) !important;
    border: 2px solid rgba(37, 231, 255, 0.75) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 0 12px rgba(37, 231, 255, 0.4) !important;
}

.space2047-gallery-thumbnails::-webkit-scrollbar-thumb {
    min-height: 80px !important;
    background: linear-gradient(180deg, #fff27a 0%, #ffe866 42%, #ffb800 100%) !important;
    border: 3px solid rgba(2, 8, 28, 0.98) !important;
    border-radius: 999px !important;
    box-shadow: 0 0 16px rgba(255, 232, 102, 1) !important;
}

.space2047-gallery-thumbnails {
    scrollbar-width: auto !important;
    scrollbar-color: #ffe866 rgba(2, 8, 28, 0.98) !important;
}


/* Space 2047 custom permanent gallery scrollbar - menu-safe version */
.space2047-gallery-thumb-scroll-wrap {
    position: relative;
    margin-top: 1.25rem;
    padding-right: 26px;
}

.space2047-gallery-thumb-scroll-wrap .space2047-gallery-thumbnails {
    margin-top: 0 !important;
}

.space2047-gallery-custom-scrollbar {
    position: absolute;
    top: 0;
    right: 0;
    width: 18px;
    height: 100%;
    min-height: 100%;
    border: 2px solid rgba(37, 231, 255, 0.8);
    border-radius: 999px;
    background: rgba(2, 8, 28, 0.98);
    box-shadow:
        0 0 12px rgba(37, 231, 255, 0.45),
        inset 0 0 10px rgba(37, 231, 255, 0.25);
    pointer-events: none;
    z-index: 5;
}

.space2047-gallery-custom-thumb {
    position: absolute;
    top: 0;
    left: 2px;
    right: 2px;
    min-height: 56px;
    border-radius: 999px;
    background: linear-gradient(180deg, #fff27a 0%, #ffe866 45%, #ffb800 100%);
    box-shadow:
        0 0 16px rgba(255, 232, 102, 1),
        inset 0 0 6px rgba(255, 255, 255, 0.55);
    transition: transform 0.08s linear, height 0.08s linear;
}

.space2047-gallery-custom-scrollbar::before,
.space2047-gallery-custom-scrollbar::after {
    content: "";
    position: absolute;
    left: 50%;
    width: 0;
    height: 0;
    transform: translateX(-50%);
    border-left: 5px solid transparent;
    border-right: 5px solid transparent;
}

.space2047-gallery-custom-scrollbar::before {
    top: 6px;
    border-bottom: 7px solid rgba(255, 232, 102, 0.9);
}

.space2047-gallery-custom-scrollbar::after {
    bottom: 6px;
    border-top: 7px solid rgba(255, 232, 102, 0.9);
}

.space2047-gallery-thumb-scroll-wrap .space2047-gallery-thumbnails {
    overflow-y: scroll !important;
    padding-right: 10px !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 560px) {
    .space2047-gallery-thumb-scroll-wrap {
        padding-right: 24px;
    }

    .space2047-gallery-custom-scrollbar {
        width: 16px;
    }
}


/* Space 2047 picture gallery: remove thin native scrollbar, keep thick custom scrollbar */
.space2047-gallery-thumb-scroll-wrap .space2047-gallery-thumbnails {
    scrollbar-width: none !important;
    -ms-overflow-style: none !important;
    border-right: 0 !important;
    box-shadow: none !important;
}

.space2047-gallery-thumb-scroll-wrap .space2047-gallery-thumbnails::-webkit-scrollbar {
    width: 0 !important;
    height: 0 !important;
    display: none !important;
}

.space2047-gallery-thumb-scroll-wrap .space2047-gallery-custom-scrollbar {
    display: block !important;
    width: 20px !important;
}

.space2047-gallery-thumb-scroll-wrap .space2047-gallery-custom-thumb {
    display: block !important;
}

/* Space 2047 audio page hero image above music player */
.space2047-audio-hero-picture {
    width: min(1120px, calc(100% - 2rem));
    margin: 1.5rem auto 1.25rem;
    border: 2px solid rgba(37, 231, 255, 0.75);
    border-radius: 22px;
    overflow: hidden;
    background: #020716;
    box-shadow: 0 0 26px rgba(37, 231, 255, 0.22), inset 0 0 22px rgba(255, 255, 255, 0.04);
}

.space2047-audio-hero-picture img {
    display: block;
    width: 100%;
    height: auto;
}

.space2047-audio-player-box {
    width: min(1120px, calc(100% - 2rem));
    margin: 0 auto 2rem;
}

/* Click here to read more buttons under latest blog dates */
.home-latest-post-readme,
.space2047-blog-readme-button,
.space2047-read-more,
.space2047-blog-readmore{
  display:block !important;
  width:max-content !important;
  margin:12px auto 0 !important;
  padding:10px 24px !important;
  border:2px solid rgba(255,232,102,.95) !important;
  border-radius:999px !important;
  background:#ffe866 !important;
  color:#050816 !important;
  font-family:Orbitron,Arial,sans-serif !important;
  font-size:15px !important;
  font-weight:900 !important;
  line-height:1.1 !important;
  letter-spacing:.05em !important;
  text-align:center !important;
  text-decoration:none !important;
  text-transform:uppercase !important;
  box-shadow:0 0 16px rgba(255,232,102,.32), inset 0 0 10px rgba(255,255,255,.18) !important;
}
.home-latest-post-readme:hover,
.home-latest-post-readme:focus,
.space2047-blog-readme-button:hover,
.space2047-blog-readme-button:focus,
.space2047-read-more:hover,
.space2047-read-more:focus,
.space2047-blog-readmore:hover,
.space2047-blog-readmore:focus{
  background:#ffffff !important;
  color:#050816 !important;
  transform:translateY(-1px);
}
.space2047-blog-meta{
  justify-content:center;
  text-align:center;
}
.space2047-blog-title{
  margin-top:1rem !important;
}

/* Force latest blog read-more buttons to stay clickable above card overlays */
.home-latest-post-readme,
.space2047-blog-readme-button,
.space2047-read-more,
.space2047-blog-readmore{
  position:relative !important;
  z-index:9999 !important;
  pointer-events:auto !important;
  cursor:pointer !important;
}


/* Definitive homepage latest blog post slider with featured images */
.space2047-latest-slider-box{position:relative;overflow:hidden;text-align:center;}
.space2047-blog-slider{position:relative;margin-top:24px;padding:0 54px 42px;}
.space2047-blog-slider-window{overflow:hidden;border-radius:20px;}
.space2047-blog-slider-track{display:flex !important;gap:0 !important;margin-top:0 !important;transition:transform .55s ease;will-change:transform;}
.space2047-blog-slide{min-width:100%;box-sizing:border-box;margin:0 !important;display:flex;flex-direction:column;align-items:center;justify-content:flex-start;}
.home-latest-post-image-link{display:block !important;width:100%;max-width:720px;margin:0 auto 16px;text-decoration:none;}
.home-latest-post-image{display:block;width:100%;height:260px;object-fit:cover;object-position:center;border-radius:16px;border:2px solid rgba(24,234,255,.68);box-shadow:0 0 26px rgba(24,234,255,.18);background:#05091d;}
.home-latest-post-image-placeholder{display:flex;align-items:center;justify-content:center;color:#18eaff;font-family:Orbitron,Arial,sans-serif;font-size:34px;font-weight:900;text-transform:uppercase;letter-spacing:.08em;background:radial-gradient(circle at center,rgba(24,234,255,.18),rgba(4,7,26,.96));}
.space2047-blog-slider-arrow{position:absolute;top:42%;transform:translateY(-50%);z-index:3;width:42px;height:64px;border:2px solid rgba(255,225,43,.9);border-radius:14px;background:rgba(2,8,28,.92);color:#ffe12b;font-size:34px;line-height:1;cursor:pointer;box-shadow:0 0 18px rgba(255,225,43,.22);}
.space2047-blog-slider-arrow:hover,.space2047-blog-slider-arrow:focus{background:rgba(255,225,43,.14);box-shadow:0 0 28px rgba(255,225,43,.38);}
.space2047-blog-slider-prev{left:0;}
.space2047-blog-slider-next{right:0;}
.space2047-blog-slider-dots{position:absolute;left:0;right:0;bottom:4px;display:flex;justify-content:center;gap:10px;}
.space2047-blog-slider-dot{width:13px;height:13px;border-radius:50%;border:1px solid rgba(255,255,255,.75);background:rgba(255,255,255,.22);cursor:pointer;padding:0;}
.space2047-blog-slider-dot.is-active{background:#ffe12b;border-color:#ffe12b;box-shadow:0 0 14px rgba(255,225,43,.75);}
.space2047-blog-slide .home-latest-post-title{margin-top:2px;}
.space2047-blog-slide .home-latest-post-readme{margin-left:auto !important;margin-right:auto !important;}
@media(max-width:760px){.space2047-blog-slider{padding:0 38px 40px}.home-latest-post-image{height:190px}.space2047-blog-slider-arrow{width:34px;height:54px;font-size:28px}.home-latest-post-image-placeholder{font-size:24px}}


/* Final mobile-safe latest blog slider correction */
.space2047-blog-slider{max-width:100%;box-sizing:border-box;}
.space2047-blog-slider-window{max-width:100%;} 
.space2047-blog-slide{overflow:hidden;padding:0 4px;}
.space2047-blog-slide .home-latest-post-readme,
.space2047-blog-slide .space2047-blog-readme-button{
  max-width:calc(100% - 24px) !important;
  width:auto !important;
  white-space:normal !important;
  text-align:center !important;
  line-height:1.2 !important;
  overflow-wrap:break-word !important;
}
.space2047-one-slide-only .space2047-blog-slider-arrow{opacity:.65;}
.space2047-one-slide-only .space2047-blog-slider-dots:empty::after{
  content:'';
  display:block;
  width:13px;
  height:13px;
  border-radius:50%;
  background:#ffe12b;
  box-shadow:0 0 14px rgba(255,225,43,.75);
}
@media(max-width:760px){
  .space2047-blog-slider{padding-left:22px !important;padding-right:22px !important;}
  .space2047-blog-slider-arrow{width:28px !important;height:46px !important;font-size:23px !important;border-radius:10px !important;}
  .space2047-blog-slider-prev{left:2px !important;}
  .space2047-blog-slider-next{right:2px !important;}
}

/* Slider arrow clean-position fix: keep arrows off the glowing border lines */
.space2047-blog-slider{
  padding-left:70px !important;
  padding-right:70px !important;
}
.space2047-blog-slider-arrow{
  z-index:20 !important;
  background:#05091d !important;
  box-shadow:0 0 0 8px #05091d, 0 0 22px rgba(24,234,255,.42) !important;
  border:2px solid rgba(24,234,255,.95) !important;
  color:#ffffff !important;
}
.space2047-blog-slider-prev{left:16px !important;}
.space2047-blog-slider-next{right:16px !important;}
@media(max-width:760px){
  .space2047-blog-slider{
    padding-left:48px !important;
    padding-right:48px !important;
  }
  .space2047-blog-slider-prev{left:10px !important;}
  .space2047-blog-slider-next{right:10px !important;}
  .space2047-blog-slider-arrow{
    width:32px !important;
    height:48px !important;
    font-size:24px !important;
    border-radius:999px !important;
    box-shadow:0 0 0 7px #05091d, 0 0 18px rgba(24,234,255,.45) !important;
  }
}
@media(max-width:430px){
  .space2047-blog-slider{
    padding-left:44px !important;
    padding-right:44px !important;
  }
  .space2047-blog-slider-prev{left:8px !important;}
  .space2047-blog-slider-next{right:8px !important;}
}

/* Final 5px-off-border slider arrow correction */
.space2047-latest-slider-box,
.space2047-blog-slider,
.space2047-blog-slider-window{
  overflow:visible !important;
}
.space2047-blog-slider{
  padding-left:78px !important;
  padding-right:78px !important;
}
.space2047-blog-slider-arrow{
  top:42% !important;
  z-index:50 !important;
  width:42px !important;
  height:58px !important;
  border-radius:999px !important;
  background:#05091d !important;
  box-shadow:0 0 0 7px #05091d, 0 0 22px rgba(24,234,255,.48) !important;
}
.space2047-blog-slider-prev{
  left:31px !important; /* 78px gutter - 42px arrow - 5px gap from blog-card border */
}
.space2047-blog-slider-next{
  right:31px !important; /* 78px gutter - 42px arrow - 5px gap from blog-card border */
}
@media(max-width:760px){
  .space2047-blog-slider{
    padding-left:62px !important;
    padding-right:62px !important;
  }
  .space2047-blog-slider-arrow{
    width:32px !important;
    height:46px !important;
    font-size:24px !important;
    box-shadow:0 0 0 6px #05091d, 0 0 18px rgba(24,234,255,.48) !important;
  }
  .space2047-blog-slider-prev{
    left:25px !important; /* 62px gutter - 32px arrow - 5px gap */
  }
  .space2047-blog-slider-next{
    right:25px !important; /* 62px gutter - 32px arrow - 5px gap */
  }
}
@media(max-width:430px){
  .space2047-blog-slider{
    padding-left:58px !important;
    padding-right:58px !important;
  }
  .space2047-blog-slider-prev{
    left:21px !important; /* 58px gutter - 32px arrow - 5px gap */
  }
  .space2047-blog-slider-next{
    right:21px !important; /* 58px gutter - 32px arrow - 5px gap */
  }
}

/* ===== BARCLAYS BANKING DETAILS MENU BUTTON AND PAGE ===== */
.s2047-barclays-support{
    width:100% !important;
    max-width:880px !important;
    margin:0 auto 12px auto !important;
    min-height:48px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    text-align:center !important;
    text-decoration:none !important;
    border-radius:14px !important;
    border:2px solid var(--s2047-cyan, #00e5ff) !important;
    background:linear-gradient(135deg, rgba(0,75,135,.95), rgba(0,174,239,.65), rgba(255,56,255,.16)) !important;
    color:#ffffff !important;
    box-shadow:0 0 18px rgba(0,229,255,.32), inset 0 0 14px rgba(255,255,255,.08) !important;
    font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
}
.s2047-barclays-logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    min-width:92px !important;
    height:30px !important;
    padding:0 10px !important;
    border-radius:9px !important;
    background:#ffffff !important;
    color:#00aeef !important;
    font-family:Arial, Helvetica, sans-serif !important;
    font-weight:900 !important;
    font-size:15px !important;
    letter-spacing:-.2px !important;
    box-shadow:0 0 12px rgba(255,255,255,.35) !important;
}
.s2047-barclays-text{
    color:#ffffff !important;
    font-size:18px !important;
    font-weight:900 !important;
    letter-spacing:.4px !important;
    text-transform:uppercase !important;
    text-shadow:0 0 10px var(--s2047-mag, #ff38ff) !important;
}
.s2047-barclays-support:hover{
    transform:translateY(-1px) !important;
    box-shadow:0 0 24px rgba(0,229,255,.5), inset 0 0 18px rgba(255,255,255,.12) !important;
}
.space2047-banking-panel{
    max-width:920px;
    margin:0 auto 34px;
    padding:28px;
    border:2px solid var(--cyan, #18eaff);
    border-radius:24px;
    background:rgba(2,10,31,.78);
    box-shadow:0 0 28px rgba(24,234,255,.22), inset 0 0 28px rgba(24,234,255,.04);
}
.space2047-banking-author-image{
    display:block;
    width:100%;
    max-width:620px;
    height:auto;
    margin:0 auto 28px;
    border-radius:20px;
    border:2px solid rgba(24,234,255,.75);
    box-shadow:0 0 26px rgba(24,234,255,.25);
}
.space2047-banking-text{
    max-width:720px;
    margin:0 auto;
    text-align:left;
    font-family:Rajdhani,Arial,sans-serif;
    letter-spacing:.02em;
    color:#ffffff;
}
.space2047-banking-text p{
    font-size:24px;
    line-height:1.45;
    margin:0 0 14px;
}
.space2047-banking-text h2{
    margin:24px 0 16px;
    color:var(--cyan, #18eaff);
    font-family:Orbitron,Rajdhani,Arial,sans-serif;
    font-size:30px;
    text-align:center;
    text-shadow:0 0 16px rgba(24,234,255,.65);
}
.space2047-banking-text strong{
    color:#ffe45c;
}
@media(max-width:700px){
    .s2047-barclays-support{gap:8px !important;padding:8px !important;}
    .s2047-barclays-logo{min-width:78px !important;font-size:13px !important;}
    .s2047-barclays-text{font-size:13px !important;line-height:1.2 !important;}
    .space2047-banking-panel{padding:18px;}
    .space2047-banking-text p{font-size:19px;}
    .space2047-banking-text h2{font-size:23px;}
}


/* ===== DEFINITIVE BARCLAYS MENU BUTTON CLICKABLE FIX ===== */
.slide-menu nav > .s2047-barclays-support,
.slide-menu .s2047-barclays-support,
a.s2047-barclays-support{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    width:calc(100% - 24px) !important;
    max-width:880px !important;
    min-height:58px !important;
    margin:12px auto 16px auto !important;
    padding:10px 16px !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;
    position:relative !important;
    z-index:99999 !important;
    cursor:pointer !important;
    pointer-events:auto !important;
    text-align:center !important;
    text-decoration:none !important;
    border:2px solid #00aeef !important;
    border-radius:18px !important;
    background:linear-gradient(135deg, #004b87 0%, #00aeef 52%, rgba(255,56,255,.28) 100%) !important;
    box-shadow:0 0 18px rgba(0,174,239,.65), inset 0 0 14px rgba(255,255,255,.16) !important;
    color:#fff !important;
    font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
    overflow:visible !important;
}
.slide-menu nav > .s2047-barclays-support::before,
.slide-menu nav > .s2047-barclays-support::after,
.s2047-barclays-support::before,
.s2047-barclays-support::after{
    display:none !important;
    content:none !important;
}
.s2047-barclays-support .s2047-barclays-logo{
    display:inline-flex !important;
    min-width:92px !important;
    height:32px !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 10px !important;
    border-radius:9px !important;
    background:#fff !important;
    color:#00aeef !important;
    font-family:Arial,Helvetica,sans-serif !important;
    font-weight:900 !important;
    font-size:15px !important;
    line-height:1 !important;
}
.s2047-barclays-support .s2047-barclays-text{
    display:inline-block !important;
    color:#fff !important;
    font-size:17px !important;
    font-weight:900 !important;
    line-height:1.25 !important;
    text-transform:uppercase !important;
    text-shadow:0 0 10px rgba(255,56,255,.95) !important;
}
@media(max-width:520px){
    .slide-menu nav > .s2047-barclays-support,
    .slide-menu .s2047-barclays-support,
    a.s2047-barclays-support{
        width:calc(100% - 16px) !important;
        min-height:54px !important;
        padding:8px 10px !important;
        gap:8px !important;
    }
    .s2047-barclays-support .s2047-barclays-logo{
        min-width:78px !important;
        font-size:13px !important;
        height:28px !important;
    }
    .s2047-barclays-support .s2047-barclays-text{
        font-size:13px !important;
        letter-spacing:.2px !important;
    }
}


/* Space 2047 top book information button */
.space2047-top-books-button-wrap{display:flex;justify-content:center;align-items:center;margin:-14px auto 34px;padding:0 12px;position:relative;z-index:2}.space2047-top-books-button{border:3px solid var(--cyan);border-radius:18px;background:linear-gradient(135deg,rgba(2,10,31,.96),rgba(26,5,48,.92));color:#fff;font-family:Orbitron,Rajdhani,Arial,sans-serif;font-size:20px;font-weight:900;line-height:1.18;letter-spacing:.06em;text-align:center;text-transform:uppercase;padding:16px 28px;max-width:760px;cursor:pointer;box-shadow:0 0 22px rgba(24,234,255,.34),0 0 34px rgba(238,67,255,.14),inset 0 0 28px rgba(24,234,255,.06);text-shadow:0 0 12px rgba(24,234,255,.65)}.space2047-top-books-button:hover,.space2047-top-books-button:focus{transform:translateY(-1px);box-shadow:0 0 30px rgba(24,234,255,.5),0 0 42px rgba(238,67,255,.22),inset 0 0 32px rgba(24,234,255,.08);outline:none}@media(max-width:760px){.space2047-top-books-button-wrap{margin:-10px auto 28px}.space2047-top-books-button{border-width:2px;border-radius:14px;font-size:14px;padding:13px 16px;max-width:94%}}

/* Step two: top books information popup */
.space2047-books-popup{position:fixed;inset:0;z-index:99999;display:none;align-items:center;justify-content:center;padding:22px;box-sizing:border-box}
.space2047-books-popup.is-open{display:flex}
.space2047-books-popup-backdrop{position:absolute;inset:0;background:rgba(0,0,0,.78);backdrop-filter:blur(4px)}
.space2047-books-popup-panel{position:relative;width:min(760px,94vw);max-height:86vh;overflow:auto;border:3px solid var(--cyan,#18eaff);border-radius:24px;background:linear-gradient(145deg,rgba(2,10,31,.98),rgba(30,6,58,.96));padding:34px 24px 38px;text-align:center;box-shadow:0 0 34px rgba(24,234,255,.42),0 0 64px rgba(238,67,255,.2),inset 0 0 32px rgba(24,234,255,.08);color:#fff}
.space2047-books-popup-panel h2{margin:0 44px 12px;font-family:Orbitron,Rajdhani,Arial,sans-serif;font-size:clamp(24px,4vw,42px);font-weight:900;letter-spacing:.06em;text-transform:uppercase;color:#fff;text-shadow:0 0 14px rgba(24,234,255,.72),0 0 22px rgba(238,67,255,.38)}
.space2047-books-popup-panel p{margin:0;font-family:Rajdhani,Arial,sans-serif;font-size:clamp(19px,3vw,28px);font-weight:800;color:#f5fbff;text-shadow:0 0 10px rgba(24,234,255,.45)}
.space2047-books-popup-close{position:absolute;top:12px;right:14px;width:44px;height:44px;border:2px solid rgba(24,234,255,.9);border-radius:999px;background:rgba(2,10,31,.96);color:#fff;font-size:30px;line-height:36px;font-weight:900;cursor:pointer;box-shadow:0 0 18px rgba(24,234,255,.35)}
.space2047-books-popup-close:hover,.space2047-books-popup-close:focus{background:rgba(24,234,255,.18);outline:none}
body.space2047-books-popup-open{overflow:hidden}
@media(max-width:760px){.space2047-books-popup{padding:14px}.space2047-books-popup-panel{padding:30px 14px 34px;border-radius:18px}.space2047-books-popup-close{width:38px;height:38px;font-size:26px;line-height:30px}}

/* Step three: permanently visible thick yellow scrollbar for the books popup */
.space2047-books-popup-panel{
  overflow-y:scroll !important;
  scrollbar-width:thick;
  scrollbar-color:#ffd400 rgba(255,212,0,.22);
  padding-right:28px !important;
}
.space2047-books-popup-panel::-webkit-scrollbar{
  width:18px;
  display:block;
}
.space2047-books-popup-panel::-webkit-scrollbar-track{
  background:rgba(255,212,0,.22);
  border-left:2px solid rgba(255,212,0,.45);
  border-radius:999px;
  box-shadow:inset 0 0 10px rgba(255,212,0,.22);
}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{
  background:linear-gradient(180deg,#fff36a,#ffd400,#ffb300);
  border:3px solid rgba(2,10,31,.96);
  border-radius:999px;
  box-shadow:0 0 16px rgba(255,212,0,.85);
}
.space2047-books-popup-panel::-webkit-scrollbar-thumb:hover{
  background:linear-gradient(180deg,#fff9a8,#ffe135,#ffc400);
}
@media(max-width:760px){
  .space2047-books-popup-panel{
    padding-right:22px !important;
  }
  .space2047-books-popup-panel::-webkit-scrollbar{
    width:16px;
  }
}

/* Step four: WooCommerce book shelves inside the top books popup */
.space2047-books-popup-panel{
  max-height:82vh !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding-right:26px !important;
  scrollbar-width:thick;
  scrollbar-color:#ffd400 rgba(255,212,0,.22);
}
.space2047-books-popup-subtitle{
  margin-bottom:22px !important;
}
.space2047-books-shelves{
  display:flex;
  flex-direction:column;
  gap:30px;
  width:100%;
  max-width:980px;
  margin:26px auto 0;
  padding:0 8px 16px;
  box-sizing:border-box;
}
.space2047-book-shelf{
  position:relative;
  display:grid;
  grid-template-columns:minmax(96px,150px) 1fr;
  gap:20px;
  align-items:end;
  min-height:195px;
  padding:22px 18px 28px;
  border:2px solid rgba(24,234,255,.55);
  border-radius:20px;
  background:linear-gradient(135deg,rgba(5,16,45,.94),rgba(35,8,63,.88));
  box-shadow:0 0 22px rgba(24,234,255,.18), inset 0 0 22px rgba(255,255,255,.04);
  text-align:left;
  overflow:hidden;
}
.space2047-book-shelf:after{
  content:"";
  position:absolute;
  left:14px;
  right:14px;
  bottom:13px;
  height:16px;
  border-radius:999px;
  background:linear-gradient(90deg,#8b4a12,#ffd36c,#9a5317);
  box-shadow:0 6px 0 rgba(70,30,7,.85),0 0 18px rgba(255,211,108,.35);
}
.space2047-book-cover-slot{
  position:relative;
  z-index:1;
  display:flex;
  align-items:flex-end;
  justify-content:center;
  min-height:150px;
}
.space2047-book-cover-slot img{
  display:block;
  width:auto;
  max-width:140px;
  max-height:178px;
  object-fit:contain;
  border-radius:8px;
  box-shadow:0 14px 18px rgba(0,0,0,.55),0 0 16px rgba(24,234,255,.22);
}
.space2047-book-details{
  position:relative;
  z-index:1;
  padding-bottom:24px;
}
.space2047-book-details h3{
  margin:0 0 8px;
  font-family:Orbitron,Rajdhani,Arial,sans-serif;
  color:#fff;
  font-size:clamp(18px,3vw,28px);
  text-shadow:0 0 12px rgba(24,234,255,.65);
}
.space2047-book-short-description,
.space2047-book-short-description p{
  margin:0;
  color:#f7fbff;
  font-family:Rajdhani,Arial,sans-serif;
  font-size:clamp(15px,2.4vw,20px);
  line-height:1.35;
}
.space2047-book-shelf-empty{
  display:block;
  min-height:95px;
  text-align:center;
}
.space2047-book-shelf-empty p{position:relative;z-index:1;margin:0;padding-bottom:22px;}
.space2047-books-popup-panel::-webkit-scrollbar{width:24px !important;background:rgba(255,212,0,.18) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-track{background:rgba(255,212,0,.2) !important;border-radius:999px;border:3px solid rgba(0,0,0,.38) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{background:#ffd400 !important;border-radius:999px;border:4px solid rgba(2,10,31,.96) !important;box-shadow:0 0 12px rgba(255,212,0,.85) !important;}
@media(max-width:650px){
  .space2047-books-popup-panel{width:96vw !important;max-height:84vh !important;padding-left:12px !important;padding-right:18px !important;}
  .space2047-book-shelf{grid-template-columns:1fr;gap:12px;text-align:center;align-items:center;padding:18px 12px 30px;}
  .space2047-book-details{padding-bottom:22px;}
  .space2047-book-cover-slot img{max-width:130px;max-height:168px;}
}

/* Step update: place two book products on each shelf row */
.space2047-book-shelf-row{
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:18px !important;
  align-items:stretch !important;
  min-height:220px !important;
}
.space2047-book-on-shelf{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:minmax(82px,132px) 1fr;
  gap:14px;
  align-items:end;
  min-width:0;
  padding-bottom:24px;
}
.space2047-book-shelf-row .space2047-book-details{
  padding-bottom:0 !important;
}
.space2047-book-shelf-row .space2047-book-details h3{
  font-size:clamp(16px,2.2vw,22px) !important;
}
.space2047-book-shelf-row .space2047-book-short-description,
.space2047-book-shelf-row .space2047-book-short-description p{
  font-size:clamp(14px,1.8vw,17px) !important;
}
.space2047-book-shelf-row .space2047-book-cover-slot img{
  max-width:118px !important;
  max-height:158px !important;
}
@media(max-width:760px){
  /* Keep two books on every shelf line, even on phones */
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:10px !important;
    padding:16px 8px 32px !important;
  }
  .space2047-book-on-shelf{
    grid-template-columns:1fr !important;
    text-align:center !important;
    justify-items:center !important;
    align-items:start !important;
    gap:8px !important;
    padding-bottom:24px !important;
  }
  .space2047-book-cover-slot{
    min-height:118px !important;
  }
  .space2047-book-shelf-row .space2047-book-cover-slot img{
    max-width:96px !important;
    max-height:126px !important;
  }
  .space2047-book-shelf-row .space2047-book-details h3{
    font-size:clamp(14px,4.2vw,18px) !important;
    line-height:1.15 !important;
  }
  .space2047-book-shelf-row .space2047-book-short-description,
  .space2047-book-shelf-row .space2047-book-short-description p{
    font-size:clamp(12px,3.4vw,15px) !important;
    line-height:1.2 !important;
  }
}
@media(max-width:430px){
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  }
}

/* Definitive wooden shelf background for each two-product row in the books popup */
.space2047-books-shelves{
  gap:34px !important;
}
.space2047-book-shelf-row{
  position:relative !important;
  overflow:visible !important;
  border:2px solid rgba(24,234,255,.72) !important;
  border-radius:20px !important;
  padding:24px 18px 50px !important;
  background:
    radial-gradient(circle at 50% 0%, rgba(24,234,255,.14), transparent 42%),
    linear-gradient(135deg, rgba(3,12,38,.97), rgba(28,5,55,.94)) !important;
  box-shadow:0 0 24px rgba(24,234,255,.25), inset 0 0 26px rgba(255,255,255,.04) !important;
}
.space2047-book-shelf-row::before{
  content:"" !important;
  position:absolute !important;
  left:18px !important;
  right:18px !important;
  bottom:24px !important;
  height:24px !important;
  border-radius:10px !important;
  background:
    repeating-linear-gradient(90deg, rgba(65,28,8,.28) 0 10px, rgba(255,214,128,.12) 10px 17px),
    linear-gradient(180deg, #f1b456 0%, #a85d1e 42%, #5e2b0b 100%) !important;
  box-shadow:
    0 6px 0 #321606,
    0 13px 18px rgba(0,0,0,.65),
    0 0 20px rgba(255,190,80,.36) !important;
  z-index:0 !important;
}
.space2047-book-shelf-row::after{
  content:"" !important;
  position:absolute !important;
  left:30px !important;
  right:30px !important;
  bottom:51px !important;
  height:9px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg, rgba(255,226,140,0), rgba(255,226,140,.9), rgba(255,226,140,0)) !important;
  filter:blur(.2px) !important;
  z-index:0 !important;
}
.space2047-book-on-shelf,
.space2047-book-cover-slot,
.space2047-book-details{
  position:relative !important;
  z-index:2 !important;
}
.space2047-book-cover-slot{
  align-items:flex-end !important;
}
.space2047-book-cover-slot img{
  margin-bottom:8px !important;
}
@media(max-width:760px){
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    padding:18px 8px 46px !important;
  }
  .space2047-book-shelf-row::before{
    left:10px !important;
    right:10px !important;
    bottom:20px !important;
    height:22px !important;
  }
  .space2047-book-shelf-row::after{
    left:18px !important;
    right:18px !important;
    bottom:46px !important;
  }
}

/* Real book mockup effect behind each WooCommerce featured image in the books popup */
.space2047-books-popup .space2047-book-cover-slot{
  position:relative !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  min-height:174px !important;
  perspective:700px !important;
  isolation:isolate !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  content:"" !important;
  position:absolute !important;
  width:118px !important;
  height:158px !important;
  left:50% !important;
  bottom:8px !important;
  transform:translateX(-50%) skewY(-1deg) !important;
  border-radius:8px 12px 12px 8px !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.65) 0 9%, rgba(255,255,255,.16) 10% 13%, rgba(255,255,255,.04) 14% 100%),
    linear-gradient(135deg, #10182a 0%, #030813 100%) !important;
  box-shadow:10px 8px 0 rgba(210,210,210,.82), 15px 11px 0 rgba(60,60,68,.95), 0 18px 24px rgba(0,0,0,.65), 0 0 18px rgba(24,234,255,.25) !important;
  z-index:0 !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  content:"" !important;
  position:absolute !important;
  width:16px !important;
  height:151px !important;
  left:calc(50% + 52px) !important;
  bottom:11px !important;
  transform:skewY(18deg) !important;
  border-radius:0 9px 9px 0 !important;
  background:linear-gradient(90deg, rgba(230,230,235,.95), rgba(120,120,132,.95)) !important;
  box-shadow:inset 4px 0 7px rgba(0,0,0,.38), 7px 9px 13px rgba(0,0,0,.55) !important;
  z-index:1 !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  position:relative !important;
  z-index:3 !important;
  width:auto !important;
  max-width:112px !important;
  max-height:152px !important;
  object-fit: contain !important;
  border-radius:7px 9px 9px 7px !important;
  box-shadow:0 12px 18px rgba(0,0,0,.62), -4px 0 0 rgba(0,0,0,.35), inset 10px 0 14px rgba(0,0,0,.35) !important;
  transform:translateX(-3px) !important;
  background:#071021 !important;
}
.space2047-books-popup .space2047-book-on-shelf{
  align-items:end !important;
}
@media(max-width:760px){
  .space2047-books-popup .space2047-book-cover-slot{
    min-height:140px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::before{
    width:96px !important;
    height:126px !important;
    bottom:7px !important;
    box-shadow:7px 6px 0 rgba(210,210,210,.82), 11px 9px 0 rgba(60,60,68,.95), 0 13px 18px rgba(0,0,0,.65), 0 0 14px rgba(24,234,255,.22) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    width:13px !important;
    height:121px !important;
    left:calc(50% + 42px) !important;
    bottom:9px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    max-width:90px !important;
    max-height:122px !important;
    transform:translateX(-2px) !important;
  }
}

/* FINAL: make every WooCommerce featured image fill the 3D book cover cleanly */
.space2047-books-popup .space2047-book-cover-slot{
  width:126px !important;
  height:176px !important;
  min-height:176px !important;
  margin:0 auto 8px !important;
  display:flex !important;
  align-items:flex-end !important;
  justify-content:center !important;
  overflow:visible !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  width:118px !important;
  height:164px !important;
  bottom:4px !important;
  left:50% !important;
  transform:translateX(-50%) !important;
  border-radius:6px 12px 12px 6px !important;
  background:
    linear-gradient(90deg, rgba(0,0,0,.78) 0 10%, rgba(255,255,255,.12) 11% 14%, rgba(255,255,255,.03) 15% 100%),
    linear-gradient(135deg,#0b1324,#02060f) !important;
  box-shadow:11px 7px 0 rgba(235,232,218,.88), 16px 11px 0 rgba(74,74,82,.96), 0 18px 24px rgba(0,0,0,.72), 0 0 20px rgba(24,234,255,.28) !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  width:18px !important;
  height:157px !important;
  left:calc(50% + 50px) !important;
  bottom:8px !important;
  border-radius:0 10px 10px 0 !important;
  background:linear-gradient(90deg, rgba(245,242,225,.96), rgba(125,125,132,.96)) !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  width:112px !important;
  height:158px !important;
  max-width:none !important;
  max-height:none !important;
  min-width:112px !important;
  min-height:158px !important;
  object-fit: contain !important;
  object-position:center center !important;
  display:block !important;
  margin:0 0 7px -8px !important;
  border-radius:5px 8px 8px 5px !important;
  box-shadow:inset 9px 0 12px rgba(0,0,0,.5), -4px 0 0 rgba(0,0,0,.45), 0 12px 18px rgba(0,0,0,.68) !important;
  transform:none !important;
}
.space2047-books-popup .space2047-book-cover-slot img[src*="placeholder"],
.space2047-books-popup .space2047-book-cover-slot img.woocommerce-placeholder{
  object-fit:contain !important;
  padding:18px !important;
  background:#f4f4f4 !important;
  box-sizing:border-box !important;
}
@media(max-width:760px){
  .space2047-books-popup .space2047-book-cover-slot{
    width:104px !important;
    height:146px !important;
    min-height:146px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::before{
    width:96px !important;
    height:134px !important;
    bottom:4px !important;
    box-shadow:8px 6px 0 rgba(235,232,218,.88), 12px 9px 0 rgba(74,74,82,.96), 0 14px 18px rgba(0,0,0,.7), 0 0 16px rgba(24,234,255,.24) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    width:14px !important;
    height:128px !important;
    left:calc(50% + 41px) !important;
    bottom:7px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    width:91px !important;
    height:128px !important;
    min-width:91px !important;
    min-height:128px !important;
    margin:0 0 6px -7px !important;
  }
}

/* FINAL BOOKSTORE POPUP: title and BUY NOW above larger books on wooden shelves */
.space2047-books-popup-panel{
  width:min(920px,94vw) !important;
  background:linear-gradient(145deg,rgba(1,8,24,.985),rgba(8,8,34,.975)) !important;
}
.space2047-books-popup-panel h2{
  font-size:clamp(30px,5.3vw,58px) !important;
  line-height:1.12 !important;
  margin-bottom:10px !important;
}
.space2047-books-popup-subtitle{
  font-size:clamp(18px,2.6vw,28px) !important;
  margin-bottom:30px !important;
}
.space2047-books-shelves{
  max-width:900px !important;
  gap:58px !important;
  margin-top:28px !important;
  padding:0 6px 28px !important;
}
.space2047-book-shelf-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:28px !important;
  align-items:end !important;
  border:0 !important;
  border-radius:0 !important;
  min-height:390px !important;
  padding:0 22px 48px !important;
  background:linear-gradient(180deg,rgba(70,31,8,.92),rgba(28,13,5,.96)) !important;
  box-shadow:inset 0 0 35px rgba(0,0,0,.72),0 0 18px rgba(24,234,255,.12) !important;
  overflow:visible !important;
}
.space2047-book-shelf-row::before{
  left:-18px !important;
  right:-18px !important;
  bottom:0 !important;
  height:34px !important;
  border-radius:9px !important;
  background:repeating-linear-gradient(90deg,rgba(75,33,8,.4) 0 14px,rgba(255,205,115,.16) 14px 24px),linear-gradient(180deg,#d99442 0%,#8f4b17 44%,#3d1b07 100%) !important;
  box-shadow:0 8px 0 #2a1205,0 18px 22px rgba(0,0,0,.72),0 0 20px rgba(255,190,80,.28) !important;
}
.space2047-book-shelf-row::after{
  left:-8px !important;
  right:-8px !important;
  bottom:35px !important;
  height:12px !important;
}
.space2047-book-on-shelf{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  text-align:center !important;
  gap:14px !important;
  padding:0 !important;
  min-width:0 !important;
}
.space2047-book-action-top{
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:84px !important;
  gap:9px !important;
  position:relative !important;
  z-index:5 !important;
}
.space2047-book-action-top h3,
.space2047-book-details h3{
  margin:0 !important;
  color:#fff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:clamp(15px,1.8vw,22px) !important;
  line-height:1.12 !important;
  font-weight:900 !important;
  text-shadow:0 0 12px rgba(24,234,255,.62) !important;
}
.space2047-book-buy-now{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:122px !important;
  padding:9px 16px !important;
  border:2px solid #18eaff !important;
  border-radius:8px !important;
  background:rgba(3,10,23,.94) !important;
  color:#fff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1 !important;
  letter-spacing:.04em !important;
  text-decoration:none !important;
  box-shadow:0 0 16px rgba(24,234,255,.5),inset 0 0 12px rgba(24,234,255,.08) !important;
}
.space2047-book-buy-now:hover,.space2047-book-buy-now:focus{
  background:rgba(24,234,255,.18) !important;
  outline:none !important;
}
.space2047-book-short-description,.space2047-book-details{display:none !important;}
.space2047-books-popup .space2047-book-cover-slot{
  width:180px !important;
  height:266px !important;
  min-height:266px !important;
  margin:0 auto !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  width:166px !important;
  height:250px !important;
  bottom:6px !important;
  border-radius:7px 14px 14px 7px !important;
  box-shadow:15px 8px 0 rgba(235,232,218,.9),23px 13px 0 rgba(72,72,80,.96),0 22px 28px rgba(0,0,0,.75),0 0 20px rgba(24,234,255,.22) !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  width:24px !important;
  height:239px !important;
  left:calc(50% + 70px) !important;
  bottom:12px !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  width:158px !important;
  height:240px !important;
  min-width:158px !important;
  min-height:240px !important;
  margin:0 0 11px -12px !important;
  border-radius:6px 10px 10px 6px !important;
}
@media(max-width:980px){
  .space2047-book-shelf-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:18px !important;min-height:330px !important;padding-left:12px !important;padding-right:12px !important;}
  .space2047-books-popup .space2047-book-cover-slot{width:150px !important;height:224px !important;min-height:224px !important;}
  .space2047-books-popup .space2047-book-cover-slot::before{width:138px !important;height:210px !important;box-shadow:12px 7px 0 rgba(235,232,218,.9),18px 11px 0 rgba(72,72,80,.96),0 18px 24px rgba(0,0,0,.75),0 0 18px rgba(24,234,255,.22) !important;}
  .space2047-books-popup .space2047-book-cover-slot::after{width:20px !important;height:201px !important;left:calc(50% + 58px) !important;bottom:10px !important;}
  .space2047-books-popup .space2047-book-cover-slot img{width:131px !important;height:202px !important;min-width:131px !important;min-height:202px !important;margin:0 0 10px -10px !important;}
}
@media(max-width:520px){
  .space2047-books-popup-panel{width:94vw !important;padding-left:16px !important;padding-right:22px !important;}
  .space2047-book-shelf-row{grid-template-columns:repeat(2,minmax(0,1fr)) !important;gap:10px !important;min-height:272px !important;padding:0 8px 42px !important;}
  .space2047-book-action-top{min-height:70px !important;gap:7px !important;}
  .space2047-book-action-top h3{font-size:clamp(13px,3.6vw,16px) !important;}
  .space2047-book-buy-now{min-width:94px !important;padding:8px 10px !important;font-size:13px !important;border-radius:7px !important;}
  .space2047-books-popup .space2047-book-cover-slot{width:116px !important;height:176px !important;min-height:176px !important;}
  .space2047-books-popup .space2047-book-cover-slot::before{width:106px !important;height:164px !important;bottom:4px !important;box-shadow:9px 6px 0 rgba(235,232,218,.9),13px 9px 0 rgba(72,72,80,.96),0 14px 18px rgba(0,0,0,.72),0 0 15px rgba(24,234,255,.22) !important;}
  .space2047-books-popup .space2047-book-cover-slot::after{width:16px !important;height:157px !important;left:calc(50% + 45px) !important;bottom:7px !important;}
  .space2047-books-popup .space2047-book-cover-slot img{width:100px !important;height:158px !important;min-width:100px !important;min-height:158px !important;margin:0 0 7px -8px !important;}
}

/* Benjamin fix: stop duplicate product titles and shrink cover art so it fits cleanly on the 3D book */
.space2047-books-popup .space2047-book-on-shelf > h3,
.space2047-books-popup .space2047-book-details,
.space2047-books-popup .space2047-book-details h3,
.space2047-books-popup .space2047-book-title,
.space2047-books-popup .product-title,
.space2047-books-popup .woocommerce-loop-product__title{
  display:none !important;
}
.space2047-books-popup .space2047-book-action-top h3{
  display:block !important;
}
.space2047-books-popup .space2047-book-action-top h3 + h3{
  display:none !important;
}
.space2047-books-popup .space2047-book-cover-slot{
  position:relative !important;
  overflow:visible !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  position:absolute !important;
  z-index:4 !important;
  left:50% !important;
  bottom:18px !important;
  transform:translateX(-50%) !important;
  width:136px !important;
  height:208px !important;
  min-width:0 !important;
  min-height:0 !important;
  max-width:136px !important;
  max-height:208px !important;
  margin:0 !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:5px 8px 8px 5px !important;
  box-shadow:0 0 0 1px rgba(255,255,255,.14),0 10px 18px rgba(0,0,0,.35) !important;
}
@media(max-width:980px){
  .space2047-books-popup .space2047-book-cover-slot img{
    width:112px !important;
    height:176px !important;
    max-width:112px !important;
    max-height:176px !important;
    bottom:15px !important;
  }
}
@media(max-width:520px){
  .space2047-books-popup .space2047-book-cover-slot img{
    width:84px !important;
    height:132px !important;
    max-width:84px !important;
    max-height:132px !important;
    bottom:12px !important;
  }
}


/* BENJAMIN FINAL FIX: clean sci-fi bookstore shelves, 3 books per row, covers fill each book */
.space2047-books-popup-panel{
  width:min(960px,94vw) !important;
  max-height:86vh !important;
  overflow-y:scroll !important;
  scrollbar-width:auto !important;
  scrollbar-color:#10dfff rgba(0,18,38,.9) !important;
  padding:34px 34px 42px !important;
  background:linear-gradient(180deg,rgba(2,8,23,.985),rgba(3,6,18,.985)) !important;
}
.space2047-books-popup-panel::-webkit-scrollbar{width:24px !important;background:rgba(0,18,38,.9) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-track{background:rgba(0,20,42,.92) !important;border:2px solid rgba(24,234,255,.65) !important;border-radius:999px !important;box-shadow:inset 0 0 12px rgba(24,234,255,.18) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{background:#10dfff !important;border-radius:999px !important;border:4px solid rgba(2,8,23,.96) !important;box-shadow:0 0 18px rgba(16,223,255,.9) !important;}
.space2047-books-popup-panel h2{font-size:clamp(34px,5.4vw,68px) !important;line-height:1.05 !important;margin:0 54px 10px !important;}
.space2047-books-popup-subtitle{font-size:clamp(18px,2.3vw,28px) !important;margin:0 0 30px !important;}
.space2047-books-shelves{display:flex !important;flex-direction:column !important;gap:52px !important;width:100% !important;max-width:900px !important;margin:0 auto !important;padding:0 6px 20px !important;}
.space2047-book-shelf-row{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr)) !important;
  gap:30px !important;
  align-items:end !important;
  min-height:430px !important;
  padding:0 18px 44px !important;
  border:0 !important;
  border-radius:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  overflow:visible !important;
  position:relative !important;
}
.space2047-book-shelf-row::before{content:"" !important;position:absolute !important;left:-10px !important;right:-10px !important;bottom:0 !important;height:34px !important;border-radius:8px !important;background:linear-gradient(180deg,#c47a2e 0%,#8a4114 48%,#351505 100%) !important;box-shadow:0 8px 0 #1b0b03,0 18px 24px rgba(0,0,0,.72),0 0 16px rgba(255,174,70,.22) !important;z-index:1 !important;}
.space2047-book-shelf-row::after{content:"" !important;position:absolute !important;left:-6px !important;right:-6px !important;bottom:34px !important;height:12px !important;border-radius:10px 10px 2px 2px !important;background:linear-gradient(180deg,#e5a154 0%,#774013 100%) !important;box-shadow:0 -8px 18px rgba(255,210,125,.12) !important;z-index:1 !important;}
.space2047-book-on-shelf{position:relative !important;z-index:3 !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-end !important;gap:16px !important;min-width:0 !important;padding:0 !important;text-align:center !important;}
.space2047-book-action-top{order:0 !important;min-height:82px !important;display:flex !important;flex-direction:column !important;align-items:center !important;justify-content:flex-end !important;gap:10px !important;margin:0 !important;padding:0 !important;}
.space2047-book-action-top h3{display:block !important;margin:0 !important;max-width:100% !important;color:#fff !important;font-family:Orbitron,Rajdhani,Arial,sans-serif !important;font-size:clamp(15px,1.7vw,22px) !important;line-height:1.12 !important;font-weight:900 !important;text-shadow:0 0 12px rgba(24,234,255,.72) !important;}
.space2047-book-buy-now{display:inline-flex !important;align-items:center !important;justify-content:center !important;min-width:128px !important;padding:10px 16px !important;border:2px solid #18eaff !important;border-radius:8px !important;background:rgba(2,8,20,.98) !important;color:#fff !important;font-family:Orbitron,Rajdhani,Arial,sans-serif !important;font-size:16px !important;font-weight:900 !important;line-height:1 !important;text-decoration:none !important;box-shadow:0 0 16px rgba(24,234,255,.55),inset 0 0 12px rgba(24,234,255,.1) !important;}
.space2047-book-details,.space2047-book-short-description,.space2047-book-on-shelf > h3{display:none !important;}
.space2047-books-popup .space2047-book-cover-slot{order:1 !important;position:relative !important;width:190px !important;height:278px !important;min-height:278px !important;margin:0 auto !important;overflow:visible !important;display:block !important;}
.space2047-books-popup .space2047-book-cover-slot::before{content:"" !important;position:absolute !important;z-index:1 !important;left:13px !important;bottom:0 !important;width:162px !important;height:255px !important;border-radius:8px 15px 15px 8px !important;background:linear-gradient(90deg,rgba(0,0,0,.82) 0 9%,rgba(255,255,255,.14) 10% 13%,rgba(12,18,30,.98) 14% 100%) !important;box-shadow:17px 8px 0 rgba(235,232,218,.92),26px 14px 0 rgba(70,70,76,.98),0 22px 30px rgba(0,0,0,.76),0 0 18px rgba(24,234,255,.22) !important;}
.space2047-books-popup .space2047-book-cover-slot::after{content:"" !important;position:absolute !important;z-index:2 !important;left:163px !important;bottom:10px !important;width:26px !important;height:236px !important;border-radius:0 11px 11px 0 !important;background:linear-gradient(90deg,rgba(245,242,225,.98),rgba(118,118,126,.96)) !important;}
.space2047-books-popup .space2047-book-cover-slot img{position:absolute !important;z-index:4 !important;left:20px !important;bottom:10px !important;transform:none !important;width:150px !important;height:236px !important;min-width:150px !important;min-height:236px !important;max-width:150px !important;max-height:236px !important;margin:0 !important;object-fit: contain !important;object-position:center center !important;border-radius:6px 10px 10px 6px !important;box-shadow:inset 10px 0 13px rgba(0,0,0,.54),-4px 0 0 rgba(0,0,0,.44),0 12px 18px rgba(0,0,0,.62) !important;background:#071121 !important;padding:0 !important;}
.space2047-books-popup .space2047-book-cover-slot img[src*="placeholder"],.space2047-books-popup .space2047-book-cover-slot img.woocommerce-placeholder{object-fit:contain !important;padding:18px !important;background:#f5f5f5 !important;box-sizing:border-box !important;}
@media(max-width:760px){
  .space2047-books-popup{padding:12px !important;}
  .space2047-books-popup-panel{width:94vw !important;padding:30px 22px 38px 18px !important;}
  .space2047-books-popup-panel h2{font-size:clamp(31px,8.4vw,44px) !important;margin:0 42px 10px !important;}
  .space2047-books-popup-subtitle{font-size:clamp(17px,4.4vw,23px) !important;margin-bottom:24px !important;}
  .space2047-books-shelves{gap:38px !important;padding-right:0 !important;}
  .space2047-book-shelf-row{grid-template-columns:repeat(3,minmax(0,1fr)) !important;gap:8px !important;min-height:270px !important;padding:0 2px 34px !important;}
  .space2047-book-shelf-row::before{left:-4px !important;right:-4px !important;height:26px !important;}
  .space2047-book-shelf-row::after{left:-2px !important;right:-2px !important;bottom:26px !important;height:9px !important;}
  .space2047-book-action-top{min-height:66px !important;gap:7px !important;}
  .space2047-book-action-top h3{font-size:clamp(11px,3.25vw,14px) !important;line-height:1.1 !important;}
  .space2047-book-buy-now{min-width:78px !important;padding:7px 7px !important;font-size:11px !important;border-radius:7px !important;}
  .space2047-books-popup .space2047-book-cover-slot{width:94px !important;height:146px !important;min-height:146px !important;}
  .space2047-books-popup .space2047-book-cover-slot::before{left:6px !important;bottom:0 !important;width:80px !important;height:136px !important;border-radius:5px 10px 10px 5px !important;box-shadow:8px 5px 0 rgba(235,232,218,.92),12px 8px 0 rgba(70,70,76,.98),0 13px 16px rgba(0,0,0,.72),0 0 13px rgba(24,234,255,.22) !important;}
  .space2047-books-popup .space2047-book-cover-slot::after{left:78px !important;bottom:6px !important;width:13px !important;height:124px !important;border-radius:0 8px 8px 0 !important;}
  .space2047-books-popup .space2047-book-cover-slot img{left:9px !important;bottom:6px !important;width:74px !important;height:124px !important;min-width:74px !important;min-height:124px !important;max-width:74px !important;max-height:124px !important;border-radius:4px 7px 7px 4px !important;object-fit: contain !important;padding:0 !important;}
}
@media(max-width:390px){
  .space2047-book-shelf-row{gap:5px !important;}
  .space2047-books-popup .space2047-book-cover-slot{width:86px !important;height:136px !important;min-height:136px !important;}
  .space2047-books-popup .space2047-book-cover-slot::before{width:73px !important;height:127px !important;}
  .space2047-books-popup .space2047-book-cover-slot::after{left:71px !important;height:116px !important;}
  .space2047-books-popup .space2047-book-cover-slot img{width:68px !important;height:116px !important;max-width:68px !important;max-height:116px !important;}
}

/* BENJAMIN ONE-BOOK COVER FIX: use the featured image as the single front cover, with pages only behind it */
.space2047-books-popup .space2047-book-cover-slot{
  position:relative !important;
  overflow:visible !important;
  display:block !important;
  margin:0 auto !important;
  width:178px !important;
  height:262px !important;
  min-height:262px !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) !important;
  width:152px !important;
  height:238px !important;
  box-sizing:border-box !important;
  border:8px solid #07101f !important;
  border-radius:10px 15px 15px 10px !important;
  background:transparent !important;
  box-shadow:
    14px 7px 0 rgba(236,232,214,.94),
    22px 13px 0 rgba(66,66,74,.96),
    0 20px 26px rgba(0,0,0,.78),
    0 0 16px rgba(24,234,255,.18) !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  left:calc(50% + 56px) !important;
  bottom:12px !important;
  width:18px !important;
  height:212px !important;
  border-radius:0 11px 11px 0 !important;
  background:linear-gradient(90deg,rgba(252,248,226,.98),rgba(188,181,160,.98),rgba(96,92,82,.94)) !important;
  box-shadow:inset 4px 0 8px rgba(0,0,0,.28) !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  position:absolute !important;
  z-index:3 !important;
  left:50% !important;
  bottom:8px !important;
  transform:translateX(-50%) !important;
  width:136px !important;
  height:222px !important;
  min-width:136px !important;
  min-height:222px !important;
  max-width:136px !important;
  max-height:222px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit: contain !important;
  object-position:center center !important;
  box-sizing:border-box !important;
  border-radius:6px 10px 10px 6px !important;
  background:#071020 !important;
  box-shadow:
    inset 10px 0 14px rgba(0,0,0,.42),
    0 0 0 2px rgba(255,255,255,.08),
    0 11px 17px rgba(0,0,0,.54) !important;
}
.space2047-books-popup .space2047-book-cover-slot img.woocommerce-placeholder,
.space2047-books-popup .space2047-book-cover-slot img[src*="placeholder"]{
  object-fit:contain !important;
  padding:20px !important;
  background:#f5f5f5 !important;
}
.space2047-books-popup-panel{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  scrollbar-width:thin !important;
  scrollbar-color:#16eaff rgba(6,22,42,.88) !important;
  padding-right:42px !important;
}
.space2047-books-popup-panel::-webkit-scrollbar{width:18px !important;display:block !important;background:rgba(6,22,42,.88) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-track{background:rgba(6,22,42,.88) !important;border:2px solid rgba(24,234,255,.7) !important;border-radius:999px !important;box-shadow:inset 0 0 12px rgba(24,234,255,.28) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{background:#16eaff !important;border-radius:999px !important;border:3px solid rgba(2,8,23,.98) !important;box-shadow:0 0 18px rgba(24,234,255,.95) !important;}
@media(max-width:620px){
  .space2047-books-popup .space2047-book-cover-slot{
    width:118px !important;
    height:182px !important;
    min-height:182px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::before{
    width:100px !important;
    height:166px !important;
    bottom:0 !important;
    border-width:6px !important;
    border-radius:7px 11px 11px 7px !important;
    box-shadow:
      8px 5px 0 rgba(236,232,214,.94),
      13px 8px 0 rgba(66,66,74,.96),
      0 13px 16px rgba(0,0,0,.76),
      0 0 13px rgba(24,234,255,.18) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    left:calc(50% + 38px) !important;
    bottom:8px !important;
    width:12px !important;
    height:148px !important;
    border-radius:0 8px 8px 0 !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    width:88px !important;
    height:154px !important;
    min-width:88px !important;
    min-height:154px !important;
    max-width:88px !important;
    max-height:154px !important;
    bottom:6px !important;
    border-radius:5px 8px 8px 5px !important;
    object-fit: contain !important;
  }
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    min-height:298px !important;
    padding:0 10px 40px !important;
  }
  .space2047-book-on-shelf{max-width:128px !important;}
}

/* BENJAMIN DEFINITIVE SINGLE-HARDBACK FIX
   Removes the duplicate white page layers and leaves ONE narrow page edge only. */
.space2047-books-popup .space2047-book-cover-slot{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  left:50% !important;
  bottom:0 !important;
  transform:translateX(-50%) translateX(4px) !important;
  width:150px !important;
  height:236px !important;
  border:0 !important;
  border-radius:8px 12px 12px 8px !important;
  background:#071020 !important;
  box-shadow:7px 7px 0 rgba(0,0,0,.68),0 18px 24px rgba(0,0,0,.75),0 0 14px rgba(24,234,255,.16) !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  left:calc(50% + 63px) !important;
  bottom:10px !important;
  width:7px !important;
  height:215px !important;
  border-radius:0 7px 7px 0 !important;
  background:linear-gradient(90deg,rgba(242,238,218,.96),rgba(138,132,116,.92)) !important;
  box-shadow:none !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  position:absolute !important;
  z-index:3 !important;
  left:50% !important;
  bottom:7px !important;
  transform:translateX(-50%) !important;
  width:136px !important;
  height:222px !important;
  min-width:136px !important;
  min-height:222px !important;
  max-width:136px !important;
  max-height:222px !important;
  object-fit: contain !important;
  object-position:center center !important;
  border-radius:6px 9px 9px 6px !important;
  box-shadow:inset 8px 0 12px rgba(0,0,0,.38),0 0 0 2px rgba(255,255,255,.08),0 10px 15px rgba(0,0,0,.55) !important;
}
@media(max-width:620px){
  .space2047-books-popup .space2047-book-cover-slot::before{
    width:96px !important;
    height:160px !important;
    transform:translateX(-50%) translateX(3px) !important;
    border-radius:6px 9px 9px 6px !important;
    box-shadow:5px 5px 0 rgba(0,0,0,.68),0 12px 15px rgba(0,0,0,.74),0 0 10px rgba(24,234,255,.16) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    left:calc(50% + 39px) !important;
    bottom:7px !important;
    width:5px !important;
    height:145px !important;
    border-radius:0 6px 6px 0 !important;
    box-shadow:none !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    width:88px !important;
    height:150px !important;
    min-width:88px !important;
    min-height:150px !important;
    max-width:88px !important;
    max-height:150px !important;
    bottom:5px !important;
    border-radius:5px 7px 7px 5px !important;
  }
}

/* BENJAMIN BOOKSTORE POPUP - CLEAN REWRITE
   This completely overrides the old layered mockup. Each product is one book only:
   one front cover image, one slim page edge, one shadow, sitting on one shelf. */
.space2047-books-popup,
.space2047-books-popup *{box-sizing:border-box !important;}
.space2047-books-popup{align-items:center !important;justify-content:center !important;padding:14px !important;}
.space2047-books-popup-panel{
  position:relative !important;
  width:min(940px,94vw) !important;
  max-height:82vh !important;
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  padding:48px 46px 52px 38px !important;
  border:4px solid #18eaff !important;
  border-radius:28px !important;
  background:radial-gradient(circle at 50% 8%,rgba(24,234,255,.10),transparent 32%),linear-gradient(180deg,rgba(2,8,22,.985),rgba(2,6,18,.985)) !important;
  box-shadow:0 0 34px rgba(24,234,255,.42), inset 0 0 34px rgba(24,234,255,.06) !important;
  scrollbar-width:thin !important;
  scrollbar-color:#15eaff rgba(2,18,36,.95) !important;
}
.space2047-books-popup-panel::-webkit-scrollbar{width:20px !important;background:rgba(2,18,36,.95) !important;display:block !important;}
.space2047-books-popup-panel::-webkit-scrollbar-track{background:rgba(2,18,36,.95) !important;border:2px solid rgba(24,234,255,.72) !important;border-radius:999px !important;box-shadow:inset 0 0 12px rgba(24,234,255,.3) !important;}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{background:#15eaff !important;border-radius:999px !important;border:4px solid rgba(2,8,23,.98) !important;box-shadow:0 0 18px rgba(24,234,255,.9) !important;}
.space2047-books-popup-close{z-index:30 !important;}
.space2047-books-popup-panel h2{
  margin:0 58px 12px !important;
  text-align:center !important;
  color:#fff !important;
  font-size:clamp(36px,6vw,72px) !important;
  line-height:1.02 !important;
  font-weight:900 !important;
  text-transform:uppercase !important;
  text-shadow:0 0 16px rgba(255,255,255,.7),0 0 24px rgba(24,234,255,.5) !important;
}
.space2047-books-popup-subtitle{
  margin:0 0 42px !important;
  text-align:center !important;
  color:#fff !important;
  font-size:clamp(18px,2.5vw,28px) !important;
  font-weight:900 !important;
  text-shadow:0 0 14px rgba(24,234,255,.5) !important;
}
.space2047-books-shelves{
  display:flex !important;
  flex-direction:column !important;
  gap:54px !important;
  width:100% !important;
  max-width:860px !important;
  margin:0 auto !important;
  padding:0 12px 10px !important;
}
.space2047-book-shelf-row{
  position:relative !important;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr)) !important;
  gap:42px !important;
  align-items:end !important;
  min-height:350px !important;
  padding:0 34px 34px !important;
  border:0 !important;
  border-radius:0 !important;
  background:linear-gradient(180deg,rgba(70,33,11,.58),rgba(18,9,4,.88)) !important;
  box-shadow:inset 0 0 44px rgba(0,0,0,.65) !important;
  overflow:visible !important;
}
.space2047-book-shelf-row::before{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  left:0 !important;right:0 !important;bottom:0 !important;
  height:32px !important;
  border-radius:12px !important;
  background:repeating-linear-gradient(90deg,rgba(64,26,7,.38) 0 15px,rgba(255,210,126,.16) 15px 25px),linear-gradient(180deg,#d49343 0%,#9b541d 44%,#3d1b07 100%) !important;
  box-shadow:0 9px 0 #271104,0 18px 24px rgba(0,0,0,.72),0 0 18px rgba(255,193,91,.25) !important;
}
.space2047-book-shelf-row::after{
  content:"" !important;
  position:absolute !important;
  z-index:0 !important;
  left:10px !important;right:10px !important;bottom:32px !important;
  height:10px !important;
  border-radius:999px !important;
  background:linear-gradient(90deg,rgba(0,0,0,.0),rgba(255,215,128,.32),rgba(0,0,0,.0)) !important;
}
.space2047-book-on-shelf{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-end !important;
  gap:13px !important;
  min-width:0 !important;
  max-width:none !important;
  padding:0 !important;
  text-align:center !important;
}
.space2047-book-action-top{
  order:0 !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:74px !important;
  margin:0 !important;
  padding:0 !important;
  z-index:5 !important;
}
.space2047-book-action-top h3{
  display:block !important;
  margin:0 !important;
  color:#fff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:clamp(16px,2.2vw,24px) !important;
  line-height:1.08 !important;
  font-weight:900 !important;
  text-shadow:0 0 12px rgba(24,234,255,.65) !important;
}
.space2047-book-buy-now{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-width:128px !important;
  padding:10px 18px !important;
  border:2px solid #18eaff !important;
  border-radius:9px !important;
  background:rgba(2,8,20,.98) !important;
  color:#fff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:16px !important;
  line-height:1 !important;
  font-weight:900 !important;
  text-decoration:none !important;
  box-shadow:0 0 16px rgba(24,234,255,.58),inset 0 0 12px rgba(24,234,255,.10) !important;
}
/* reset every old generated book layer */
.space2047-books-popup .space2047-book-cover-slot{
  order:1 !important;
  position:relative !important;
  display:block !important;
  width:174px !important;
  height:252px !important;
  min-width:174px !important;
  min-height:252px !important;
  margin:0 auto !important;
  padding:0 !important;
  overflow:visible !important;
  background:transparent !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  transform:none !important;
  isolation:isolate !important;
}
/* one slim page edge only */
.space2047-books-popup .space2047-book-cover-slot::after{
  content:"" !important;
  position:absolute !important;
  z-index:1 !important;
  right:9px !important;
  top:16px !important;
  width:15px !important;
  height:218px !important;
  border-radius:0 10px 10px 0 !important;
  background:linear-gradient(90deg,#f2ecd4 0%,#c7bea3 58%,#827c6e 100%) !important;
  box-shadow:6px 5px 0 rgba(0,0,0,.58) !important;
  transform:none !important;
  pointer-events:none !important;
}
/* one front cover base behind the image */
.space2047-books-popup .space2047-book-cover-slot::before{
  content:"" !important;
  position:absolute !important;
  z-index:2 !important;
  left:12px !important;
  top:8px !important;
  width:142px !important;
  height:232px !important;
  border-radius:8px 12px 12px 8px !important;
  background:#06101f !important;
  box-shadow:0 16px 20px rgba(0,0,0,.68),0 0 14px rgba(24,234,255,.14) !important;
  transform:none !important;
  pointer-events:none !important;
}
/* image is the actual book front face - no separate border edge */
.space2047-books-popup .space2047-book-cover-slot img{
  position:absolute !important;
  z-index:3 !important;
  left:12px !important;
  top:8px !important;
  width:142px !important;
  height:232px !important;
  min-width:142px !important;
  min-height:232px !important;
  max-width:142px !important;
  max-height:232px !important;
  display:block !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  border-radius:8px 12px 12px 8px !important;
  object-fit: contain !important;
  object-position:center center !important;
  background:#06101f !important;
  box-shadow:none !important;
  transform:none !important;
}
.space2047-books-popup .space2047-book-cover-slot img.woocommerce-placeholder,
.space2047-books-popup .space2047-book-cover-slot img[src*="placeholder"]{
  object-fit:contain !important;
  padding:18px !important;
  background:linear-gradient(180deg,#f8f8f8,#ececec) !important;
}
@media(max-width:620px){
  .space2047-books-popup{padding:10px !important;}
  .space2047-books-popup-panel{
    width:94vw !important;
    max-height:82vh !important;
    padding:34px 34px 40px 20px !important;
    border-width:3px !important;
    border-radius:24px !important;
  }
  .space2047-books-popup-panel h2{font-size:clamp(34px,9vw,54px) !important;margin:0 38px 12px !important;}
  .space2047-books-popup-subtitle{font-size:clamp(18px,4.4vw,24px) !important;margin-bottom:34px !important;}
  .space2047-books-shelves{gap:42px !important;padding:0 4px 8px !important;}
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:16px !important;
    min-height:276px !important;
    padding:0 10px 30px !important;
    background:linear-gradient(180deg,rgba(70,33,11,.50),rgba(18,9,4,.80)) !important;
  }
  .space2047-book-shelf-row::before{height:28px !important;border-radius:10px !important;}
  .space2047-book-shelf-row::after{bottom:28px !important;height:8px !important;}
  .space2047-book-action-top{min-height:66px !important;gap:8px !important;}
  .space2047-book-action-top h3{font-size:clamp(15px,4.0vw,20px) !important;}
  .space2047-book-buy-now{min-width:94px !important;padding:8px 10px !important;font-size:13px !important;border-radius:8px !important;}
  .space2047-books-popup .space2047-book-cover-slot{
    width:118px !important;
    height:172px !important;
    min-width:118px !important;
    min-height:172px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    right:8px !important;
    top:11px !important;
    width:10px !important;
    height:150px !important;
    border-radius:0 8px 8px 0 !important;
    box-shadow:4px 4px 0 rgba(0,0,0,.55) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::before{
    left:8px !important;
    top:5px !important;
    width:96px !important;
    height:160px !important;
    border-radius:6px 9px 9px 6px !important;
    box-shadow:0 11px 14px rgba(0,0,0,.66),0 0 11px rgba(24,234,255,.14) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    left:8px !important;
    top:5px !important;
    width:96px !important;
    height:160px !important;
    min-width:96px !important;
    min-height:160px !important;
    max-width:96px !important;
    max-height:160px !important;
    border-radius:6px 9px 9px 6px !important;
  }
}
@media(max-width:390px){
  .space2047-books-popup-panel{padding-left:16px !important;padding-right:30px !important;}
  .space2047-book-shelf-row{gap:10px !important;padding-left:6px !important;padding-right:6px !important;}
  .space2047-books-popup .space2047-book-cover-slot{width:108px !important;height:160px !important;min-width:108px !important;min-height:160px !important;}
  .space2047-books-popup .space2047-book-cover-slot::after{right:7px !important;height:140px !important;}
  .space2047-books-popup .space2047-book-cover-slot::before,
  .space2047-books-popup .space2047-book-cover-slot img{width:88px !important;height:148px !important;min-width:88px !important;min-height:148px !important;max-width:88px !important;max-height:148px !important;}
}

/* BENJAMIN EMERGENCY FIX: make WooCommerce featured images fully visible on the book front.
   This avoids cropping the product title (for example Space 2047) and keeps one clean book. */
.space2047-books-popup .space2047-book-cover-slot{
  overflow:visible !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  background:#06101f !important;
}
.space2047-books-popup .space2047-book-cover-slot img:not(.woocommerce-placeholder){
  object-fit:contain !important;
  object-position:center center !important;
  background:#06101f !important;
  padding:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}
@media(max-width:620px){
  .space2047-books-popup .space2047-book-cover-slot img:not(.woocommerce-placeholder){
    width:88px !important;
    height:150px !important;
    min-width:88px !important;
    min-height:150px !important;
    max-width:88px !important;
    max-height:150px !important;
    left:12px !important;
    top:10px !important;
  }
}
@media(max-width:390px){
  .space2047-books-popup .space2047-book-cover-slot img:not(.woocommerce-placeholder){
    width:82px !important;
    height:138px !important;
    min-width:82px !important;
    min-height:138px !important;
    max-width:82px !important;
    max-height:138px !important;
    left:11px !important;
    top:10px !important;
  }
}


/* =========================================================
   FINAL BOOK POPUP SCROLL FIX — COPY THE WORKING MENU METHOD
   The book popup panel now behaves like the slide menu:
   fixed full-height panel + real native scroll.
   ========================================================= */

html body.space2047-books-popup-open{
    overflow:hidden !important;
}

/* Full-screen overlay holder */
html body .space2047-books-popup{
    position:fixed !important;
    inset:0 !important;
    z-index:999999 !important;
    display:none !important;
    align-items:stretch !important;
    justify-content:center !important;
    padding:0 !important;
    overflow:hidden !important;
    background:rgba(0,0,0,.76) !important;
    box-sizing:border-box !important;
}

html body .space2047-books-popup.is-open{
    display:flex !important;
}

/* Backdrop sits behind the scrolling panel */
html body .space2047-books-popup-backdrop{
    position:absolute !important;
    inset:0 !important;
    z-index:1 !important;
    background:rgba(0,0,0,.72) !important;
    backdrop-filter:blur(4px) !important;
}

/* THIS is now the real scroll container, just like .slide-menu */
html body .space2047-books-popup-panel{
    position:relative !important;
    z-index:2 !important;

    width:min(940px,100vw) !important;
    height:72vh !important;
    height:72vh !important;
    max-height:72vh !important;
    max-height:72vh !important;

    margin:0 auto !important;
    padding:82px 34px 90px 28px !important;

    overflow-y:auto !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior:contain !important;

    border-left:4px solid #18eaff !important;
    border-right:4px solid #18eaff !important;
    border-top:0 !important;
    border-bottom:0 !important;
    border-radius:0 !important;

    background:
        radial-gradient(circle at 50% 8%,rgba(24,234,255,.12),transparent 34%),
        linear-gradient(180deg,rgba(2,8,22,.99),rgba(2,6,18,.99)) !important;

    box-shadow:
        0 0 44px rgba(24,234,255,.38),
        inset 0 0 34px rgba(24,234,255,.07) !important;

    box-sizing:border-box !important;

    scrollbar-width:auto !important;
    scrollbar-color:#ffd400 rgba(0,8,30,.95) !important;
}

/* Native yellow scrollbar */
html body .space2047-books-popup-panel::-webkit-scrollbar{
    width:16px !important;
    display:block !important;
    background:rgba(0,8,30,.95) !important;
}

html body .space2047-books-popup-panel::-webkit-scrollbar-track{
    background:rgba(0,8,30,.95) !important;
    border-left:1px solid rgba(24,234,255,.55) !important;
    box-shadow:inset 0 0 8px rgba(24,234,255,.25) !important;
    border-radius:999px !important;
}

html body .space2047-books-popup-panel::-webkit-scrollbar-thumb{
    background:#ffd400 !important;
    border-radius:999px !important;
    border:2px solid rgba(0,8,30,.95) !important;
    box-shadow:0 0 12px rgba(255,212,0,.95) !important;
    min-height:64px !important;
}

html body .space2047-books-popup-panel::-webkit-scrollbar-corner{
    background:transparent !important;
}

/* Keep close button visible while scrolling */
html body .space2047-books-popup-close{
    position:fixed !important;
    top:calc(env(safe-area-inset-top, 0px) + 18px) !important;
    right:calc(env(safe-area-inset-right, 0px) + 18px) !important;
    z-index:1000000 !important;
    width:52px !important;
    height:52px !important;
    border:3px solid #18eaff !important;
    border-radius:999px !important;
    background:rgba(2,8,22,.96) !important;
    color:#fff !important;
    font-size:34px !important;
    line-height:44px !important;
    box-shadow:0 0 22px rgba(24,234,255,.62) !important;
}

/* Mobile tuning */
@media(max-width:760px){
    html body .space2047-books-popup-panel{
        width:100vw !important;
        height:72vh !important;
        height:72vh !important;
        max-height:72vh !important;
        max-height:72vh !important;

        padding:
            calc(env(safe-area-inset-top, 0px) + 96px)
            24px
            calc(env(safe-area-inset-bottom, 0px) + 110px)
            16px !important;

        border-left:0 !important;
        border-right:0 !important;
    }

    html body .space2047-books-popup-panel h2{
        margin-left:44px !important;
        margin-right:44px !important;
    }
}


/* Restore popup border while keeping scrollbar working */
html body .space2047-books-popup-panel{
    border:4px solid #18eaff !important;
    border-radius:28px !important;
    box-shadow:
        0 0 34px rgba(24,234,255,.45),
        inset 0 0 24px rgba(24,234,255,.08) !important;
}


/* Latest blog posts slider spacing fix */
.space2047-latest-posts-slider .slick-list,
.space2047-blog-slider .slick-list,
.space2047-post-slider .slick-list{
    margin:0 -14px !important;
}

.space2047-latest-posts-slider .slick-slide,
.space2047-blog-slider .slick-slide,
.space2047-post-slider .slick-slide{
    padding:0 14px !important;
    box-sizing:border-box !important;
}

/* Prevent cards touching each other */
.space2047-latest-post-card,
.space2047-blog-card,
.space2047-post-card{
    margin:0 !important;
}


/* Stronger latest blog posts slider separation fix */
.space2047-latest-posts-slider .slick-list,
.space2047-blog-slider .slick-list,
.space2047-post-slider .slick-list{
    margin:0 -28px !important;
    padding:0 28px !important;
    overflow:hidden !important;
}

.space2047-latest-posts-slider .slick-track,
.space2047-blog-slider .slick-track,
.space2047-post-slider .slick-track{
    display:flex !important;
    gap:34px !important;
    align-items:stretch !important;
}

.space2047-latest-posts-slider .slick-slide,
.space2047-blog-slider .slick-slide,
.space2047-post-slider .slick-slide{
    padding:0 !important;
    margin:0 !important;
    box-sizing:border-box !important;
}

.space2047-latest-posts-slider .slick-slide > div,
.space2047-blog-slider .slick-slide > div,
.space2047-post-slider .slick-slide > div{
    height:100% !important;
}

/* Pull each card slightly inward so cyan borders cannot touch neighbouring slides */
.space2047-latest-post-card,
.space2047-blog-card,
.space2047-post-card{
    margin:0 10px !important;
    box-sizing:border-box !important;
}

/* Mobile: keep a visible gap without making cards too narrow */
@media(max-width:760px){
    .space2047-latest-posts-slider .slick-track,
    .space2047-blog-slider .slick-track,
    .space2047-post-slider .slick-track{
        gap:42px !important;
    }

    .space2047-latest-post-card,
    .space2047-blog-card,
    .space2047-post-card{
        margin:0 14px !important;
    }
}


/* =====================================================
   Latest posts slider REAL separation fix
   Prevents neighbouring cyan borders touching
   and moves arrows away from card edges
   ===================================================== */

.space2047-latest-posts-slider,
.space2047-blog-slider,
.space2047-post-slider{
    overflow:hidden !important;
    padding:0 26px !important;
    box-sizing:border-box !important;
}

/* force genuine spacing between slides */
.space2047-latest-posts-slider .slick-slide,
.space2047-blog-slider .slick-slide,
.space2047-post-slider .slick-slide{
    padding-right:34px !important;
    box-sizing:border-box !important;
}

/* prevent inner card from stretching into neighbour */
.space2047-latest-post-card,
.space2047-blog-card,
.space2047-post-card{
    width:calc(100% - 10px) !important;
    margin-right:24px !important;
    box-sizing:border-box !important;
}

/* move arrows into open gap instead of over borders */
.space2047-latest-posts-slider .slick-prev,
.space2047-blog-slider .slick-prev,
.space2047-post-slider .slick-prev{
    left:-6px !important;
    z-index:50 !important;
}

.space2047-latest-posts-slider .slick-next,
.space2047-blog-slider .slick-next,
.space2047-post-slider .slick-next{
    right:-6px !important;
    z-index:50 !important;
}

/* mobile tuning */
@media(max-width:760px){

    .space2047-latest-posts-slider .slick-slide,
    .space2047-blog-slider .slick-slide,
    .space2047-post-slider .slick-slide{
        padding-right:46px !important;
    }

    .space2047-latest-post-card,
    .space2047-blog-card,
    .space2047-post-card{
        margin-right:30px !important;
    }

    .space2047-latest-posts-slider .slick-prev{
        left:-2px !important;
    }

    .space2047-latest-posts-slider .slick-next{
        right:-2px !important;
    }
}


/* =========================================================
   Latest Blog Posts — proper separated card layout
   Gives the visible post borders a clear gap like the approved mockup.
   ========================================================= */

.space2047-latest-posts,
.space2047-blog-posts,
.space2047-posts-section{
    overflow:hidden !important;
}

/* Give the slider room inside the section so cards do not touch the section edge */
.space2047-latest-posts-slider,
.space2047-blog-slider,
.space2047-post-slider{
    width:100% !important;
    max-width:100% !important;
    padding:0 54px !important;
    overflow:hidden !important;
    box-sizing:border-box !important;
}

/* Reset earlier flex/gap experiments that made Slick slide maths overlap */
.space2047-latest-posts-slider .slick-track,
.space2047-blog-slider .slick-track,
.space2047-post-slider .slick-track{
    display:block !important;
    gap:0 !important;
}

/* The actual gap comes from slide padding, which Slick handles reliably */
.space2047-latest-posts-slider .slick-slide,
.space2047-blog-slider .slick-slide,
.space2047-post-slider .slick-slide{
    padding:0 28px !important;
    box-sizing:border-box !important;
}

/* Keep the card comfortably inside each slide so cyan borders never touch */
.space2047-latest-post-card,
.space2047-blog-card,
.space2047-post-card,
.space2047-latest-posts-slider article,
.space2047-blog-slider article,
.space2047-post-slider article{
    width:100% !important;
    max-width:100% !important;
    margin:0 auto !important;
    box-sizing:border-box !important;
}

/* Move arrows outside the card gap, not on top of the card borders */
.space2047-latest-posts-slider .slick-prev,
.space2047-blog-slider .slick-prev,
.space2047-post-slider .slick-prev{
    left:4px !important;
    z-index:80 !important;
}

.space2047-latest-posts-slider .slick-next,
.space2047-blog-slider .slick-next,
.space2047-post-slider .slick-next{
    right:4px !important;
    z-index:80 !important;
}

/* Mobile: show two cards with a visible centre gap, like the approved visual */
@media(max-width:760px){

    .space2047-latest-posts-slider,
    .space2047-blog-slider,
    .space2047-post-slider{
        padding:0 38px !important;
    }

    .space2047-latest-posts-slider .slick-slide,
    .space2047-blog-slider .slick-slide,
    .space2047-post-slider .slick-slide{
        padding:0 20px !important;
    }

    .space2047-latest-post-card,
    .space2047-blog-card,
    .space2047-post-card,
    .space2047-latest-posts-slider article,
    .space2047-blog-slider article,
    .space2047-post-slider article{
        transform:scale(.96) !important;
        transform-origin:center center !important;
    }

    .space2047-latest-posts-slider .slick-prev,
    .space2047-blog-slider .slick-prev,
    .space2047-post-slider .slick-prev{
        left:2px !important;
    }

    .space2047-latest-posts-slider .slick-next,
    .space2047-blog-slider .slick-next,
    .space2047-post-slider .slick-next{
        right:2px !important;
    }
}





/* =========================================================
   FINAL REPAIR: CLEAN BOOK POPUP BACKGROUND + ONE INSIDE BAR
   13 May 2026
   ========================================================= */
html body.space2047-books-popup-open{
    overflow:hidden !important;
}

html body .space2047-books-popup{
    overflow:hidden !important;
}

html body .space2047-books-popup-panel{
    position:relative !important;
    width:min(760px,94vw) !important;
    height:72vh !important;
    max-height:72vh !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    -webkit-overflow-scrolling:touch !important;
    touch-action:pan-y !important;
    overscroll-behavior:contain !important;
    box-sizing:border-box !important;
    padding-right:56px !important;
    background:#020814 !important;
    background-image:none !important;
    background-repeat:no-repeat !important;
    border:4px solid #18f7ff !important;
    border-radius:28px !important;
    box-shadow:0 0 34px rgba(24,247,255,.75),0 0 90px rgba(24,247,255,.28),inset 0 0 46px rgba(0,0,0,.48) !important;
    isolation:isolate !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}

html body .space2047-books-popup-panel::-webkit-scrollbar,
html body .space2047-books-popup-panel::-webkit-scrollbar-track,
html body .space2047-books-popup-panel::-webkit-scrollbar-thumb,
html body .space2047-books-popup-panel::-webkit-scrollbar-corner{
    width:0 !important;
    height:0 !important;
    display:none !important;
    background:transparent !important;
}

/* One fixed wallpaper layer behind the content. It does not scroll or repeat. */
html body .space2047-books-popup-panel::before{
    content:"" !important;
    display:block !important;
    visibility:visible !important;
    opacity:.72 !important;
    position:sticky !important;
    top:0 !important;
    float:left !important;
    width:100% !important;
    height:72vh !important;
    margin-bottom:-72vh !important;
    pointer-events:none !important;
    z-index:0 !important;
    background-image:linear-gradient(180deg,rgba(0,0,0,.10),rgba(0,0,0,.34)),url('assets/images/popup-space-bg-clean.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    border-radius:22px !important;
}

html body .space2047-books-popup-panel > *{
    position:relative !important;
    z-index:2 !important;
}

/* Remove any wallpaper from the inner product/content boxes to stop ghosting. */
html body .space2047-books-grid,
html body .space2047-book-shelf-row,
html body .space2047-books-list,
html body .space2047-books-products,
html body .space2047-books-popup-content,
html body .space2047-books-popup-inner,
html body .space2047-books-popup-scroll{
    background-image:none !important;
    background-repeat:no-repeat !important;
}

html body .space2047-books-grid,
html body .space2047-book-shelf-row,
html body .space2047-books-list,
html body .space2047-books-products{
    background:rgba(0,9,24,.50) !important;
    border:1px solid rgba(24,247,255,.34) !important;
    box-shadow:0 0 24px rgba(24,247,255,.16), inset 0 0 24px rgba(0,0,0,.34) !important;
    backdrop-filter:blur(2px) !important;
}

/* Kill old escaping/fixed bars and keep only our inside rail. */
html body .space2047-books-custom-scrollbar,
html body .space2047-books-custom-scrollbar-thumb{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
}

html body .space2047-books-inside-scrollbar{
    position:sticky !important;
    top:12px !important;
    float:right !important;
    width:20px !important;
    height:calc(72vh - 30px) !important;
    margin-right:-42px !important;
    margin-left:16px !important;
    border-radius:999px !important;
    background:rgba(2,10,31,.96) !important;
    border:2px solid rgba(255,234,0,.70) !important;
    box-shadow:inset 0 0 8px rgba(255,234,0,.34),0 0 12px rgba(255,234,0,.34) !important;
    z-index:50 !important;
    pointer-events:none !important;
}

html body .space2047-books-inside-scrollbar-thumb{
    position:absolute !important;
    top:4px !important;
    left:3px !important;
    right:3px !important;
    min-height:82px !important;
    border-radius:999px !important;
    background:#ffea00 !important;
    box-shadow:0 0 16px rgba(255,234,0,.96), inset 0 0 4px rgba(255,255,255,.42) !important;
}

html body .space2047-books-popup-panel h2,
html body .space2047-books-popup-panel .space2047-books-popup-subtitle,
html body .space2047-books-popup-panel .space2047-books-shelves{
    clear:none !important;
}

@media(max-width:760px){
    html body .space2047-books-popup-panel{
        width:96vw !important;
        height:72vh !important;
        max-height:72vh !important;
        padding-right:52px !important;
        border-radius:24px !important;
    }
    html body .space2047-books-popup-panel::before{
        height:72vh !important;
        margin-bottom:-72vh !important;
        background-position:center center !important;
        border-radius:18px !important;
    }
    html body .space2047-books-inside-scrollbar{
        width:18px !important;
        height:calc(72vh - 28px) !important;
        margin-right:-38px !important;
        top:10px !important;
    }
    html body .space2047-books-inside-scrollbar-thumb{
        left:3px !important;
        right:3px !important;
        min-height:76px !important;
    }
}


/* =========================================================
   FINAL FIX: SPACE POPUP BACKGROUND COVERS THE WHOLE BOX
   ========================================================= */
html body .space2047-books-popup-panel{
    position:relative !important;
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    background-color:#020814 !important;
    background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28)),url('assets/images/popup-space-bg-clean.jpg') !important;
    background-size:cover !important;
    background-position:center center !important;
    background-repeat:no-repeat !important;
    background-origin:border-box !important;
    background-clip:border-box !important;
}

/* Disable the old floating wallpaper layer so it cannot crop or duplicate. */
html body .space2047-books-popup-panel::before{
    content:none !important;
    display:none !important;
    background:none !important;
}

/* Keep every content area transparent so the single panel image shows through. */
html body .space2047-books-popup-content,
html body .space2047-books-popup-inner,
html body .space2047-books-popup-scroll,
html body .space2047-books-shelves{
    background:transparent !important;
    background-image:none !important;
}

/* Product shelf remains readable but transparent enough to show the space wallpaper. */
html body .space2047-books-grid,
html body .space2047-book-shelf-row,
html body .space2047-books-list,
html body .space2047-books-products{
    background:rgba(0,9,24,.38) !important;
    background-image:none !important;
}

@media(max-width:760px){
    html body .space2047-books-popup-panel{
        background-size:cover !important;
        background-position:center center !important;
        background-repeat:no-repeat !important;
    }
}

/* =========================================================
   FINAL FIX: PLACE THE BOOK POPUP X IN THE TOP RIGHT CORNER
   ========================================================= */
html body .space2047-books-popup-panel{
    position:relative !important;
}

html body .space2047-books-popup-close{
    position:absolute !important;
    top:18px !important;
    right:18px !important;
    left:auto !important;
    bottom:auto !important;
    transform:none !important;
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding:0 !important;
    margin:0 !important;
    z-index:999999 !important;
    border:3px solid #18eaff !important;
    border-radius:999px !important;
    background:rgba(2,8,22,.96) !important;
    color:#ffffff !important;
    font-size:38px !important;
    line-height:1 !important;
    font-weight:900 !important;
    box-shadow:0 0 22px rgba(24,234,255,.72), inset 0 0 12px rgba(24,234,255,.12) !important;
}

@media(max-width:760px){
    html body .space2047-books-popup-close{
        top:18px !important;
        right:18px !important;
        width:56px !important;
        height:56px !important;
        min-width:56px !important;
        min-height:56px !important;
        font-size:36px !important;
    }
}


/* =========================================================
   HARD FINAL POPUP FIX: full-cover background, top-right X,
   one permanent inside yellow scrollbar, install-safe build.
   ========================================================= */
html body.space2047-books-popup-open{overflow:hidden!important;}
html body .space2047-books-popup{overflow:hidden!important;}
html body .space2047-books-popup-panel{
    position:relative!important;
    width:min(760px,94vw)!important;
    height:72vh!important;
    max-height:72vh!important;
    overflow-y:scroll!important;
    overflow-x:hidden!important;
    -webkit-overflow-scrolling:touch!important;
    touch-action:pan-y!important;
    overscroll-behavior:contain!important;
    box-sizing:border-box!important;
    padding-right:56px!important;
    background-color:#020814!important;
    background-image:linear-gradient(180deg,rgba(0,0,0,.04),rgba(0,0,0,.28)),url('assets/images/popup-space-bg-clean.jpg')!important;
    background-size:cover!important;
    background-position:center center!important;
    background-repeat:no-repeat!important;
    background-origin:border-box!important;
    background-clip:border-box!important;
    border:4px solid #18f7ff!important;
    border-radius:28px!important;
    box-shadow:0 0 34px rgba(24,247,255,.75),0 0 90px rgba(24,247,255,.28),inset 0 0 46px rgba(0,0,0,.48)!important;
    isolation:isolate!important;
    scrollbar-width:none!important;
    -ms-overflow-style:none!important;
}
html body .space2047-books-popup-panel::before,
html body .space2047-books-popup-panel::after{content:none!important;display:none!important;background:none!important;}
html body .space2047-books-popup-panel::-webkit-scrollbar,
html body .space2047-books-popup-panel::-webkit-scrollbar-track,
html body .space2047-books-popup-panel::-webkit-scrollbar-thumb,
html body .space2047-books-popup-panel::-webkit-scrollbar-corner{width:0!important;height:0!important;display:none!important;background:transparent!important;}
html body .space2047-books-popup-content,
html body .space2047-books-popup-inner,
html body .space2047-books-popup-scroll,
html body .space2047-books-shelves{background:transparent!important;background-image:none!important;}
html body .space2047-books-grid,
html body .space2047-book-shelf-row,
html body .space2047-books-list,
html body .space2047-books-products{background:rgba(0,9,24,.38)!important;background-image:none!important;}
html body .space2047-books-custom-scrollbar,
html body .space2047-books-custom-scrollbar-thumb{display:none!important;visibility:hidden!important;opacity:0!important;pointer-events:none!important;}
html body .space2047-books-inside-scrollbar{position:sticky!important;top:12px!important;float:right!important;width:20px!important;height:calc(72vh - 30px)!important;margin-right:-42px!important;margin-left:16px!important;border-radius:999px!important;background:rgba(2,10,31,.96)!important;border:2px solid rgba(255,234,0,.70)!important;box-shadow:inset 0 0 8px rgba(255,234,0,.34),0 0 12px rgba(255,234,0,.34)!important;z-index:99990!important;pointer-events:none!important;}
html body .space2047-books-inside-scrollbar-thumb{position:absolute!important;top:4px!important;left:3px!important;right:3px!important;min-height:82px!important;border-radius:999px!important;background:#ffea00!important;box-shadow:0 0 16px rgba(255,234,0,.96),inset 0 0 4px rgba(255,255,255,.42)!important;}
html body .space2047-books-popup-close{position:absolute!important;top:18px!important;right:18px!important;left:auto!important;bottom:auto!important;transform:none!important;width:58px!important;height:58px!important;min-width:58px!important;min-height:58px!important;display:flex!important;align-items:center!important;justify-content:center!important;padding:0!important;margin:0!important;z-index:999999!important;border:3px solid #18eaff!important;border-radius:999px!important;background:rgba(2,8,22,.96)!important;color:#fff!important;font-size:38px!important;line-height:1!important;font-weight:900!important;box-shadow:0 0 22px rgba(24,234,255,.72),inset 0 0 12px rgba(24,234,255,.12)!important;}
@media(max-width:760px){
    html body .space2047-books-popup-panel{width:96vw!important;height:72vh!important;max-height:72vh!important;padding-right:52px!important;border-radius:24px!important;background-size:cover!important;background-position:center center!important;}
    html body .space2047-books-inside-scrollbar{width:18px!important;height:calc(72vh - 28px)!important;margin-right:-38px!important;top:10px!important;}
    html body .space2047-books-inside-scrollbar-thumb{left:3px!important;right:3px!important;min-height:76px!important;}
    html body .space2047-books-popup-close{top:18px!important;right:18px!important;width:56px!important;height:56px!important;min-width:56px!important;min-height:56px!important;font-size:36px!important;}
}


/* Floating Contact Button */
.space2047-floating-contact{
    position:fixed;
    top:18px;
    right:18px;
    z-index:99999;
    padding:14px 24px;
    border-radius:999px;
    background:#ffe600;
    color:#111 !important;
    font-weight:900;
    text-decoration:none;
    letter-spacing:1px;
    box-shadow:0 0 18px rgba(255,230,0,0.8);
}


/* Hide old header contact button */
.contact-pill,
a.contact-pill{
    display:none !important;
}


/* Floating Subscribe Button - placed left of Contact */
.space2047-floating-subscribe{
    position:fixed;
    top:18px;
    right:178px;
    z-index:99999;
    padding:14px 24px;
    border-radius:999px;
    background:#00e5ff;
    color:#061018 !important;
    font-weight:900;
    text-decoration:none;
    letter-spacing:1px;
    box-shadow:0 0 18px rgba(0,229,255,0.8);
    cursor:pointer;
    border:0;
}

/* Subscribe Popup */
.space2047-subscribe-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.72);
    z-index:100000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
}

.space2047-subscribe-overlay.active{
    display:flex;
}

.space2047-subscribe-popup{
    width:min(92vw,520px);
    background:linear-gradient(180deg,#071733,#020714);
    border:3px solid #00e5ff;
    border-radius:28px;
    box-shadow:0 0 32px rgba(0,229,255,0.65), inset 0 0 24px rgba(255,230,0,0.12);
    padding:28px;
    color:#fff;
    position:relative;
    text-align:center;
}

.space2047-subscribe-close{
    position:absolute;
    top:10px;
    right:14px;
    width:44px;
    height:44px;
    border-radius:50%;
    border:2px solid #ffe600;
    background:#111;
    color:#ffe600;
    font-size:28px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
}

.space2047-subscribe-popup h2{
    margin:8px 48px 12px;
    color:#ffe600;
    font-size:clamp(24px,5vw,38px);
    text-shadow:0 0 12px rgba(255,230,0,0.7);
}

.space2047-subscribe-popup p{
    margin:0 0 20px;
    color:#dff9ff;
    font-size:16px;
}

.space2047-subscribe-popup label{
    display:block;
    text-align:left;
    color:#ffe600;
    font-weight:800;
    margin:14px 0 6px;
}

.space2047-subscribe-popup input{
    width:100%;
    box-sizing:border-box;
    border-radius:16px;
    border:2px solid rgba(0,229,255,0.8);
    padding:14px 16px;
    background:#fff;
    color:#111;
    font-size:16px;
}

.space2047-subscribe-submit{
    width:100%;
    margin-top:20px;
    padding:15px 20px;
    border:0;
    border-radius:999px;
    background:#ffe600;
    color:#111;
    font-weight:900;
    letter-spacing:1px;
    cursor:pointer;
    box-shadow:0 0 18px rgba(255,230,0,0.7);
}

.space2047-subscribe-message{
    margin-top:14px;
    font-weight:800;
    color:#00e5ff;
}

@media(max-width:640px){
    .space2047-floating-contact{
        top:12px;
        right:12px;
        padding:11px 14px;
        font-size:12px;
    }
    .space2047-floating-subscribe{
        top:12px;
        right:132px;
        padding:11px 14px;
        font-size:12px;
    }
}


/* Move floating buttons to bottom left */
.space2047-floating-contact{
    top:auto !important;
    right:auto !important;
    bottom:18px !important;
    left:18px !important;
}

.space2047-floating-subscribe{
    top:auto !important;
    right:auto !important;
    bottom:18px !important;
    left:220px !important;
}

@media(max-width:640px){
    .space2047-floating-contact{
        bottom:12px !important;
        left:12px !important;
    }

    .space2047-floating-subscribe{
        bottom:12px !important;
        left:150px !important;
    }
}


/* Restored Contact Popup - admin storage only */
.space2047-contact-overlay{
    position:fixed;
    inset:0;
    background:rgba(0,0,0,0.72);
    z-index:100000;
    display:none;
    align-items:center;
    justify-content:center;
    padding:20px;
    box-sizing:border-box;
    max-width:100vw;
    overflow-x:hidden;
}

.space2047-contact-overlay.active{
    display:flex;
}

.space2047-contact-popup{
    width:calc(100vw - 32px);
    max-width:560px;
    box-sizing:border-box;
    background:linear-gradient(180deg,#071733,#020714);
    border:3px solid #ffe600;
    border-radius:28px;
    box-shadow:0 0 32px rgba(255,230,0,0.65), inset 0 0 24px rgba(0,229,255,0.12);
    padding:28px;
    color:#fff;
    position:relative;
    text-align:center;
    overflow-wrap:anywhere;
}

.space2047-contact-popup *{
    box-sizing:border-box;
    max-width:100%;
}

.space2047-contact-close{
    position:absolute;
    top:10px;
    right:14px;
    width:44px;
    height:44px;
    border-radius:50%;
    border:2px solid #00e5ff;
    background:#111;
    color:#00e5ff;
    font-size:28px;
    font-weight:900;
    line-height:1;
    cursor:pointer;
}

.space2047-contact-popup h2{
    margin:8px 48px 12px;
    color:#ffe600;
    font-size:clamp(24px,5vw,38px);
    text-shadow:0 0 12px rgba(255,230,0,0.7);
}

.space2047-contact-popup p{
    margin:0 0 18px;
    color:#dff9ff;
    font-size:16px;
}

.space2047-contact-popup label{
    display:block;
    text-align:left;
    color:#ffe600;
    font-weight:800;
    margin:12px 0 6px;
}

.space2047-contact-popup input,
.space2047-contact-popup textarea{
    width:100%;
    border-radius:16px;
    border:2px solid rgba(0,229,255,0.8);
    padding:14px 16px;
    background:#fff;
    color:#111;
    font-size:16px;
}

.space2047-contact-popup textarea{
    min-height:130px;
    resize:vertical;
}

.space2047-contact-submit{
    width:100%;
    margin-top:20px;
    padding:15px 20px;
    border:0;
    border-radius:999px;
    background:#ffe600;
    color:#111;
    font-weight:900;
    letter-spacing:1px;
    cursor:pointer;
    box-shadow:0 0 18px rgba(255,230,0,0.7);
}

.space2047-contact-message{
    margin-top:14px;
    font-weight:800;
    color:#00e5ff;
    white-space:normal;
    overflow-wrap:anywhere;
}

@media(max-width:640px){
    .space2047-contact-popup{
        padding:22px 16px;
        border-radius:22px;
    }
    .space2047-contact-popup h2{
        margin-left:42px;
        margin-right:42px;
    }
}


/* Centre the existing SPACE 2047 + Comedy Sci-Fi text at the very top - CSS only */
.topbar,
.compact-topbar{
    position:relative !important;
}

.brand-block.compact-brand,
.compact-brand{
    position:absolute !important;
    top:8px !important;
    left:50% !important;
    transform:translateX(-50%) !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:12px !important;

    width:auto !important;
    max-width:72vw !important;
    margin:0 !important;
    padding:0 !important;

    text-align:center !important;
    white-space:nowrap !important;
    z-index:50 !important;
}

.compact-brand .brand-title,
.compact-brand .site-title,
.compact-brand h1,
.compact-brand .space2047-main-title{
    margin:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
}

.compact-brand .tagline,
.compact-brand .brand-subtitle,
.compact-brand .space2047-tagline,
.compact-brand p{
    display:inline-block !important;
    margin:0 !important;
    line-height:1 !important;
    white-space:nowrap !important;
    text-align:left !important;
}

@media(max-width:640px){
    .brand-block.compact-brand,
    .compact-brand{
        top:10px !important;
        gap:7px !important;
        max-width:66vw !important;
        transform:translateX(-50%) scale(0.82) !important;
        transform-origin:center top !important;
    }
}


/* Floating Music Notes / Speakers Icon */
.space2047-music-menu-button{
    position:fixed;
    top:42px;
    left:120px;
    z-index:99990;

    width:74px;
    height:74px;
    border-radius:22px;

    border:3px solid #00e5ff;
    background:linear-gradient(135deg,#08061f,#241044,#050b18);
    color:#ffe600;

    display:flex;
    align-items:center;
    justify-content:center;
    gap:4px;

    font-size:30px;
    font-weight:900;
    cursor:pointer;

    box-shadow:0 0 22px rgba(0,229,255,0.85), inset 0 0 18px rgba(255,230,0,0.18);
}

.space2047-music-menu-button span{
    line-height:1;
    filter:drop-shadow(0 0 8px rgba(255,230,0,0.85));
}

/* Music Popup, based on menu popup style but independent */
.space2047-music-popup-overlay{
    position:fixed;
    inset:0;
    z-index:2147483646;
    display:none;
    background:rgba(0,0,0,0.55);
    backdrop-filter:blur(4px);
}

.space2047-music-popup-overlay.active{
    display:block;
}

.space2047-music-popup{
    position:fixed;
    z-index:2147483647;
    top:24px;
    left:50%;
    transform:translateX(-50%);

    width:min(94vw,680px);
    max-height:calc(100vh - 48px);

    border:4px solid #00e5ff;
    border-radius:34px;
    background:linear-gradient(180deg,rgba(4,8,28,0.98),rgba(18,0,38,0.98));
    box-shadow:0 0 28px rgba(0,229,255,0.9), inset 0 0 30px rgba(255,0,255,0.14);

    overflow:hidden;
    box-sizing:border-box;
    color:#fff;
}

.space2047-music-popup-close{
    position:absolute;
    top:18px;
    right:18px;
    z-index:3;

    width:62px;
    height:62px;
    border-radius:18px;

    border:3px solid #00e5ff;
    background:#050817;
    color:#fff;
    font-size:42px;
    font-weight:900;
    line-height:1;
    cursor:pointer;

    box-shadow:0 0 18px rgba(0,229,255,0.75);
}

.space2047-music-popup-scroll{
    max-height:calc(100vh - 48px);
    overflow-y:auto;
    overflow-x:hidden;
    padding:34px 30px 36px;
    box-sizing:border-box;

    scrollbar-width:auto;
    scrollbar-color:#ffe600 rgba(0,0,0,0.2);
}

.space2047-music-popup-scroll::-webkit-scrollbar{
    width:16px;
}

.space2047-music-popup-scroll::-webkit-scrollbar-track{
    background:rgba(0,0,0,0.28);
    border-radius:20px;
    margin:24px 0;
}

.space2047-music-popup-scroll::-webkit-scrollbar-thumb{
    background:#ffe600;
    border-radius:20px;
    box-shadow:0 0 14px rgba(255,230,0,0.95);
}

.space2047-music-popup-title{
    margin:10px 78px 10px 0;
    text-align:center;
    color:#00e5ff;
    font-size:clamp(34px,8vw,62px);
    line-height:1;
    text-transform:uppercase;
    text-shadow:0 0 18px rgba(0,229,255,0.95);
}

.space2047-music-popup-subtitle{
    text-align:center;
    margin:0 0 24px;
    color:#ff4dff;
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:1px;
}

.space2047-music-card{
    border:2px solid #00e5ff;
    border-radius:24px;
    padding:20px;
    margin:18px 0;
    background:linear-gradient(135deg,rgba(0,229,255,0.10),rgba(255,0,255,0.10));
    box-shadow:0 0 16px rgba(0,229,255,0.35);
    text-align:center;
}

.space2047-music-card h3{
    margin:0 0 10px;
    color:#ffe600;
    font-size:clamp(22px,5vw,34px);
    text-shadow:0 0 12px rgba(255,230,0,0.65);
}

.space2047-music-card p{
    margin:8px 0;
    line-height:1.5;
    color:#e8fbff;
}

.space2047-music-popup-button{
    display:inline-flex;
    align-items:center;
    justify-content:center;
    margin-top:14px;
    padding:14px 22px;
    border-radius:999px;
    border:2px solid #00e5ff;
    color:#fff !important;
    text-decoration:none;
    font-weight:900;
    letter-spacing:1px;
    background:linear-gradient(135deg,#090b2d,#3b0f65);
    box-shadow:0 0 16px rgba(0,229,255,0.7);
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:42px;
        left:104px;
        width:62px;
        height:62px;
        font-size:24px;
        border-radius:18px;
    }

    .space2047-music-popup{
        width:94vw;
        top:18px;
        max-height:calc(100vh - 36px);
        border-radius:28px;
    }

    .space2047-music-popup-scroll{
        max-height:calc(100vh - 36px);
        padding:28px 18px 32px;
    }

    .space2047-music-popup-close{
        width:54px;
        height:54px;
        font-size:34px;
    }
}


/* Align music icon with mega menu button */
.space2047-music-menu-button{
    top:18px !important;
    left:104px !important;
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:14px !important;
        left:86px !important;
    }
}


/* Music icon fixed above admin bar and matched to mega menu icon size */
.space2047-music-menu-button{
    position:fixed !important;
    top:8px !important;
    left:92px !important;

    width:64px !important;
    height:64px !important;

    border-radius:18px !important;

    z-index:999999 !important;

    font-size:26px !important;
}

.space2047-music-menu-button span{
    font-size:26px !important;
}

body.admin-bar .space2047-music-menu-button{
    top:38px !important;
}

@media(max-width:782px){
    body.admin-bar .space2047-music-menu-button{
        top:52px !important;
    }
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:8px !important;
        left:78px !important;

        width:56px !important;
        height:56px !important;

        font-size:22px !important;
    }

    .space2047-music-menu-button span{
        font-size:22px !important;
    }

    body.admin-bar .space2047-music-menu-button{
        top:46px !important;
    }
}


/* Realign music icon beside hamburger menu */
.space2047-music-menu-button{
    top:18px !important;
    left:96px !important;

    width:74px !important;
    height:74px !important;

    z-index:999999 !important;
}

.space2047-music-menu-button span{
    font-size:28px !important;
}

body.admin-bar .space2047-music-menu-button{
    top:18px !important;
}

@media(max-width:782px){
    body.admin-bar .space2047-music-menu-button{
        top:18px !important;
    }
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:18px !important;
        left:96px !important;

        width:74px !important;
        height:74px !important;
    }

    .space2047-music-menu-button span{
        font-size:28px !important;
    }

    body.admin-bar .space2047-music-menu-button{
        top:18px !important;
    }
}


/* Pixel-perfect alignment with hamburger menu */
.space2047-music-menu-button{
    position:fixed !important;

    top:20px !important;
    left:104px !important;

    width:74px !important;
    height:74px !important;

    margin:0 !important;
    padding:0 !important;

    border-radius:22px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    z-index:999999 !important;
}

.space2047-music-menu-button span{
    font-size:28px !important;
    line-height:1 !important;
}

body.admin-bar .space2047-music-menu-button{
    top:20px !important;
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:20px !important;
        left:104px !important;

        width:74px !important;
        height:74px !important;
    }

    body.admin-bar .space2047-music-menu-button{
        top:20px !important;
    }
}


/* Match hamburger menu size to speaker icon */
.space2047-menu-toggle,
.space2047-hamburger,
.hamburger-menu,
.menu-toggle{
    width:74px !important;
    height:74px !important;

    border-radius:22px !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 !important;
    box-sizing:border-box !important;
}

.space2047-menu-toggle svg,
.space2047-hamburger svg,
.hamburger-menu svg,
.menu-toggle svg{
    width:34px !important;
    height:34px !important;
}

.space2047-menu-toggle span,
.space2047-hamburger span,
.hamburger-menu span,
.menu-toggle span{
    font-size:34px !important;
    line-height:1 !important;
}

@media(max-width:640px){
    .space2047-menu-toggle,
    .space2047-hamburger,
    .hamburger-menu,
    .menu-toggle{
        width:74px !important;
        height:74px !important;
    }
}


/* Make hamburger and speaker icon visually identical */
.space2047-menu-toggle,
.space2047-hamburger,
.hamburger-menu,
.menu-toggle,
.space2047-music-menu-button{

    width:74px !important;
    height:74px !important;

    border:3px solid #00e5ff !important;
    border-radius:22px !important;

    box-sizing:border-box !important;

    display:flex !important;
    align-items:center !important;
    justify-content:center !important;

    padding:0 !important;
}

.space2047-menu-toggle svg,
.space2047-hamburger svg,
.hamburger-menu svg,
.menu-toggle svg{
    width:34px !important;
    height:34px !important;
}


/* Speaker icon tucked into bottom-left of hamburger menu */
.space2047-music-menu-button{
    top:46px !important;
    left:46px !important;

    width:42px !important;
    height:42px !important;

    border-width:2px !important;
    border-radius:14px !important;

    z-index:1000000 !important;

    box-shadow:0 0 14px rgba(0,229,255,0.85), inset 0 0 10px rgba(255,230,0,0.15) !important;
}

.space2047-music-menu-button span{
    font-size:16px !important;
    line-height:1 !important;
}

@media(max-width:640px){
    .space2047-music-menu-button{
        top:46px !important;
        left:46px !important;

        width:42px !important;
        height:42px !important;
    }

    .space2047-music-menu-button span{
        font-size:16px !important;
    }
}


/* FINAL FIX: move the sound/music icon up by 30px and force it above the hamburger button */
html body #space2047MusicMenuButton.space2047-music-menu-button,
html body .space2047-music-menu-button#space2047MusicMenuButton{
    position:fixed !important;
    top:16px !important;
    left:46px !important;
    width:42px !important;
    height:42px !important;
    border-width:2px !important;
    border-radius:14px !important;
    z-index:2147483001 !important;
    transform:none !important;
    margin:0 !important;
}
html body.admin-bar #space2047MusicMenuButton.space2047-music-menu-button,
html body.admin-bar .space2047-music-menu-button#space2047MusicMenuButton{
    top:16px !important;
}
html body #space2047MusicMenuButton.space2047-music-menu-button span,
html body .space2047-music-menu-button#space2047MusicMenuButton span{
    font-size:16px !important;
    line-height:1 !important;
}
@media(max-width:640px){
    html body #space2047MusicMenuButton.space2047-music-menu-button,
    html body .space2047-music-menu-button#space2047MusicMenuButton{
        top:16px !important;
        left:46px !important;
        width:42px !important;
        height:42px !important;
        z-index:2147483001 !important;
    }
}


/* FINAL SIZE FIX: speaker button matches the active hamburger menu button exactly */
html body #space2047MusicMenuButton.space2047-music-menu-button,
html body .space2047-music-menu-button#space2047MusicMenuButton{
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    min-height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
    border-width:3px !important;
    border-radius:18px !important;
    box-sizing:border-box !important;
}
html body #space2047MusicMenuButton.space2047-music-menu-button span,
html body .space2047-music-menu-button#space2047MusicMenuButton span{
    font-size:24px !important;
    line-height:1 !important;
}


/* Space 2047 header-image spacing fix: push the main book picture clearly below the small SPACE 2047 / Comedy Sci-Fi header text. */
body.home .wrap > header.topbar.compact-topbar,
body.home .wrap > .topbar.compact-topbar,
.space-page .wrap > header.topbar.compact-topbar{
    margin-bottom:72px !important;
}

body.home .promo-block.exact-promo,
.space-page .promo-block.exact-promo{
    display:block !important;
    clear:both !important;
    padding-top:0 !important;
    margin-top:0 !important;
}

body.home .promo-block.exact-promo > .book-hero.poster-frame,
.space-page .promo-block.exact-promo > .book-hero.poster-frame{
    display:block !important;
    clear:both !important;
    margin-top:0 !important;
    margin-bottom:40px !important;
}

@media (max-width:760px){
    body.home .wrap > header.topbar.compact-topbar,
    body.home .wrap > .topbar.compact-topbar,
    .space-page .wrap > header.topbar.compact-topbar{
        margin-bottom:52px !important;
    }
}

@media (max-width:420px){
    body.home .wrap > header.topbar.compact-topbar,
    body.home .wrap > .topbar.compact-topbar,
    .space-page .wrap > header.topbar.compact-topbar{
        margin-bottom:48px !important;
    }
}

/* Final fix: make the audio popup scrollbar and video gallery popup scrollbar match exactly */
html body .space2047-music-popup-scroll,
html body .space2047-video-popup-scroll{
    scrollbar-width:auto !important;
    scrollbar-color:#ffd400 rgba(5,10,25,.96) !important;
}

html body .space2047-music-popup-scroll::-webkit-scrollbar,
html body .space2047-video-popup-scroll::-webkit-scrollbar{
    width:16px !important;
    display:block !important;
    background:rgba(5,10,25,.96) !important;
}

html body .space2047-music-popup-scroll::-webkit-scrollbar-track,
html body .space2047-video-popup-scroll::-webkit-scrollbar-track{
    background:rgba(5,10,25,.96) !important;
    border-radius:999px !important;
    margin:24px 0 !important;
    box-shadow:inset 0 0 7px rgba(24,234,255,.45) !important;
}

html body .space2047-music-popup-scroll::-webkit-scrollbar-thumb,
html body .space2047-video-popup-scroll::-webkit-scrollbar-thumb{
    background:#ffd400 !important;
    border-radius:999px !important;
    border:3px solid rgba(5,10,25,.96) !important;
    min-height:78px !important;
    box-shadow:0 0 12px rgba(255,212,0,.95) !important;
}

/* Fix: restore the permanent scrollbar in the video gallery popup */
html body .space2047-video-popup-scroll{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    scrollbar-gutter:stable both-edges !important;
    scrollbar-width:auto !important;
    scrollbar-color:#ffd400 rgba(5,10,25,.96) !important;
}
html body .space2047-video-popup-scroll::-webkit-scrollbar{
    width:16px !important;
    min-width:16px !important;
    display:block !important;
    background:rgba(5,10,25,.96) !important;
}
html body .space2047-video-popup-scroll::-webkit-scrollbar-track{
    display:block !important;
    background:rgba(5,10,25,.96) !important;
    border-radius:999px !important;
    margin:24px 0 !important;
    box-shadow:inset 0 0 7px rgba(24,234,255,.45) !important;
}
html body .space2047-video-popup-scroll::-webkit-scrollbar-thumb{
    display:block !important;
    background:#ffd400 !important;
    border-radius:999px !important;
    border:3px solid rgba(5,10,25,.96) !important;
    min-height:78px !important;
    box-shadow:0 0 12px rgba(255,212,0,.95) !important;
}


/* Final media popup scrollbar match: same 14px width as main menu, no thin outside border */
html body .space2047-music-popup .s2047-permanent-popup-scrollbar,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar{
    width:14px !important;
    background:rgba(2,8,28,.95) !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:none !important;
    border-radius:999px !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup .s2047-permanent-popup-thumb,
html body .space2047-video-popup .s2047-permanent-popup-thumb{
    left:0 !important;
    right:0 !important;
    background:#ffe866 !important;
    border:3px solid rgba(2,8,28,.95) !important;
    box-shadow:0 0 12px rgba(255,232,102,.8) !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup-scroll,
html body .space2047-video-popup-scroll{
    padding-right:34px !important;
}


/* Final override: audio and video popup scrollbars copied from the working main menu scrollbar */
html body .space2047-music-popup-scroll,
html body .space2047-video-popup-scroll{
    overflow-y:scroll !important;
    overflow-x:hidden !important;
    padding-right:30px !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}
html body .space2047-music-popup-scroll::-webkit-scrollbar,
html body .space2047-music-popup-scroll::-webkit-scrollbar-track,
html body .space2047-music-popup-scroll::-webkit-scrollbar-thumb,
html body .space2047-video-popup-scroll::-webkit-scrollbar,
html body .space2047-video-popup-scroll::-webkit-scrollbar-track,
html body .space2047-video-popup-scroll::-webkit-scrollbar-thumb{
    width:0 !important;
    height:0 !important;
    display:none !important;
    background:transparent !important;
}
html body .space2047-music-popup .s2047-permanent-popup-scrollbar,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar{
    right:12px !important;
    width:18px !important;
    background:rgba(5,10,25,.96) !important;
    border:0 !important;
    box-shadow:inset 0 0 8px rgba(24,234,255,.45), 0 0 10px rgba(255,212,0,.35) !important;
    border-radius:999px !important;
}
html body .space2047-music-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb{
    left:2px !important;
    right:2px !important;
    width:auto !important;
    min-height:78px !important;
    background:#ffd400 !important;
    border:0 !important;
    box-shadow:0 0 14px rgba(255,212,0,.96) !important;
    border-radius:999px !important;
}

/* Final exact scrollbar line match: media popups use the same drawn line as the main menu */
html body .space2047-music-popup .s2047-permanent-popup-scrollbar,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar{
    position:absolute !important;
    right:12px !important;
    width:18px !important;
    border:0 !important;
    outline:0 !important;
    background:rgba(5,10,25,.96) !important;
    border-radius:999px !important;
    box-shadow:inset 0 0 8px rgba(24,234,255,.45), 0 0 10px rgba(255,212,0,.35) !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb{
    left:2px !important;
    right:2px !important;
    width:auto !important;
    min-height:78px !important;
    background:#ffd400 !important;
    border:0 !important;
    border-radius:999px !important;
    box-shadow:0 0 14px rgba(255,212,0,.96) !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup-scroll,
html body .space2047-video-popup-scroll{
    padding-right:42px !important;
}


/* ULTIMATE FIX: make audio and video gallery drawn scrollbars pixel-match the main menu scrollbar */
html body .space2047-music-popup .s2047-permanent-popup-scrollbar,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar{
    width:9px !important;
    right:7px !important;
    border-radius:999px !important;
    background:rgba(0,8,30,.9) !important;
    border:1px solid rgba(0,229,255,.55) !important;
    outline:0 !important;
    box-shadow:inset 0 0 6px rgba(0,229,255,.28), 0 0 6px rgba(0,229,255,.22) !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb,
html body .space2047-video-popup .s2047-permanent-popup-scrollbar .s2047-permanent-popup-thumb{
    left:2px !important;
    right:auto !important;
    width:5px !important;
    min-height:34px !important;
    border-radius:999px !important;
    background:#ffd400 !important;
    border:0 !important;
    outline:0 !important;
    box-shadow:0 0 8px #ffd400, 0 0 12px rgba(255,212,0,.7) !important;
    box-sizing:border-box !important;
}
html body .space2047-music-popup-scroll,
html body .space2047-video-popup-scroll{
    padding-right:30px !important;
    scrollbar-width:none !important;
    -ms-overflow-style:none !important;
}
html body .space2047-music-popup-scroll::-webkit-scrollbar,
html body .space2047-video-popup-scroll::-webkit-scrollbar{
    width:0 !important;
    display:none !important;
}

/* ===== SPACE 2047 SHOP PRODUCT POPUP CENTRE FIX - CSS ONLY ===== */
#s2047-product-popup .s2047-product-popup-product,
#s2047-product-popup .s2047-product-popup-content,
#s2047-product-popup .s2047-product-popup-description,
#s2047-product-popup .s2047-product-popup-price,
#s2047-product-popup .s2047-product-popup-cart{
    text-align:center !important;
}

#s2047-product-popup .s2047-product-popup-product h2{
    text-align:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-right:54px !important;
    padding-left:54px !important;
}

#s2047-product-popup .s2047-product-popup-cart,
#s2047-product-popup .s2047-product-popup-cart .add_to_cart_inline,
#s2047-product-popup .s2047-product-popup-cart .button,
#s2047-product-popup .s2047-product-popup-cart a.button,
#s2047-product-popup .s2047-product-popup-cart .added_to_cart{
    display:flex !important;
    justify-content:center !important;
    align-items:center !important;
    margin-left:auto !important;
    margin-right:auto !important;
    text-align:center !important;
}

#s2047-product-popup .s2047-product-popup-cart .button,
#s2047-product-popup .s2047-product-popup-cart a.button,
#s2047-product-popup .s2047-product-popup-cart .added_to_cart{
    display:inline-flex !important;
    width:auto !important;
}

@media(max-width:760px){
    #s2047-product-popup .s2047-product-popup-product h2{
        padding-left:44px !important;
        padding-right:44px !important;
    }
}

/* FINAL CLEANUP: remove abandoned floating speaker icon flash.
   The speaker/music button must only exist inside the hamburger menu popup media icon row. */
html body .space2047-music-menu-button,
html body #space2047MusicMenuButton.space2047-music-menu-button{
    display:none !important;
    visibility:hidden !important;
    opacity:0 !important;
    pointer-events:none !important;
    position:absolute !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    transform:none !important;
}
html body #s2047-global-menu-panel .s2047-menu-popup-media-icons #space2047MusicMenuButton.space2047-music-menu-button,
html body.s2047-global-menu-open #s2047-global-menu-panel .s2047-menu-popup-media-icons #space2047MusicMenuButton.space2047-music-menu-button{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
    position:relative !important;
    top:auto !important;
    left:auto !important;
    right:auto !important;
    bottom:auto !important;
    width:68px !important;
    height:68px !important;
    min-width:68px !important;
    min-height:68px !important;
    max-width:68px !important;
    max-height:68px !important;
    transform:none !important;
    margin:0 !important;
    padding:0 !important;
    box-sizing:border-box !important;
}

/* Licensing My Writing & Poetry page */
.space2047-licensing-page{
  position:relative;
  overflow:hidden;
  max-width:980px;
  margin:0 auto;
  padding:42px 24px 64px;
  text-align:center;
  color:#f6f3ed;
  border:1px solid rgba(255,145,0,.25);
  border-radius:28px;
  background:
    radial-gradient(circle at 20% 20%, rgba(255,145,0,.16), transparent 28%),
    radial-gradient(circle at 80% 12%, rgba(0,224,255,.13), transparent 26%),
    linear-gradient(180deg, rgba(3,9,22,.82), rgba(0,8,18,.96));
  box-shadow:0 0 35px rgba(0,224,255,.18), inset 0 0 45px rgba(255,145,0,.06);
}
.space2047-licensing-stars{
  position:absolute; inset:0; pointer-events:none; opacity:.45;
  background-image:
    radial-gradient(#fff 1px, transparent 1px),
    radial-gradient(rgba(255,255,255,.65) 1px, transparent 1px);
  background-size:44px 44px, 81px 81px;
  background-position:0 0, 20px 34px;
}
.space2047-licensing-page > *:not(.space2047-licensing-stars){position:relative; z-index:1;}
.space2047-licensing-page h1{
  margin:10px auto 12px;
  font-size:clamp(46px, 8vw, 84px);
  line-height:.96;
  letter-spacing:2px;
  text-transform:uppercase;
  font-weight:900;
  color:#fffdf7;
  text-shadow:0 4px 0 rgba(0,0,0,.55), 0 0 18px rgba(255,255,255,.16);
}
.space2047-licensing-divider{margin:14px auto 30px; max-width:360px; display:flex; align-items:center; justify-content:center; color:#ff9700;}
.space2047-licensing-divider:before,.space2047-licensing-divider:after{content:""; flex:1; height:3px; background:linear-gradient(90deg, transparent, #ff9700, transparent);}
.space2047-licensing-divider span{font-size:28px; padding:0 16px; color:#ff9700; text-shadow:0 0 16px rgba(255,145,0,.85);}
.space2047-licensing-portrait-wrap{width:min(320px, 72vw); aspect-ratio:1/1; margin:0 auto 44px; padding:3px; border-radius:18px; background:linear-gradient(135deg,#ff9700,#00e5ff,#ff9700); box-shadow:0 0 28px rgba(255,145,0,.26);}
.space2047-licensing-portrait{display:block; width:100%; height:100%; object-fit:cover; border-radius:15px; border:1px solid rgba(0,0,0,.7);}
.space2047-licensing-copy{max-width:720px; margin:0 auto 52px; font-size:clamp(19px, 2.2vw, 27px); line-height:1.55; color:#f2f5ff;}
.space2047-licensing-copy h2,.space2047-licensing-form-panel h2{
  display:flex; align-items:center; justify-content:center; gap:18px;
  margin:0 0 22px;
  color:#ff9700;
  text-transform:uppercase;
  letter-spacing:4px;
  font-size:clamp(28px, 4vw, 44px);
  text-shadow:0 0 15px rgba(255,145,0,.45);
}
.space2047-licensing-copy h2:before,.space2047-licensing-copy h2:after,.space2047-licensing-form-panel h2:before,.space2047-licensing-form-panel h2:after{content:""; width:92px; height:2px; background:linear-gradient(90deg, transparent, #ff9700);}
.space2047-licensing-copy h2:after,.space2047-licensing-form-panel h2:after{background:linear-gradient(90deg, #ff9700, transparent);}
.space2047-licensing-copy p{margin:0 auto 24px;}
.space2047-licensing-form-panel{max-width:860px; margin:0 auto;}
.space2047-licensing-contact-form{display:block; width:100%;}
.space2047-licensing-form-grid{display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:18px; margin-bottom:18px;}
.space2047-licensing-contact-form label{display:block; text-align:left;}
.space2047-licensing-contact-form label span{display:block; margin:0 0 7px; font-size:14px; letter-spacing:1.5px; text-transform:uppercase; color:#cfd9e8;}
.space2047-licensing-contact-form input,.space2047-licensing-contact-form textarea{
  width:100%; box-sizing:border-box; border:1px solid rgba(0,220,255,.32); border-radius:8px;
  background:rgba(0,10,24,.74); color:#fff; padding:18px 18px; font-size:18px; outline:none;
  box-shadow:inset 0 0 16px rgba(0,0,0,.35);
}
.space2047-licensing-contact-form textarea{min-height:180px; resize:vertical;}
.space2047-licensing-message-label{margin-bottom:18px;}
.space2047-licensing-submit{
  width:100%; border:0; border-radius:8px; padding:20px 18px; cursor:pointer;
  background:linear-gradient(180deg,#ffad25,#ff8800); color:#111; font-weight:900; text-transform:uppercase;
  font-size:21px; letter-spacing:1.8px; box-shadow:0 0 22px rgba(255,145,0,.25);
}
.space2047-licensing-submit:disabled{opacity:.65; cursor:wait;}
.space2047-licensing-safe{color:#c6d0de; font-size:16px; margin:22px auto 12px;}
.space2047-licensing-message{min-height:24px; color:#ffe66b; font-size:18px; font-weight:700;}
@media (max-width:720px){
  .space2047-licensing-page{padding:32px 14px 44px; border-radius:20px;}
  .space2047-licensing-form-grid{grid-template-columns:1fr;}
  .space2047-licensing-copy h2:before,.space2047-licensing-copy h2:after,.space2047-licensing-form-panel h2:before,.space2047-licensing-form-panel h2:after{width:30px;}
}


/* Picture gallery: concise media gallery heading directly above the main picture */
.space2047-picture-gallery-page .space2047-gallery-viewer {
    display: flex !important;
    flex-direction: column !important;
    align-items: stretch !important;
    gap: 0.75rem !important;
}
.space2047-picture-gallery-page .space2047-gallery-caption {
    order: 1 !important;
    margin: 0 0 0.35rem 0 !important;
    text-align: center !important;
}
.space2047-picture-gallery-page .space2047-gallery-large-frame {
    order: 2 !important;
    margin-top: 0 !important;
}
.space2047-picture-gallery-page .space2047-gallery-caption h2 {
    margin: 0 0 0.35rem 0 !important;
}
.space2047-picture-gallery-page .space2047-gallery-caption p {
    margin: 0 !important;
}


/* Homepage large picture sliding gallery */
.space2047-home-hero-slider{
  position:relative !important;
  overflow:hidden !important;
  min-height:360px;
  background:#020614;
}
.space2047-home-hero-slider .space2047-home-hero-slide{
  display:block;
  position:absolute;
  inset:0;
  width:100%;
  height:100%;
  object-fit:contain;
  object-position:center center;
  opacity:0;
  visibility:hidden;
  transition:opacity .65s ease, visibility .65s ease;
  border-radius:inherit;
}
.space2047-home-hero-slider .space2047-home-hero-slide.is-active{
  opacity:1;
  visibility:visible;
  z-index:1;
}
.space2047-home-slider-arrow{
  position:absolute;
  top:50%;
  transform:translateY(-50%);
  z-index:3;
  width:46px;
  height:58px;
  border:2px solid rgba(24,234,255,.75);
  border-radius:14px;
  background:rgba(2,10,31,.72);
  color:#fff;
  font-size:34px;
  line-height:1;
  cursor:pointer;
  box-shadow:0 0 18px rgba(0,231,255,.35);
}
.space2047-home-slider-prev{left:12px;}
.space2047-home-slider-next{right:12px;}
.space2047-home-slider-arrow:hover{
  border-color:#ff40f4;
  box-shadow:0 0 24px rgba(255,64,244,.55);
}
@media(max-width:760px){
  .space2047-home-hero-slider{min-height:70vw;}
  .space2047-home-slider-arrow{width:38px;height:50px;font-size:28px;}
}


/* Homepage books slider title - replaces the old black-bar placeholder build */
.space2047-books-home-section{
  padding-top:18px !important;
}
.space2047-books-slider-heading{
  margin:0 auto 22px !important;
  padding:0 10px !important;
  text-align:center !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:clamp(28px, 6.4vw, 54px) !important;
  line-height:1.05 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  color:#ffe600 !important;
  text-shadow:0 0 10px rgba(255,230,0,.95),0 0 25px rgba(255,210,0,.55),4px 4px 0 rgba(0,0,0,.72) !important;
}
body.home .promo-block.exact-promo .hero-title,
.space-page .promo-block.exact-promo .hero-title{
  display:none !important;
}


/* Final homepage Benjamin Robinsons books slider update: use uploaded book covers only */
.space2047-books-slider-heading{
  color:#ffe600 !important;
  text-transform:uppercase !important;
  letter-spacing:2px !important;
  text-shadow:0 0 10px rgba(255,230,0,.85),0 5px 0 rgba(0,0,0,.65) !important;
}
.space2047-home-hero-slider{
  background:radial-gradient(circle at center, rgba(17,32,74,.85), #020614 72%) !important;
}
.space2047-home-hero-slider .space2047-home-hero-slide{
  object-fit:contain !important;
  background:transparent !important;
}

/* LIGHT WOOD HOMEPAGE BOOK SLIDER BACKGROUND + BOOK DROP SHADOW - definitive override */
body.home .space2047-home-hero-slider,
body.home .book-hero.poster-frame.space2047-home-hero-slider,
.space-page .space2047-home-hero-slider,
.space-page .book-hero.poster-frame.space2047-home-hero-slider{
  background-color:#e8c58e !important;
  background-image:
    linear-gradient(90deg, rgba(92,50,14,.22) 0 2px, transparent 2px 118px),
    linear-gradient(90deg, rgba(255,255,255,.20), rgba(132,78,28,.16), rgba(255,255,255,.12)),
    repeating-linear-gradient(0deg, rgba(112,63,19,.10) 0 2px, rgba(255,235,186,.10) 2px 7px, rgba(133,79,29,.08) 7px 12px),
    linear-gradient(90deg, #f6dba6 0%, #deb071 24%, #f1cf93 48%, #c98e4e 72%, #f7dfac 100%) !important;
  border:4px solid #18eaff !important;
  box-shadow:0 0 22px rgba(0,234,255,.75), inset 0 0 34px rgba(92,50,14,.22) !important;
  padding:18px !important;
  box-sizing:border-box !important;
}
body.home .space2047-home-hero-slider::before,
.space-page .space2047-home-hero-slider::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  background:
    repeating-linear-gradient(90deg, transparent 0 112px, rgba(80,42,12,.28) 112px 116px, rgba(255,245,205,.15) 116px 119px),
    radial-gradient(circle at 25% 35%, rgba(105,63,22,.28) 0 5px, transparent 6px),
    radial-gradient(circle at 70% 62%, rgba(105,63,22,.22) 0 4px, transparent 5px) !important;
  border-radius:inherit !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  width:calc(100% - 36px) !important;
  height:calc(100% - 36px) !important;
  inset:18px !important;
  object-fit:contain !important;
  background:transparent !important;
  border-radius:14px !important;
  filter:drop-shadow(0 18px 24px rgba(0,0,0,.85)) drop-shadow(0 0 18px rgba(255,230,110,.38)) !important;
  box-shadow:0 18px 35px rgba(0,0,0,.72) !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide.is-active,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide.is-active{
  z-index:2 !important;
}
body.home .space2047-home-slider-arrow,
.space-page .space2047-home-slider-arrow{
  z-index:4 !important;
}

/* Homepage book slider: extended display area with per-book information button */
body.home .space2047-home-hero-slider,
body.home .book-hero.poster-frame.space2047-home-hero-slider,
.space-page .space2047-home-hero-slider,
.space-page .book-hero.poster-frame.space2047-home-hero-slider{
  min-height:620px !important;
  padding:22px 22px 96px !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  position:absolute !important;
  inset:22px 22px 96px 22px !important;
  width:calc(100% - 44px) !important;
  height:calc(100% - 118px) !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  opacity:0 !important;
  visibility:hidden !important;
  transition:opacity .65s ease, visibility .65s ease !important;
  z-index:1 !important;
  filter:none !important;
  box-shadow:none !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide.is-active,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide.is-active{
  opacity:1 !important;
  visibility:visible !important;
  z-index:2 !important;
}
body.home .space2047-home-hero-book,
.space-page .space2047-home-hero-book{
  display:block !important;
  width:100% !important;
  height:100% !important;
  max-height:100% !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:14px !important;
  background:transparent !important;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.86)) drop-shadow(0 0 20px rgba(255,230,110,.42)) !important;
}
body.home .space2047-home-hero-book-button,
.space-page .space2047-home-hero-book-button{
  position:absolute !important;
  left:50% !important;
  bottom:-74px !important;
  transform:translateX(-50%) !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:54px !important;
  width:min(90%, 520px) !important;
  padding:12px 22px !important;
  border:3px solid #18eaff !important;
  border-radius:18px !important;
  background:linear-gradient(135deg, rgba(3,14,38,.96), rgba(64,18,90,.94)) !important;
  color:#ffffff !important;
  text-decoration:none !important;
  text-align:center !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:clamp(15px, 3.6vw, 22px) !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  text-transform:uppercase !important;
  box-shadow:0 0 18px rgba(0,234,255,.55), inset 0 0 18px rgba(255,64,244,.18) !important;
  z-index:5 !important;
}
body.home .space2047-home-hero-book-button:hover,
.space-page .space2047-home-hero-book-button:hover{
  border-color:#ff40f4 !important;
  box-shadow:0 0 26px rgba(255,64,244,.65), inset 0 0 18px rgba(0,234,255,.18) !important;
}
body.home .space2047-home-hero-book-button-disabled,
.space-page .space2047-home-hero-book-button-disabled{
  opacity:.78 !important;
  cursor:default !important;
}
@media(max-width:760px){
  body.home .space2047-home-hero-slider,
  body.home .book-hero.poster-frame.space2047-home-hero-slider,
  .space-page .space2047-home-hero-slider,
  .space-page .book-hero.poster-frame.space2047-home-hero-slider{
    min-height:92vw !important;
    padding:16px 16px 86px !important;
  }
  body.home .space2047-home-hero-slider .space2047-home-hero-slide,
  .space-page .space2047-home-hero-slider .space2047-home-hero-slide{
    inset:16px 16px 86px 16px !important;
    width:calc(100% - 32px) !important;
    height:calc(100% - 102px) !important;
  }
  body.home .space2047-home-hero-book-button,
  .space-page .space2047-home-hero-book-button{
    bottom:-66px !important;
    min-height:48px !important;
    border-radius:14px !important;
  }
}

/* Space 2047: stronger book slider button spacing fix - keeps the button clearly below the book cover */
body.home .book-hero.poster-frame.space2047-home-hero-slider,
body.home .space2047-home-hero-slider,
.space-page .book-hero.poster-frame.space2047-home-hero-slider,
.space-page .space2047-home-hero-slider{
  padding-bottom:138px !important;
  min-height:700px !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  inset:22px 22px 138px 22px !important;
  width:calc(100% - 44px) !important;
  height:calc(100% - 160px) !important;
}
body.home .space2047-home-hero-book-button,
.space-page .space2047-home-hero-book-button{
  bottom:-104px !important;
  margin-top:0 !important;
}
@media(max-width:760px){
  body.home .book-hero.poster-frame.space2047-home-hero-slider,
  body.home .space2047-home-hero-slider,
  .space-page .book-hero.poster-frame.space2047-home-hero-slider,
  .space-page .space2047-home-hero-slider{
    padding-bottom:128px !important;
    min-height:108vw !important;
  }
  body.home .space2047-home-hero-slider .space2047-home-hero-slide,
  .space-page .space2047-home-hero-slider .space2047-home-hero-slide{
    inset:16px 16px 128px 16px !important;
    width:calc(100% - 32px) !important;
    height:calc(100% - 144px) !important;
  }
  body.home .space2047-home-hero-book-button,
  .space-page .space2047-home-hero-book-button{
    bottom:-96px !important;
  }
}

/* FINAL FIX: homepage book slider as a multi-book horizontal shelf. */
body.home .book-hero.poster-frame.space2047-home-hero-slider,
body.home .space2047-home-hero-slider,
.space-page .book-hero.poster-frame.space2047-home-hero-slider,
.space-page .space2047-home-hero-slider{
  position:relative !important;
  display:block !important;
  overflow:hidden !important;
  min-height:720px !important;
  padding:0 !important;
  background-color:#efd09b !important;
  background-image:
    repeating-linear-gradient(90deg, rgba(120,72,28,.20) 0 3px, transparent 3px 126px),
    repeating-linear-gradient(0deg, rgba(255,255,255,.12) 0 3px, rgba(145,86,32,.12) 3px 10px, rgba(255,234,190,.12) 10px 16px),
    linear-gradient(90deg,#f8dfae 0%,#e4b978 25%,#f4d39a 50%,#d79c5d 75%,#f9e0ad 100%) !important;
  border:4px solid #18eaff !important;
  border-radius:24px !important;
  box-shadow:0 0 24px rgba(0,234,255,.75), inset 0 0 40px rgba(110,62,20,.22) !important;
  box-sizing:border-box !important;
}
body.home .space2047-home-hero-slider::before,
.space-page .space2047-home-hero-slider::before{
  content:"" !important;
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  border-radius:inherit !important;
  background:
    repeating-linear-gradient(90deg, transparent 0 116px, rgba(80,42,12,.30) 116px 121px, rgba(255,245,205,.18) 121px 124px),
    radial-gradient(circle at 26% 34%, rgba(111,66,24,.26) 0 6px, transparent 7px),
    radial-gradient(circle at 72% 62%, rgba(111,66,24,.22) 0 5px, transparent 6px) !important;
}
body.home .space2047-home-slider-track,
.space-page .space2047-home-slider-track{
  position:relative !important;
  z-index:2 !important;
  display:flex !important;
  gap:24px !important;
  align-items:flex-start !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  -webkit-overflow-scrolling:touch !important;
  height:100% !important;
  min-height:720px !important;
  padding:28px 76px 34px !important;
  box-sizing:border-box !important;
  scrollbar-width:none !important;
}
body.home .space2047-home-slider-track::-webkit-scrollbar,
.space-page .space2047-home-slider-track::-webkit-scrollbar{display:none !important;}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  position:relative !important;
  inset:auto !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  bottom:auto !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:flex-start !important;
  flex:0 0 clamp(190px, 28vw, 280px) !important;
  width:clamp(190px, 28vw, 280px) !important;
  height:auto !important;
  min-height:0 !important;
  opacity:1 !important;
  visibility:visible !important;
  transform:none !important;
  transition:none !important;
  background:transparent !important;
  box-shadow:none !important;
  filter:none !important;
  border-radius:0 !important;
  z-index:2 !important;
}
body.home .space2047-home-hero-book,
.space-page .space2047-home-hero-book{
  display:block !important;
  width:100% !important;
  height:520px !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:10px !important;
  background:transparent !important;
  filter:drop-shadow(0 20px 26px rgba(0,0,0,.86)) drop-shadow(0 0 18px rgba(255,230,110,.40)) !important;
}
body.home .space2047-home-hero-book-button,
.space-page .space2047-home-hero-book-button{
  position:relative !important;
  left:auto !important;
  bottom:auto !important;
  transform:none !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  min-height:54px !important;
  margin:22px 0 0 !important;
  padding:12px 16px !important;
  border:3px solid #18eaff !important;
  border-radius:18px !important;
  background:linear-gradient(135deg, rgba(3,14,38,.96), rgba(64,18,90,.94)) !important;
  color:#fff !important;
  text-align:center !important;
  text-decoration:none !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:clamp(13px, 2.5vw, 18px) !important;
  font-weight:900 !important;
  letter-spacing:1px !important;
  line-height:1.2 !important;
  text-transform:uppercase !important;
  box-shadow:0 0 18px rgba(0,234,255,.55), inset 0 0 18px rgba(255,64,244,.18) !important;
}
body.home .space2047-home-slider-arrow,
.space-page .space2047-home-slider-arrow{
  z-index:8 !important;
}
@media(max-width:760px){
  body.home .book-hero.poster-frame.space2047-home-hero-slider,
  body.home .space2047-home-hero-slider,
  .space-page .book-hero.poster-frame.space2047-home-hero-slider,
  .space-page .space2047-home-hero-slider{
    min-height:118vw !important;
  }
  body.home .space2047-home-slider-track,
  .space-page .space2047-home-slider-track{
    min-height:118vw !important;
    gap:18px !important;
    padding:18px 62px 26px !important;
  }
  body.home .space2047-home-hero-slider .space2047-home-hero-slide,
  .space-page .space2047-home-hero-slider .space2047-home-hero-slide{
    flex-basis:56vw !important;
    width:56vw !important;
  }
  body.home .space2047-home-hero-book,
  .space-page .space2047-home-hero-book{
    height:78vw !important;
  }
  body.home .space2047-home-hero-book-button,
  .space-page .space2047-home-hero-book-button{
    margin-top:18px !important;
    min-height:50px !important;
    font-size:13px !important;
  }
}

/* FINAL CENTERING FIX: multi-book homepage slider centers each book after arrow clicks. */
body.home .space2047-home-slider-track,
.space-page .space2047-home-slider-track{
  scroll-snap-type:x mandatory !important;
  scroll-padding-left:50% !important;
  scroll-padding-right:50% !important;
  align-items:flex-start !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  scroll-snap-align:center !important;
  scroll-snap-stop:always !important;
}
@media(max-width:760px){
  body.home .space2047-home-slider-track,
  .space-page .space2047-home-slider-track{
    padding-left:calc(50% - 28vw) !important;
    padding-right:calc(50% - 28vw) !important;
  }
}

/* PERFECT CENTRED BOOK SLIDER FIX */
body.home .space2047-home-slider-track,
.space-page .space2047-home-slider-track{
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
}
body.home .space2047-home-hero-slider .space2047-home-hero-slide,
.space-page .space2047-home-hero-slider .space2047-home-hero-slide{
  scroll-snap-align:center !important;
  scroll-snap-stop:always !important;
}
@media(max-width:760px){
  body.home .space2047-home-slider-track,
  .space-page .space2047-home-slider-track{
    padding-left:calc((100% - 56vw) / 2) !important;
    padding-right:calc((100% - 56vw) / 2) !important;
  }
}


/* Gallery Preview Contain Fix */
.space2047-gallery-preview img,
.space2047-main-preview img,
.gallery-main-viewer img{
    width:100%;
    height:100%;
    object-fit:contain !important;
    object-position:center center;
}


/* Space 2047 gallery preview: auto-height, no crop, glow resize */
.space2047-gallery-preview,
.space2047-main-preview,
.gallery-main-viewer {
    width: 100%;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    transition: box-shadow 420ms ease, border-color 420ms ease, filter 420ms ease, min-height 420ms ease;
}

.space2047-gallery-preview img,
.space2047-main-preview img,
.gallery-main-viewer img {
    width: auto !important;
    max-width: 100% !important;
    height: auto !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 0 auto !important;
    border-radius: 22px;
    transition: opacity 260ms ease, transform 420ms ease, filter 420ms ease, box-shadow 420ms ease;
}

.space2047-gallery-preview.is-resizing,
.space2047-main-preview.is-resizing,
.gallery-main-viewer.is-resizing {
    box-shadow:
        0 0 18px rgba(255, 215, 80, 0.95),
        0 0 38px rgba(0, 255, 255, 0.55),
        inset 0 0 22px rgba(255, 215, 80, 0.35) !important;
    border-color: rgba(255, 215, 80, 0.95) !important;
    filter: brightness(1.08);
}

.space2047-gallery-preview.is-resizing img,
.space2047-main-preview.is-resizing img,
.gallery-main-viewer.is-resizing img {
    filter: drop-shadow(0 0 18px rgba(255, 215, 80, 0.8)) drop-shadow(0 0 30px rgba(0, 255, 255, 0.45));
}


/* ===== SPACE 2047 DEFINITIVE GALLERY NO-CROP PATCH =====
   Added to stop the main picture gallery viewer cropping images.
   The old version forced a square frame and object-fit:cover; this patch overrides it. */
.space2047-gallery-viewer{
    align-items:start !important;
}

.space2047-gallery-large-frame{
    aspect-ratio:auto !important;
    width:100% !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    overflow:visible !important;
    padding:10px !important;
    box-sizing:border-box !important;
    transition:box-shadow .25s ease, border-color .25s ease, min-height .25s ease !important;
}

.space2047-gallery-large-frame.is-resizing,
.space2047-gallery-large-frame:hover{
    border-color:#ffe866 !important;
    box-shadow:0 0 30px rgba(255,232,102,.45),0 0 30px rgba(37,231,255,.28),inset 0 0 18px rgba(255,232,102,.12) !important;
}

.space2047-gallery-large-frame img,
#space2047GalleryMainImage{
    display:block !important;
    width:auto !important;
    height:auto !important;
    max-width:100% !important;
    max-height:calc(100vh - 150px) !important;
    min-width:0 !important;
    min-height:0 !important;
    object-fit:contain !important;
    object-position:center center !important;
    aspect-ratio:auto !important;
    margin:0 auto !important;
    background:#030717 !important;
    border-radius:16px !important;
}

@media(max-width:760px){
    .space2047-gallery-large-frame{
        padding:8px !important;
    }
    .space2047-gallery-large-frame img,
    #space2047GalleryMainImage{
        max-height:calc(100vh - 120px) !important;
    }
}


/* Space 2047 Digital Downloads Slider - half-size slider under the book slider */
.space2047-digital-downloads-home-section{
  margin-top:26px !important;
  padding:18px !important;
  border:3px solid #18eaff !important;
  border-radius:24px !important;
  background:
    radial-gradient(circle at 16% 20%, rgba(255,64,244,.28), transparent 30%),
    radial-gradient(circle at 80% 18%, rgba(0,234,255,.25), transparent 28%),
    linear-gradient(135deg, #27135f 0%, #06336d 45%, #90106f 100%) !important;
  box-shadow:0 0 22px rgba(0,234,255,.45), inset 0 0 30px rgba(0,0,0,.45) !important;
  position:relative !important;
  overflow:hidden !important;
}
.space2047-digital-downloads-home-section::before{
  content:"♪ ♫ ♬ ♪ ♫ ♬ ♪ ♫" !important;
  position:absolute !important;
  inset:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  font-size:clamp(46px, 12vw, 110px) !important;
  letter-spacing:18px !important;
  color:rgba(255,255,255,.10) !important;
  text-shadow:0 0 18px rgba(255,255,255,.25) !important;
  pointer-events:none !important;
  z-index:0 !important;
}
.space2047-digital-slider-heading{
  position:relative !important;
  z-index:1 !important;
  margin:0 auto 14px !important;
  text-align:center !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:clamp(22px, 5vw, 38px) !important;
  line-height:1.05 !important;
  letter-spacing:2px !important;
  text-transform:uppercase !important;
  color:#ffe36a !important;
  text-shadow:0 0 10px rgba(255,220,70,.95),0 0 22px rgba(255,64,244,.55),3px 3px 0 rgba(0,0,0,.65) !important;
}
.space2047-digital-download-slider{
  position:relative !important;
  z-index:1 !important;
  min-height:350px !important;
  height:auto !important;
  padding:16px 54px 86px !important;
  border:3px solid #18eaff !important;
  border-radius:20px !important;
  background:
    radial-gradient(circle at 20% 10%, rgba(255,240,90,.20), transparent 28%),
    radial-gradient(circle at 85% 80%, rgba(255,64,244,.22), transparent 34%),
    linear-gradient(135deg, rgba(4,10,31,.82), rgba(24,4,45,.88)) !important;
  box-shadow:0 0 20px rgba(0,234,255,.48), inset 0 0 24px rgba(255,64,244,.12) !important;
  overflow:hidden !important;
}
.space2047-digital-track{
  display:flex !important;
  gap:18px !important;
  height:100% !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-behavior:smooth !important;
  scroll-snap-type:x mandatory !important;
  padding:0 !important;
  scrollbar-width:none !important;
}
.space2047-digital-track::-webkit-scrollbar{display:none !important;}
.space2047-digital-slide{
  flex:0 0 min(46%, 260px) !important;
  width:min(46%, 260px) !important;
  min-height:235px !important;
  scroll-snap-align:center !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  border-radius:16px !important;
  background:rgba(0,5,24,.58) !important;
  border:2px solid rgba(24,234,255,.75) !important;
  box-shadow:0 0 16px rgba(0,234,255,.35) !important;
  padding:12px !important;
  box-sizing:border-box !important;
}
.space2047-digital-image{
  display:block !important;
  width:100% !important;
  height:170px !important;
  object-fit:contain !important;
  object-position:center center !important;
  border-radius:12px !important;
  background:rgba(0,0,0,.25) !important;
  filter:drop-shadow(0 12px 16px rgba(0,0,0,.62)) !important;
}
.space2047-digital-button{
  margin-top:12px !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:40px !important;
  width:100% !important;
  padding:8px 10px !important;
  border:2px solid #18eaff !important;
  border-radius:13px !important;
  background:linear-gradient(135deg, rgba(3,14,38,.96), rgba(64,18,90,.94)) !important;
  color:#ffe36a !important;
  text-decoration:none !important;
  text-align:center !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:12px !important;
  font-weight:900 !important;
  letter-spacing:.5px !important;
  text-transform:uppercase !important;
  box-shadow:0 0 14px rgba(0,234,255,.42), inset 0 0 14px rgba(255,64,244,.16) !important;
}
.space2047-digital-button-disabled{opacity:.78 !important; cursor:default !important;}
.space2047-digital-placeholder{
  color:#ffe36a !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  text-align:center !important;
  font-weight:900 !important;
  line-height:1.35 !important;
}
.space2047-digital-slider-arrow{
  position:absolute !important;
  top:50% !important;
  transform:translateY(-50%) !important;
  z-index:4 !important;
  width:38px !important;
  height:52px !important;
  border:2px solid rgba(24,234,255,.85) !important;
  border-radius:14px !important;
  background:rgba(2,10,31,.78) !important;
  color:#fff !important;
  font-size:28px !important;
  line-height:1 !important;
  cursor:pointer !important;
  box-shadow:0 0 18px rgba(0,231,255,.35) !important;
}
.space2047-digital-slider-prev{left:10px !important;}
.space2047-digital-slider-next{right:10px !important;}
@media(max-width:760px){
  .space2047-digital-download-slider{min-height:300px !important;padding:14px 48px 78px !important;}
  .space2047-digital-slide{flex-basis:78% !important;width:78% !important;min-height:220px !important;}
  .space2047-digital-image{height:155px !important;}
}


/* Benjamin requested: remove comedy sci-fi text space and align both homepage sliders. */
body.home .compact-tagline,
.space-page .compact-tagline,
body.home .subline,
.space-page .subline{
  display:none !important;
}

/* Keep the book slider box the same visual width as the digital downloads slider box. */
body.home .space2047-books-home-section,
.space-page .space2047-books-home-section,
body.home .space2047-digital-downloads-home-section,
.space-page .space2047-digital-downloads-home-section{
  width:100% !important;
  max-width:860px !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}
body.home .book-hero.poster-frame.space2047-home-hero-slider,
body.home .space2047-home-hero-slider,
.space-page .book-hero.poster-frame.space2047-home-hero-slider,
.space-page .space2047-home-hero-slider,
body.home .book-hero.poster-frame.space2047-digital-download-slider,
body.home .space2047-digital-download-slider,
.space-page .book-hero.poster-frame.space2047-digital-download-slider,
.space-page .space2047-digital-download-slider{
  width:100% !important;
  max-width:100% !important;
  margin-left:auto !important;
  margin-right:auto !important;
  box-sizing:border-box !important;
}

/* Digital download slider: match the book slider centring behaviour after every arrow press. */
.space2047-digital-track{
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  scroll-padding-left:50% !important;
  scroll-padding-right:50% !important;
}
.space2047-digital-slide{
  scroll-snap-align:center !important;
  scroll-snap-stop:always !important;
}
@media(max-width:760px){
  body.home .space2047-books-home-section,
  .space-page .space2047-books-home-section,
  body.home .space2047-digital-downloads-home-section,
  .space-page .space2047-digital-downloads-home-section{
    max-width:calc(100vw - 24px) !important;
  }
  .space2047-digital-track{
    padding-left:calc((100% - 78%) / 2) !important;
    padding-right:calc((100% - 78%) / 2) !important;
  }
}

/* ===== DIGITAL ALBUM COVER FINAL FIX =====
   Square album covers, every viewed object dead-centre, product name as the title,
   animated musical notes and singing meteorite background. */
.space2047-digital-downloads-home-section{
  max-width:860px !important;
  margin:28px auto !important;
  min-height:auto !important;
  padding:16px !important;
  background:
    radial-gradient(circle at 20% 18%, rgba(255,0,229,.30), transparent 28%),
    radial-gradient(circle at 78% 38%, rgba(0,238,255,.26), transparent 32%),
    radial-gradient(circle at 50% 92%, rgba(255,226,84,.16), transparent 34%),
    linear-gradient(135deg, #060b25 0%, #16083f 45%, #041932 100%) !important;
}
.space2047-digital-downloads-home-section::before{content:none !important;}
.space2047-digital-music-bg{
  position:absolute !important;
  inset:0 !important;
  z-index:0 !important;
  pointer-events:none !important;
  overflow:hidden !important;
}
.space2047-digital-music-bg span{
  position:absolute !important;
  font-size:clamp(28px,7vw,70px) !important;
  color:rgba(255,64,244,.60) !important;
  text-shadow:0 0 12px #ff40f4,0 0 24px #18eaff !important;
  animation:space2047NotesFloat 7s linear infinite !important;
}
.space2047-digital-music-bg span:nth-child(1){left:8%;top:72%;animation-delay:0s !important;color:rgba(24,234,255,.70) !important;}
.space2047-digital-music-bg span:nth-child(2){left:78%;top:68%;animation-delay:1.4s !important;color:rgba(255,226,84,.72) !important;}
.space2047-digital-music-bg span:nth-child(3){left:48%;top:84%;animation-delay:2.8s !important;color:rgba(255,64,244,.70) !important;}
@keyframes space2047NotesFloat{
  0%{transform:translateY(70px) rotate(-10deg) scale(.75);opacity:0;}
  18%{opacity:.95;}
  100%{transform:translateY(-360px) rotate(18deg) scale(1.18);opacity:0;}
}
.space2047-digital-music-bg .meteor{
  position:absolute !important;
  width:54px !important;
  height:54px !important;
  border-radius:50% !important;
  background:
    radial-gradient(circle at 34% 28%, #d8c69a 0 10%, transparent 11%),
    radial-gradient(circle at 64% 62%, #6b5744 0 11%, transparent 12%),
    radial-gradient(circle at 38% 72%, #3d312a 0 9%, transparent 10%),
    radial-gradient(circle at 50% 50%, #9f8564 0%, #4c4038 72%) !important;
  box-shadow:0 0 15px rgba(255,226,84,.55),0 0 28px rgba(24,234,255,.28) !important;
  animation:space2047MeteorSing 5.8s ease-in-out infinite !important;
}
.space2047-digital-music-bg .meteor::before{
  content:'' !important;
  position:absolute !important;
  left:16px !important; top:18px !important;
  width:22px !important; height:14px !important;
  border-radius:0 0 20px 20px !important;
  background:#13080a !important;
  box-shadow:0 0 0 2px rgba(255,255,255,.10) inset !important;
}
.space2047-digital-music-bg .meteor::after{
  content:'♪ ♫' !important;
  position:absolute !important;
  left:40px !important; top:-18px !important;
  font-style:normal !important;
  font-size:22px !important;
  color:#ffe35c !important;
  text-shadow:0 0 8px #ffe35c,0 0 14px #ff40f4 !important;
  animation:space2047NotesPuff 2.2s ease-in-out infinite !important;
}
.space2047-digital-music-bg .m1{left:9%;top:22%;animation-delay:.2s !important;}
.space2047-digital-music-bg .m2{right:9%;top:30%;animation-delay:1.1s !important;transform:scale(.82);}
.space2047-digital-music-bg .m3{left:72%;bottom:14%;animation-delay:2s !important;transform:scale(.70);}
@keyframes space2047MeteorSing{
  0%,100%{transform:translateY(0) rotate(-5deg) scale(1);}
  50%{transform:translateY(-18px) rotate(8deg) scale(1.06);}
}
@keyframes space2047NotesPuff{
  0%{transform:translate(0,12px) scale(.75);opacity:0;}
  30%{opacity:1;}
  100%{transform:translate(18px,-34px) scale(1.18);opacity:0;}
}
.space2047-digital-slider-heading{display:none !important;}
.space2047-digital-download-slider{
  min-height:clamp(390px, 72vw, 620px) !important;
  padding:18px 64px 80px !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  background:rgba(2,8,30,.62) !important;
}
.space2047-digital-track{
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  gap:0 !important;
  overflow-x:auto !important;
  scroll-snap-type:x mandatory !important;
  scroll-padding-left:0 !important;
  scroll-padding-right:0 !important;
}
.space2047-digital-slide{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  scroll-snap-align:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  flex-direction:column !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
}
.space2047-digital-product-title{
  display:block !important;
  width:100% !important;
  max-width:620px !important;
  margin:0 auto 14px !important;
  text-align:center !important;
  font-family:Orbitron, Rajdhani, Arial, sans-serif !important;
  font-size:clamp(22px, 5vw, 40px) !important;
  line-height:1.08 !important;
  letter-spacing:1.6px !important;
  text-transform:uppercase !important;
  color:#ffe36a !important;
  text-shadow:0 0 10px rgba(255,220,70,.95),0 0 22px rgba(255,64,244,.55),3px 3px 0 rgba(0,0,0,.65) !important;
}
.space2047-digital-image{
  width:min(62vw, 390px) !important;
  height:min(62vw, 390px) !important;
  max-width:390px !important;
  max-height:390px !important;
  object-fit: contain !important;
  object-position:center center !important;
  aspect-ratio:1/1 !important;
  border:2px solid #18eaff !important;
  border-radius:18px !important;
  background:#020817 !important;
  box-shadow:0 0 20px rgba(24,234,255,.48),0 0 28px rgba(255,64,244,.30) !important;
}
.space2047-digital-button{
  width:min(90%, 560px) !important;
  margin:18px auto 0 !important;
  min-height:54px !important;
  font-size:clamp(14px, 3vw, 22px) !important;
  color:#fff !important;
}
.space2047-digital-slider-arrow{
  top:50% !important;
  transform:translateY(-50%) !important;
  width:48px !important;
  height:64px !important;
  font-size:34px !important;
  z-index:6 !important;
}
.space2047-digital-slider-prev{left:18px !important;}
.space2047-digital-slider-next{right:18px !important;}
@media(max-width:760px){
  .space2047-digital-downloads-home-section{max-width:calc(100vw - 24px) !important;padding:12px !important;}
  .space2047-digital-download-slider{min-height:430px !important;padding:16px 50px 68px !important;}
  .space2047-digital-image{width:min(66vw, 320px) !important;height:min(66vw, 320px) !important;}
  .space2047-digital-slider-prev{left:10px !important;}
  .space2047-digital-slider-next{right:10px !important;}
}


/* ===== FINAL DIGITAL DOWNLOAD METEORITE BACKGROUND UPDATE =====
   Benjamin: no middle box border, larger brighter singing meteorites, spaceships flying,
   and the bottom button text is for all digital downloads. */
.space2047-digital-downloads-home-section{
  position:relative !important;
  overflow:hidden !important;
  min-height:clamp(520px, 96vw, 760px) !important;
  background:
    radial-gradient(circle at 18% 24%, rgba(255,64,244,.25), transparent 30%),
    radial-gradient(circle at 76% 30%, rgba(24,234,255,.22), transparent 34%),
    radial-gradient(circle at 48% 60%, rgba(61,116,255,.20), transparent 38%),
    linear-gradient(180deg, #020716 0%, #09042b 48%, #020715 100%) !important;
}
.space2047-digital-download-slider{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  min-height:clamp(500px, 92vw, 740px) !important;
  padding:18px 62px 92px !important;
}
.space2047-digital-track{
  position:relative !important;
  z-index:3 !important;
}
.space2047-digital-slide{
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
  background:transparent !important;
  justify-content:flex-end !important;
  padding-bottom:0 !important;
}
.space2047-digital-empty{
  min-height:clamp(460px, 88vw, 690px) !important;
}
.space2047-digital-placeholder{
  display:none !important;
}
.space2047-digital-button{
  position:relative !important;
  z-index:5 !important;
  width:min(88%, 720px) !important;
  min-height:62px !important;
  margin:0 auto 8px !important;
  padding:12px 18px !important;
  border:3px solid #18eaff !important;
  border-radius:18px !important;
  background:linear-gradient(135deg, rgba(3,10,34,.98), rgba(42,9,64,.96)) !important;
  color:#ffffff !important;
  font-size:clamp(14px, 3.2vw, 24px) !important;
  line-height:1.2 !important;
  letter-spacing:1.1px !important;
  text-shadow:0 0 10px rgba(255,255,255,.85),0 0 18px rgba(24,234,255,.55) !important;
  box-shadow:0 0 18px rgba(24,234,255,.60),0 0 28px rgba(255,64,244,.34), inset 0 0 18px rgba(255,64,244,.16) !important;
}
.space2047-digital-music-bg{
  z-index:1 !important;
  opacity:1 !important;
}
.space2047-digital-music-bg span{
  font-size:clamp(46px, 11vw, 110px) !important;
  opacity:.95 !important;
  color:rgba(255,64,244,.95) !important;
  text-shadow:0 0 12px currentColor,0 0 26px currentColor,0 0 44px rgba(24,234,255,.65) !important;
}
.space2047-digital-music-bg span:nth-child(1){left:8% !important;top:64% !important;color:#18eaff !important;}
.space2047-digital-music-bg span:nth-child(2){left:78% !important;top:58% !important;color:#ffe35c !important;}
.space2047-digital-music-bg span:nth-child(3){left:43% !important;top:72% !important;color:#ff40f4 !important;}
.space2047-digital-music-bg .meteor{
  width:clamp(110px, 23vw, 190px) !important;
  height:clamp(110px, 23vw, 190px) !important;
  opacity:1 !important;
  z-index:2 !important;
  filter:brightness(1.35) saturate(1.25) drop-shadow(0 0 20px rgba(255,226,84,.65)) drop-shadow(0 0 26px rgba(24,234,255,.45)) !important;
  box-shadow:0 0 24px rgba(255,226,84,.85),0 0 42px rgba(24,234,255,.55),0 0 70px rgba(255,64,244,.35) !important;
}
.space2047-digital-music-bg .meteor::before{
  left:32% !important;
  top:40% !important;
  width:36% !important;
  height:24% !important;
  border-radius:0 0 999px 999px !important;
  background:#12060a !important;
  box-shadow:0 0 0 3px rgba(255,255,255,.18) inset,0 0 18px rgba(255,64,244,.45) !important;
}
.space2047-digital-music-bg .meteor::after{
  content:'♪ ♫ ♬' !important;
  left:66% !important;
  top:-28px !important;
  font-size:clamp(28px, 6vw, 54px) !important;
  color:#ffe35c !important;
  text-shadow:0 0 12px #ffe35c,0 0 24px #ff40f4,0 0 34px #18eaff !important;
}
.space2047-digital-music-bg .m1{left:6% !important;top:26% !important;}
.space2047-digital-music-bg .m2{right:6% !important;top:34% !important;transform:none !important;}
.space2047-digital-music-bg .m3{left:34% !important;bottom:23% !important;transform:none !important;}
.space2047-digital-music-bg::before,
.space2047-digital-music-bg::after{
  content:'' !important;
  position:absolute !important;
  z-index:2 !important;
  width:clamp(88px, 18vw, 150px) !important;
  height:clamp(34px, 7vw, 58px) !important;
  border-radius:55% 45% 55% 45% !important;
  background:
    radial-gradient(circle at 70% 45%, #fff 0 5%, transparent 6%),
    linear-gradient(135deg, #ffffff 0%, #7eeeff 35%, #263b87 58%, #080a22 100%) !important;
  box-shadow:0 0 18px rgba(24,234,255,.85), -35px 10px 20px rgba(24,234,255,.35), -62px 12px 28px rgba(255,64,244,.28) !important;
  clip-path:polygon(0 48%, 25% 18%, 70% 24%, 100% 50%, 70% 76%, 25% 82%) !important;
  animation:space2047ShipFly 7.5s linear infinite !important;
}
.space2047-digital-music-bg::before{left:-22%;top:18%;}
.space2047-digital-music-bg::after{left:-28%;bottom:25%;animation-delay:3.2s !important;transform:scale(.82) !important;}
@keyframes space2047ShipFly{
  0%{transform:translateX(-20vw) rotate(-8deg);opacity:0;}
  12%{opacity:1;}
  88%{opacity:1;}
  100%{transform:translateX(130vw) rotate(-8deg);opacity:0;}
}
@media(max-width:760px){
  .space2047-digital-downloads-home-section{min-height:590px !important;}
  .space2047-digital-download-slider{min-height:560px !important;padding:12px 46px 82px !important;}
  .space2047-digital-music-bg .meteor{width:120px !important;height:120px !important;}
  .space2047-digital-music-bg .m1{left:5% !important;top:24% !important;}
  .space2047-digital-music-bg .m2{right:5% !important;top:38% !important;}
  .space2047-digital-music-bg .m3{left:34% !important;bottom:23% !important;}
}


/* ===== DIGITAL DOWNLOAD SLIDER CLEAN CENTRE FIX =====
   Remove the oversized central button feel and centre the product image properly. */
.space2047-digital-downloads-home-section{
  display:block !important;
}
.space2047-digital-download-slider{
  position:relative !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  min-height:clamp(500px, 88vw, 700px) !important;
  padding:22px 62px 34px !important;
}
.space2047-digital-track{
  position:relative !important;
  z-index:4 !important;
  width:100% !important;
  height:100% !important;
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  scroll-snap-type:x mandatory !important;
  scroll-behavior:smooth !important;
  scrollbar-width:none !important;
}
.space2047-digital-track::-webkit-scrollbar{display:none !important;}
.space2047-digital-slide{
  flex:0 0 100% !important;
  width:100% !important;
  min-width:100% !important;
  min-height:100% !important;
  display:grid !important;
  grid-template-rows:auto auto auto !important;
  align-content:center !important;
  justify-items:center !important;
  gap:16px !important;
  scroll-snap-align:center !important;
  padding:0 !important;
  margin:0 !important;
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
}
.space2047-digital-product-title{
  margin:0 auto !important;
  width:100% !important;
  max-width:640px !important;
  text-align:center !important;
}
.space2047-digital-image{
  display:block !important;
  margin:0 auto !important;
  width:min(66vw, 390px) !important;
  height:min(66vw, 390px) !important;
  max-width:390px !important;
  max-height:390px !important;
  aspect-ratio:1/1 !important;
  object-fit: contain !important;
  object-position:center center !important;
  position:relative !important;
  left:auto !important;
  right:auto !important;
  top:auto !important;
  transform:none !important;
  z-index:5 !important;
}
.space2047-digital-button{
  position:relative !important;
  z-index:5 !important;
  width:min(88%, 480px) !important;
  max-width:480px !important;
  min-height:52px !important;
  margin:0 auto !important;
  padding:10px 16px !important;
  font-size:clamp(13px, 3vw, 20px) !important;
  line-height:1.15 !important;
}
.space2047-digital-slider-arrow{
  z-index:8 !important;
}
@media(max-width:760px){
  .space2047-digital-download-slider{
    min-height:560px !important;
    padding:18px 44px 30px !important;
  }
  .space2047-digital-slide{gap:14px !important;}
  .space2047-digital-image{
    width:min(68vw, 330px) !important;
    height:min(68vw, 330px) !important;
  }
  .space2047-digital-button{
    width:min(92%, 360px) !important;
    max-width:360px !important;
  }
}



/* Digital downloads slider layout fix */
.space2047-digital-slider,
.digital-download-slider {
    position: relative;
}

.space2047-digital-slider .slider-item,
.digital-download-slider .slider-item {
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:center !important;
    text-align:center !important;
}

.space2047-digital-slider img,
.digital-download-slider img {
    display:block !important;
    margin:0 auto 24px auto !important;
    max-width:78% !important;
    aspect-ratio:1/1 !important;
    object-fit: contain !important;
    position:relative !important;
    z-index:5 !important;
}

.space2047-digital-slider .slider-button,
.digital-download-slider .slider-button,
.space2047-digital-slider .download-button,
.digital-download-slider .download-button {
    margin-top:24px !important;
    position:relative !important;
    z-index:6 !important;
}

.space2047-digital-slider .arrow,
.digital-download-slider .arrow {
    z-index:7 !important;
}

.space2047-digital-slider .background-animation,
.digital-download-slider .background-animation {
    z-index:1 !important;
}



/* ===== BENJAMIN FINAL FIX: DIGITAL DOWNLOADS MUST BE TRUE SQUARE ALBUM COVERS ===== */
.space2047-digital-download-slider {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px 54px 38px !important;
    min-height: 560px !important;
    overflow: hidden !important;
}

.space2047-digital-track {
    width: 100% !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    overflow-x: auto !important;
    overflow-y: hidden !important;
    scroll-snap-type: x mandatory !important;
    scrollbar-width: none !important;
}

.space2047-digital-track::-webkit-scrollbar {
    display: none !important;
}

.space2047-digital-slide {
    flex: 0 0 100% !important;
    width: 100% !important;
    min-width: 100% !important;
    height: auto !important;
    min-height: 500px !important;
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    padding: 0 !important;
    margin: 0 !important;
    scroll-snap-align: center !important;
    background: transparent !important;
    border: 0 !important;
    box-shadow: none !important;
}

.space2047-digital-product-title {
    margin: 0 auto 4px !important;
    text-align: center !important;
}

.space2047-digital-image {
    display: block !important;
    width: min(70vw, 360px) !important;
    height: min(70vw, 360px) !important;
    max-width: 360px !important;
    max-height: 360px !important;
    min-width: 0 !important;
    min-height: 0 !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    margin: 0 auto !important;
    padding: 0 !important;
    border: 3px solid #18eaff !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    background: #020817 !important;
    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 5 !important;
}

.space2047-digital-button {
    width: min(88%, 460px) !important;
    max-width: 460px !important;
    margin: 0 auto !important;
    min-height: 56px !important;
    position: relative !important;
    z-index: 6 !important;
}

.space2047-digital-slider-prev {
    left: 14px !important;
}

.space2047-digital-slider-next {
    right: 14px !important;
}

@media (max-width: 760px) {
    .space2047-digital-download-slider {
        min-height: 540px !important;
        padding: 18px 42px 34px !important;
    }

    .space2047-digital-slide {
        min-height: 500px !important;
        gap: 16px !important;
    }

    .space2047-digital-image {
        width: min(68vw, 310px) !important;
        height: min(68vw, 310px) !important;
        max-width: 310px !important;
        max-height: 310px !important;
    }

    .space2047-digital-button {
        width: min(92%, 340px) !important;
        max-width: 340px !important;
    }
}



/* ===== FINAL DIGITAL DOWNLOAD ALBUM FIX: SQUARE FRAME, NO IMAGE CROPPING ===== */
.space2047-digital-download-slider,
.digital-download-slider,
.space2047-digital-slider {
    overflow: hidden !important;
}

.space2047-digital-slide,
.digital-download-slider .slider-item,
.space2047-digital-slider .slider-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: visible !important;
}

.space2047-digital-image,
.space2047-digital-slide img,
.digital-download-slider img,
.space2047-digital-slider img {
    width: min(66vw, 330px) !important;
    height: min(66vw, 330px) !important;
    max-width: 330px !important;
    max-height: 330px !important;
    aspect-ratio: 1 / 1 !important;

    object-fit: contain !important;
    object-position: center center !important;

    display: block !important;
    margin: 0 auto 22px auto !important;
    padding: 0 !important;

    background: #020817 !important;
    border: 3px solid #18eaff !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;

    position: relative !important;
    left: auto !important;
    right: auto !important;
    top: auto !important;
    bottom: auto !important;
    transform: none !important;
    z-index: 5 !important;
}

.space2047-digital-button,
.digital-download-slider .slider-button,
.space2047-digital-slider .slider-button {
    position: relative !important;
    margin: 0 auto !important;
    z-index: 6 !important;
    width: min(86%, 420px) !important;
}

.space2047-digital-slider-prev,
.space2047-digital-slider-next,
.digital-download-slider .slider-prev,
.digital-download-slider .slider-next {
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 8 !important;
}

@media (max-width: 760px) {
    .space2047-digital-image,
    .space2047-digital-slide img,
    .digital-download-slider img,
    .space2047-digital-slider img {
        width: min(62vw, 300px) !important;
        height: min(62vw, 300px) !important;
        max-width: 300px !important;
        max-height: 300px !important;
        object-fit: contain !important;
        object-position: center center !important;
    }
}


/* Shrink digital downloads outer box */
.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider{
    max-width: 88% !important;
    margin-left:auto !important;
    margin-right:auto !important;
    padding-top:18px !important;
    padding-bottom:18px !important;
    min-height:auto !important;
}



/* FIX RIGHT EDGE CLIPPING */
.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider{
    width: calc(100% - 48px) !important;
    max-width: calc(100% - 48px) !important;
    margin: 24px auto !important;
    box-sizing: border-box !important;
    overflow: visible !important;
    left: auto !important;
    right: auto !important;
    transform: none !important;
}

.space2047-digital-download-slider *{
    box-sizing:border-box !important;
}



/* Extra shrink fix to guarantee no edge cropping */
.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider{
    width: calc(100% - 88px) !important;
    max-width: calc(100% - 88px) !important;
    margin: 28px auto !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

.space2047-digital-slide img,
.space2047-digital-image,
.digital-download-slider img{
    max-width: 92% !important;
    margin-left:auto !important;
    margin-right:auto !important;
}



/* FINAL DIGITAL DOWNLOADS: smaller box, true square image, no crop, arrows further apart, sci-fi background */
.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider {
    width: calc(100% - 96px) !important;
    max-width: 760px !important;
    margin: 30px auto !important;
    padding: 30px 76px 34px !important;
    min-height: 520px !important;
    overflow: visible !important;
    box-sizing: border-box !important;
    position: relative !important;
    background:
        radial-gradient(circle at 12% 78%, rgba(255, 0, 230, 0.22), transparent 20%),
        radial-gradient(circle at 88% 22%, rgba(0, 234, 255, 0.22), transparent 20%),
        linear-gradient(135deg, rgba(4, 8, 28, 0.98), rgba(8, 0, 32, 0.98)) !important;
}

/* decorative spaceships and robots in underpants */
.space2047-digital-download-slider::before,
.space2047-digital-slider::before,
.digital-download-slider::before {
    content: "🚀     🛸     🚀" !important;
    position: absolute !important;
    top: 24px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    font-size: 30px !important;
    letter-spacing: 34px !important;
    opacity: 0.9 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    filter: drop-shadow(0 0 10px #18eaff) !important;
}

.space2047-digital-download-slider::after,
.space2047-digital-slider::after,
.digital-download-slider::after {
    content: "🤖🩲        🎵        🩲🤖" !important;
    position: absolute !important;
    bottom: 58px !important;
    left: 0 !important;
    right: 0 !important;
    text-align: center !important;
    font-size: 34px !important;
    letter-spacing: 18px !important;
    opacity: 0.95 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    filter: drop-shadow(0 0 10px #ff3df2) !important;
}

.space2047-digital-track {
    position: relative !important;
    z-index: 3 !important;
}

.space2047-digital-slide,
.digital-download-slider .slider-item,
.space2047-digital-slider .slider-item {
    display: flex !important;
    flex-direction: column !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 18px !important;
    overflow: visible !important;
    text-align: center !important;
    background: transparent !important;
    border: 0 !important;
}

/* square album image, two-thirds feel, no crop */
.space2047-digital-image,
.space2047-digital-slide img,
.digital-download-slider img,
.space2047-digital-slider img {
    width: min(54vw, 290px) !important;
    height: min(54vw, 290px) !important;
    max-width: 290px !important;
    max-height: 290px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    display: block !important;
    margin: 42px auto 18px auto !important;
    background: #020817 !important;
    border: 3px solid #18eaff !important;
    border-radius: 16px !important;
    box-sizing: border-box !important;
    position: relative !important;
    z-index: 5 !important;
    transform: none !important;
}

/* button below image */
.space2047-digital-button,
.digital-download-slider .slider-button,
.space2047-digital-slider .slider-button {
    width: min(88%, 370px) !important;
    max-width: 370px !important;
    margin: 0 auto !important;
    position: relative !important;
    z-index: 6 !important;
}

/* arrows further apart, book-slider style */
.space2047-digital-slider-prev,
.digital-download-slider .slider-prev,
.space2047-digital-slider .slider-prev {
    left: -22px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 8 !important;
}

.space2047-digital-slider-next,
.digital-download-slider .slider-next,
.space2047-digital-slider .slider-next {
    right: -22px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 8 !important;
}

@media (max-width: 760px) {
    .space2047-digital-download-slider,
    .space2047-digital-slider,
    .digital-download-slider {
        width: calc(100% - 64px) !important;
        padding: 28px 58px 32px !important;
        min-height: 500px !important;
    }

    .space2047-digital-image,
    .space2047-digital-slide img,
    .digital-download-slider img,
    .space2047-digital-slider img {
        width: min(52vw, 250px) !important;
        height: min(52vw, 250px) !important;
        max-width: 250px !important;
        max-height: 250px !important;
        object-fit: contain !important;
    }

    .space2047-digital-slider-prev,
    .digital-download-slider .slider-prev,
    .space2047-digital-slider .slider-prev {
        left: -18px !important;
    }

    .space2047-digital-slider-next,
    .digital-download-slider .slider-next,
    .space2047-digital-slider .slider-next {
        right: -18px !important;
    }
}



/* FINAL FIX: bring floating meteor/rocket/UFO animation layer above the dark purple overlay */
.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider {
    position: relative !important;
    isolation: isolate !important;
}

.space2047-digital-download-slider::before,
.space2047-digital-download-slider::after,
.space2047-digital-slider::before,
.space2047-digital-slider::after,
.digital-download-slider::before,
.digital-download-slider::after,
.space2047-meteorites,
.space2047-floating-meteorites,
.space2047-digital-animation-layer,
.digital-animation-layer,
.digital-downloads-animation,
.digital-downloads-animated-bg {
    z-index: 20 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: none !important;
    mix-blend-mode: normal !important;
}

.space2047-digital-download-slider .purple-overlay,
.space2047-digital-slider .purple-overlay,
.digital-download-slider .purple-overlay,
.space2047-digital-download-slider .background-overlay,
.space2047-digital-slider .background-overlay,
.digital-download-slider .background-overlay {
    z-index: 2 !important;
    opacity: 0.18 !important;
}

.space2047-digital-track,
.space2047-digital-slide,
.space2047-digital-image,
.space2047-digital-button,
.space2047-digital-product-title,
.space2047-digital-slider-prev,
.space2047-digital-slider-next {
    position: relative !important;
    z-index: 30 !important;
}

/* Keep the album image square and uncropped */
.space2047-digital-image,
.space2047-digital-slide img,
.digital-download-slider img,
.space2047-digital-slider img {
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
}



/* ==========================================================
   TARGETED FIX ONLY FOR DIGITAL DOWNLOADS SLIDER
   Removes dark overlay/wallpaper layers and places animated
   singing meteorites behind the album content.
   ========================================================== */

.space2047-digital-download-slider,
.space2047-digital-slider,
.digital-download-slider {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 50%, rgba(0,234,255,.10), transparent 34%),
        radial-gradient(circle at 15% 25%, rgba(255,50,240,.12), transparent 24%),
        radial-gradient(circle at 88% 76%, rgba(255,210,0,.10), transparent 22%),
        #030718 !important;
}

/* Remove only the unwanted purple/dark overlay wallpaper inside this slider */
.space2047-digital-download-slider .purple-overlay,
.space2047-digital-slider .purple-overlay,
.digital-download-slider .purple-overlay,
.space2047-digital-download-slider .background-overlay,
.space2047-digital-slider .background-overlay,
.digital-download-slider .background-overlay,
.space2047-digital-download-slider .digital-wallpaper,
.space2047-digital-slider .digital-wallpaper,
.digital-download-slider .digital-wallpaper,
.space2047-digital-download-slider .digital-bg-overlay,
.space2047-digital-slider .digital-bg-overlay,
.digital-download-slider .digital-bg-overlay {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Animated singing meteorites layer - behind cover/button/arrows, above plain box */
.space2047-digital-download-slider::before,
.space2047-digital-slider::before,
.digital-download-slider::before {
    content: "☄️🎤   🎵   ☄️🎤   🚀   ☄️🎤   🎶   🛸" !important;
    position: absolute !important;
    inset: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    font-size: clamp(26px, 6vw, 58px) !important;
    letter-spacing: clamp(12px, 4vw, 38px) !important;
    line-height: 1.8 !important;
    color: #fff !important;
    opacity: .95 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    filter:
        drop-shadow(0 0 8px #00eaff)
        drop-shadow(0 0 16px #ff3df2)
        drop-shadow(0 0 24px #ffe24a) !important;
    animation: space2047MeteorFloat 7s ease-in-out infinite alternate !important;
    white-space: normal !important;
    text-align: center !important;
}

/* Second lighter meteor line */
.space2047-digital-download-slider::after,
.space2047-digital-slider::after,
.digital-download-slider::after {
    content: "🎶      ☄️      🎵      ☄️      🎶" !important;
    position: absolute !important;
    inset: auto 0 24px 0 !important;
    text-align: center !important;
    font-size: clamp(22px, 5vw, 44px) !important;
    letter-spacing: clamp(16px, 5vw, 46px) !important;
    opacity: .85 !important;
    z-index: 2 !important;
    pointer-events: none !important;
    filter: drop-shadow(0 0 10px #00eaff) drop-shadow(0 0 18px #ff3df2) !important;
    animation: space2047MeteorFloatReverse 8s ease-in-out infinite alternate !important;
}

/* Keep actual slider content above the meteorites */
.space2047-digital-download-slider > *,
.space2047-digital-slider > *,
.digital-download-slider > *,
.space2047-digital-track,
.space2047-digital-slide,
.space2047-digital-image,
.space2047-digital-button,
.space2047-digital-product-title,
.space2047-digital-slider-prev,
.space2047-digital-slider-next {
    position: relative !important;
    z-index: 10 !important;
}

/* True square album image, not cropped */
.space2047-digital-image,
.space2047-digital-slide img,
.digital-download-slider img,
.space2047-digital-slider img {
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #020817 !important;
}

/* Arrows stay above everything */
.space2047-digital-slider-prev,
.space2047-digital-slider-next,
.digital-download-slider .slider-prev,
.digital-download-slider .slider-next,
.space2047-digital-slider .slider-prev,
.space2047-digital-slider .slider-next {
    z-index: 20 !important;
}

@keyframes space2047MeteorFloat {
    0% { transform: translate3d(-6%, -3%, 0) scale(1); }
    50% { transform: translate3d(4%, 5%, 0) scale(1.04); }
    100% { transform: translate3d(7%, -4%, 0) scale(1.02); }
}

@keyframes space2047MeteorFloatReverse {
    0% { transform: translate3d(7%, 2%, 0) scale(1.02); }
    50% { transform: translate3d(-5%, -4%, 0) scale(1); }
    100% { transform: translate3d(-8%, 3%, 0) scale(1.03); }
}



/* ==========================================================
   TRUE TARGETED DIGITAL DOWNLOADS FIX
   Removes the old purple/wallpaper background layers and uses
   one real animated singing meteorite layer INSIDE the slider box.
   ========================================================== */

/* Outer digital downloads section: no wallpaper layer */
.space2047-digital-downloads-home-section {
    position: relative !important;
    overflow: visible !important;
    background: transparent !important;
    background-image: none !important;
    box-shadow: none !important;
}

/* Kill old section wallpaper/music layer and old pseudo layers */
.space2047-digital-downloads-home-section::before,
.space2047-digital-downloads-home-section::after,
.space2047-digital-music-bg {
    display: none !important;
    content: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* Digital box itself: clean dark transparent base, no blue/purple wallpaper */
.space2047-digital-download-slider {
    position: relative !important;
    isolation: isolate !important;
    overflow: hidden !important;
    background: #030716 !important;
    background-image: none !important;
    border: 3px solid #18eaff !important;
    border-radius: 22px !important;
    box-shadow: 0 0 18px rgba(24,234,255,.55), inset 0 0 18px rgba(0,0,0,.55) !important;
}

/* Stop previous robot/underpants/emoji pseudo backgrounds on this box */
.space2047-digital-download-slider::before,
.space2047-digital-download-slider::after {
    display: none !important;
    content: none !important;
}

/* Hide any remaining old named overlay/wallpaper elements inside only this box */
.space2047-digital-download-slider .purple-overlay,
.space2047-digital-download-slider .background-overlay,
.space2047-digital-download-slider .digital-wallpaper,
.space2047-digital-download-slider .digital-bg-overlay,
.space2047-digital-download-slider .background-animation,
.space2047-digital-download-slider .digital-downloads-animation,
.space2047-digital-download-slider .digital-downloads-animated-bg {
    display: none !important;
    opacity: 0 !important;
    visibility: hidden !important;
}

/* New real animated layer */
.space2047-real-meteorite-bg {
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    overflow: hidden !important;
    background:
      radial-gradient(circle at 18% 20%, rgba(24,234,255,.12), transparent 24%),
      radial-gradient(circle at 82% 78%, rgba(255,64,244,.12), transparent 28%),
      radial-gradient(circle at 50% 50%, rgba(255,226,84,.08), transparent 30%) !important;
}

.space2047-real-meteorite-bg .singing-meteor {
    position: absolute !important;
    width: clamp(58px, 13vw, 112px) !important;
    height: clamp(58px, 13vw, 112px) !important;
    border-radius: 50% !important;
    background:
      radial-gradient(circle at 32% 26%, #fff2b5 0 7%, transparent 8%),
      radial-gradient(circle at 67% 63%, #3b2e27 0 9%, transparent 10%),
      radial-gradient(circle at 41% 74%, #2a211d 0 7%, transparent 8%),
      radial-gradient(circle at 50% 50%, #d4ae72 0%, #7f6448 55%, #3c302a 100%) !important;
    box-shadow:
      0 0 16px rgba(255,226,84,.9),
      0 0 30px rgba(24,234,255,.65),
      0 0 44px rgba(255,64,244,.35) !important;
    opacity: .98 !important;
    animation: space2047RealMeteorFloat 7s ease-in-out infinite alternate !important;
}

.space2047-real-meteorite-bg .singing-meteor::before {
    content: "" !important;
    position: absolute !important;
    left: 28% !important;
    top: 34% !important;
    width: 12% !important;
    height: 12% !important;
    border-radius: 50% !important;
    background: #071018 !important;
    box-shadow: 26px 0 0 #071018 !important;
}

.space2047-real-meteorite-bg .singing-meteor::after {
    content: "" !important;
    position: absolute !important;
    left: 34% !important;
    top: 58% !important;
    width: 34% !important;
    height: 18% !important;
    border-radius: 0 0 40px 40px !important;
    background: #15070c !important;
    box-shadow: inset 0 -5px 0 rgba(255,64,244,.55), 0 0 9px rgba(255,255,255,.18) !important;
}

.space2047-real-meteorite-bg .singing-meteor i {
    position: absolute !important;
    right: -38px !important;
    top: -22px !important;
    font-style: normal !important;
}

.space2047-real-meteorite-bg .singing-meteor i::before {
    content: "♪ ♫" !important;
    font-size: clamp(22px, 5vw, 44px) !important;
    color: #ffe35c !important;
    text-shadow: 0 0 9px #ffe35c, 0 0 18px #18eaff !important;
    animation: space2047RealNotes 3s ease-in-out infinite !important;
}

.space2047-real-meteorite-bg .meteor-a { left: 6% !important; top: 12% !important; }
.space2047-real-meteorite-bg .meteor-b { right: 7% !important; top: 30% !important; animation-delay: 1.2s !important; transform: scale(.92) !important; }
.space2047-real-meteorite-bg .meteor-c { left: 38% !important; bottom: 10% !important; animation-delay: 2.1s !important; transform: scale(.82) !important; }

.space2047-real-meteorite-bg .meteor-note {
    position: absolute !important;
    z-index: 2 !important;
    font-size: clamp(28px, 8vw, 70px) !important;
    color: #18eaff !important;
    text-shadow: 0 0 10px currentColor, 0 0 22px #ff40f4 !important;
    animation: space2047RealNotesFloat 6s linear infinite !important;
}

.space2047-real-meteorite-bg .note-a { left: 18% !important; bottom: 18% !important; color: #18eaff !important; animation-delay: .2s !important; }
.space2047-real-meteorite-bg .note-b { left: 74% !important; bottom: 14% !important; color: #ff40f4 !important; animation-delay: 1.4s !important; }
.space2047-real-meteorite-bg .note-c { left: 46% !important; top: 18% !important; color: #ffe35c !important; animation-delay: 2.5s !important; }
.space2047-real-meteorite-bg .note-d { left: 84% !important; top: 62% !important; color: #18eaff !important; animation-delay: 3.2s !important; }

/* Actual slider content must always sit above meteorite background */
.space2047-digital-track,
.space2047-digital-slide,
.space2047-digital-product-title,
.space2047-digital-image,
.space2047-digital-button,
.space2047-digital-slider-arrow {
    position: relative !important;
    z-index: 10 !important;
}

/* Keep album cover square and uncropped */
.space2047-digital-image,
.space2047-digital-slide img {
    width: min(54vw, 290px) !important;
    height: min(54vw, 290px) !important;
    max-width: 290px !important;
    max-height: 290px !important;
    aspect-ratio: 1 / 1 !important;
    object-fit: contain !important;
    object-position: center center !important;
    background: #020817 !important;
}

/* Keep arrows on top and clear */
.space2047-digital-slider-arrow {
    z-index: 20 !important;
}

@keyframes space2047RealMeteorFloat {
    0% { transform: translate3d(-10px, 8px, 0) rotate(-4deg) scale(1); }
    50% { transform: translate3d(12px, -12px, 0) rotate(5deg) scale(1.06); }
    100% { transform: translate3d(22px, 10px, 0) rotate(-2deg) scale(1.02); }
}

@keyframes space2047RealNotes {
    0% { opacity: .2; transform: translateY(8px) scale(.78); }
    40% { opacity: 1; }
    100% { opacity: 0; transform: translateY(-34px) scale(1.18); }
}

@keyframes space2047RealNotesFloat {
    0% { opacity: 0; transform: translateY(60px) rotate(-12deg) scale(.8); }
    15% { opacity: 1; }
    100% { opacity: 0; transform: translateY(-220px) rotate(18deg) scale(1.15); }
}


/* Precise arrow height fix for the added CD and Merchandising sliders.
   Matches the first book slider arrow position instead of dropping to the bottom. */
.space2047-cd-slider,
.space2047-merch-slider,
.space2047-cds-slider,
.space2047-merchandising-slider,
.cd-slider,
.merch-slider,
.merchandising-slider {
    position: relative !important;
}

.space2047-cd-slider .space2047-home-slider-arrow,
.space2047-merch-slider .space2047-home-slider-arrow,
.space2047-cds-slider .space2047-home-slider-arrow,
.space2047-merchandising-slider .space2047-home-slider-arrow,
.cd-slider .space2047-home-slider-arrow,
.merch-slider .space2047-home-slider-arrow,
.merchandising-slider .space2047-home-slider-arrow {
    top: 42% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 80 !important;
}

/* Fallback: any home slider after the first one uses the same vertical arrow height */
.space2047-home-hero-slider:nth-of-type(n+2) .space2047-home-slider-arrow {
    top: 42% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 80 !important;
}

@media (max-width: 768px) {
    .space2047-cd-slider .space2047-home-slider-arrow,
    .space2047-merch-slider .space2047-home-slider-arrow,
    .space2047-cds-slider .space2047-home-slider-arrow,
    .space2047-merchandising-slider .space2047-home-slider-arrow,
    .cd-slider .space2047-home-slider-arrow,
    .merch-slider .space2047-home-slider-arrow,
    .merchandising-slider .space2047-home-slider-arrow,
    .space2047-home-hero-slider:nth-of-type(n+2) .space2047-home-slider-arrow {
        top: 42% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }
}

/* ==========================================================
   FINAL ARROW POSITION FIX
   Compared with the first homepage book slider:
   the first slider uses position:absolute + top:50%.
   These digital/CD/merch arrows were being forced to relative
   positioning by later CSS, which dropped them downwards.
   This restores the same positioning method as the first slider.
   ========================================================== */

.space2047-digital-download-slider > .space2047-digital-slider-arrow,
.space2047-extra-product-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow,
.space2047-cds-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow,
.space2047-merch-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 999 !important;
}

.space2047-digital-download-slider > .space2047-digital-slider-prev,
.space2047-extra-product-slider-section .space2047-digital-download-slider > .space2047-digital-slider-prev,
.space2047-cds-slider-section .space2047-digital-download-slider > .space2047-digital-slider-prev,
.space2047-merch-slider-section .space2047-digital-download-slider > .space2047-digital-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-digital-download-slider > .space2047-digital-slider-next,
.space2047-extra-product-slider-section .space2047-digital-download-slider > .space2047-digital-slider-next,
.space2047-cds-slider-section .space2047-digital-download-slider > .space2047-digital-slider-next,
.space2047-merch-slider-section .space2047-digital-download-slider > .space2047-digital-slider-next {
    right: 14px !important;
    left: auto !important;
}

@media (max-width: 760px) {
    .space2047-digital-download-slider > .space2047-digital-slider-arrow,
    .space2047-extra-product-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow,
    .space2047-cds-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow,
    .space2047-merch-slider-section .space2047-digital-download-slider > .space2047-digital-slider-arrow {
        position: absolute !important;
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }
}


/* Remove inner border from CDs and Merch sliders */
.space2047-cds-slider-section .poster-frame::before,
.space2047-merch-slider-section .poster-frame::before,
.space2047-cds-slider-section .poster-frame:before,
.space2047-merch-slider-section .poster-frame:before,
.space2047-cds-slider-section .book-hero::before,
.space2047-merch-slider-section .book-hero::before {
    display:none !important;
    border:none !important;
    box-shadow:none !important;
}

/* ==========================================================
   FINAL CLEAN SLIDER BORDER FIX
   Removes the duplicate INNER cyan border from every slider panel.
   Keeps the outer neon cyan frame only.
   ========================================================== */

.space2047-home-hero-slider::before,
.space2047-home-hero-slider::after,
.space2047-digital-download-slider::before,
.space2047-digital-download-slider::after,
.space2047-extra-product-slider-section .poster-frame::before,
.space2047-extra-product-slider-section .poster-frame::after,
.space2047-extra-product-slider-section .book-hero::before,
.space2047-extra-product-slider-section .book-hero::after,
.space2047-cds-slider-section .poster-frame::before,
.space2047-cds-slider-section .poster-frame::after,
.space2047-cds-slider-section .book-hero::before,
.space2047-cds-slider-section .book-hero::after,
.space2047-merch-slider-section .poster-frame::before,
.space2047-merch-slider-section .poster-frame::after,
.space2047-merch-slider-section .book-hero::before,
.space2047-merch-slider-section .book-hero::after,
.space2047-cd-slider::before,
.space2047-cd-slider::after,
.space2047-cds-slider::before,
.space2047-cds-slider::after,
.space2047-merch-slider::before,
.space2047-merch-slider::after,
.space2047-merchandising-slider::before,
.space2047-merchandising-slider::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Remove possible inset border effects on the slider itself */
.space2047-home-hero-slider,
.space2047-digital-download-slider,
.space2047-extra-product-slider-section .poster-frame,
.space2047-cds-slider-section .poster-frame,
.space2047-merch-slider-section .poster-frame,
.space2047-extra-product-slider-section .book-hero,
.space2047-cds-slider-section .book-hero,
.space2047-merch-slider-section .book-hero {
    outline: none !important;
    box-shadow: 0 0 18px rgba(0,245,255,.75), 0 0 34px rgba(0,245,255,.28) !important;
}

/* Prevent any child track/viewport from drawing another cyan frame */
.space2047-home-slider-track,
.space2047-digital-slider-track,
.space2047-cds-slider-section .space2047-digital-slider-track,
.space2047-merch-slider-section .space2047-digital-slider-track,
.space2047-extra-product-slider-section .space2047-digital-slider-track {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* ==========================================================
   ACTUAL INNER SLIDER BORDER REMOVAL
   The visible duplicate line was the border on the INNER
   .space2047-digital-download-slider element.
   Keep the outer section frame, remove the inner slider frame.
   ========================================================== */

/* OUTER frame stays visible */
.space2047-digital-downloads-home-section,
.space2047-extra-product-slider-section,
.space2047-cds-slider-section,
.space2047-merch-slider-section {
    border: 4px solid #18eaff !important;
    border-radius: 34px !important;
    box-shadow: 0 0 24px rgba(24,234,255,.62), 0 0 42px rgba(24,234,255,.20) !important;
    overflow: hidden !important;
}

/* INNER slider frame removed */
.space2047-digital-downloads-home-section > .space2047-digital-download-slider,
.space2047-extra-product-slider-section > .space2047-digital-download-slider,
.space2047-cds-slider-section > .space2047-digital-download-slider,
.space2047-merch-slider-section > .space2047-digital-download-slider,
section.space2047-digital-downloads-home-section .book-hero.poster-frame.space2047-digital-download-slider,
section.space2047-extra-product-slider-section .book-hero.poster-frame.space2047-digital-download-slider,
section.space2047-cds-slider-section .book-hero.poster-frame.space2047-digital-download-slider,
section.space2047-merch-slider-section .book-hero.poster-frame.space2047-digital-download-slider {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    border-radius: 0 !important;
}

/* Stop generic poster-frame/book-hero rules from putting a second frame back on this exact inner slider */
.space2047-digital-downloads-home-section > .poster-frame,
.space2047-extra-product-slider-section > .poster-frame,
.space2047-cds-slider-section > .poster-frame,
.space2047-merch-slider-section > .poster-frame,
.space2047-digital-downloads-home-section > .book-hero,
.space2047-extra-product-slider-section > .book-hero,
.space2047-cds-slider-section > .book-hero,
.space2047-merch-slider-section > .book-hero {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

/* Remove any inner pseudo-border from the inner slider only */
.space2047-digital-downloads-home-section > .space2047-digital-download-slider::before,
.space2047-digital-downloads-home-section > .space2047-digital-download-slider::after,
.space2047-extra-product-slider-section > .space2047-digital-download-slider::before,
.space2047-extra-product-slider-section > .space2047-digital-download-slider::after,
.space2047-cds-slider-section > .space2047-digital-download-slider::before,
.space2047-cds-slider-section > .space2047-digital-download-slider::after,
.space2047-merch-slider-section > .space2047-digital-download-slider::before,
.space2047-merch-slider-section > .space2047-digital-download-slider::after {
    content: none !important;
    display: none !important;
    border: 0 !important;
    box-shadow: none !important;
}

/* Keep arrow borders visible */
.space2047-digital-slider-arrow {
    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    box-shadow: 0 0 18px rgba(24,234,255,.5) !important;
}


/* Digital download slider heading */
.space2047-slider-heading-wrap{
    text-align:center;
    margin:0 0 18px;
}

.space2047-slider-heading{
    color:#ffffff;
    font-size:clamp(1.5rem,3vw,2.3rem);
    font-weight:900;
    text-transform:uppercase;
    letter-spacing:.08em;
    text-shadow:
        0 0 10px rgba(24,234,255,.9),
        0 0 22px rgba(24,234,255,.5),
        0 0 34px rgba(255,0,255,.25);
    margin:0;
}





/* ==========================================================
   DEDICATED HOMEPAGE SLIDER TAB DISPLAY AREA
   One display area, one visible slider, tabs underneath.
   ========================================================== */

.space2047-slider-tab-display-area {
    width: min(94vw, 1120px);
    margin: 32px auto;
}

.space2047-slider-tab-viewport {
    width: 100%;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel {
    display: none !important;
    margin-left: auto !important;
    margin-right: auto !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel.is-active {
    display: block !important;
}

.space2047-slider-tabs {
    display: flex;
    justify-content: center;
    align-items: center;
    gap: 12px;
    flex-wrap: wrap;
    margin: 18px auto 0;
    padding: 10px;
}

.space2047-slider-tab-button {
    appearance: none;
    border: 3px solid #18eaff;
    background: linear-gradient(180deg, rgba(22,20,45,.98), rgba(8,8,22,.98));
    color: #ffffff;
    border-radius: 999px;
    padding: 12px 22px;
    font-family: inherit;
    font-weight: 900;
    letter-spacing: .04em;
    text-transform: uppercase;
    cursor: pointer;
    box-shadow: 0 0 16px rgba(24,234,255,.42), inset 0 0 14px rgba(255,0,255,.18);
}

.space2047-slider-tab-button.is-active {
    background: linear-gradient(180deg, #ffe900, #ffd000);
    color: #050518;
    border-color: #ffe900;
    box-shadow: 0 0 20px rgba(255,233,0,.75), 0 0 32px rgba(24,234,255,.35);
}

.space2047-slider-heading-wrap {
    text-align: center;
    margin: 0 0 18px;
}

.space2047-slider-heading {
    color: #ffffff;
    font-size: clamp(1.5rem,3vw,2.3rem);
    font-weight: 900;
    text-transform: uppercase;
    letter-spacing: .08em;
    text-shadow: 0 0 10px rgba(24,234,255,.9), 0 0 22px rgba(24,234,255,.5), 0 0 34px rgba(255,0,255,.25);
    margin: 0;
}

@media (max-width: 760px) {
    .space2047-slider-tab-display-area {
        width: 94vw;
        margin: 24px auto;
    }

    .space2047-slider-tabs {
        gap: 8px;
        padding: 8px 4px;
    }

    .space2047-slider-tab-button {
        padding: 10px 14px;
        font-size: 13px;
    }
}

/* ==========================================================
   VISIBLE TAB DISPLAY AREA FRAME
   Makes the tab system display area clearly visible.
   ========================================================== */

.space2047-slider-tab-display-area {
    width: min(94vw, 1120px) !important;
    margin: 34px auto !important;
    padding: 22px !important;
    border: 4px solid #18eaff !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,0,255,.18), transparent 32%),
        radial-gradient(circle at 80% 18%, rgba(24,234,255,.18), transparent 34%),
        linear-gradient(180deg, rgba(8,8,28,.94), rgba(2,2,12,.98)) !important;
    box-shadow:
        0 0 22px rgba(24,234,255,.78),
        0 0 44px rgba(24,234,255,.32),
        inset 0 0 26px rgba(255,0,255,.16) !important;
    overflow: hidden !important;
    position: relative !important;
}

.space2047-slider-tab-display-area::before {
    content: "" !important;
    position: absolute !important;
    inset: 10px !important;
    border-radius: 28px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    pointer-events: none !important;
    box-shadow: inset 0 0 18px rgba(24,234,255,.18) !important;
}

.space2047-slider-tab-viewport {
    position: relative !important;
    z-index: 2 !important;
    width: 100% !important;
    min-height: 260px !important;
    padding: 8px !important;
}

.space2047-slider-tabs {
    position: relative !important;
    z-index: 3 !important;
    border-top: 1px solid rgba(24,234,255,.25) !important;
    margin-top: 20px !important;
    padding-top: 18px !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel {
    width: 100% !important;
}

/* remove double outer frame on panels inside the new display area */
.space2047-slider-tab-display-area .space2047-digital-downloads-home-section,
.space2047-slider-tab-display-area .space2047-extra-product-slider-section,
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section,
.space2047-slider-tab-display-area .space2047-home-hero-slider {
    margin-top: 0 !important;
    margin-bottom: 0 !important;
}

@media (max-width: 760px) {
    .space2047-slider-tab-display-area {
        width: 94vw !important;
        padding: 14px !important;
        border-radius: 28px !important;
    }

    .space2047-slider-tab-display-area::before {
        inset: 7px !important;
        border-radius: 22px !important;
    }

    .space2047-slider-tab-viewport {
        min-height: 220px !important;
        padding: 4px !important;
    }
}

/* ==========================================================
   STRICT TAB SYSTEM VISIBILITY FIX
   Only the active slider appears. Inactive sliders take no space.
   ========================================================== */

.space2047-slider-tab-storage {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-viewport {
    display: block !important;
    width: 100% !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    overflow: hidden !important;
    margin: 0 !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel.is-active {
    display: block !important;
    visibility: visible !important;
    height: auto !important;
    overflow: visible !important;
}

/* Prevent the inner active slider from touching the display area border */
.space2047-slider-tab-viewport > .space2047-slider-tab-panel.is-active {
    margin: 0 auto !important;
}

.space2047-slider-tab-display-area {
    box-sizing: border-box !important;
}

.space2047-slider-tab-display-area * {
    box-sizing: border-box !important;
}

/* ==========================================================
   EQUAL TAB SLIDER SIZE + TIGHTER BACKGROUND FIX
   Makes every tab slider the same visible size, removes excess
   blank space at the bottom, and lets the inner background cross
   the border line slightly like the uploaded reference.
   ========================================================== */

.space2047-slider-tab-display-area {
    padding: 14px !important;
    overflow: hidden !important;
}

/* fixed viewport keeps each tabbed slider the same size */
.space2047-slider-tab-viewport {
    min-height: 0 !important;
    height: clamp(500px, 72vw, 720px) !important;
    max-height: 720px !important;
    overflow: hidden !important;
    padding: 0 !important;
    border-radius: 28px !important;
}

/* active panel fills the display area exactly */
.space2047-slider-tab-viewport > .space2047-slider-tab-panel.is-active {
    width: 100% !important;
    height: 100% !important;
    min-height: 0 !important;
    margin: 0 auto !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

/* every slider section inside the tab system must match the viewport height */
.space2047-slider-tab-display-area .space2047-home-hero-slider,
.space2047-slider-tab-display-area .space2047-digital-downloads-home-section,
.space2047-slider-tab-display-area .space2047-extra-product-slider-section,
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section,
.space2047-slider-tab-display-area .space2047-digital-download-slider {
    height: 100% !important;
    min-height: 0 !important;
    max-height: none !important;
    margin: 0 !important;
    padding: 0 !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

/* make the inner animated/image background slightly cross the border line */
.space2047-slider-tab-display-area .space2047-digital-download-slider,
.space2047-slider-tab-display-area .space2047-home-hero-slider {
    transform: translateY(-10px) scale(1.035) !important;
    transform-origin: center top !important;
    height: calc(100% + 20px) !important;
}

/* reduce bottom blank space by tightening internal tracks/slides */
.space2047-slider-tab-display-area .space2047-digital-slider-track,
.space2047-slider-tab-display-area .space2047-home-slider-track,
.space2047-slider-tab-display-area .space2047-slide,
.space2047-slider-tab-display-area .space2047-digital-slide {
    height: 100% !important;
    min-height: 0 !important;
    margin-bottom: 0 !important;
    padding-bottom: 0 !important;
}

/* images/backgrounds should fill consistently without stretching text controls */
.space2047-slider-tab-display-area .space2047-slide img,
.space2047-slider-tab-display-area .space2047-digital-slide img {
    max-height: calc(100% - 80px) !important;
    object-fit: contain !important;
}

/* put arrows at the same height after the new fixed sizing */
.space2047-slider-tab-display-area .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}

/* tabs closer to the display area to save homepage space */
.space2047-slider-tabs {
    margin-top: 10px !important;
    padding-top: 10px !important;
    padding-bottom: 0 !important;
}

/* Mobile sizing tuned to reduce the large empty lower area */
@media (max-width: 760px) {
    .space2047-slider-tab-display-area {
        padding: 10px !important;
        margin-top: 22px !important;
        margin-bottom: 22px !important;
    }

    .space2047-slider-tab-viewport {
        height: 68vh !important;
        max-height: 620px !important;
        min-height: 470px !important;
        border-radius: 24px !important;
    }

    .space2047-slider-tab-viewport > .space2047-slider-tab-panel.is-active,
    .space2047-slider-tab-display-area .space2047-home-hero-slider,
    .space2047-slider-tab-display-area .space2047-digital-downloads-home-section,
    .space2047-slider-tab-display-area .space2047-extra-product-slider-section,
    .space2047-slider-tab-display-area .space2047-cds-slider-section,
    .space2047-slider-tab-display-area .space2047-merch-slider-section,
    .space2047-slider-tab-display-area .space2047-digital-download-slider {
        border-radius: 24px !important;
    }

    .space2047-slider-tab-display-area .space2047-digital-download-slider,
    .space2047-slider-tab-display-area .space2047-home-hero-slider {
        transform: translateY(-8px) scale(1.04) !important;
        height: calc(100% + 16px) !important;
    }

    .space2047-slider-tab-display-area .space2047-slide img,
    .space2047-slider-tab-display-area .space2047-digital-slide img {
        max-height: calc(100% - 60px) !important;
    }
}

/* ==========================================================
   CDs + Merchandising fallback titles at the TOP of the slider
   Removes the old middle placement and keeps only a clean top title.
   ========================================================== */

.space2047-cds-slider-section .space2047-top-title-only-slide,
.space2047-merch-slider-section .space2047-top-title-only-slide {
    position: relative !important;
    height: 100% !important;
    min-height: 420px !important;
    display: block !important;
}

.space2047-cds-slider-section .space2047-slider-top-title,
.space2047-merch-slider-section .space2047-slider-top-title {
    position: absolute !important;
    top: 18px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    margin: 0 !important;
    padding: 0 16px !important;
    text-align: center !important;
    color: #ffe45c !important;
    font-size: clamp(1.55rem, 4vw, 3rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    text-transform: uppercase !important;
    letter-spacing: .08em !important;
    z-index: 50 !important;
    text-shadow:
        0 0 10px rgba(255,228,92,.95),
        0 0 24px rgba(255,0,255,.38),
        0 0 34px rgba(24,234,255,.28) !important;
}

/* Hide the unused fallback instruction/button text if any old copy remains */
.space2047-cds-slider-section .space2047-digital-button-disabled,
.space2047-merch-slider-section .space2047-digital-button-disabled {
    display: none !important;
    visibility: hidden !important;
}

/* Keep unwanted inner border off */
.space2047-cds-slider-section > .space2047-digital-download-slider,
.space2047-merch-slider-section > .space2047-digital-download-slider,
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section,
.space2047-slider-tab-display-area .space2047-digital-download-slider {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

@media (max-width: 760px) {
    .space2047-cds-slider-section .space2047-slider-top-title,
    .space2047-merch-slider-section .space2047-slider-top-title {
        top: 12px !important;
        font-size: clamp(1.35rem, 6vw, 2.1rem) !important;
    }
}

/* ==========================================================
   FINAL CDs/MERCH TITLES MATCH DIGITAL DOWNLOAD SLIDER
   Titles are separate top heading wrappers, not fallback slide divs.
   ========================================================== */

.space2047-cds-slider-section,
.space2047-merch-slider-section {
    position: relative !important;
}

/* same top title method as digital download slider */
.space2047-cds-slider-section > .space2047-slider-heading-wrap,
.space2047-merch-slider-section > .space2047-slider-heading-wrap {
    position: absolute !important;
    top: 14px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 80 !important;
    text-align: center !important;
    pointer-events: none !important;
    margin: 0 !important;
    padding: 0 14px !important;
}

.space2047-cds-slider-section > .space2047-slider-heading-wrap .space2047-slider-heading,
.space2047-merch-slider-section > .space2047-slider-heading-wrap .space2047-slider-heading {
    margin: 0 !important;
    padding: 0 !important;
    color: #ffe45c !important;
    font-size: clamp(1.5rem, 4vw, 3rem) !important;
    line-height: 1.05 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-shadow:
        0 0 10px rgba(255,228,92,.95),
        0 0 24px rgba(255,0,255,.38),
        0 0 34px rgba(24,234,255,.28) !important;
}

/* remove any remaining middle title/fallback text inside slide content */
.space2047-cds-slider-section .space2047-top-title-only-slide,
.space2047-merch-slider-section .space2047-top-title-only-slide,
.space2047-cds-slider-section .space2047-digital-empty,
.space2047-merch-slider-section .space2047-digital-empty {
    display: none !important;
    visibility: hidden !important;
    height: 0 !important;
    min-height: 0 !important;
    overflow: hidden !important;
}

.space2047-cds-slider-section .space2047-digital-product-title,
.space2047-merch-slider-section .space2047-digital-product-title,
.space2047-cds-slider-section .space2047-digital-button-disabled,
.space2047-merch-slider-section .space2047-digital-button-disabled {
    display: none !important;
    visibility: hidden !important;
}

/* keep the inner duplicate border off */
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section,
.space2047-slider-tab-display-area .space2047-cds-slider-section .space2047-digital-download-slider,
.space2047-slider-tab-display-area .space2047-merch-slider-section .space2047-digital-download-slider {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
}

@media (max-width:760px){
    .space2047-cds-slider-section > .space2047-slider-heading-wrap,
    .space2047-merch-slider-section > .space2047-slider-heading-wrap {
        top: 10px !important;
        padding: 0 10px !important;
    }

    .space2047-cds-slider-section > .space2047-slider-heading-wrap .space2047-slider-heading,
    .space2047-merch-slider-section > .space2047-slider-heading-wrap .space2047-slider-heading {
        font-size: clamp(1.25rem, 6vw, 2rem) !important;
    }
}


/* ==========================================================
   EMERGENCY REMOVE REMAINING MIDDLE CD/MERCH TITLES
   Keeps the top heading wrapper only; removes all title text from
   the internal slide/body area for these two sliders.
   ========================================================== */

.space2047-cds-slider-section .space2047-digital-download-slider h1,
.space2047-cds-slider-section .space2047-digital-download-slider h2,
.space2047-cds-slider-section .space2047-digital-download-slider h3,
.space2047-cds-slider-section .space2047-digital-download-slider p,
.space2047-cds-slider-section .space2047-digital-download-slider span.space2047-digital-button-disabled,
.space2047-merch-slider-section .space2047-digital-download-slider h1,
.space2047-merch-slider-section .space2047-digital-download-slider h2,
.space2047-merch-slider-section .space2047-digital-download-slider h3,
.space2047-merch-slider-section .space2047-digital-download-slider p,
.space2047-merch-slider-section .space2047-digital-download-slider span.space2047-digital-button-disabled {
    display: none !important;
    visibility: hidden !important;
}

.space2047-cds-slider-section > .space2047-slider-heading-wrap,
.space2047-cds-slider-section > .space2047-slider-heading-wrap h2,
.space2047-merch-slider-section > .space2047-slider-heading-wrap,
.space2047-merch-slider-section > .space2047-slider-heading-wrap h2 {
    display: block !important;
    visibility: visible !important;
}


/* FINAL CLEAN SLIDER TITLE REWRITE - PRESERVE ARCHIVE STRUCTURE */
.space2047-books-slider-section,
.space2047-digital-downloads-home-section,
.space2047-cds-slider-section,
.space2047-merch-slider-section{
    position:relative !important;
}

.space2047-books-slider-section > .space2047-slider-heading-wrap,
.space2047-digital-downloads-home-section > .space2047-slider-heading-wrap,
.space2047-cds-slider-section > .space2047-slider-heading-wrap,
.space2047-merch-slider-section > .space2047-slider-heading-wrap{
    position:absolute !important;
    top:16px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:9999 !important;
    text-align:center !important;
    pointer-events:none !important;
}

.space2047-slider-heading{
    margin:0 !important;
    padding:0 14px !important;
    color:#ffe45c !important;
    font-size:clamp(1.5rem,4vw,3rem) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-shadow:
      0 0 10px rgba(255,228,92,.95),
      0 0 24px rgba(255,0,255,.38),
      0 0 34px rgba(24,234,255,.28) !important;
}

.space2047-home-slider-track,
.space2047-digital-slider-track{
    padding-top:58px !important;
}

.space2047-cds-slider-section .space2047-digital-empty,
.space2047-merch-slider-section .space2047-digital-empty{
    color:transparent !important;
    font-size:0 !important;
}

.space2047-cds-slider-section .space2047-digital-empty *,
.space2047-merch-slider-section .space2047-digital-empty *{
    display:none !important;
    visibility:hidden !important;
}

@media (max-width:760px){
    .space2047-books-slider-section > .space2047-slider-heading-wrap,
    .space2047-digital-downloads-home-section > .space2047-slider-heading-wrap,
    .space2047-cds-slider-section > .space2047-slider-heading-wrap,
    .space2047-merch-slider-section > .space2047-slider-heading-wrap{
        top:10px !important;
    }

    .space2047-slider-heading{
        font-size:clamp(1.2rem,6vw,2rem) !important;
    }

    .space2047-home-slider-track,
    .space2047-digital-slider-track{
        padding-top:46px !important;
    }
}


/* FIX BOOKS TAB TO SHOW ORIGINAL ADMIN BOOK SLIDER IMAGES */
.space2047-slider-tab-storage {
    display: none !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel {
    display: none !important;
}

.space2047-slider-tab-display-area .space2047-slider-tab-panel.is-active {
    display: block !important;
}

.space2047-slider-tab-display-area .space2047-books-slider-section,
.space2047-slider-tab-display-area .space2047-home-hero-slider {
    width: 100% !important;
}

.space2047-slider-tab-display-area .space2047-books-slider-section .space2047-home-slider-track,
.space2047-slider-tab-display-area .space2047-home-hero-slider .space2047-home-slider-track {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

.space2047-slider-tab-display-area .space2047-books-slider-section img,
.space2047-slider-tab-display-area .space2047-home-hero-slider img {
    display: block !important;
    visibility: visible !important;
    opacity: 1 !important;
    max-width: 100% !important;
}

/* Keep top title style */
.space2047-books-slider-section,
.space2047-digital-downloads-home-section,
.space2047-cds-slider-section,
.space2047-merch-slider-section {
    position: relative !important;
}

.space2047-slider-heading-wrap {
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    right: 0 !important;
    width: 100% !important;
    z-index: 9999 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.space2047-slider-heading {
    margin: 0 !important;
    padding: 0 14px !important;
    color: #ffe45c !important;
    font-size: clamp(1.5rem,4vw,3rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
    text-shadow: 0 0 10px rgba(255,228,92,.95), 0 0 24px rgba(255,0,255,.38), 0 0 34px rgba(24,234,255,.28) !important;
}


/* FINAL TAB VIEWPORT TITLE SYSTEM — one title overlay for every selected slider */
.space2047-slider-tab-viewport{
    position:relative !important;
    overflow:hidden !important;
}

.space2047-tab-current-title{
    position:absolute !important;
    top:16px !important;
    left:0 !important;
    right:0 !important;
    width:100% !important;
    z-index:99999 !important;
    text-align:center !important;
    pointer-events:none !important;
}

.space2047-tab-current-title h2{
    margin:0 !important;
    padding:0 14px !important;
    color:#ffe45c !important;
    font-size:clamp(1.5rem,4vw,3rem) !important;
    line-height:1 !important;
    font-weight:900 !important;
    letter-spacing:.08em !important;
    text-transform:uppercase !important;
    text-shadow:
      0 0 10px rgba(255,228,92,.95),
      0 0 24px rgba(255,0,255,.38),
      0 0 34px rgba(24,234,255,.28) !important;
}

.space2047-slider-panel-mount{
    width:100% !important;
    height:100% !important;
    position:relative !important;
    z-index:2 !important;
    padding-top:58px !important;
    box-sizing:border-box !important;
}

.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active{
    display:block !important;
    visibility:visible !important;
    width:100% !important;
    height:100% !important;
}

.space2047-slider-tab-storage{
    display:none !important;
}

.space2047-slider-heading-wrap,
.space2047-unified-slider-title{
    display:none !important;
}

/* keep images visible in all slider panels */
.space2047-slider-panel-mount img,
.space2047-slider-panel-mount .space2047-home-slider-track,
.space2047-slider-panel-mount .space2047-digital-slider-track{
    visibility:visible !important;
    opacity:1 !important;
}

@media (max-width:760px){
    .space2047-tab-current-title{
        top:10px !important;
    }
    .space2047-tab-current-title h2{
        font-size:clamp(1.2rem,6vw,2rem) !important;
    }
    .space2047-slider-panel-mount{
        padding-top:46px !important;
    }
}


/* Extend glowing title background for Digital Download Slider */
.space2047-tab-current-title h2{
    display:inline-block !important;
    max-width:92% !important;
    padding:14px 28px 16px !important;
    border-radius:22px !important;
    background:
      linear-gradient(180deg,
      rgba(70,0,95,.82) 0%,
      rgba(35,0,70,.88) 100%) !important;
    box-shadow:
      0 0 14px rgba(255,0,255,.35),
      0 0 28px rgba(0,240,255,.25),
      inset 0 0 10px rgba(255,255,255,.06) !important;
    border:3px solid rgba(0,240,255,.75) !important;
    box-sizing:border-box !important;
}

/* Make sure multi-line titles remain fully inside the glow box */
.space2047-tab-current-title{
    padding:0 10px !important;
    box-sizing:border-box !important;
}

@media (max-width:760px){
    .space2047-tab-current-title h2{
        padding:12px 20px 14px !important;
        border-radius:18px !important;
        max-width:95% !important;
    }
}


/* Force Digital Downloads title onto one line */
.space2047-tab-current-title h2{
    white-space: nowrap !important;
    font-size: clamp(1.2rem, 3.2vw, 2.5rem) !important;
    letter-spacing: .05em !important;
}


/* ==========================================================
   Animated twinkling stars and flying spaceships for sliders
   ========================================================== */

.space2047-slider-tab-viewport,
.space2047-slider-panel-mount,
.space2047-slider-tab-display-area .space2047-home-hero-slider,
.space2047-slider-tab-display-area .space2047-digital-downloads-home-section,
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section,
.space2047-slider-tab-display-area .space2047-digital-download-slider {
    position: relative !important;
    overflow: hidden !important;
}

/* Star layer */
.space2047-slider-tab-viewport::before,
.space2047-slider-tab-display-area .space2047-home-hero-slider::before,
.space2047-slider-tab-display-area .space2047-digital-download-slider::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: .9 !important;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.95) 0 1px, transparent 1.8px),
        radial-gradient(circle, rgba(0,240,255,.85) 0 1px, transparent 1.7px),
        radial-gradient(circle, rgba(255,235,80,.9) 0 1.2px, transparent 2px),
        radial-gradient(circle, rgba(255,0,255,.7) 0 1px, transparent 1.8px);
    background-size: 80px 80px, 120px 120px, 160px 160px, 210px 210px;
    background-position: 4px 12px, 32px 48px, 80px 20px, 100px 130px;
    animation: space2047StarTwinkle 3.2s ease-in-out infinite alternate;
}

/* Second star layer for drifting depth */
.space2047-slider-tab-viewport::after,
.space2047-slider-tab-display-area .space2047-home-hero-slider::after,
.space2047-slider-tab-display-area .space2047-digital-download-slider::after {
    content: "" !important;
    position: absolute !important;
    inset: -20% !important;
    z-index: 1 !important;
    pointer-events: none !important;
    opacity: .45 !important;
    background-image:
        radial-gradient(circle, rgba(255,255,255,.8) 0 1px, transparent 2px),
        radial-gradient(circle, rgba(0,240,255,.65) 0 1px, transparent 2px);
    background-size: 140px 140px, 190px 190px;
    background-position: 20px 30px, 90px 60px;
    animation: space2047StarDrift 18s linear infinite, space2047StarTwinkle 4.5s ease-in-out infinite alternate;
}

/* Keep real slider content above stars */
.space2047-slider-panel-mount,
.space2047-slider-tab-current-title,
.space2047-tab-current-title,
.space2047-slider-tabs,
.space2047-slider-tab-display-area img,
.space2047-slider-tab-display-area button,
.space2047-slider-tab-display-area .space2047-home-slider-track,
.space2047-slider-tab-display-area .space2047-digital-slider-track {
    position: relative !important;
    z-index: 5 !important;
}

/* Spaceships injected by JS */
.space2047-flying-ship {
    position: absolute !important;
    z-index: 2 !important;
    pointer-events: none !important;
    font-size: clamp(22px, 5vw, 46px) !important;
    filter:
        drop-shadow(0 0 8px rgba(0,240,255,.95))
        drop-shadow(0 0 16px rgba(255,0,255,.55)) !important;
    opacity: .82 !important;
    animation-timing-function: linear !important;
    animation-iteration-count: infinite !important;
}

.space2047-flying-ship.ship-one {
    top: 18% !important;
    left: -15% !important;
    animation-name: space2047ShipFlyRight !important;
    animation-duration: 13s !important;
}

.space2047-flying-ship.ship-two {
    top: 66% !important;
    right: -16% !important;
    animation-name: space2047ShipFlyLeft !important;
    animation-duration: 16s !important;
    animation-delay: 3s !important;
}

.space2047-flying-ship.ship-three {
    top: 40% !important;
    left: -18% !important;
    animation-name: space2047ShipFlyRightSmall !important;
    animation-duration: 20s !important;
    animation-delay: 7s !important;
    font-size: clamp(16px, 3.5vw, 32px) !important;
    opacity: .62 !important;
}

@keyframes space2047StarTwinkle {
    0% { opacity: .35; filter: brightness(.75); }
    50% { opacity: .95; filter: brightness(1.45); }
    100% { opacity: .55; filter: brightness(1.05); }
}

@keyframes space2047StarDrift {
    from { transform: translate3d(0,0,0) rotate(0deg); }
    to { transform: translate3d(40px,55px,0) rotate(1deg); }
}

@keyframes space2047ShipFlyRight {
    from { transform: translateX(0) rotate(10deg); }
    to { transform: translateX(135vw) rotate(10deg); }
}

@keyframes space2047ShipFlyLeft {
    from { transform: translateX(0) scaleX(-1) rotate(-8deg); }
    to { transform: translateX(-135vw) scaleX(-1) rotate(-8deg); }
}

@keyframes space2047ShipFlyRightSmall {
    from { transform: translateX(0) rotate(-4deg); }
    to { transform: translateX(135vw) rotate(-4deg); }
}

@media (prefers-reduced-motion: reduce) {
    .space2047-slider-tab-viewport::before,
    .space2047-slider-tab-viewport::after,
    .space2047-slider-tab-display-area .space2047-home-hero-slider::before,
    .space2047-slider-tab-display-area .space2047-home-hero-slider::after,
    .space2047-slider-tab-display-area .space2047-digital-download-slider::before,
    .space2047-slider-tab-display-area .space2047-digital-download-slider::after,
    .space2047-flying-ship {
        animation: none !important;
    }
}

/* ==========================================================
   FINAL SLIDER ARROW POSITION RESTORE
   Restores Books arrows and aligns every slider arrow identically.
   ========================================================== */

.space2047-slider-tab-viewport,
.space2047-slider-panel-mount,
.space2047-slider-tab-display-area .space2047-home-hero-slider,
.space2047-slider-tab-display-area .space2047-digital-download-slider,
.space2047-slider-tab-display-area .space2047-digital-downloads-home-section,
.space2047-slider-tab-display-area .space2047-cds-slider-section,
.space2047-slider-tab-display-area .space2047-merch-slider-section {
    position: relative !important;
}

/* Books arrows */
.space2047-slider-tab-display-area .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-home-hero-slider .space2047-home-slider-arrow,
/* Digital/CD/Merch arrows */
.space2047-slider-tab-display-area .space2047-digital-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-digital-download-slider .space2047-digital-slider-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
}

/* precise left arrow position */
.space2047-slider-tab-display-area .space2047-home-slider-prev,
.space2047-slider-panel-mount .space2047-home-slider-prev,
.space2047-home-hero-slider .space2047-home-slider-prev,
.space2047-slider-tab-display-area .space2047-digital-slider-prev,
.space2047-slider-panel-mount .space2047-digital-slider-prev,
.space2047-digital-download-slider .space2047-digital-slider-prev {
    left: 14px !important;
    right: auto !important;
}

/* precise right arrow position */
.space2047-slider-tab-display-area .space2047-home-slider-next,
.space2047-slider-panel-mount .space2047-home-slider-next,
.space2047-home-hero-slider .space2047-home-slider-next,
.space2047-slider-tab-display-area .space2047-digital-slider-next,
.space2047-slider-panel-mount .space2047-digital-slider-next,
.space2047-digital-download-slider .space2047-digital-slider-next {
    right: 14px !important;
    left: auto !important;
}

/* keep arrows above star/ship layers */
.space2047-slider-tab-display-area button.space2047-home-slider-arrow,
.space2047-slider-tab-display-area button.space2047-digital-slider-arrow {
    z-index: 999999 !important;
}

/* prevent the animated star/ship layers from covering arrows */
.space2047-slider-tab-viewport::before,
.space2047-slider-tab-viewport::after,
.space2047-slider-tab-display-area .space2047-home-hero-slider::before,
.space2047-slider-tab-display-area .space2047-home-hero-slider::after,
.space2047-slider-tab-display-area .space2047-digital-download-slider::before,
.space2047-slider-tab-display-area .space2047-digital-download-slider::after,
.space2047-flying-ship {
    pointer-events: none !important;
}

/* mobile keeps identical alignment */
@media (max-width:760px){
    .space2047-slider-tab-display-area .space2047-home-slider-arrow,
    .space2047-slider-panel-mount .space2047-home-slider-arrow,
    .space2047-home-hero-slider .space2047-home-slider-arrow,
    .space2047-slider-tab-display-area .space2047-digital-slider-arrow,
    .space2047-slider-panel-mount .space2047-digital-slider-arrow,
    .space2047-digital-download-slider .space2047-digital-slider-arrow {
        top: 50% !important;
        bottom: auto !important;
        transform: translateY(-50%) !important;
    }

    .space2047-slider-tab-display-area .space2047-home-slider-prev,
    .space2047-slider-panel-mount .space2047-home-slider-prev,
    .space2047-home-hero-slider .space2047-home-slider-prev,
    .space2047-slider-tab-display-area .space2047-digital-slider-prev,
    .space2047-slider-panel-mount .space2047-digital-slider-prev,
    .space2047-digital-download-slider .space2047-digital-slider-prev {
        left: 10px !important;
    }

    .space2047-slider-tab-display-area .space2047-home-slider-next,
    .space2047-slider-panel-mount .space2047-home-slider-next,
    .space2047-home-hero-slider .space2047-home-slider-next,
    .space2047-slider-tab-display-area .space2047-digital-slider-next,
    .space2047-slider-panel-mount .space2047-digital-slider-next,
    .space2047-digital-download-slider .space2047-digital-slider-next {
        right: 10px !important;
    }
}

/* ==========================================================
   PRECISE STANDARD ARROW BOX FIX
   Same arrow box size and perfectly centred arrow symbol for
   Books, Digital downloads, CDs, and Merchandising.
   ========================================================== */

:root {
    --space2047-slider-arrow-size: 54px;
    --space2047-slider-arrow-offset: 14px;
}

/* All slider arrow buttons use identical box geometry */
.space2047-slider-tab-display-area .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow,
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-home-hero-slider .space2047-home-slider-arrow,
.space2047-digital-download-slider .space2047-digital-slider-arrow {
    width: var(--space2047-slider-arrow-size) !important;
    height: var(--space2047-slider-arrow-size) !important;
    min-width: var(--space2047-slider-arrow-size) !important;
    max-width: var(--space2047-slider-arrow-size) !important;
    min-height: var(--space2047-slider-arrow-size) !important;
    max-height: var(--space2047-slider-arrow-size) !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7, 5, 24, .88) !important;
    box-shadow:
        0 0 14px rgba(24,234,255,.72),
        inset 0 0 12px rgba(255,0,255,.22) !important;

    color: #ffffff !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;

    z-index: 999999 !important;
    pointer-events: auto !important;
    overflow: hidden !important;
}

/* Centre the actual arrow glyph precisely */
.space2047-slider-tab-display-area .space2047-home-slider-arrow::before,
.space2047-slider-tab-display-area .space2047-home-slider-arrow::after,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow::before,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow::after,
.space2047-slider-panel-mount .space2047-home-slider-arrow::before,
.space2047-slider-panel-mount .space2047-home-slider-arrow::after,
.space2047-slider-panel-mount .space2047-digital-slider-arrow::before,
.space2047-slider-panel-mount .space2047-digital-slider-arrow::after {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    padding: 0 !important;
}

/* If the arrow is text content, make the button itself centre it exactly */
.space2047-home-slider-arrow,
.space2047-digital-slider-arrow {
    font-family: Arial, Helvetica, sans-serif !important;
}

/* Identical horizontal positions */
.space2047-slider-tab-display-area .space2047-home-slider-prev,
.space2047-slider-panel-mount .space2047-home-slider-prev,
.space2047-home-hero-slider .space2047-home-slider-prev,
.space2047-slider-tab-display-area .space2047-digital-slider-prev,
.space2047-slider-panel-mount .space2047-digital-slider-prev,
.space2047-digital-download-slider .space2047-digital-slider-prev {
    left: var(--space2047-slider-arrow-offset) !important;
    right: auto !important;
}

.space2047-slider-tab-display-area .space2047-home-slider-next,
.space2047-slider-panel-mount .space2047-home-slider-next,
.space2047-home-hero-slider .space2047-home-slider-next,
.space2047-slider-tab-display-area .space2047-digital-slider-next,
.space2047-slider-panel-mount .space2047-digital-slider-next,
.space2047-digital-download-slider .space2047-digital-slider-next {
    right: var(--space2047-slider-arrow-offset) !important;
    left: auto !important;
}

/* Keep arrows above stars/spaceships and images */
.space2047-flying-ship,
.space2047-slider-tab-viewport::before,
.space2047-slider-tab-viewport::after,
.space2047-home-hero-slider::before,
.space2047-home-hero-slider::after,
.space2047-digital-download-slider::before,
.space2047-digital-download-slider::after {
    pointer-events: none !important;
}

@media (max-width: 760px) {
    :root {
        --space2047-slider-arrow-size: 46px;
        --space2047-slider-arrow-offset: 10px;
    }

    .space2047-slider-tab-display-area .space2047-home-slider-arrow,
    .space2047-slider-tab-display-area .space2047-digital-slider-arrow,
    .space2047-slider-panel-mount .space2047-home-slider-arrow,
    .space2047-slider-panel-mount .space2047-digital-slider-arrow,
    .space2047-home-hero-slider .space2047-home-slider-arrow,
    .space2047-digital-download-slider .space2047-digital-slider-arrow {
        font-size: 29px !important;
        border-radius: 12px !important;
        top: 50% !important;
        transform: translateY(-50%) !important;
    }
}

/* ==========================================================
   BOOKS ARROWS SYNC FIX
   Books arrows must be positioned relative to the same tab panel
   mount as Digital/CD/Merch arrows.
   ========================================================== */

/* Make the Books active panel use the same coordinate container */
.space2047-slider-panel-mount > .space2047-books-slider-section,
.space2047-slider-panel-mount > .space2047-home-hero-slider,
.space2047-slider-tab-display-area .space2047-books-slider-section,
.space2047-slider-tab-display-area .space2047-home-hero-slider {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    transform: none !important;
}

/* Override any older Books-only offsets */
.space2047-slider-panel-mount > .space2047-books-slider-section .space2047-home-slider-arrow,
.space2047-slider-panel-mount > .space2047-home-hero-slider .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-books-slider-section .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-home-hero-slider .space2047-home-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: var(--space2047-slider-arrow-size, 54px) !important;
    height: var(--space2047-slider-arrow-size, 54px) !important;
    min-width: var(--space2047-slider-arrow-size, 54px) !important;
    max-width: var(--space2047-slider-arrow-size, 54px) !important;
    min-height: var(--space2047-slider-arrow-size, 54px) !important;
    max-height: var(--space2047-slider-arrow-size, 54px) !important;
    padding: 0 !important;
    margin: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    line-height: 1 !important;
    z-index: 999999 !important;
}

/* Match Digital/CD/Merch exact left and right offsets */
.space2047-slider-panel-mount > .space2047-books-slider-section .space2047-home-slider-prev,
.space2047-slider-panel-mount > .space2047-home-hero-slider .space2047-home-slider-prev,
.space2047-slider-tab-display-area .space2047-books-slider-section .space2047-home-slider-prev,
.space2047-slider-tab-display-area .space2047-home-hero-slider .space2047-home-slider-prev {
    left: var(--space2047-slider-arrow-offset, 14px) !important;
    right: auto !important;
}

.space2047-slider-panel-mount > .space2047-books-slider-section .space2047-home-slider-next,
.space2047-slider-panel-mount > .space2047-home-hero-slider .space2047-home-slider-next,
.space2047-slider-tab-display-area .space2047-books-slider-section .space2047-home-slider-next,
.space2047-slider-tab-display-area .space2047-home-hero-slider .space2047-home-slider-next {
    right: var(--space2047-slider-arrow-offset, 14px) !important;
    left: auto !important;
}

/* If old Books slider CSS targets the arrows as relative/fixed, this wins */
.space2047-home-slider-prev,
.space2047-home-slider-next {
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}


/* ==========================================================
   PRECISE BOOKS ARROW VERTICAL ALIGNMENT FIX
   Forces Books arrows onto the exact same vertical axis
   as Digital/CD/Merch sliders.
   ========================================================== */

/* Unified arrow vertical coordinate system */
.space2047-slider-panel-mount,
.space2047-slider-tab-display-area,
.space2047-slider-tab-viewport,
.space2047-books-slider-section,
.space2047-home-hero-slider,
.space2047-digital-downloads-home-section,
.space2047-cds-slider-section,
.space2047-merch-slider-section {
    --space2047-arrow-top-position: 50% !important;
}

/* Books arrows */
.space2047-books-slider-section .space2047-home-slider-arrow,
.space2047-home-hero-slider .space2047-home-slider-arrow,
/* Other sliders */
.space2047-digital-download-slider .space2047-digital-slider-arrow,
.space2047-cds-slider-section .space2047-digital-slider-arrow,
.space2047-merch-slider-section .space2047-digital-slider-arrow {
    top: var(--space2047-arrow-top-position) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
}

/* Remove any inherited top margins/padding causing Books shift */
.space2047-books-slider-section .space2047-home-slider-prev,
.space2047-books-slider-section .space2047-home-slider-next,
.space2047-home-hero-slider .space2047-home-slider-prev,
.space2047-home-hero-slider .space2047-home-slider-next {
    margin-top: 0 !important;
    padding-top: 0 !important;
}

/* Force identical centering reference */
.space2047-slider-panel-mount > .space2047-books-slider-section,
.space2047-slider-panel-mount > .space2047-home-hero-slider {
    display: block !important;
    position: relative !important;
}





/* ==========================================================
   REPAIRED TAB SYSTEM + CLEAN ARROWS
   Restores tabs and keeps one normal arrow set per slider.
   ========================================================== */

.space2047-slider-tab-display-area {
    width: min(94vw, 1120px) !important;
    margin: 34px auto !important;
    padding: 14px !important;
    border: 4px solid #18eaff !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,0,255,.18), transparent 32%),
        radial-gradient(circle at 80% 18%, rgba(24,234,255,.18), transparent 34%),
        linear-gradient(180deg, rgba(8,8,28,.94), rgba(2,2,12,.98)) !important;
    box-shadow: 0 0 22px rgba(24,234,255,.78), 0 0 44px rgba(24,234,255,.32), inset 0 0 26px rgba(255,0,255,.16) !important;
    overflow: hidden !important;
    position: relative !important;
}

.space2047-slider-tab-viewport {
    position: relative !important;
    width: 100% !important;
    height: clamp(500px, 72vw, 720px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

.space2047-slider-panel-mount {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 58px !important;
    box-sizing: border-box !important;
}

.space2047-slider-tab-panel {
    display: none !important;
}

.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

.space2047-slider-tab-storage {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.space2047-tab-current-title {
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.space2047-tab-current-title h2 {
    display: inline-block !important;
    margin: 0 !important;
    max-width: 92% !important;
    white-space: nowrap !important;
    padding: 14px 28px 16px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(70,0,95,.82) 0%, rgba(35,0,70,.88) 100%) !important;
    border: 3px solid rgba(0,240,255,.75) !important;
    color: #ffe45c !important;
    font-size: clamp(1.2rem, 3.2vw, 2.5rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-shadow: 0 0 10px rgba(255,228,92,.95), 0 0 24px rgba(255,0,255,.38), 0 0 34px rgba(24,234,255,.28) !important;
    box-sizing: border-box !important;
}

/* One arrow set per active slider: standardised box */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow {
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.88) !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    overflow: hidden !important;
}

/* identical horizontal positions */
.space2047-slider-panel-mount .space2047-home-slider-prev,
.space2047-slider-panel-mount .space2047-digital-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-slider-panel-mount .space2047-home-slider-next,
.space2047-slider-panel-mount .space2047-digital-slider-next {
    right: 14px !important;
    left: auto !important;
}

/* make inactive/old moved viewport arrows disappear */
.space2047-slider-tab-viewport > .space2047-books-viewport-arrow {
    display: none !important;
}

/* tabs restored */
.space2047-slider-tabs {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 14px auto 0 !important;
    padding: 12px 8px 0 !important;
    position: relative !important;
    z-index: 50 !important;
}

.space2047-slider-tab-button {
    appearance: none !important;
    border: 3px solid #18eaff !important;
    background: linear-gradient(180deg, rgba(22,20,45,.98), rgba(8,8,22,.98)) !important;
    color: #ffffff !important;
    border-radius: 999px !important;
    padding: 12px 22px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow: 0 0 16px rgba(24,234,255,.42), inset 0 0 14px rgba(255,0,255,.18) !important;
}

.space2047-slider-tab-button.is-active {
    background: linear-gradient(180deg, #ffe900, #ffd000) !important;
    color: #050518 !important;
    border-color: #ffe900 !important;
}

@media (max-width:760px){
    .space2047-slider-tab-viewport {
        height: 68vh !important;
        min-height: 470px !important;
        max-height: 620px !important;
    }
    .space2047-slider-panel-mount {
        padding-top: 48px !important;
    }
    .space2047-slider-panel-mount .space2047-home-slider-arrow,
    .space2047-slider-panel-mount .space2047-digital-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }
    .space2047-slider-panel-mount .space2047-home-slider-prev,
    .space2047-slider-panel-mount .space2047-digital-slider-prev {
        left: 10px !important;
    }
    .space2047-slider-panel-mount .space2047-home-slider-next,
    .space2047-slider-panel-mount .space2047-digital-slider-next {
        right: 10px !important;
    }
    .space2047-tab-current-title h2 {
        padding: 12px 18px 14px !important;
        max-width: 95% !important;
        font-size: clamp(1.05rem, 5.2vw, 1.8rem) !important;
    }
}


/* ==========================================================
   FINAL PRECISE SHARED SLIDER ARROW + BORDER SYSTEM
   Books and Digital/CD/Merch now use the exact same:
   - position reference
   - top/left/right coordinates
   - width/height
   - border
   - radius
   - background
   - glyph centering
   ========================================================== */

.space2047-slider-tab-viewport {
    position: relative !important;
}

.space2047-slider-panel-mount {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}

/* Make every active slider panel use the same coordinate plane */
.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active,
.space2047-slider-panel-mount > .space2047-books-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-home-hero-slider.is-active,
.space2047-slider-panel-mount > .space2047-digital-downloads-home-section.is-active,
.space2047-slider-panel-mount > .space2047-cds-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-merch-slider-section.is-active {
    position: relative !important;
    width: 100% !important;
    height: 100% !important;
    margin: 0 !important;
    padding: 0 !important;
    transform: none !important;
    box-sizing: border-box !important;
}

/* Shared exact arrow variables */
.space2047-slider-tab-display-area {
    --space2047-arrow-size-final: 54px;
    --space2047-arrow-offset-final: 14px;
    --space2047-arrow-top-final: 50%;
    --space2047-arrow-border-final: 3px solid #18eaff;
    --space2047-arrow-radius-final: 14px;
    --space2047-arrow-bg-final: rgba(7, 5, 24, .88);
}

/* One identical rule for Books arrows and all other slider arrows */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-slider-tab-display-area .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow {
    position: absolute !important;
    top: var(--space2047-arrow-top-final) !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    width: var(--space2047-arrow-size-final) !important;
    height: var(--space2047-arrow-size-final) !important;
    min-width: var(--space2047-arrow-size-final) !important;
    max-width: var(--space2047-arrow-size-final) !important;
    min-height: var(--space2047-arrow-size-final) !important;
    max-height: var(--space2047-arrow-size-final) !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: var(--space2047-arrow-border-final) !important;
    border-radius: var(--space2047-arrow-radius-final) !important;
    outline: 0 !important;
    background: var(--space2047-arrow-bg-final) !important;
    box-shadow:
        0 0 14px rgba(24,234,255,.72),
        inset 0 0 12px rgba(255,0,255,.22) !important;

    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    text-indent: 0 !important;

    visibility: visible !important;
    opacity: 1 !important;
    overflow: hidden !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
}

/* Shared exact left coordinate */
.space2047-slider-panel-mount .space2047-home-slider-prev,
.space2047-slider-panel-mount .space2047-digital-slider-prev,
.space2047-slider-tab-display-area .space2047-home-slider-prev,
.space2047-slider-tab-display-area .space2047-digital-slider-prev {
    left: var(--space2047-arrow-offset-final) !important;
    right: auto !important;
}

/* Shared exact right coordinate */
.space2047-slider-panel-mount .space2047-home-slider-next,
.space2047-slider-panel-mount .space2047-digital-slider-next,
.space2047-slider-tab-display-area .space2047-home-slider-next,
.space2047-slider-tab-display-area .space2047-digital-slider-next {
    right: var(--space2047-arrow-offset-final) !important;
    left: auto !important;
}

/* Remove any duplicate viewport-moved Books arrows */
.space2047-slider-tab-viewport > .space2047-books-viewport-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* Ensure pseudo-elements cannot create a second border or off-centre arrow */
.space2047-slider-panel-mount .space2047-home-slider-arrow::before,
.space2047-slider-panel-mount .space2047-home-slider-arrow::after,
.space2047-slider-panel-mount .space2047-digital-slider-arrow::before,
.space2047-slider-panel-mount .space2047-digital-slider-arrow::after {
    border: 0 !important;
    box-shadow: none !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
}

/* Mobile shared geometry */
@media (max-width:760px){
    .space2047-slider-tab-display-area {
        --space2047-arrow-size-final: 46px;
        --space2047-arrow-offset-final: 10px;
        --space2047-arrow-radius-final: 12px;
    }

    .space2047-slider-panel-mount .space2047-home-slider-arrow,
    .space2047-slider-panel-mount .space2047-digital-slider-arrow,
    .space2047-slider-tab-display-area .space2047-home-slider-arrow,
    .space2047-slider-tab-display-area .space2047-digital-slider-arrow {
        font-size: 29px !important;
    }
}


/* REMOVE BOOKS SLIDER INNER/CONTAINER BORDER */
.space2047-books-slider-section,
.space2047-books-slider-section::before,
.space2047-books-slider-section::after,
.space2047-home-hero-slider,
.space2047-home-hero-slider::before,
.space2047-home-hero-slider::after {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
}


/* ==========================================================
   UNIVERSAL TAB SLIDER ARROWS
   One pair of arrows, positioned once, used for every slider.
   This guarantees identical placement across Books/Digital/CD/Merch.
   ========================================================== */

.space2047-slider-tab-viewport {
    position: relative !important;
}

/* Hide the old individual slider arrows so they cannot appear out of sync */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-slider-tab-display-area .space2047-home-slider-arrow:not(.space2047-universal-slider-arrow),
.space2047-slider-tab-display-area .space2047-digital-slider-arrow:not(.space2047-universal-slider-arrow),
.space2047-books-viewport-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* The only visible arrow boxes */
.space2047-universal-slider-arrow {
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    display: flex !important;
    align-items: center !important;
    justify-content: center !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7, 5, 24, .88) !important;
    box-shadow:
      0 0 14px rgba(24,234,255,.72),
      inset 0 0 12px rgba(255,0,255,.22) !important;

    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;

    z-index: 9999999 !important;
    cursor: pointer !important;
    pointer-events: auto !important;
    overflow: hidden !important;
}

.space2047-universal-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-universal-slider-next {
    right: 14px !important;
    left: auto !important;
}

@media (max-width:760px){
    .space2047-universal-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        border-radius: 12px !important;
        font-size: 29px !important;
    }

    .space2047-universal-slider-prev {
        left: 10px !important;
    }

    .space2047-universal-slider-next {
        right: 10px !important;
    }
}


/* FORCE UNIVERSAL ARROWS TO REMAIN VISIBLE */
.space2047-slider-tab-viewport {
    position: relative !important;
}

.space2047-slider-tab-viewport > .space2047-universal-slider-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.92) !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
    z-index: 2147483647 !important;
    pointer-events: auto !important;
    cursor: pointer !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;
}

.space2047-slider-tab-viewport > .space2047-universal-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-slider-tab-viewport > .space2047-universal-slider-next {
    right: 14px !important;
    left: auto !important;
}

/* hide old internal arrows only */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

@media (max-width:760px){
    .space2047-slider-tab-viewport > .space2047-universal-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }

    .space2047-slider-tab-viewport > .space2047-universal-slider-prev {
        left: 10px !important;
    }

    .space2047-slider-tab-viewport > .space2047-universal-slider-next {
        right: 10px !important;
    }
}


/* ==========================================================
   RESTORE TABBED SLIDERS / REMOVE UNIVERSAL ARROW SYSTEM
   ========================================================== */

.space2047-universal-slider-arrow,
.space2047-books-viewport-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* One visible tab display area */
.space2047-slider-tab-display-area {
    width: min(94vw, 1120px) !important;
    margin: 34px auto !important;
    padding: 14px !important;
    border: 4px solid #18eaff !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,0,255,.18), transparent 32%),
        radial-gradient(circle at 80% 18%, rgba(24,234,255,.18), transparent 34%),
        linear-gradient(180deg, rgba(8,8,28,.94), rgba(2,2,12,.98)) !important;
    box-shadow:
        0 0 22px rgba(24,234,255,.78),
        0 0 44px rgba(24,234,255,.32),
        inset 0 0 26px rgba(255,0,255,.16) !important;
    overflow: hidden !important;
    position: relative !important;
}

.space2047-slider-tab-viewport {
    position: relative !important;
    width: 100% !important;
    height: clamp(500px, 72vw, 720px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

.space2047-slider-panel-mount {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 58px !important;
    box-sizing: border-box !important;
}

.space2047-slider-tab-storage {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.space2047-slider-tab-panel {
    display: none !important;
    visibility: hidden !important;
}

.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Title */
.space2047-tab-current-title {
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.space2047-tab-current-title h2 {
    display: inline-block !important;
    margin: 0 !important;
    max-width: 92% !important;
    white-space: nowrap !important;
    padding: 14px 28px 16px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(70,0,95,.82), rgba(35,0,70,.88)) !important;
    border: 3px solid rgba(0,240,255,.75) !important;
    color: #ffe45c !important;
    font-size: clamp(1.2rem, 3.2vw, 2.5rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    text-shadow:
      0 0 10px rgba(255,228,92,.95),
      0 0 24px rgba(255,0,255,.38),
      0 0 34px rgba(24,234,255,.28) !important;
    box-sizing: border-box !important;
}

/* Restore normal internal arrows */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;
    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 0 !important;
    margin: 0 !important;
    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.88) !important;
    color: #fff !important;
    font-size: 34px !important;
    line-height: 1 !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-weight: 900 !important;
    z-index: 999999 !important;
    pointer-events: auto !important;
    box-sizing: border-box !important;
}

.space2047-slider-panel-mount .space2047-home-slider-prev,
.space2047-slider-panel-mount .space2047-digital-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-slider-panel-mount .space2047-home-slider-next,
.space2047-slider-panel-mount .space2047-digital-slider-next {
    right: 14px !important;
    left: auto !important;
}

/* Tabs */
.space2047-slider-tabs {
    display: flex !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 12px !important;
    flex-wrap: wrap !important;
    margin: 14px auto 0 !important;
    padding: 12px 8px 0 !important;
    position: relative !important;
    z-index: 50 !important;
}

.space2047-slider-tab-button {
    appearance: none !important;
    border: 3px solid #18eaff !important;
    background: linear-gradient(180deg, rgba(22,20,45,.98), rgba(8,8,22,.98)) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 12px 22px !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
    box-shadow:
      0 0 16px rgba(24,234,255,.42),
      inset 0 0 14px rgba(255,0,255,.18) !important;
}

.space2047-slider-tab-button.is-active {
    background: linear-gradient(180deg, #ffe900, #ffd000) !important;
    color: #050518 !important;
    border-color: #ffe900 !important;
}

@media (max-width: 760px) {
    .space2047-slider-tab-viewport {
        height: 68vh !important;
        min-height: 470px !important;
        max-height: 620px !important;
    }

    .space2047-slider-panel-mount {
        padding-top: 48px !important;
    }

    .space2047-slider-panel-mount .space2047-home-slider-arrow,
    .space2047-slider-panel-mount .space2047-digital-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }

    .space2047-slider-panel-mount .space2047-home-slider-prev,
    .space2047-slider-panel-mount .space2047-digital-slider-prev {
        left: 10px !important;
    }

    .space2047-slider-panel-mount .space2047-home-slider-next,
    .space2047-slider-panel-mount .space2047-digital-slider-next {
        right: 10px !important;
    }
}


/* FORCE SLIDER ARROWS VISIBLE AGAIN */
.space2047-home-slider-arrow,
.space2047-digital-slider-arrow{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;

    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;

    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;

    align-items:center !important;
    justify-content:center !important;

    z-index:9999999 !important;

    border:3px solid #18eaff !important;
    border-radius:14px !important;
    background:rgba(7,5,24,.88) !important;

    color:#fff !important;
    font-size:34px !important;
    font-weight:900 !important;
    line-height:1 !important;
}

.space2047-home-slider-prev,
.space2047-digital-slider-prev{
    left:14px !important;
}

.space2047-home-slider-next,
.space2047-digital-slider-next{
    right:14px !important;
}

@media (max-width:760px){
    .space2047-home-slider-arrow,
    .space2047-digital-slider-arrow{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
        font-size:29px !important;
    }

    .space2047-home-slider-prev,
    .space2047-digital-slider-prev{
        left:10px !important;
    }

    .space2047-home-slider-next,
    .space2047-digital-slider-next{
        right:10px !important;
    }
}


/* ==========================================================
   DISPLAY-AREA LEVEL ARROWS
   Arrows sit on the outer tab display area, so they cannot vanish
   when the viewport/tab panel is redrawn.
   ========================================================== */

.space2047-slider-tab-display-area {
    position: relative !important;
}

/* Hide all internal slider arrows to avoid duplicates and misalignment */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-slider-tab-viewport .space2047-home-slider-arrow,
.space2047-slider-tab-viewport .space2047-digital-slider-arrow,
.space2047-books-viewport-arrow,
.space2047-universal-slider-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

/* The only visible arrow boxes */
.space2047-slider-tab-display-area > .space2047-display-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: absolute !important;
    top: calc(14px + (clamp(500px, 72vw, 720px) / 2)) !important;
    transform: translateY(-50%) !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;

    align-items: center !important;
    justify-content: center !important;

    z-index: 2147483647 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.92) !important;
    box-shadow:
      0 0 14px rgba(24,234,255,.72),
      inset 0 0 12px rgba(255,0,255,.22) !important;

    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

.space2047-slider-tab-display-area > .space2047-display-arrow-prev {
    left: 28px !important;
    right: auto !important;
}

.space2047-slider-tab-display-area > .space2047-display-arrow-next {
    right: 28px !important;
    left: auto !important;
}

@media (max-width:760px){
    .space2047-slider-tab-display-area > .space2047-display-arrow {
        top: calc(10px + (68vh / 2)) !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        border-radius: 12px !important;
        font-size: 29px !important;
    }

    .space2047-slider-tab-display-area > .space2047-display-arrow-prev {
        left: 20px !important;
    }

    .space2047-slider-tab-display-area > .space2047-display-arrow-next {
        right: 20px !important;
    }
}


/* MATCH CDs + MERCHANDISING BORDERS TO BOOKS + DIGITAL DOWNLOADS */
.space2047-slider-panel-mount > .space2047-cds-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-merch-slider-section.is-active,
.space2047-cds-slider-section,
.space2047-merch-slider-section {
    border: 4px solid #18eaff !important;
    border-radius: 34px !important;
    box-shadow:
        0 0 24px rgba(24,234,255,.62),
        0 0 42px rgba(24,234,255,.20),
        inset 0 0 20px rgba(255,0,255,.12) !important;
    outline: none !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
}

/* Ensure their inner slider area does not create a second offset border */
.space2047-cds-slider-section .space2047-digital-download-slider,
.space2047-merch-slider-section .space2047-digital-download-slider {
    border: 0 !important;
    box-shadow: none !important;
    outline: 0 !important;
    border-radius: 0 !important;
}

/* Keep all four slider panels aligned in the same visible border position */
.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active {
    margin: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
}


/* PRECISE DIGITAL DOWNLOADS BORDER ALIGNMENT */
.space2047-slider-panel-mount > .space2047-digital-downloads-home-section.is-active,
.space2047-digital-downloads-home-section {
    border: 4px solid #18eaff !important;
    border-radius: 34px !important;
    box-shadow:
        0 0 24px rgba(24,234,255,.62),
        0 0 42px rgba(24,234,255,.20),
        inset 0 0 20px rgba(255,0,255,.12) !important;

    margin: 0 !important;
    padding: 0 !important;
    width: 100% !important;
    height: 100% !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    position: relative !important;
}

/* remove offset inner border layer */
.space2047-digital-downloads-home-section .space2047-digital-download-slider,
.space2047-digital-downloads-home-section::before,
.space2047-digital-downloads-home-section::after {
    border: 0 !important;
    outline: 0 !important;
    box-shadow: none !important;
    margin: 0 !important;
}

/* unify all active panels to identical border positioning */
.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active,
.space2047-slider-panel-mount > .space2047-books-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-cds-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-merch-slider-section.is-active,
.space2047-slider-panel-mount > .space2047-digital-downloads-home-section.is-active {
    inset: 0 !important;
    top: 0 !important;
    left: 0 !important;
}


/* FORCE ALL TAB BUTTONS ONTO SAME LINE */
.space2047-slider-tabs{
    display:flex !important;
    flex-wrap:nowrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px !important;
    overflow-x:auto !important;
    overflow-y:hidden !important;
    white-space:nowrap !important;
    padding-left:8px !important;
    padding-right:8px !important;
    scrollbar-width:thin !important;
}

.space2047-slider-tab-button{
    flex:0 0 auto !important;
    white-space:nowrap !important;
}

/* Smaller tab buttons so Merchandising fits on same row */
@media (min-width:761px){
    .space2047-slider-tab-button{
        padding:10px 18px !important;
        font-size:0.95rem !important;
    }
}

@media (max-width:760px){
    .space2047-slider-tabs{
        justify-content:flex-start !important;
    }

    .space2047-slider-tab-button{
        padding:9px 14px !important;
        font-size:0.82rem !important;
    }
}


/* TWO-LINE TAB LAYOUT */
.space2047-slider-tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    justify-content:center !important;
    align-items:center !important;
    gap:10px 12px !important;
    max-width:760px !important;
    margin:14px auto 0 !important;
    overflow:visible !important;
    white-space:normal !important;
}

.space2047-slider-tab-button{
    flex:0 1 auto !important;
    white-space:nowrap !important;
}

/* Keep tabs compact so they naturally fit into two rows */
@media (min-width:761px){
    .space2047-slider-tab-button{
        padding:10px 18px !important;
        font-size:.95rem !important;
    }
}

@media (max-width:760px){
    .space2047-slider-tabs{
        max-width:96% !important;
        gap:8px 8px !important;
    }

    .space2047-slider-tab-button{
        padding:9px 14px !important;
        font-size:.82rem !important;
    }
}


/* Product name overlay matched from image title/filename */
.space2047-slide,
.space2047-digital-slide {
    position: relative !important;
}

.space2047-product-name-overlay {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    z-index: 50 !important;
    max-width: 88% !important;
    padding: 10px 18px !important;
    border: 2px solid rgba(24,234,255,.8) !important;
    border-radius: 999px !important;
    background: rgba(7,5,24,.86) !important;
    color: #ffe45c !important;
    font-size: clamp(.9rem, 2.3vw, 1.35rem) !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    text-shadow: 0 0 8px rgba(255,228,92,.8), 0 0 18px rgba(24,234,255,.35) !important;
    box-shadow: 0 0 14px rgba(24,234,255,.35), inset 0 0 10px rgba(255,0,255,.16) !important;
    pointer-events: none !important;
}



/* Bulk filename matched product name + URL overlay */
.space2047-product-image-link {
    display: block !important;
    text-decoration: none !important;
}

.space2047-product-name-overlay {
    position: absolute !important;
    left: 50% !important;
    bottom: 18px !important;
    transform: translateX(-50%) !important;
    z-index: 80 !important;
    max-width: 88% !important;
    padding: 10px 18px !important;
    border: 2px solid rgba(24,234,255,.8) !important;
    border-radius: 999px !important;
    background: rgba(7,5,24,.86) !important;
    color: #ffe45c !important;
    font-size: clamp(.9rem, 2.3vw, 1.35rem) !important;
    font-weight: 900 !important;
    text-align: center !important;
    text-transform: uppercase !important;
    letter-spacing: .04em !important;
    text-decoration: none !important;
    text-shadow: 0 0 8px rgba(255,228,92,.8), 0 0 18px rgba(24,234,255,.35) !important;
    box-shadow: 0 0 14px rgba(24,234,255,.35), inset 0 0 10px rgba(255,0,255,.16) !important;
}

.space2047-product-name-overlay:hover {
    color: #ffffff !important;
    border-color: #ffe45c !important;
}


/* ==========================================================
   REPAIR TABS AFTER BULK PRODUCT LINK ADMIN UPDATE
   Keep bulk admin boxes, restore one-slider-at-a-time frontend.
   ========================================================== */

.space2047-slider-tab-display-area {
    width: min(94vw, 1120px) !important;
    margin: 34px auto !important;
    padding: 14px !important;
    border: 4px solid #18eaff !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,0,255,.18), transparent 32%),
        radial-gradient(circle at 80% 18%, rgba(24,234,255,.18), transparent 34%),
        linear-gradient(180deg, rgba(8,8,28,.94), rgba(2,2,12,.98)) !important;
    box-shadow:
        0 0 22px rgba(24,234,255,.78),
        0 0 44px rgba(24,234,255,.32),
        inset 0 0 26px rgba(255,0,255,.16) !important;
    overflow: hidden !important;
    position: relative !important;
}

.space2047-slider-tab-viewport {
    position: relative !important;
    width: 100% !important;
    height: clamp(500px, 72vw, 720px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

.space2047-slider-panel-mount {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 58px !important;
    box-sizing: border-box !important;
}

.space2047-slider-tab-storage {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.space2047-slider-tab-panel {
    display: none !important;
    visibility: hidden !important;
}

.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

/* Hide original stacked panels once tabbed */
body .space2047-slider-tab-storage .space2047-slider-tab-panel,
body .space2047-slider-tab-panel:not(.is-active) {
    display: none !important;
}

/* Tabs */
.space2047-slider-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px 12px !important;
    max-width: 760px !important;
    margin: 14px auto 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    position: relative !important;
    z-index: 50 !important;
}

.space2047-slider-tab-button {
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    appearance: none !important;
    border: 3px solid #18eaff !important;
    background: linear-gradient(180deg, rgba(22,20,45,.98), rgba(8,8,22,.98)) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.space2047-slider-tab-button.is-active {
    background: linear-gradient(180deg, #ffe900, #ffd000) !important;
    color: #050518 !important;
    border-color: #ffe900 !important;
}

/* Title */
.space2047-tab-current-title {
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.space2047-tab-current-title h2 {
    display: inline-block !important;
    margin: 0 !important;
    max-width: 92% !important;
    white-space: nowrap !important;
    padding: 14px 28px 16px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(70,0,95,.82), rgba(35,0,70,.88)) !important;
    border: 3px solid rgba(0,240,255,.75) !important;
    color: #ffe45c !important;
    font-size: clamp(1.2rem, 3.2vw, 2.5rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

@media (max-width:760px){
    .space2047-slider-tab-viewport {
        height: 68vh !important;
        min-height: 470px !important;
        max-height: 620px !important;
    }

    .space2047-slider-panel-mount {
        padding-top: 48px !important;
    }

    .space2047-slider-tabs {
        max-width: 96% !important;
        gap: 8px !important;
    }

    .space2047-slider-tab-button {
        padding: 9px 14px !important;
        font-size: .82rem !important;
    }
}


/* ==========================================================
   RESTORE ALL SLIDER ARROWS
   ========================================================== */

.space2047-home-slider-arrow,
.space2047-digital-slider-arrow,
.space2047-home-slider-prev,
.space2047-home-slider-next,
.space2047-digital-slider-prev,
.space2047-digital-slider-next{
    display:flex !important;
    visibility:visible !important;
    opacity:1 !important;
    pointer-events:auto !important;
}

.space2047-home-slider-arrow,
.space2047-digital-slider-arrow{
    position:absolute !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    width:54px !important;
    height:54px !important;
    min-width:54px !important;
    min-height:54px !important;
    align-items:center !important;
    justify-content:center !important;
    z-index:9999999 !important;
    border:3px solid #18eaff !important;
    border-radius:14px !important;
    background:rgba(7,5,24,.92) !important;
    color:#ffffff !important;
    font-size:34px !important;
    font-weight:900 !important;
    line-height:1 !important;
    box-sizing:border-box !important;
}

.space2047-home-slider-prev,
.space2047-digital-slider-prev{
    left:14px !important;
    right:auto !important;
}

.space2047-home-slider-next,
.space2047-digital-slider-next{
    right:14px !important;
    left:auto !important;
}

@media (max-width:760px){
    .space2047-home-slider-arrow,
    .space2047-digital-slider-arrow{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
        font-size:28px !important;
    }

    .space2047-home-slider-prev,
    .space2047-digital-slider-prev{
        left:10px !important;
    }

    .space2047-home-slider-next,
    .space2047-digital-slider-next{
        right:10px !important;
    }
}


/* ==========================================================
   RE-ADD / FORCE VISIBLE SLIDER ARROWS
   ========================================================== */

.space2047-home-hero-slider,
.space2047-books-slider-section,
.space2047-digital-download-slider {
    position: relative !important;
}

/* Force every arrow button to show */
.space2047-home-slider-arrow,
.space2047-digital-slider-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: absolute !important;
    top: 50% !important;
    bottom: auto !important;
    transform: translateY(-50%) !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    max-width: 54px !important;
    min-height: 54px !important;
    max-height: 54px !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    z-index: 99999999 !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.92) !important;
    color: #ffffff !important;
    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;
    cursor: pointer !important;
    overflow: hidden !important;
}

.space2047-home-slider-prev,
.space2047-digital-slider-prev {
    left: 14px !important;
    right: auto !important;
}

.space2047-home-slider-next,
.space2047-digital-slider-next {
    right: 14px !important;
    left: auto !important;
}

/* Do not let old hiding rules win */
.space2047-slider-panel-mount .space2047-home-slider-arrow,
.space2047-slider-panel-mount .space2047-digital-slider-arrow,
.space2047-slider-tab-display-area .space2047-home-slider-arrow,
.space2047-slider-tab-display-area .space2047-digital-slider-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
}

@media (max-width:760px){
    .space2047-home-slider-arrow,
    .space2047-digital-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        max-width: 46px !important;
        min-height: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }

    .space2047-home-slider-prev,
    .space2047-digital-slider-prev {
        left: 10px !important;
    }

    .space2047-home-slider-next,
    .space2047-digital-slider-next {
        right: 10px !important;
    }
}


/* ==========================================================
   NEW INDEPENDENT SLIDER ARROWS
   Uses new class names so old hide rules cannot affect them.
   ========================================================== */

.space2047-slider-tab-display-area {
    position: relative !important;
}

/* Hide old arrow systems to avoid duplicates */
.space2047-home-slider-arrow,
.space2047-digital-slider-arrow,
.space2047-universal-slider-arrow,
.space2047-display-arrow,
.space2047-books-viewport-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
}

/* New visible arrows */
.space2047-slider-tab-display-area > .space2047-independent-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: absolute !important;
    top: calc(14px + (clamp(500px, 72vw, 720px) / 2)) !important;
    transform: translateY(-50%) !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;

    align-items: center !important;
    justify-content: center !important;

    z-index: 2147483647 !important;
    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.94) !important;
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;

    cursor: pointer !important;
    overflow: hidden !important;

    box-shadow:
      0 0 14px rgba(24,234,255,.72),
      inset 0 0 12px rgba(255,0,255,.22) !important;
}

.space2047-slider-tab-display-area > .space2047-independent-arrow-prev {
    left: 28px !important;
    right: auto !important;
}

.space2047-slider-tab-display-area > .space2047-independent-arrow-next {
    right: 28px !important;
    left: auto !important;
}

@media (max-width:760px){
    .space2047-slider-tab-display-area > .space2047-independent-arrow {
        top: calc(14px + (68vh / 2)) !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }

    .space2047-slider-tab-display-area > .space2047-independent-arrow-prev {
        left: 20px !important;
    }

    .space2047-slider-tab-display-area > .space2047-independent-arrow-next {
        right: 20px !important;
    }
}


/* ==========================================================
   REMOVE INDEPENDENT ARROWS / RESTORE CLEAN TAB SYSTEM
   ========================================================== */

.space2047-independent-arrow,
.space2047-universal-slider-arrow,
.space2047-display-arrow,
.space2047-books-viewport-arrow {
    display: none !important;
    visibility: hidden !important;
    opacity: 0 !important;
    pointer-events: none !important;
}

.space2047-slider-tab-display-area {
    width: min(94vw, 1120px) !important;
    margin: 34px auto !important;
    padding: 14px !important;
    border: 4px solid #18eaff !important;
    border-radius: 36px !important;
    background:
        radial-gradient(circle at 20% 12%, rgba(255,0,255,.18), transparent 32%),
        radial-gradient(circle at 80% 18%, rgba(24,234,255,.18), transparent 34%),
        linear-gradient(180deg, rgba(8,8,28,.94), rgba(2,2,12,.98)) !important;
    box-shadow:
        0 0 22px rgba(24,234,255,.78),
        0 0 44px rgba(24,234,255,.32),
        inset 0 0 26px rgba(255,0,255,.16) !important;
    overflow: hidden !important;
    position: relative !important;
}

.space2047-slider-tab-viewport {
    position: relative !important;
    width: 100% !important;
    height: clamp(500px, 72vw, 720px) !important;
    overflow: hidden !important;
    border-radius: 28px !important;
}

.space2047-slider-panel-mount {
    position: relative !important;
    z-index: 5 !important;
    width: 100% !important;
    height: 100% !important;
    padding-top: 58px !important;
    box-sizing: border-box !important;
}

.space2047-slider-tab-storage {
    display: none !important;
    height: 0 !important;
    overflow: hidden !important;
}

.space2047-slider-tab-panel {
    display: none !important;
    visibility: hidden !important;
}

.space2047-slider-panel-mount > .space2047-slider-tab-panel.is-active {
    display: block !important;
    visibility: visible !important;
    width: 100% !important;
    height: 100% !important;
    position: relative !important;
    overflow: hidden !important;
}

body .space2047-slider-tab-storage .space2047-slider-tab-panel,
body .space2047-slider-tab-panel:not(.is-active) {
    display: none !important;
}

.space2047-slider-tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    justify-content: center !important;
    align-items: center !important;
    gap: 10px 12px !important;
    max-width: 760px !important;
    margin: 14px auto 0 !important;
    overflow: visible !important;
    white-space: normal !important;
    position: relative !important;
    z-index: 50 !important;
}

.space2047-slider-tab-button {
    flex: 0 1 auto !important;
    white-space: nowrap !important;
    appearance: none !important;
    border: 3px solid #18eaff !important;
    background: linear-gradient(180deg, rgba(22,20,45,.98), rgba(8,8,22,.98)) !important;
    color: #fff !important;
    border-radius: 999px !important;
    padding: 10px 18px !important;
    font-size: .95rem !important;
    font-weight: 900 !important;
    letter-spacing: .04em !important;
    text-transform: uppercase !important;
    cursor: pointer !important;
}

.space2047-slider-tab-button.is-active {
    background: linear-gradient(180deg, #ffe900, #ffd000) !important;
    color: #050518 !important;
    border-color: #ffe900 !important;
}

.space2047-tab-current-title {
    position: absolute !important;
    top: 16px !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 99999 !important;
    text-align: center !important;
    pointer-events: none !important;
}

.space2047-tab-current-title h2 {
    display: inline-block !important;
    margin: 0 !important;
    max-width: 92% !important;
    white-space: nowrap !important;
    padding: 14px 28px 16px !important;
    border-radius: 22px !important;
    background: linear-gradient(180deg, rgba(70,0,95,.82), rgba(35,0,70,.88)) !important;
    border: 3px solid rgba(0,240,255,.75) !important;
    color: #ffe45c !important;
    font-size: clamp(1.2rem, 3.2vw, 2.5rem) !important;
    line-height: 1 !important;
    font-weight: 900 !important;
    letter-spacing: .05em !important;
    text-transform: uppercase !important;
    box-sizing: border-box !important;
}

@media (max-width:760px){
    .space2047-slider-tab-viewport {
        height: 68vh !important;
        min-height: 470px !important;
        max-height: 620px !important;
    }

    .space2047-slider-panel-mount {
        padding-top: 48px !important;
    }

    .space2047-slider-tabs {
        max-width: 96% !important;
        gap: 8px !important;
    }

    .space2047-slider-tab-button {
        padding: 9px 14px !important;
        font-size: .82rem !important;
    }
}


/* ==========================================================
   FIXED TAB AREA ARROWS ONLY
   Adds arrows without changing the working tab layout.
   ========================================================== */

.space2047-slider-tab-display-area {
    position: relative !important;
}

.space2047-slider-tab-display-area > .space2047-fixed-tab-arrow {
    display: flex !important;
    visibility: visible !important;
    opacity: 1 !important;
    pointer-events: auto !important;

    position: absolute !important;
    top: calc(14px + (clamp(500px, 72vw, 720px) / 2)) !important;
    transform: translateY(-50%) !important;

    width: 54px !important;
    height: 54px !important;
    min-width: 54px !important;
    min-height: 54px !important;
    max-width: 54px !important;
    max-height: 54px !important;

    align-items: center !important;
    justify-content: center !important;

    padding: 0 !important;
    margin: 0 !important;
    box-sizing: border-box !important;

    border: 3px solid #18eaff !important;
    border-radius: 14px !important;
    background: rgba(7,5,24,.94) !important;
    color: #ffffff !important;

    font-family: Arial, Helvetica, sans-serif !important;
    font-size: 34px !important;
    font-weight: 900 !important;
    line-height: 1 !important;
    text-align: center !important;

    z-index: 2147483647 !important;
    cursor: pointer !important;
    overflow: hidden !important;

    box-shadow:
      0 0 14px rgba(24,234,255,.72),
      inset 0 0 12px rgba(255,0,255,.22) !important;
}

.space2047-slider-tab-display-area > .space2047-fixed-tab-arrow-prev {
    left: 28px !important;
    right: auto !important;
}

.space2047-slider-tab-display-area > .space2047-fixed-tab-arrow-next {
    right: 28px !important;
    left: auto !important;
}

@media (max-width:760px){
    .space2047-slider-tab-display-area > .space2047-fixed-tab-arrow {
        top: calc(14px + (68vh / 2)) !important;
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
        max-width: 46px !important;
        max-height: 46px !important;
        font-size: 29px !important;
        border-radius: 12px !important;
    }

    .space2047-slider-tab-display-area > .space2047-fixed-tab-arrow-prev {
        left: 20px !important;
    }

    .space2047-slider-tab-display-area > .space2047-fixed-tab-arrow-next {
        right: 20px !important;
    }
}


/* ==========================================================
   BOOK SLIDER TITLE GAP FIX
   Moves the book images/buttons down just enough to create a clean
   gap below the Books title without creating excessive empty space.
   ========================================================== */

.space2047-slider-panel-mount {
    padding-top: 68px !important;
    padding-bottom: 18px !important;
}

/* Keep title in the top dark band */
.space2047-tab-current-title {
    top: 10px !important;
}

/* Move actual slider contents slightly down from the title */
.space2047-slider-panel-mount .space2047-home-slider-track,
.space2047-slider-panel-mount .space2047-digital-slider-track {
    padding-top: 18px !important;
    box-sizing: border-box !important;
}

/* Equal, contained cover/image sizing */
.space2047-slider-panel-mount img,
.space2047-slider-panel-mount .space2047-slide img,
.space2047-slider-panel-mount .space2047-digital-slide img {
    max-height: 250px !important;
    max-width: 70% !important;
    object-fit: contain !important;
    margin-top: 0 !important;
}

/* Keep slide buttons/controls aligned lower but not cut off */
.space2047-slider-tabs {
    margin-top: 12px !important;
}

/* Remove excessive dead space while preserving the gap */
.space2047-slider-tab-viewport {
    height: 430px !important;
    min-height: 430px !important;
    max-height: 430px !important;
}

/* Mobile */
@media (max-width:760px){
    .space2047-slider-panel-mount {
        padding-top: 66px !important;
        padding-bottom: 14px !important;
    }

    .space2047-slider-panel-mount .space2047-home-slider-track,
    .space2047-slider-panel-mount .space2047-digital-slider-track {
        padding-top: 14px !important;
    }

    .space2047-slider-panel-mount img,
    .space2047-slider-panel-mount .space2047-slide img,
    .space2047-slider-panel-mount .space2047-digital-slide img {
        max-height: 235px !important;
        max-width: 68% !important;
    }

    .space2047-slider-tab-viewport {
        height: 410px !important;
        min-height: 410px !important;
        max-height: 410px !important;
    }
}


/* Exact label fix: fit longer Amazon and store labels */
[data-space2047-label-fixed="amazon"],
[data-space2047-label-fixed="store"] {
    font-size: clamp(0.62rem, 2.1vw, 1rem) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    word-break: normal !important;
    text-align: center !important;
}

@media (max-width:760px){
    [data-space2047-label-fixed="amazon"],
    [data-space2047-label-fixed="store"] {
        font-size: 0.62rem !important;
        line-height: 1.02 !important;
        letter-spacing: .02em !important;
    }
}


/* Three extra homepage buy buttons below existing Amazon/store buttons */




@media (max-width:760px){
    
    
}



/* Make sure the existing Amazon/store row remains above this row */


@media (max-width: 760px) {
    

    
}




/* Keep the three long buttons below the clean row */


@media (max-width:760px){
    

    .space2047-amazon-store-clean-button {
        grid-template-columns: 50px 1fr !important;
        min-height: 70px !important;
        padding: 9px 10px !important;
        font-size: .66rem !important;
        line-height: 1.03 !important;
        border-radius: 16px !important;
    }

    .space2047-clean-button-icon {
        width: 42px !important;
        height: 42px !important;
        font-size: 25px !important;
    }

    

@media (max-width:760px){
    .space2047-slider-tab-button {
        font-size: .64rem !important;
        line-height: 1.02 !important;
        padding: 7px 7px !important;
    }
}


/* Move the books information button underneath merchandising */
.space2047-books-info-under-merch,
.space2047-more-books-info,
.space2047-books-information-button {
    order: 999 !important;
}

@media (min-width: 320px){

    /* force layout ordering */
    body 

    body 
}


/* Keep extra homepage buttons visible; does not alter slider tabs */





/* Hyperlinked slider titles */
.space2047-slider-title-link{
    color:inherit !important;
    text-decoration:none !important;
    display:inline-block !important;
    width:100% !important;
}

.space2047-slider-title-link:hover{
    text-decoration:none !important;
    opacity:.92 !important;
}


/* Smaller clickable slider title labels */
.space2047-tab-current-title h2 {
    font-size: clamp(.72rem, 2.45vw, 1.45rem) !important;
    line-height: 1.08 !important;
    padding: 8px 14px 9px !important;
    max-width: 94% !important;
    white-space: normal !important;
    cursor: pointer !important;
}

.space2047-slider-title-link {
    color: inherit !important;
    text-decoration: none !important;
    display: inline-block !important;
    width: 100% !important;
}

.space2047-slider-title-link:hover,
.space2047-tab-current-title h2:hover {
    color: #ffffff !important;
    text-decoration: none !important;
}

@media (max-width:760px){
    .space2047-tab-current-title h2 {
        font-size: .72rem !important;
        line-height: 1.04 !important;
        padding: 7px 10px 8px !important;
        max-width: 96% !important;
        letter-spacing: .02em !important;
    }
}


.space2047-slider-title-link{
    color:inherit !important;
    text-decoration:none !important;
    display:block !important;
    width:100% !important;
    height:100% !important;
    pointer-events:auto !important;
    cursor:pointer !important;
}

.space2047-slider-title-link:hover{
    text-decoration:none !important;
}


/* Space 2047 slider book centering upgrade */
.space2047-slider img,
.space2047-book-slider img,
.book-slider img,
.slider-book img,
[class*="slider"] img {
    max-width: 82% !important;
    width: auto !important;
    height: auto !important;
    margin-left: auto !important;
    margin-right: auto !important;
    display: block !important;
    object-fit: contain !important;
    filter: drop-shadow(0 10px 18px rgba(0,0,0,0.45)) !important;
    transition: transform 0.25s ease;
}

.space2047-slider .slide,
.space2047-book-slider .slide,
.book-slider .slide,
.slider-item,
[class*="slider"] .slide {
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    overflow: visible !important;
}

.space2047-slider img:hover,
.space2047-book-slider img:hover,
.book-slider img:hover,
.slider-book img:hover,
[class*="slider"] img:hover {
    transform: scale(1.02);
}


/* Remove digital downloads CTA buttons */
.digital-downloads-slider .btn,
.digital-downloads-slider .button,
.digital-downloads-slider a.button,
.digital-downloads-slider .find-out-more,
.digital-downloads-slider .slider-button,
.digital-downloads-slider .download-cta {
    display:none !important;
}


/* Force remove empty digital download buttons */
.digital-downloads-slider a,
.digital-downloads-slider button,
.digital-downloads-slider .btn,
.digital-downloads-slider .button,
.digital-downloads-slider .slider-button,
.digital-downloads-slider .find-out-more {
    display: none !important;
}

/* Hide empty button containers */
.digital-downloads-slider .button-wrap,
.digital-downloads-slider .cta-wrap,
.digital-downloads-slider .buttons,
.digital-downloads-slider .slider-buttons {
    display: none !important;
}


/* Final fix: remove the actual Digital Downloads CTA boxes, including empty dot buttons. */
.space2047-digital-downloads-home-section:not(.space2047-extra-product-slider-section) .space2047-digital-button,
.space2047-digital-downloads-home-section:not(.space2047-extra-product-slider-section) a.space2047-digital-button,
.space2047-digital-downloads-home-section:not(.space2047-extra-product-slider-section) span.space2047-digital-button,
.space2047-digital-downloads-home-section:not(.space2047-extra-product-slider-section) .space2047-digital-button-disabled {
  display: none !important;
  visibility: hidden !important;
  opacity: 0 !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  box-shadow: none !important;
  pointer-events: none !important;
}


/* ==========================================================
   Digital downloads slider: remove title above picture
   ========================================================== */
.digital-downloads-slider .slide-title,
.digital-downloads-slider .slider-title,
.digital-downloads-slider .image-title,
.digital-downloads-slider .download-title,
.digital-downloads-slider .gallery-title,
.digital-downloads-slider .wp-caption-text,
.digital-downloads-slider figcaption,
.digital-downloads-slider h1,
.digital-downloads-slider h2,
.digital-downloads-slider h3,
.digital-downloads-slider h4,
.digital-downloads-slider h5,
.digital-downloads-slider h6,
#digital-downloads-slider .slide-title,
#digital-downloads-slider .slider-title,
#digital-downloads-slider .image-title,
#digital-downloads-slider .download-title,
#digital-downloads-slider .gallery-title,
#digital-downloads-slider .wp-caption-text,
#digital-downloads-slider figcaption,
#digital-downloads-slider h1,
#digital-downloads-slider h2,
#digital-downloads-slider h3,
#digital-downloads-slider h4,
#digital-downloads-slider h5,
#digital-downloads-slider h6,
[class*="digital"][class*="download"] .slide-title,
[class*="digital"][class*="download"] .slider-title,
[class*="digital"][class*="download"] .image-title,
[class*="digital"][class*="download"] .download-title,
[class*="digital"][class*="download"] .gallery-title,
[class*="digital"][class*="download"] figcaption {
    display: none !important;
}

/* ==========================================================
   Digital downloads slider: centred book cover on bookshelf
   ========================================================== */
.digital-downloads-slider .slide,
.digital-downloads-slider .slider-item,
.digital-downloads-slider .gallery-item,
#digital-downloads-slider .slide,
#digital-downloads-slider .slider-item,
#digital-downloads-slider .gallery-item,
[class*="digital"][class*="download"] .slide,
[class*="digital"][class*="download"] .slider-item,
[class*="digital"][class*="download"] .gallery-item {
    position: relative !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    padding: 22px 18px 56px !important;
    min-height: 360px !important;
    overflow: visible !important;
    text-align: center !important;
}

/* Draw a neat shelf beneath the cover */
.digital-downloads-slider .slide::after,
.digital-downloads-slider .slider-item::after,
.digital-downloads-slider .gallery-item::after,
#digital-downloads-slider .slide::after,
#digital-downloads-slider .slider-item::after,
#digital-downloads-slider .gallery-item::after,
[class*="digital"][class*="download"] .slide::after,
[class*="digital"][class*="download"] .slider-item::after,
[class*="digital"][class*="download"] .gallery-item::after {
    content: "" !important;
    position: absolute !important;
    left: 12% !important;
    right: 12% !important;
    bottom: 28px !important;
    height: 16px !important;
    border-radius: 999px !important;
    background: linear-gradient(180deg, #d9a441 0%, #9a651f 45%, #4c2a0b 100%) !important;
    box-shadow:
        0 8px 18px rgba(0,0,0,0.55),
        inset 0 2px 3px rgba(255,255,255,0.35),
        inset 0 -3px 4px rgba(0,0,0,0.35) !important;
    z-index: 1 !important;
}

/* Shelf front lip */
.digital-downloads-slider .slide::before,
.digital-downloads-slider .slider-item::before,
.digital-downloads-slider .gallery-item::before,
#digital-downloads-slider .slide::before,
#digital-downloads-slider .slider-item::before,
#digital-downloads-slider .gallery-item::before,
[class*="digital"][class*="download"] .slide::before,
[class*="digital"][class*="download"] .slider-item::before,
[class*="digital"][class*="download"] .gallery-item::before {
    content: "" !important;
    position: absolute !important;
    left: 14% !important;
    right: 14% !important;
    bottom: 16px !important;
    height: 15px !important;
    border-radius: 0 0 14px 14px !important;
    background: linear-gradient(180deg, #6e3f12 0%, #2d1605 100%) !important;
    box-shadow: 0 10px 18px rgba(0,0,0,0.45) !important;
    z-index: 0 !important;
}

/* Shrink and centre the book so it sits above the shelf with a visible gap */
.digital-downloads-slider img,
#digital-downloads-slider img,
[class*="digital"][class*="download"] img {
    position: relative !important;
    z-index: 2 !important;
    display: block !important;
    width: auto !important;
    max-width: 68% !important;
    max-height: 270px !important;
    height: auto !important;
    object-fit: contain !important;
    margin: 0 auto 22px auto !important;
    filter: drop-shadow(0 14px 18px rgba(0,0,0,0.55)) !important;
    transform: none !important;
}


/* ==========================================================
   EXACT FIX: Digital downloads slider no title, no button box,
   centred smaller image sitting above a drawn bookshelf.
   Targets the real classes in index.php.
   ========================================================== */
.space2047-digital-download-slider .space2047-digital-product-title,
.space2047-digital-download-slider .space2047-home-hero-book-button,
.space2047-digital-download-slider .space2047-home-hero-book-button-disabled,
.space2047-digital-download-slider .space2047-digital-button,
.space2047-digital-download-slider .space2047-digital-cta,
.space2047-digital-download-slider .space2047-digital-slide a.button,
.space2047-digital-download-slider .space2047-digital-slide .button,
.space2047-digital-download-slider .space2047-digital-slide .btn,
.space2047-digital-download-slider .space2047-digital-slide button:not(.space2047-digital-slider-arrow) {
  display: none !important;
  visibility: hidden !important;
  width: 0 !important;
  height: 0 !important;
  min-width: 0 !important;
  min-height: 0 !important;
  padding: 0 !important;
  margin: 0 !important;
  border: 0 !important;
  overflow: hidden !important;
}

.space2047-digital-download-slider {
  overflow: visible !important;
}

.space2047-digital-download-slider .space2047-digital-slide {
  position: relative !important;
  min-height: 390px !important;
  padding: 28px 26px 82px !important;
  box-sizing: border-box !important;
  display: none !important;
  align-items: center !important;
  justify-content: center !important;
  text-align: center !important;
  overflow: visible !important;
}

.space2047-digital-download-slider .space2047-digital-slide.is-active {
  display: flex !important;
}

.space2047-digital-download-slider .space2047-digital-slide::before {
  content: "" !important;
  position: absolute !important;
  left: 18% !important;
  right: 18% !important;
  bottom: 34px !important;
  height: 18px !important;
  border-radius: 999px !important;
  background: linear-gradient(180deg, #f0c45b 0%, #b17927 48%, #4d2909 100%) !important;
  box-shadow: 0 12px 24px rgba(0,0,0,.58), inset 0 2px 4px rgba(255,255,255,.42), inset 0 -4px 5px rgba(0,0,0,.35) !important;
  z-index: 1 !important;
  pointer-events: none !important;
}

.space2047-digital-download-slider .space2047-digital-slide::after {
  content: "" !important;
  position: absolute !important;
  left: 20% !important;
  right: 20% !important;
  bottom: 20px !important;
  height: 16px !important;
  border-radius: 0 0 14px 14px !important;
  background: linear-gradient(180deg, #7b4714 0%, #321806 100%) !important;
  box-shadow: 0 10px 20px rgba(0,0,0,.5) !important;
  z-index: 0 !important;
  pointer-events: none !important;
}

.space2047-digital-download-slider .space2047-digital-image {
  position: relative !important;
  z-index: 2 !important;
  display: block !important;
  width: auto !important;
  max-width: 64% !important;
  max-height: 275px !important;
  height: auto !important;
  object-fit: contain !important;
  margin: 0 auto 28px !important;
  filter: drop-shadow(0 18px 22px rgba(0,0,0,.62)) !important;
}

.space2047-digital-download-slider .space2047-digital-slider-arrow {
  z-index: 5 !important;
}


/* ==========================================================
   AudioIgniter playlist slider - matched to existing sliders
   ========================================================== */
.space2047-audioigniter-playlist-section{
    margin-top: 26px !important;
}
.space2047-audioigniter-playlist-heading{
    text-align:center !important;
    color:#fff !important;
    text-shadow:0 0 12px rgba(24,234,255,.9), 0 4px 10px rgba(0,0,0,.75) !important;
    font-size:clamp(28px,4vw,52px) !important;
    margin:0 0 16px !important;
}
.space2047-audioigniter-playlist-slider{
    min-height: 430px !important;
    height: auto !important;
    overflow: visible !important;
}
.space2047-audioigniter-playlist-slider .space2047-digital-track{
    min-height: 430px !important;
    align-items: center !important;
}
.space2047-audioigniter-playlist-slide{
    min-width: 100% !important;
    display:flex !important;
    align-items:center !important;
    justify-content:center !important;
    padding: 26px 74px !important;
    box-sizing:border-box !important;
}
.space2047-audioigniter-playlist-card{
    width:min(980px, 100%) !important;
    max-width: calc(100% - 10px) !important;
    margin:0 auto !important;
    padding:22px !important;
    border:2px solid rgba(24,234,255,.72) !important;
    border-radius:24px !important;
    background:linear-gradient(180deg,rgba(2,8,23,.88),rgba(10,0,28,.82)) !important;
    box-shadow:0 0 28px rgba(24,234,255,.22), 0 16px 32px rgba(0,0,0,.45) !important;
    position:relative !important;
    z-index:12 !important;
}
.space2047-audioigniter-playlist-card h3{
    margin:0 0 14px !important;
    text-align:center !important;
    color:#ffe35c !important;
    font-size:clamp(22px,3vw,36px) !important;
    text-shadow:0 0 12px rgba(255,227,92,.75), 0 3px 8px rgba(0,0,0,.7) !important;
}
.space2047-audioigniter-player-wrap,
.space2047-audioigniter-player-wrap .ai-wrap,
.space2047-audioigniter-player-wrap .ai_playlist,
.space2047-audioigniter-player-wrap .wp-playlist{
    width:100% !important;
    max-width:100% !important;
    box-sizing:border-box !important;
}
.space2047-audioigniter-playlist-slider .space2047-digital-slider-arrow{
    width:58px !important;
    height:58px !important;
    min-width:58px !important;
    min-height:58px !important;
    top:50% !important;
    transform:translateY(-50%) !important;
    z-index:50 !important;
}
.space2047-audioigniter-playlist-slider .space2047-digital-slider-prev{ left:18px !important; }
.space2047-audioigniter-playlist-slider .space2047-digital-slider-next{ right:18px !important; }
@media (max-width: 720px){
    .space2047-audioigniter-playlist-slide{ padding: 22px 56px !important; }
    .space2047-audioigniter-playlist-card{ padding:16px !important; }
    .space2047-audioigniter-playlist-slider .space2047-digital-slider-arrow{
        width:46px !important;
        height:46px !important;
        min-width:46px !important;
        min-height:46px !important;
    }
    .space2047-audioigniter-playlist-slider .space2047-digital-slider-prev{ left:8px !important; }
    .space2047-audioigniter-playlist-slider .space2047-digital-slider-next{ right:8px !important; }
}


/* Wider AudioIgniter playlist cards */
.audioigniter-slider .audioigniter-playlist,
.audioigniter-slider .ai-playlist,
.audioigniter-slider iframe,
.audioigniter-slider .slide-content,
.space2047-audio-slider .audioigniter-playlist,
.space2047-audio-slider iframe {
    width: 94% !important;
    max-width: 94% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Keep arrows in original positions */
.audioigniter-slider .slick-prev,
.audioigniter-slider .slick-next,
.space2047-audio-slider .slick-prev,
.space2047-audio-slider .slick-next {
    z-index: 50 !important;
}


/* ==========================================================
   SAFE AudioIgniter wide panel fix
   Rollback-friendly: widens the playlist panel/container only.
   It does NOT force every internal AudioIgniter row or cell, which
   caused the player to get worse/squashed.
   ========================================================== */

.space2047-audioigniter-playlist-slider,
.audioigniter-slider,
.space2047-audio-slider {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Let each slide fill the same frame as the other sliders */
.space2047-audioigniter-playlist-slider .space2047-digital-track,
.space2047-audioigniter-playlist-slider .space2047-audioigniter-playlist-slide,
.space2047-audioigniter-playlist-slider .space2047-digital-slide,
.audioigniter-slider .slide,
.audioigniter-slider .slider-item,
.space2047-audio-slider .slide,
.space2047-audio-slider .slider-item {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 100% !important;
    box-sizing: border-box !important;
}

/* The useful fix: make the card nearly border-to-border */
.space2047-audioigniter-playlist-card,
.space2047-audioigniter-player-wrap,
.audioigniter-slider .slide-content,
.space2047-audio-slider .slide-content {
    width: calc(100% - 120px) !important;
    max-width: calc(100% - 120px) !important;
    min-width: 0 !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Give the shortcode/player a normal block area without crushing its internals */
.space2047-audioigniter-player-wrap > *,
.audioigniter-slider .slide-content > *,
.space2047-audio-slider .slide-content > * {
    display: block !important;
    width: 100% !important;
    max-width: 100% !important;
    margin-left: auto !important;
    margin-right: auto !important;
    box-sizing: border-box !important;
}

/* Allow playlist text to wrap naturally, but do not force table cells/list rows */
.space2047-audioigniter-player-wrap,
.space2047-audioigniter-player-wrap * {
    overflow-wrap: anywhere;
}

/* Phone width: leave room for arrows but make the panel much wider than before */
@media (max-width: 760px) {
    .space2047-audioigniter-playlist-card,
    .space2047-audioigniter-player-wrap,
    .audioigniter-slider .slide-content,
    .space2047-audio-slider .slide-content {
        width: calc(100% - 96px) !important;
        max-width: calc(100% - 96px) !important;
    }
}

/* Very small screens */
@media (max-width: 420px) {
    .space2047-audioigniter-playlist-card,
    .space2047-audioigniter-player-wrap,
    .audioigniter-slider .slide-content,
    .space2047-audio-slider .slide-content {
        width: calc(100% - 84px) !important;
        max-width: calc(100% - 84px) !important;
    }
}

/* Preserve arrow layer/positioning */
.space2047-audioigniter-playlist-slider .space2047-digital-prev,
.space2047-audioigniter-playlist-slider .space2047-digital-next,
.audioigniter-slider .slick-prev,
.audioigniter-slider .slick-next,
.space2047-audio-slider .slick-prev,
.space2047-audio-slider .slick-next {
    z-index: 1000 !important;
}


/* ==========================================================
   CUSTOM AUDIOIGNITER SLIDER - UNSQUASHED
   This audio slider no longer uses the digital-download slide classes,
   so the book/digital image CSS cannot squeeze the playlist.
   ========================================================== */
.space2047-ai-playlist-frame {
    position: relative !important;
    min-height: 560px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: hidden !important;
    box-sizing: border-box !important;
}

.space2047-ai-playlist-track {
    position: relative !important;
    z-index: 30 !important;
    width: 100% !important;
    min-height: 560px !important;
    display: block !important;
    box-sizing: border-box !important;
}

.space2047-ai-playlist-slide {
    display: none !important;
    width: 100% !important;
    min-height: 560px !important;
    padding: 28px 86px !important;
    box-sizing: border-box !important;
    align-items: center !important;
    justify-content: center !important;
}

.space2047-ai-playlist-slide.is-active {
    display: flex !important;
}

.space2047-ai-playlist-panel {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    margin: 0 auto !important;
    padding: 18px !important;
    box-sizing: border-box !important;
    border: 2px solid rgba(24,234,255,.72) !important;
    border-radius: 24px !important;
    background: linear-gradient(180deg,rgba(2,8,23,.88),rgba(10,0,28,.82)) !important;
    box-shadow: 0 0 28px rgba(24,234,255,.22), 0 16px 32px rgba(0,0,0,.45) !important;
    overflow: visible !important;
}

.space2047-ai-playlist-player,
.space2047-ai-playlist-player > *,
.space2047-ai-playlist-player iframe,
.space2047-ai-playlist-player .ai-wrap,
.space2047-ai-playlist-player .ai_playlist,
.space2047-ai-playlist-player .ai-playlist,
.space2047-ai-playlist-player .audioigniter,
.space2047-ai-playlist-player .audioigniter-playlist,
.space2047-ai-playlist-player .wp-playlist {
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

/* Undo the accidental vertical-text effect inside this slider */
.space2047-ai-playlist-player,
.space2047-ai-playlist-player * {
    writing-mode: horizontal-tb !important;
    text-orientation: mixed !important;
    word-break: normal !important;
    overflow-wrap: normal !important;
}

.space2047-ai-playlist-player [class*="title"],
.space2047-ai-playlist-player [class*="artist"],
.space2047-ai-playlist-player [class*="track"] {
    white-space: normal !important;
    text-overflow: clip !important;
}

/* Keep the exact same arrow size and positions as the other sliders */
.space2047-ai-playlist-frame .space2047-digital-slider-arrow {
    width: 58px !important;
    height: 58px !important;
    min-width: 58px !important;
    min-height: 58px !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    z-index: 80 !important;
}
.space2047-ai-playlist-frame .space2047-digital-slider-prev { left: 18px !important; }
.space2047-ai-playlist-frame .space2047-digital-slider-next { right: 18px !important; }

@media (max-width: 720px) {
    .space2047-ai-playlist-frame,
    .space2047-ai-playlist-track,
    .space2047-ai-playlist-slide {
        min-height: 560px !important;
    }
    .space2047-ai-playlist-slide {
        padding-left: 64px !important;
        padding-right: 64px !important;
    }
    .space2047-ai-playlist-panel {
        padding: 12px !important;
    }
    .space2047-ai-playlist-frame .space2047-digital-slider-arrow {
        width: 46px !important;
        height: 46px !important;
        min-width: 46px !important;
        min-height: 46px !important;
    }
    .space2047-ai-playlist-frame .space2047-digital-slider-prev { left: 8px !important; }
    .space2047-ai-playlist-frame .space2047-digital-slider-next { right: 8px !important; }
}


/* ==========================================================
   AudioIgniter wider player + no-overlap track list fix
   Makes the player panel wider and gives each track row proper
   height/spacing so tracks 2 and 3 cannot overlap.
   ========================================================== */

.space2047-ai-playlist-slide {
    padding-left: 56px !important;
    padding-right: 56px !important;
}

.space2047-ai-playlist-panel {
    width: 100% !important;
    max-width: 100% !important;
    padding-left: 12px !important;
    padding-right: 12px !important;
}

.space2047-ai-playlist-player {
    width: 100% !important;
    max-width: 100% !important;
}

/* Main AudioIgniter player area */
.space2047-ai-playlist-player > *,
.space2047-ai-playlist-player .ai-wrap,
.space2047-ai-playlist-player .ai-player,
.space2047-ai-playlist-player .ai-playlist,
.space2047-ai-playlist-player .ai_playlist,
.space2047-ai-playlist-player .audioigniter,
.space2047-ai-playlist-player .audioigniter-playlist,
.space2047-ai-playlist-player .wp-playlist {
    width: 100% !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Track rows: no overlap */
.space2047-ai-playlist-player li,
.space2047-ai-playlist-player tr,
.space2047-ai-playlist-player .ai-track,
.space2047-ai-playlist-player .ai-track-row,
.space2047-ai-playlist-player .ai-tracklist-row,
.space2047-ai-playlist-player .ai-playlist-track,
.space2047-ai-playlist-player [class*="track"] {
    min-height: 58px !important;
    height: auto !important;
    line-height: 1.25 !important;
    overflow: visible !important;
    box-sizing: border-box !important;
}

/* Track title text: readable and not stacked on top of next row */
.space2047-ai-playlist-player .ai-track-title,
.space2047-ai-playlist-player .ai-tracklist-title,
.space2047-ai-playlist-player .ai-title,
.space2047-ai-playlist-player [class*="track-title"],
.space2047-ai-playlist-player [class*="title"] {
    display: block !important;
    width: auto !important;
    max-width: none !important;
    min-height: 34px !important;
    height: auto !important;
    line-height: 1.22 !important;
    white-space: normal !important;
    overflow: visible !important;
    text-overflow: clip !important;
    box-sizing: border-box !important;
}

/* Reduce thumbnail column so text has more room */
.space2047-ai-playlist-player img {
    max-width: 54px !important;
    max-height: 54px !important;
    object-fit: cover !important;
}

.space2047-ai-playlist-player td:first-child,
.space2047-ai-playlist-player th:first-child {
    width: 58px !important;
    max-width: 58px !important;
    min-width: 58px !important;
}

/* Give text cells most of the width */
.space2047-ai-playlist-player td:last-child,
.space2047-ai-playlist-player th:last-child {
    width: auto !important;
    max-width: none !important;
}

/* If list-based, keep thumbnail small and text flexible */
.space2047-ai-playlist-player li {
    padding-top: 8px !important;
    padding-bottom: 8px !important;
    margin-bottom: 4px !important;
    clear: both !important;
}

/* Mobile: widen as much as possible while keeping arrows */
@media (max-width: 760px) {
    .space2047-ai-playlist-slide {
        padding-left: 48px !important;
        padding-right: 48px !important;
    }

    .space2047-ai-playlist-panel {
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    .space2047-ai-playlist-player li,
    .space2047-ai-playlist-player tr,
    .space2047-ai-playlist-player .ai-track,
    .space2047-ai-playlist-player .ai-track-row,
    .space2047-ai-playlist-player .ai-tracklist-row,
    .space2047-ai-playlist-player .ai-playlist-track,
    .space2047-ai-playlist-player [class*="track"] {
        min-height: 64px !important;
    }

    .space2047-ai-playlist-player img {
        max-width: 46px !important;
        max-height: 46px !important;
    }

    .space2047-ai-playlist-player td:first-child,
    .space2047-ai-playlist-player th:first-child {
        width: 50px !important;
        max-width: 50px !important;
        min-width: 50px !important;
    }
}

@media (max-width: 420px) {
    .space2047-ai-playlist-slide {
        padding-left: 42px !important;
        padding-right: 42px !important;
    }
}


/* ==========================================================
   AudioIgniter controls restore
   Previous no-overlap rules were too broad and affected controls.
   This restores buttons/progress/controls while keeping rows readable.
   ========================================================== */

.space2047-ai-playlist-player button,
.space2047-ai-playlist-player .ai-control,
.space2047-ai-playlist-player .ai-controls,
.space2047-ai-playlist-player .ai-player-controls,
.space2047-ai-playlist-player .ai-btn,
.space2047-ai-playlist-player [class*="button"],
.space2047-ai-playlist-player [class*="control"],
.space2047-ai-playlist-player [class*="play"],
.space2047-ai-playlist-player [class*="pause"],
.space2047-ai-playlist-player [class*="prev"],
.space2047-ai-playlist-player [class*="next"],
.space2047-ai-playlist-player [class*="repeat"],
.space2047-ai-playlist-player [class*="shuffle"] {
    min-height: unset !important;
    height: auto !important;
    line-height: normal !important;
    overflow: visible !important;
    white-space: normal !important;
    width: auto !important;
    max-width: none !important;
    box-sizing: border-box !important;
}

/* Keep icon buttons square and visible */
.space2047-ai-playlist-player button,
.space2047-ai-playlist-player .ai-btn,
.space2047-ai-playlist-player [class*="control"] button,
.space2047-ai-playlist-player [class*="button"] {
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
    min-width: 44px !important;
    min-height: 44px !important;
    padding: 8px 10px !important;
}

/* Restore progress/timeline bars */
.space2047-ai-playlist-player .ai-progress,
.space2047-ai-playlist-player .ai-progress-bar,
.space2047-ai-playlist-player .ai-seek-bar,
.space2047-ai-playlist-player .ai-volume-bar,
.space2047-ai-playlist-player [class*="progress"],
.space2047-ai-playlist-player [class*="seek"],
.space2047-ai-playlist-player [class*="volume"] {
    min-height: unset !important;
    height: auto !important;
    line-height: normal !important;
    overflow: visible !important;
    width: auto !important;
    max-width: 100% !important;
}

/* Apply no-overlap only to playlist rows, not controls */
.space2047-ai-playlist-player .ai-tracklist li,
.space2047-ai-playlist-player .ai-tracklist tr,
.space2047-ai-playlist-player .ai-playlist li,
.space2047-ai-playlist-player .ai-playlist tr,
.space2047-ai-playlist-player .audioigniter-playlist li,
.space2047-ai-playlist-player .audioigniter-playlist tr {
    min-height: 62px !important;
    height: auto !important;
    line-height: 1.28 !important;
    overflow: visible !important;
}

/* Track names only */
.space2047-ai-playlist-player .ai-track-title,
.space2047-ai-playlist-player .ai-tracklist-title,
.space2047-ai-playlist-player .audioigniter-track-title {
    min-height: 36px !important;
    height: auto !important;
    line-height: 1.25 !important;
    white-space: normal !important;
    overflow: visible !important;
}

/* Wider panel without disturbing controls */
.space2047-ai-playlist-slide {
    padding-left: 42px !important;
    padding-right: 42px !important;
}
.space2047-ai-playlist-panel {
    width: 100% !important;
    max-width: 100% !important;
}

/* Track thumbnails smaller, but do not target control icons */
.space2047-ai-playlist-player .ai-tracklist img,
.space2047-ai-playlist-player .ai-playlist img,
.space2047-ai-playlist-player .audioigniter-playlist img {
    max-width: 48px !important;
    max-height: 48px !important;
    object-fit: cover !important;
}


/* PayPal sponsor button enhancement */
.space2047-paypal-logo{
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    width:22px !important;
    height:22px !important;
    margin-right:10px !important;
    border-radius:50% !important;
    background:linear-gradient(180deg,#00c6ff 0%,#0066ff 100%) !important;
    color:#ffffff !important;
    font-weight:900 !important;
    font-size:14px !important;
    box-shadow:0 0 10px rgba(0,198,255,.55) !important;
    vertical-align:middle !important;
}


/* Real PayPal logo button styling */
.space2047-paypal-logo-real{
    width:28px !important;
    height:28px !important;
    object-fit:contain !important;
    vertical-align:middle !important;
    margin-right:10px !important;
    filter:drop-shadow(0 0 8px rgba(0,156,222,.45)) !important;
}

a:has(.space2047-paypal-logo-real),
button:has(.space2047-paypal-logo-real){
    display:inline-flex !important;
    align-items:center !important;
    justify-content:center !important;
    gap:8px !important;
}


/* ==========================================================
   Restore slider arrows visibility
   ========================================================== */

.space2047-digital-slider-arrow,
.space2047-digital-slider-prev,
.space2047-digital-slider-next,
.space2047-ai-slider-prev,
.space2047-ai-slider-next,
.slick-prev,
.slick-next {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    align-items: center !important;
    justify-content: center !important;
    z-index: 9999 !important;
}

.space2047-ai-playlist-frame .space2047-digital-slider-arrow,
.space2047-ai-playlist-frame .space2047-ai-slider-prev,
.space2047-ai-playlist-frame .space2047-ai-slider-next {
    position: absolute !important;
    top: 50% !important;
    transform: translateY(-50%) !important;
    width: 58px !important;
    height: 58px !important;
    border-radius: 50% !important;
    background: rgba(0,0,0,.72) !important;
    border: 2px solid rgba(24,234,255,.8) !important;
    color: #18eaff !important;
    font-size: 34px !important;
    box-shadow: 0 0 18px rgba(24,234,255,.45) !important;
}

.space2047-ai-playlist-frame .space2047-ai-slider-prev,
.space2047-ai-playlist-frame .space2047-digital-slider-prev {
    left: 18px !important;
}

.space2047-ai-playlist-frame .space2047-ai-slider-next,
.space2047-ai-playlist-frame .space2047-digital-slider-next {
    right: 18px !important;
}

/* Barclays sponsorship page - stylish centred layout */
.space2047-sponsor-page{
  width:min(1100px, 100%);
  margin:0 auto;
  text-align:center;
  position:relative;
}
.space2047-sponsor-page h1{
  text-align:center !important;
  color:#fff !important;
  text-shadow:0 0 16px rgba(0,229,255,.9),0 0 30px rgba(255,0,230,.55);
  letter-spacing:2px;
  text-transform:uppercase;
}
.space2047-sponsor-hero-frame{
  width:min(980px, 100%);
  margin:26px auto 28px;
  padding:12px;
  border:2px solid rgba(0,229,255,.9);
  border-radius:28px;
  background:linear-gradient(135deg, rgba(0,229,255,.14), rgba(255,0,230,.12), rgba(0,0,0,.72));
  box-shadow:0 0 24px rgba(0,229,255,.42), inset 0 0 22px rgba(255,255,255,.06);
}
.space2047-sponsor-hero-image{
  display:block;
  width:100%;
  height:auto;
  margin:0 auto;
  border-radius:20px;
  object-fit:contain;
  box-shadow:0 0 32px rgba(0,0,0,.75);
}
.space2047-sponsor-details-panel{
  width:min(860px, 100%);
  margin:0 auto 40px !important;
  padding:28px 24px !important;
  border:2px solid rgba(0,229,255,.9) !important;
  border-radius:26px !important;
  background:radial-gradient(circle at top, rgba(0,229,255,.18), rgba(6,7,28,.94) 55%, rgba(20,0,42,.96)) !important;
  box-shadow:0 0 24px rgba(0,229,255,.38),0 0 34px rgba(255,0,230,.18) !important;
}
.space2047-sponsor-details-panel .space2047-banking-text{
  max-width:760px;
  margin:0 auto;
  text-align:center !important;
}
.space2047-sponsor-intro{
  font-size:clamp(18px, 3vw, 25px) !important;
  line-height:1.45 !important;
  color:#fff !important;
  text-shadow:0 0 10px rgba(0,229,255,.45);
  margin-bottom:24px !important;
}
.space2047-sponsor-details-panel h2{
  color:#00e5ff !important;
  text-align:center !important;
  text-transform:uppercase;
  letter-spacing:1px;
  text-shadow:0 0 12px rgba(0,229,255,.85);
  margin:24px auto 18px !important;
}
.space2047-sponsor-details-panel p{
  color:#fff !important;
  text-align:center !important;
  font-size:clamp(16px, 2.4vw, 21px) !important;
  line-height:1.45 !important;
  margin:10px auto !important;
}
.space2047-sponsor-details-panel strong{
  color:#ffd400 !important;
  text-shadow:0 0 10px rgba(255,212,0,.6);
}
@media (max-width: 700px){
  .space2047-sponsor-hero-frame{padding:7px;border-radius:18px;margin-top:18px;}
  .space2047-sponsor-hero-image{border-radius:14px;}
  .space2047-sponsor-details-panel{padding:20px 12px !important;border-radius:18px !important;}
}


/* === EXACT SPONSORSHIP POSTER PAGE UPDATE === */
body:has(.space2047-sponsor-picture-page) .character-profile{
  background:transparent !important;
  border:0 !important;
  box-shadow:none !important;
  padding:0 !important;
  overflow:visible !important;
}
body:has(.space2047-sponsor-picture-page) .compact-topbar,
body:has(.space2047-sponsor-picture-page) .topbar{
  display:none !important;
}
body:has(.space2047-sponsor-picture-page) .wrap{
  width:100% !important;
  max-width:1024px !important;
  padding:0 !important;
  margin:0 auto !important;
}
.space2047-sponsor-picture-page{
  width:100% !important;
  max-width:1024px !important;
  margin:0 auto !important;
  padding:0 !important;
  position:relative !important;
  text-align:center !important;
  background:#02040c !important;
}
.space2047-sponsor-poster-wrap{
  position:relative !important;
  display:block !important;
  width:100% !important;
  max-width:1024px !important;
  margin:0 auto !important;
  line-height:0 !important;
}
.space2047-sponsor-poster{
  display:block !important;
  width:100% !important;
  height:auto !important;
  margin:0 auto !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
}
.space2047-poster-paypal-hotspot{
  position:absolute !important;
  left:21.5% !important;
  top:49.0% !important;
  width:57.5% !important;
  height:5.9% !important;
  z-index:5 !important;
  display:block !important;
  text-decoration:none !important;
  background:rgba(255,255,255,0) !important;
  border-radius:16px !important;
}
.space2047-poster-paypal-hotspot:focus-visible{
  outline:3px solid #fff !important;
  outline-offset:3px !important;
}
/* Real Barclays eagle logo in hamburger sponsorship button. */
.s2047-barclays-logo,
.s2047-barclays-support .s2047-barclays-logo{
  min-width:84px !important;
  width:84px !important;
  height:58px !important;
  padding:0 !important;
  border-radius:0 !important;
  background:transparent url('assets/images/barclays-eagle-menu-v5.png?v=filled-clean-5') center center / contain no-repeat !important;
  box-shadow:none !important;
  font-size:0 !important;
  color:transparent !important;
  position:relative !important;
  flex:0 0 84px !important;
}
.s2047-barclays-logo::before,
.s2047-barclays-logo::after,
.s2047-barclays-support .s2047-barclays-logo::before,
.s2047-barclays-support .s2047-barclays-logo::after{
  content:none !important;
  display:none !important;
}
@media(max-width:700px){
  .space2047-poster-paypal-hotspot{left:21.5% !important;top:49.0% !important;width:57.5% !important;height:5.9% !important;}
}

/* ===== SPONSORSHIP PAGE CLEAN POSTER FIX =====
   The sponsorship poster image has been replaced with the clean version
   that contains no drawn hamburger icon and no drawn X icon. */
body.page-template-simple-page .space2047-sponsor-picture-page,
body.page .space2047-sponsor-picture-page{
    margin-top:0 !important;
}
.space2047-sponsor-picture-page .space2047-sponsor-poster{
    display:block !important;
    width:100% !important;
    height:auto !important;
}

/* ===== FINAL BARCLAYS EAGLE CLEAN FIX =====
   The old horizontal line was baked into the PNG itself, so the image has
   been cleaned and this rule forces the finished eagle with a stronger shadow. */
.s2047-barclays-support .s2047-barclays-logo,
.slide-menu .s2047-barclays-support .s2047-barclays-logo,
a.s2047-barclays-support .s2047-barclays-logo{
  min-width:86px !important;
  width:86px !important;
  height:58px !important;
  flex:0 0 86px !important;
  padding:0 !important;
  margin:0 6px 0 0 !important;
  border:0 !important;
  border-radius:0 !important;
  outline:0 !important;
  background:transparent url('assets/images/barclays-eagle-menu-v5.png?v=filled-clean-5') center center / contain no-repeat !important;
  box-shadow:none !important;
  filter:drop-shadow(0 7px 7px rgba(0,0,0,.78)) drop-shadow(0 0 12px rgba(0,174,239,.95)) brightness(1.18) saturate(1.18) !important;
  font-size:0 !important;
  line-height:0 !important;
  color:transparent !important;
  text-indent:-9999px !important;
  overflow:hidden !important;
}
.s2047-barclays-support .s2047-barclays-logo::before,
.s2047-barclays-support .s2047-barclays-logo::after{
  display:none !important;
  content:none !important;
  background:none !important;
  border:0 !important;
  box-shadow:none !important;
}

/* ==========================================================
   Space 2047 final cleanup/stability patch
   Purpose: keep the hamburger menu stable and stop old PayPal/
   clipped sponsorship button remnants from reappearing in the menu.
   This is deliberately scoped to the slide/global menu so the
   Barclays sponsorship page itself is untouched.
   ========================================================== */
.s2047-global-panel .s2047-paypal-support,
.s2047-global-panel .space2047-paypal-support,
.s2047-global-panel .space2047-paypal-logo-real,
.s2047-global-panel a[href*="paypal.com/donate"],
.slide-menu .s2047-paypal-support,
.slide-menu .space2047-paypal-support,
.slide-menu .space2047-paypal-logo-real,
.slide-menu a[href*="paypal.com/donate"]{
  display:none !important;
  visibility:hidden !important;
  width:0 !important;
  height:0 !important;
  overflow:hidden !important;
  margin:0 !important;
  padding:0 !important;
  border:0 !important;
}

.s2047-global-panel .s2047-barclays-support,
.slide-menu .s2047-barclays-support,
a.s2047-barclays-support{
  display:flex !important;
  align-items:center !important;
  justify-content:flex-start !important;
  gap:12px !important;
  min-height:64px !important;
  width:calc(100% - 24px) !important;
  max-width:520px !important;
  margin:10px auto 16px auto !important;
  padding:10px 14px !important;
  box-sizing:border-box !important;
  text-decoration:none !important;
  overflow:visible !important;
  position:relative !important;
  z-index:50 !important;
}

.s2047-global-panel .s2047-barclays-support::before,
.s2047-global-panel .s2047-barclays-support::after,
.slide-menu .s2047-barclays-support::before,
.slide-menu .s2047-barclays-support::after,
a.s2047-barclays-support::before,
a.s2047-barclays-support::after{
  content:none !important;
  display:none !important;
}

.s2047-global-panel .s2047-barclays-logo,
.slide-menu .s2047-barclays-logo,
.s2047-barclays-support .s2047-barclays-logo{
  display:block !important;
  flex:0 0 86px !important;
  width:86px !important;
  min-width:86px !important;
  height:42px !important;
  background:transparent url('assets/images/barclays-eagle-menu-v5.png?v=clean-stable-1') center center / contain no-repeat !important;
  filter:drop-shadow(0 4px 8px rgba(0,0,0,.65)) !important;
}

.s2047-global-panel .s2047-barclays-text,
.slide-menu .s2047-barclays-text,
.s2047-barclays-support .s2047-barclays-text{
  display:block !important;
  flex:1 1 auto !important;
  min-width:0 !important;
  white-space:normal !important;
  line-height:1.22 !important;
}


/* WordPress-menu-only safety build: hide legacy custom/floating menus and keep normal WP nav visible. */
#s2047-global-menu-button,
#s2047-global-menu-shade,
#s2047-global-menu-panel,
.slide-menu,
.menu-shade,
.space2047-menu-panel,
.space2047-mega-menu,
.s2047-final-root,
.s2047-final-subview,
.topbar .menu-icon-btn,
.topbar [data-menu-toggle] {
  display: none !important;
  visibility: hidden !important;
  pointer-events: none !important;
}
.s2047-wp-only-header {
  position: relative;
  z-index: 1000;
  box-sizing: border-box;
  width: 100%;
  padding: 14px 18px;
  background: rgba(2, 8, 22, 0.96);
  border-bottom: 2px solid #18eaff;
  box-shadow: 0 0 18px rgba(24,234,255,.35);
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 18px;
  flex-wrap: wrap;
}
.s2047-wp-only-brand a {
  color: #fff;
  text-decoration: none;
  font-weight: 900;
  letter-spacing: .08em;
  text-shadow: 0 0 12px rgba(24,234,255,.9);
}
.s2047-wp-only-menu,
.s2047-wp-only-menu ul {
  margin: 0;
  padding: 0;
  list-style: none;
}
.s2047-wp-only-menu {
  display: flex;
  gap: 10px;
  flex-wrap: wrap;
  align-items: center;
}
.s2047-wp-only-menu li { position: relative; }
.s2047-wp-only-menu a {
  display: block;
  padding: 10px 12px;
  border: 1px solid rgba(24,234,255,.55);
  border-radius: 10px;
  color: #fff;
  text-decoration: none;
  background: rgba(255,255,255,.06);
}
.s2047-wp-only-menu li:hover > a,
.s2047-wp-only-menu a:focus { background: rgba(24,234,255,.18); }
.s2047-wp-only-menu ul {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  min-width: 220px;
  background: rgba(2, 8, 22, .98);
  border: 1px solid rgba(24,234,255,.55);
  border-radius: 12px;
  padding: 8px;
  z-index: 1001;
}
.s2047-wp-only-menu li:hover > ul,
.s2047-wp-only-menu li:focus-within > ul { display: block; }
.s2047-wp-only-menu ul ul { left: 100%; top: 0; }
@media (max-width: 760px) {
  .s2047-wp-only-header { align-items: flex-start; }
  .s2047-wp-only-menu { display: block; width: 100%; }
  .s2047-wp-only-menu li { margin: 6px 0; }
  .s2047-wp-only-menu ul { position: static; display: block; margin: 6px 0 0 14px; min-width: 0; }
}


/* Fresh safe hamburger tab menu - uses WordPress menus only */
.s2047-fresh-hamburger{width:62px;height:62px;border:3px solid #18eaff;border-radius:14px;background:rgba(2,8,22,.92);display:inline-grid;place-content:center;gap:7px;cursor:pointer;box-shadow:0 0 18px rgba(24,234,255,.45), inset 0 0 18px rgba(238,67,255,.12);z-index:100002;position:relative;margin-left:16px}
.s2047-fresh-hamburger span{display:block;width:34px;height:4px;border-radius:10px;background:#18eaff;box-shadow:0 0 9px rgba(24,234,255,.8)}
.s2047-fresh-menu-shade{position:fixed;inset:0;background:rgba(0,0,0,.62);z-index:100000}.s2047-fresh-menu{position:fixed;left:0;top:0;bottom:0;width:min(94vw,520px);z-index:100001;background:linear-gradient(180deg,#050819,#160628);border-right:4px solid #f5d318;box-shadow:0 0 42px rgba(24,234,255,.28);padding:18px;overflow:hidden;color:#fff}.s2047-fresh-menu-head{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px}.s2047-fresh-menu-head strong{font-family:Orbitron,Arial,sans-serif;font-size:26px;color:#18eaff;text-shadow:0 0 14px rgba(24,234,255,.8)}.s2047-fresh-close{width:46px;height:46px;border:2px solid #ee43ff;border-radius:12px;background:rgba(238,67,255,.12);color:#fff;font-size:34px;line-height:1;cursor:pointer}.s2047-fresh-tabs{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-bottom:12px}.s2047-fresh-tab{border:2px solid rgba(24,234,255,.72);border-radius:12px;background:rgba(6,16,42,.85);color:#fff;font-weight:900;font-size:14px;padding:11px 8px;cursor:pointer;text-transform:uppercase;box-shadow:inset 0 0 16px rgba(24,234,255,.05)}.s2047-fresh-tab.is-active{border-color:#f5d318;color:#f5d318;box-shadow:0 0 18px rgba(245,211,24,.24), inset 0 0 14px rgba(245,211,24,.08)}.s2047-fresh-panels{height:calc(100vh - 150px);overflow-y:auto;padding-right:10px;scrollbar-color:#f5d318 rgba(255,255,255,.12);scrollbar-width:thick}.s2047-fresh-panels::-webkit-scrollbar{width:16px}.s2047-fresh-panels::-webkit-scrollbar-track{background:rgba(255,255,255,.12);border-radius:20px}.s2047-fresh-panels::-webkit-scrollbar-thumb{background:#f5d318;border-radius:20px;border:3px solid rgba(0,0,0,.35)}.s2047-fresh-panel{display:none}.s2047-fresh-panel.is-active{display:block}.s2047-fresh-menu-list,.s2047-fresh-menu-list ul{list-style:none;margin:0;padding:0}.s2047-fresh-menu-list li{position:relative;margin:0 0 10px}.s2047-fresh-menu-list a{display:block;border:2px solid rgba(24,234,255,.65);border-radius:14px;background:rgba(2,10,31,.74);padding:14px 52px 14px 16px;color:#fff!important;text-decoration:none!important;font-weight:900;text-transform:uppercase;letter-spacing:.04em}.s2047-fresh-menu-list .sub-menu{display:none;margin:8px 0 0 16px}.s2047-fresh-menu-list li.is-open>.sub-menu{display:block}.s2047-fresh-drop{position:absolute;right:8px;top:7px;width:38px;height:38px;border:2px solid #f5d318;border-radius:10px;background:rgba(245,211,24,.12);color:#f5d318;font-size:22px;font-weight:900;line-height:1;cursor:pointer}.s2047-fresh-empty{font-family:Rajdhani,Arial,sans-serif;font-size:18px;line-height:1.35;border:2px dashed rgba(245,211,24,.55);border-radius:14px;padding:16px;background:rgba(245,211,24,.08)}body.s2047-fresh-menu-open{overflow:hidden}@media(max-width:480px){.s2047-fresh-hamburger{width:54px;height:54px;margin-left:8px}.s2047-fresh-tabs{grid-template-columns:1fr}.s2047-fresh-panels{height:calc(100vh - 390px)}.s2047-fresh-menu-head strong{font-size:22px}}


/* ===== COMPACT SHORT TAB BUTTONS ONLY =====
   Tabs with labels of 1-4 characters get a shorter natural width.
   Longer labels keep full button width so the menu remains readable. */
.s2047-final-tabs{
    display:flex !important;
    flex-wrap:wrap !important;
    align-items:stretch !important;
    justify-content:flex-start !important;
    gap:7px !important;
    grid-template-columns:none !important;
}
.s2047-final-tab{
    flex:1 1 138px !important;
    width:auto !important;
    white-space:nowrap !important;
}
.s2047-final-tab.s2047-final-tab-short{
    flex:0 0 auto !important;
    min-width:58px !important;
    max-width:78px !important;
    padding-left:8px !important;
    padding-right:8px !important;
}
@media(max-width:760px){
    .s2047-final-tab{flex:1 1 122px !important;}
    .s2047-final-tab.s2047-final-tab-short{min-width:52px !important;max-width:70px !important;}
}


/* ===== SPACE 2047 - FINAL NEON TAB MENU UPDATE =====
   Renamed tabs and compact horizontal button layout like the approved mockup. */
.s2047-fresh-menu{
  width:min(96vw, 620px) !important;
  background:radial-gradient(circle at 0 35%, rgba(8,36,82,.52), transparent 38%), linear-gradient(180deg,#030712 0%, #071126 42%, #11051f 100%) !important;
  border-right:5px solid #f5d318 !important;
  padding:18px 16px 18px 18px !important;
}
.s2047-fresh-menu-head{
  margin-bottom:12px !important;
}
.s2047-fresh-tabs{
  display:flex !important;
  flex-wrap:nowrap !important;
  gap:6px !important;
  margin:0 0 18px 0 !important;
  overflow-x:auto !important;
  overflow-y:hidden !important;
  padding:2px 2px 8px 2px !important;
  scrollbar-width:thin !important;
  scrollbar-color:#18eaff rgba(255,255,255,.08) !important;
}
.s2047-fresh-tabs::-webkit-scrollbar{height:8px !important;}
.s2047-fresh-tabs::-webkit-scrollbar-track{background:rgba(255,255,255,.08) !important;border-radius:20px !important;}
.s2047-fresh-tabs::-webkit-scrollbar-thumb{background:#18eaff !important;border-radius:20px !important;}
.s2047-fresh-tab{
  flex:0 0 auto !important;
  min-width:82px !important;
  min-height:68px !important;
  border:2px solid #18eaff !important;
  border-radius:10px !important;
  background:linear-gradient(180deg, rgba(12,24,57,.98), rgba(2,8,28,.95)) !important;
  color:#fff !important;
  font-family:Rajdhani,Arial,sans-serif !important;
  font-weight:900 !important;
  font-size:18px !important;
  line-height:1.08 !important;
  padding:10px 11px !important;
  text-transform:none !important;
  letter-spacing:0 !important;
  box-shadow:0 0 11px rgba(24,234,255,.32), inset 0 0 14px rgba(24,234,255,.08) !important;
  white-space:normal !important;
  text-align:center !important;
}
.s2047-fresh-tab.is-short{
  min-width:70px !important;
  max-width:78px !important;
  padding-left:8px !important;
  padding-right:8px !important;
}
.s2047-fresh-tab.is-active{
  border-color:#ffe600 !important;
  color:#ffe600 !important;
  box-shadow:0 0 18px rgba(255,230,0,.5), inset 0 0 14px rgba(255,230,0,.12) !important;
}
.s2047-fresh-panels{
  height:calc(100vh - 142px) !important;
  padding-right:13px !important;
}
.s2047-fresh-menu-list li{margin-bottom:13px !important;}
.s2047-fresh-menu-list a{
  min-height:56px !important;
  border:2px solid #18eaff !important;
  border-radius:15px !important;
  padding:18px 64px 18px 22px !important;
  background:linear-gradient(180deg, rgba(4,14,43,.94), rgba(1,5,22,.94)) !important;
  font-family:Orbitron,Arial,sans-serif !important;
  font-size:20px !important;
  line-height:1.1 !important;
  box-shadow:0 0 12px rgba(24,234,255,.34), inset 0 0 18px rgba(24,234,255,.04) !important;
}
.s2047-fresh-menu-list > li:first-child > a{
  border-color:#ffe600 !important;
  color:#ffe600 !important;
  box-shadow:0 0 18px rgba(255,230,0,.38), inset 0 0 14px rgba(255,230,0,.08) !important;
}
.s2047-fresh-drop{
  top:10px !important;
  right:12px !important;
  width:44px !important;
  height:44px !important;
  border:3px solid #ffe600 !important;
  border-radius:13px !important;
  color:#ffe600 !important;
  background:rgba(255,230,0,.08) !important;
}
@media(max-width:480px){
  .s2047-fresh-menu{width:96vw !important;padding:14px 10px 14px 14px !important;}
  .s2047-fresh-tab{min-width:74px !important;min-height:64px !important;font-size:15px !important;padding:8px 7px !important;}
  .s2047-fresh-tab.is-short{min-width:62px !important;max-width:66px !important;}
  .s2047-fresh-menu-list a{font-size:18px !important;padding-left:18px !important;}
}


/* =========================================================
   Space2047 fix: two-line menu tabs, no horizontal tab scroll
   ========================================================= */
.space2047-menu-tabs,
.space2047-tab-row,
.space2047-tabs,
.s2047-menu-tabs,
.s2047-tab-row,
.s2047-tabs,
.menu-tabs,
.menu-tab-row,
.tabs-row,
.tabs {
    display: flex !important;
    flex-wrap: wrap !important;
    overflow-x: visible !important;
    overflow-y: visible !important;
    white-space: normal !important;
    gap: 6px !important;
    justify-content: center !important;
    align-items: stretch !important;
    max-width: 100% !important;
    width: 100% !important;
    padding-left: 4px !important;
    padding-right: 4px !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
}

.space2047-menu-tabs::-webkit-scrollbar,
.space2047-tab-row::-webkit-scrollbar,
.space2047-tabs::-webkit-scrollbar,
.s2047-menu-tabs::-webkit-scrollbar,
.s2047-tab-row::-webkit-scrollbar,
.s2047-tabs::-webkit-scrollbar,
.menu-tabs::-webkit-scrollbar,
.menu-tab-row::-webkit-scrollbar,
.tabs-row::-webkit-scrollbar,
.tabs::-webkit-scrollbar {
    display: none !important;
}

.space2047-menu-tabs button,
.space2047-tab-row button,
.space2047-tabs button,
.s2047-menu-tabs button,
.s2047-tab-row button,
.s2047-tabs button,
.menu-tabs button,
.menu-tab-row button,
.tabs-row button,
.tabs button,
.space2047-menu-tab,
.s2047-menu-tab,
.menu-tab,
.tab-button {
    flex: 1 1 calc(25% - 8px) !important;
    min-width: 0 !important;
    max-width: calc(25% - 8px) !important;
    height: 48px !important;
    padding: 5px 4px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    text-align: center !important;
    font-size: clamp(10px, 2.6vw, 14px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    display: inline-flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* On very narrow phones, keep two neat rows: 4 buttons then 3 buttons */
@media (max-width: 520px) {
    .space2047-menu-tabs button,
    .space2047-tab-row button,
    .space2047-tabs button,
    .s2047-menu-tabs button,
    .s2047-tab-row button,
    .s2047-tabs button,
    .menu-tabs button,
    .menu-tab-row button,
    .tabs-row button,
    .tabs button,
    .space2047-menu-tab,
    .s2047-menu-tab,
    .menu-tab,
    .tab-button {
        flex-basis: calc(25% - 6px) !important;
        max-width: calc(25% - 6px) !important;
        height: 44px !important;
        font-size: clamp(9px, 2.45vw, 12px) !important;
        border-radius: 10px !important;
    }
}

/* Seventh tab sits neatly on the second line rather than forcing sideways overflow */
.space2047-menu-tabs button:nth-child(7),
.space2047-tab-row button:nth-child(7),
.space2047-tabs button:nth-child(7),
.s2047-menu-tabs button:nth-child(7),
.s2047-tab-row button:nth-child(7),
.s2047-tabs button:nth-child(7),
.menu-tabs button:nth-child(7),
.menu-tab-row button:nth-child(7),
.tabs-row button:nth-child(7),
.tabs button:nth-child(7) {
    flex-grow: 1 !important;
}


/* =========================================================
   FINAL FIX: menu tabs forced into two visible rows
   Row 1: Main / About me / Merchandising / Publicity
   Row 2: Galleries / License my writing / Contact info
   No horizontal scrolling on the tab buttons.
   ========================================================= */

.space2047-menu-tabs,
.space2047-tab-row,
.space2047-tabs,
.s2047-menu-tabs,
.s2047-tab-row,
.s2047-tabs,
.menu-tabs,
.menu-tab-row,
.tabs-row,
.tabs,
#space2047-menu-tabs,
#space2047-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-auto-rows: minmax(44px, auto) !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    overflow: visible !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    white-space: normal !important;
    padding: 8px 12px 12px 12px !important;
    margin: 0 auto 10px auto !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
}

.space2047-menu-tabs::-webkit-scrollbar,
.space2047-tab-row::-webkit-scrollbar,
.space2047-tabs::-webkit-scrollbar,
.s2047-menu-tabs::-webkit-scrollbar,
.s2047-tab-row::-webkit-scrollbar,
.s2047-tabs::-webkit-scrollbar,
.menu-tabs::-webkit-scrollbar,
.menu-tab-row::-webkit-scrollbar,
.tabs-row::-webkit-scrollbar,
.tabs::-webkit-scrollbar,
#space2047-menu-tabs::-webkit-scrollbar,
#space2047-tabs::-webkit-scrollbar {
    display: none !important;
}

.space2047-menu-tabs > *,
.space2047-tab-row > *,
.space2047-tabs > *,
.s2047-menu-tabs > *,
.s2047-tab-row > *,
.s2047-tabs > *,
.menu-tabs > *,
.menu-tab-row > *,
.tabs-row > *,
.tabs > *,
#space2047-menu-tabs > *,
#space2047-tabs > * {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 44px !important;
    padding: 5px 4px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    font-size: clamp(9px, 2.35vw, 13px) !important;
    line-height: 1.05 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
}

/* Put the last three tabs on the second line and make them evenly spaced */
.space2047-menu-tabs > *:nth-child(5),
.space2047-tab-row > *:nth-child(5),
.space2047-tabs > *:nth-child(5),
.s2047-menu-tabs > *:nth-child(5),
.s2047-tab-row > *:nth-child(5),
.s2047-tabs > *:nth-child(5),
.menu-tabs > *:nth-child(5),
.menu-tab-row > *:nth-child(5),
.tabs-row > *:nth-child(5),
.tabs > *:nth-child(5),
#space2047-menu-tabs > *:nth-child(5),
#space2047-tabs > *:nth-child(5) {
    grid-column: 1 / 2 !important;
    grid-row: 2 !important;
}

.space2047-menu-tabs > *:nth-child(6),
.space2047-tab-row > *:nth-child(6),
.space2047-tabs > *:nth-child(6),
.s2047-menu-tabs > *:nth-child(6),
.s2047-tab-row > *:nth-child(6),
.s2047-tabs > *:nth-child(6),
.menu-tabs > *:nth-child(6),
.menu-tab-row > *:nth-child(6),
.tabs-row > *:nth-child(6),
.tabs > *:nth-child(6),
#space2047-menu-tabs > *:nth-child(6),
#space2047-tabs > *:nth-child(6) {
    grid-column: 2 / 4 !important;
    grid-row: 2 !important;
}

.space2047-menu-tabs > *:nth-child(7),
.space2047-tab-row > *:nth-child(7),
.space2047-tabs > *:nth-child(7),
.s2047-menu-tabs > *:nth-child(7),
.s2047-tab-row > *:nth-child(7),
.s2047-tabs > *:nth-child(7),
.menu-tabs > *:nth-child(7),
.menu-tab-row > *:nth-child(7),
.tabs-row > *:nth-child(7),
.tabs > *:nth-child(7),
#space2047-menu-tabs > *:nth-child(7),
#space2047-tabs > *:nth-child(7) {
    grid-column: 4 / 5 !important;
    grid-row: 2 !important;
}

/* Smaller phones: keep the same two-line structure, slightly tighter */
@media (max-width: 430px) {
    .space2047-menu-tabs,
    .space2047-tab-row,
    .space2047-tabs,
    .s2047-menu-tabs,
    .s2047-tab-row,
    .s2047-tabs,
    .menu-tabs,
    .menu-tab-row,
    .tabs-row,
    .tabs,
    #space2047-menu-tabs,
    #space2047-tabs {
        gap: 6px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
        grid-auto-rows: minmax(40px, auto) !important;
    }

    .space2047-menu-tabs > *,
    .space2047-tab-row > *,
    .space2047-tabs > *,
    .s2047-menu-tabs > *,
    .s2047-tab-row > *,
    .s2047-tabs > *,
    .menu-tabs > *,
    .menu-tab-row > *,
    .tabs-row > *,
    .tabs > *,
    #space2047-menu-tabs > *,
    #space2047-tabs > * {
        height: 42px !important;
        min-height: 40px !important;
        font-size: clamp(8px, 2.15vw, 11px) !important;
        border-radius: 9px !important;
        padding-left: 2px !important;
        padding-right: 2px !important;
    }
}


/* =========================================================
   TRUE LIVE MENU FIX: .s2047-fresh-tabs forced into 2 rows
   This overrides the older mobile one-column / scroll tab rules.
   ========================================================= */
.s2047-fresh-menu .s2047-fresh-tabs,
body .s2047-fresh-tabs {
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 7px !important;
    width: 100% !important;
    max-width: 100% !important;
    min-width: 0 !important;
    overflow-x: hidden !important;
    overflow-y: visible !important;
    white-space: normal !important;
    margin: 0 0 12px 0 !important;
    padding: 6px 2px 10px 2px !important;
    box-sizing: border-box !important;
    scrollbar-width: none !important;
}

.s2047-fresh-menu .s2047-fresh-tabs::-webkit-scrollbar,
body .s2047-fresh-tabs::-webkit-scrollbar {
    display: none !important;
    width: 0 !important;
    height: 0 !important;
}

.s2047-fresh-menu .s2047-fresh-tab,
body .s2047-fresh-tab,
.s2047-fresh-menu button.s2047-fresh-tab,
body button.s2047-fresh-tab {
    width: 100% !important;
    min-width: 0 !important;
    max-width: 100% !important;
    height: 48px !important;
    min-height: 44px !important;
    padding: 5px 3px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    font-size: clamp(8px, 2.15vw, 12px) !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    word-break: normal !important;
    overflow-wrap: anywhere !important;
    text-transform: none !important;
    letter-spacing: 0 !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
}

/* First row = 4 buttons */
.s2047-fresh-menu .s2047-fresh-tab:nth-child(1),
body .s2047-fresh-tab:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
.s2047-fresh-menu .s2047-fresh-tab:nth-child(2),
body .s2047-fresh-tab:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
.s2047-fresh-menu .s2047-fresh-tab:nth-child(3),
body .s2047-fresh-tab:nth-child(3) { grid-column: 3 !important; grid-row: 1 !important; }
.s2047-fresh-menu .s2047-fresh-tab:nth-child(4),
body .s2047-fresh-tab:nth-child(4) { grid-column: 4 !important; grid-row: 1 !important; }

/* Second row = 3 buttons. Middle button spans two columns for the longer label. */
.s2047-fresh-menu .s2047-fresh-tab:nth-child(5),
body .s2047-fresh-tab:nth-child(5) { grid-column: 1 !important; grid-row: 2 !important; }
.s2047-fresh-menu .s2047-fresh-tab:nth-child(6),
body .s2047-fresh-tab:nth-child(6) { grid-column: 2 / span 2 !important; grid-row: 2 !important; }
.s2047-fresh-menu .s2047-fresh-tab:nth-child(7),
body .s2047-fresh-tab:nth-child(7) { grid-column: 4 !important; grid-row: 2 !important; }

/* Very small screens: still exactly two rows, just tighter */
@media (max-width: 480px) {
    .s2047-fresh-menu .s2047-fresh-tabs,
    body .s2047-fresh-tabs {
        display: grid !important;
        grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
        grid-template-rows: auto auto !important;
        gap: 5px !important;
        overflow-x: hidden !important;
        padding-left: 0 !important;
        padding-right: 0 !important;
    }

    .s2047-fresh-menu .s2047-fresh-tab,
    body .s2047-fresh-tab,
    .s2047-fresh-menu button.s2047-fresh-tab,
    body button.s2047-fresh-tab {
        height: 42px !important;
        min-height: 40px !important;
        min-width: 0 !important;
        max-width: 100% !important;
        font-size: clamp(7px, 2.05vw, 10px) !important;
        padding: 4px 2px !important;
        border-radius: 9px !important;
    }

    .s2047-fresh-panels {
        height: calc(100vh - 220px) !important;
    }
}




/* INLINE-FORCED TWO ROW TAB BACKUP */
#s2047-fixed-two-row-tabs {
    display: grid !important;
    grid-template-columns: repeat(4,minmax(0,1fr)) !important;
    grid-template-rows: auto auto !important;
    overflow-x: hidden !important;
    white-space: normal !important;
}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab {
    min-width: 0 !important;
    max-width: 100% !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(1){grid-column:1 !important;grid-row:1 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(2){grid-column:2 !important;grid-row:1 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(3){grid-column:3 !important;grid-row:1 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(4){grid-column:4 !important;grid-row:1 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(5){grid-column:1 !important;grid-row:2 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(6){grid-column:2 / 4 !important;grid-row:2 !important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(7){grid-column:4 !important;grid-row:2 !important;}



/* Larger tab text only - tab boxes remain the same size */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab,
.s2047-fresh-menu .s2047-fresh-tab,
body .s2047-fresh-tab {
    font-size: clamp(10px, 2.7vw, 14px) !important;
    font-weight: 800 !important;
    letter-spacing: -0.2px !important;
}


/* Exact 11px tab text */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab,
.s2047-fresh-menu .s2047-fresh-tab,
body .s2047-fresh-tab{
    font-size:11px !important;
}



/* =========================================================
   NEW MENU SAFE HEADER FIX - does not revert menu structure
   Hamburger/logo/X on one line. Tabs fixed underneath.
   ========================================================= */

.s2047-fresh-menu,
#s2047-fresh-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    z-index: 999999 !important;
    box-sizing: border-box !important;
}

/* Keep the external hamburger fixed so it does not move about */
.s2047-fresh-toggle,
button.s2047-fresh-toggle {
    position: fixed !important;
    top: 12px !important;
    left: 12px !important;
    right: auto !important;
    margin: 0 !important;
    transform: none !important;
    z-index: 1000003 !important;
}

/* Header row inside menu: left / logo / close */
.s2047-fresh-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 1000002 !important;
    display: grid !important;
    grid-template-columns: 48px minmax(0, 1fr) 48px !important;
    align-items: center !important;
    gap: 6px !important;
    width: 100% !important;
    min-height: 58px !important;
    padding: 8px 10px !important;
    box-sizing: border-box !important;
}

/* Centre the logo/title */
.s2047-fresh-title,
.s2047-fresh-logo,
.s2047-menu-title,
.s2047-menu-logo {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    text-align: center !important;
    white-space: nowrap !important;
    overflow: hidden !important;
    text-overflow: ellipsis !important;
    max-width: 100% !important;
    margin: 0 !important;
}

/* X close on the same row, right side */
.s2047-fresh-close,
button.s2047-fresh-close {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    position: static !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    transform: none !important;
}

/* If the hamburger icon appears inside the header, keep it left */
.s2047-fresh-header .s2047-fresh-toggle,
.s2047-fresh-header button.s2047-fresh-toggle,
.s2047-fresh-header .s2047-hamburger {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    width: 42px !important;
    height: 42px !important;
    min-width: 42px !important;
    min-height: 42px !important;
    margin: 0 !important;
    transform: none !important;
}

/* Fixed tab header under the top row */
#s2047-fixed-two-row-tabs,
.s2047-fresh-tabs {
    position: sticky !important;
    top: 58px !important;
    z-index: 1000001 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 6px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 6px 8px 10px 8px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    background: rgba(3, 7, 22, 0.96) !important;
}

/* Keep exact 11px text and same tab size */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab,
.s2047-fresh-tabs > .s2047-fresh-tab,
.s2047-fresh-tab {
    height: 42px !important;
    min-height: 40px !important;
    min-width: 0 !important;
    max-width: 100% !important;
    padding: 4px 2px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    box-sizing: border-box !important;
}

/* Keep tabs in two rows */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(1),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(1) { grid-column: 1 !important; grid-row: 1 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(2),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(2) { grid-column: 2 !important; grid-row: 1 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(3),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(3) { grid-column: 3 !important; grid-row: 1 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(4),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(4) { grid-column: 4 !important; grid-row: 1 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(5),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(5) { grid-column: 1 !important; grid-row: 2 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(6),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(6) { grid-column: 2 / 4 !important; grid-row: 2 !important; }
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(7),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(7) { grid-column: 4 !important; grid-row: 2 !important; }

/* Only content panels scroll */
.s2047-fresh-panels {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: calc(100vh - 160px) !important;
    max-height: calc(100vh - 160px) !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 480px) {
    .s2047-fresh-header {
        grid-template-columns: 44px minmax(0, 1fr) 44px !important;
        min-height: 56px !important;
        padding-left: 8px !important;
        padding-right: 8px !important;
    }

    #s2047-fixed-two-row-tabs,
    .s2047-fresh-tabs {
        top: 56px !important;
        gap: 5px !important;
        padding-left: 6px !important;
        padding-right: 6px !important;
    }

    .s2047-fresh-panels {
        height: calc(100vh - 154px) !important;
        max-height: calc(100vh - 154px) !important;
    }
}


/* =========================================================
   FINAL HEADER LAYOUT
   Hamburger left / logo center / X right
   Tabs fixed below
   ========================================================= */

.s2047-fresh-header{
    position:sticky !important;
    top:0 !important;
    z-index:999999 !important;
    display:grid !important;
    grid-template-columns:56px 1fr 56px !important;
    align-items:center !important;
    width:100% !important;
    min-height:72px !important;
    padding:8px 12px !important;
    box-sizing:border-box !important;
}

.s2047-fresh-header .s2047-fresh-toggle,
.s2047-fresh-header .s2047-hamburger{
    grid-column:1 !important;
    justify-self:start !important;
    position:static !important;
    margin:0 !important;
    transform:none !important;
}

.s2047-fresh-title,
.s2047-fresh-logo,
.s2047-menu-logo,
.s2047-menu-title{
    grid-column:2 !important;
    justify-self:center !important;
    text-align:center !important;
    margin:0 auto !important;
    white-space:nowrap !important;
}

.s2047-fresh-close,
button.s2047-fresh-close{
    grid-column:3 !important;
    justify-self:end !important;
    position:static !important;
    margin:0 !important;
    transform:none !important;
}

#s2047-fixed-two-row-tabs,
.s2047-fresh-tabs{
    position:sticky !important;
    top:72px !important;
    z-index:999998 !important;
    background:#020817 !important;
    padding:8px !important;
}

.s2047-fresh-panels{
    overflow-y:auto !important;
    overflow-x:hidden !important;
    height:calc(100vh - 190px) !important;
}

.s2047-fresh-tab{
    font-size:11px !important;
}

@media (max-width:480px){

    .s2047-fresh-header{
        grid-template-columns:48px 1fr 48px !important;
        min-height:68px !important;
        padding:6px 8px !important;
    }

    #s2047-fixed-two-row-tabs,
    .s2047-fresh-tabs{
        top:68px !important;
    }
}



/* =========================================================
   EXACT DESIGN HEADER:
   hamburger LEFT / SPACE 2047 LOGO CENTRE / X RIGHT
   tabs fixed underneath. Menu content scrolls only below tabs.
   ========================================================= */

.s2047-fresh-menu,
#s2047-fresh-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: radial-gradient(circle at 35% 0%, rgba(0,210,255,.18), transparent 38%), #020817 !important;
    z-index: 9999999 !important;
    box-sizing: border-box !important;
}

/* Create a true three-column top row exactly like the design */
.s2047-fresh-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000020 !important;
    display: grid !important;
    grid-template-columns: 64px minmax(0, 1fr) 64px !important;
    grid-template-areas: "hamb logo close" !important;
    align-items: center !important;
    column-gap: 8px !important;
    width: 100% !important;
    min-height: 92px !important;
    padding: 16px 28px 10px 28px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    background: rgba(2, 8, 23, .96) !important;
}

/* Hamburger inside the opened menu: always left */
.s2047-fresh-header .s2047-fresh-toggle,
.s2047-fresh-header button.s2047-fresh-toggle,
.s2047-fresh-header .s2047-hamburger,
.s2047-fresh-header button.s2047-hamburger,
.s2047-fresh-header [aria-label*="menu" i],
.s2047-fresh-header [aria-label*="hamburger" i] {
    grid-area: hamb !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    z-index: 10000025 !important;
}

/* Logo/title: always centre */
.s2047-fresh-title,
.s2047-fresh-logo,
.s2047-menu-logo,
.s2047-menu-title,
.s2047-fresh-header .custom-logo-link,
.s2047-fresh-header .site-branding,
.s2047-fresh-header .site-title {
    grid-area: logo !important;
    justify-self: center !important;
    align-self: center !important;
    text-align: center !important;
    margin: 0 auto !important;
    max-width: 100% !important;
    white-space: nowrap !important;
    overflow: visible !important;
    transform: none !important;
    position: static !important;
}

/* Force logo image/text to sit neat in the centre */
.s2047-fresh-header img,
.s2047-fresh-logo img,
.s2047-menu-logo img {
    display: block !important;
    max-height: 62px !important;
    width: auto !important;
    margin: 0 auto !important;
    object-fit: contain !important;
}

/* Close X: always right */
.s2047-fresh-close,
button.s2047-fresh-close,
.s2047-menu-close,
button.s2047-menu-close,
.s2047-close,
button.s2047-close,
.s2047-fresh-header [aria-label*="close" i] {
    grid-area: close !important;
    justify-self: end !important;
    align-self: center !important;
    position: static !important;
    inset: auto !important;
    transform: none !important;
    margin: 0 !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    max-width: 48px !important;
    max-height: 48px !important;
    z-index: 10000025 !important;
}

/* Hide any duplicate floating header controls that are not inside the real header while menu is open */
.s2047-fresh-menu .s2047-fresh-toggle:not(.s2047-fresh-header .s2047-fresh-toggle) {
    position: static !important;
}

/* Tabs are fixed below the top row */
#s2047-fixed-two-row-tabs,
.s2047-fresh-tabs {
    position: sticky !important;
    top: 92px !important;
    z-index: 10000010 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 28px 14px 28px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    background: rgba(2, 8, 23, .96) !important;
}

/* Two-line tab placement */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(1),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(1){grid-column:1!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(2),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(2){grid-column:2!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(3),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(3){grid-column:3!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(4),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(4){grid-column:4!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(5),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(5){grid-column:1!important;grid-row:2!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(6),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(6){grid-column:2 / 4!important;grid-row:2!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(7),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(7){grid-column:4!important;grid-row:2!important;}

.s2047-fresh-tab {
    height: 44px !important;
    min-height: 42px !important;
    padding: 4px 3px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    text-align: center !important;
    min-width: 0 !important;
    max-width: 100% !important;
    box-sizing: border-box !important;
}

/* Only this part scrolls */
.s2047-fresh-panels {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: calc(100vh - 214px) !important;
    max-height: calc(100vh - 214px) !important;
    padding: 20px 28px 120px 28px !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
}

@media (max-width: 480px) {
    .s2047-fresh-header {
        grid-template-columns: 54px minmax(0, 1fr) 54px !important;
        min-height: 88px !important;
        padding: 14px 22px 8px 22px !important;
    }

    .s2047-fresh-header img,
    .s2047-fresh-logo img,
    .s2047-menu-logo img {
        max-height: 58px !important;
    }

    #s2047-fixed-two-row-tabs,
    .s2047-fresh-tabs {
        top: 88px !important;
        gap: 7px !important;
        padding: 8px 22px 12px 22px !important;
    }

    .s2047-fresh-tab {
        height: 42px !important;
        min-height: 40px !important;
        font-size: 11px !important;
    }

    .s2047-fresh-panels {
        height: calc(100vh - 204px) !important;
        max-height: calc(100vh - 204px) !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}



/* =========================================================
   FORCED ACTUAL HEADER: hamburger left / logo centre / X right
   This uses new markup inserted directly before the tabs.
   ========================================================= */

/* Hide the older header/title controls that were putting logo left and X alone */
.s2047-fresh-header,
.s2047-fresh-title:not(.s2047-forced-logo),
.s2047-fresh-logo:not(.s2047-forced-logo),
.s2047-menu-title:not(.s2047-forced-logo),
.s2047-menu-logo:not(.s2047-forced-logo) {
    display: none !important;
}

/* Menu overlay remains fixed */
.s2047-fresh-menu,
#s2047-fresh-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    overflow: hidden !important;
    background: #020817 !important;
    z-index: 9999999 !important;
    box-sizing: border-box !important;
}

/* Exact 3-cell row */
.s2047-forced-menu-header {
    position: sticky !important;
    top: 0 !important;
    z-index: 10000030 !important;
    display: grid !important;
    grid-template-columns: 58px minmax(0, 1fr) 58px !important;
    align-items: center !important;
    width: 100% !important;
    min-height: 88px !important;
    padding: 14px 24px 8px 24px !important;
    box-sizing: border-box !important;
    background: #020817 !important;
}

/* Hamburger left */
.s2047-forced-hamburger {
    grid-column: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 6px !important;
    margin: 0 !important;
    transform: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
}

.s2047-forced-hamburger span {
    display: block !important;
    width: 38px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: #ffe600 !important;
    box-shadow: 0 0 10px rgba(255,230,0,.85) !important;
}

/* Logo centre */
.s2047-forced-logo {
    grid-column: 2 !important;
    justify-self: center !important;
    align-self: center !important;
    text-align: center !important;
    color: #00e7ff !important;
    font-family: Orbitron, Rajdhani, Arial, sans-serif !important;
    font-size: clamp(28px, 8vw, 46px) !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    line-height: .95 !important;
    text-shadow: 0 0 8px rgba(0,231,255,.95), 0 0 20px rgba(0,112,255,.65) !important;
    white-space: nowrap !important;
    overflow: visible !important;
    margin: 0 auto !important;
    max-width: 100% !important;
}

/* X right */
.s2047-forced-close {
    grid-column: 3 !important;
    justify-self: end !important;
    align-self: center !important;
    position: static !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    color: #ffffff !important;
    font-size: 54px !important;
    line-height: 42px !important;
    font-weight: 500 !important;
    padding: 0 !important;
    margin: 0 !important;
    transform: none !important;
    box-shadow: none !important;
    cursor: pointer !important;
    text-shadow: 0 0 8px rgba(255,255,255,.6) !important;
}

/* Tabs fixed below forced header */
#s2047-fixed-two-row-tabs,
.s2047-fresh-tabs {
    position: sticky !important;
    top: 88px !important;
    z-index: 10000020 !important;
    display: grid !important;
    grid-template-columns: repeat(4, minmax(0, 1fr)) !important;
    grid-template-rows: auto auto !important;
    gap: 8px !important;
    width: 100% !important;
    max-width: 100% !important;
    padding: 10px 24px 14px 24px !important;
    margin: 0 !important;
    box-sizing: border-box !important;
    overflow: hidden !important;
    white-space: normal !important;
    background: #020817 !important;
}

/* Only menu items scroll */
.s2047-fresh-panels {
    overflow-y: auto !important;
    overflow-x: hidden !important;
    height: calc(100vh - 210px) !important;
    max-height: calc(100vh - 210px) !important;
    padding: 18px 24px 120px 24px !important;
    box-sizing: border-box !important;
    -webkit-overflow-scrolling: touch !important;
}

/* Keep exact two-row tabs */
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(1),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(1){grid-column:1!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(2),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(2){grid-column:2!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(3),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(3){grid-column:3!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(4),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(4){grid-column:4!important;grid-row:1!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(5),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(5){grid-column:1!important;grid-row:2!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(6),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(6){grid-column:2 / 4!important;grid-row:2!important;}
#s2047-fixed-two-row-tabs > .s2047-fresh-tab:nth-child(7),
.s2047-fresh-tabs > .s2047-fresh-tab:nth-child(7){grid-column:4!important;grid-row:2!important;}

.s2047-fresh-tab {
    height: 42px !important;
    min-height: 40px !important;
    font-size: 11px !important;
    line-height: 1.05 !important;
    padding: 4px 2px !important;
    white-space: normal !important;
    overflow-wrap: anywhere !important;
    min-width: 0 !important;
    max-width: 100% !important;
}

@media (max-width: 480px) {
    .s2047-forced-menu-header {
        grid-template-columns: 50px minmax(0, 1fr) 50px !important;
        min-height: 82px !important;
        padding: 12px 22px 6px 22px !important;
    }

    .s2047-forced-logo {
        font-size: clamp(25px, 7.6vw, 38px) !important;
    }

    .s2047-forced-hamburger,
    .s2047-forced-close {
        width: 44px !important;
        height: 44px !important;
        min-width: 44px !important;
        min-height: 44px !important;
    }

    .s2047-forced-hamburger span {
        width: 34px !important;
        height: 4px !important;
    }

    .s2047-forced-close {
        font-size: 48px !important;
        line-height: 40px !important;
    }

    #s2047-fixed-two-row-tabs,
    .s2047-fresh-tabs {
        top: 82px !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
        gap: 7px !important;
    }

    .s2047-fresh-panels {
        height: calc(100vh - 200px) !important;
        max-height: calc(100vh - 200px) !important;
        padding-left: 22px !important;
        padding-right: 22px !important;
    }
}

/* =========================================================
   Space 2047 patch: hamburger menu layout matches content page
   - full page panel
   - centred content width
   - menu items use the same card/grid feel as the homepage/content sections
   - mobile remains single-column and scrollable
   ========================================================= */
body .s2047-fresh-menu,
body #s2047-fresh-menu {
    position: fixed !important;
    inset: 0 !important;
    width: 100vw !important;
    height: 100vh !important;
    max-width: none !important;
    max-height: none !important;
    overflow: hidden !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(0,231,255,.14), transparent 34%),
        radial-gradient(circle at 10% 35%, rgba(238,67,255,.10), transparent 34%),
        #020817 !important;
    border: 0 !important;
    border-right: 0 !important;
    box-shadow: none !important;
    padding: 0 !important;
    box-sizing: border-box !important;
}

body .s2047-forced-menu-header,
body #s2047-fixed-two-row-tabs,
body .s2047-fresh-tabs,
body .s2047-fresh-panels {
    max-width: 1180px !important;
    margin-left: auto !important;
    margin-right: auto !important;
    width: 100% !important;
    box-sizing: border-box !important;
}

body .s2047-forced-menu-header {
    background: rgba(2,8,23,.96) !important;
    border-bottom: 1px solid rgba(24,234,255,.18) !important;
}

body #s2047-fixed-two-row-tabs,
body .s2047-fresh-tabs {
    background: rgba(2,8,23,.96) !important;
    border-bottom: 2px solid rgba(24,234,255,.22) !important;
}

body .s2047-fresh-panels {
    height: calc(100vh - 210px) !important;
    max-height: calc(100vh - 210px) !important;
    overflow-y: auto !important;
    overflow-x: hidden !important;
    padding: 22px 24px 120px 24px !important;
    -webkit-overflow-scrolling: touch !important;
    scrollbar-width: thick !important;
    scrollbar-color: #ffd400 rgba(5,10,25,.96) !important;
}

body .s2047-fresh-panels::-webkit-scrollbar { width: 16px !important; }
body .s2047-fresh-panels::-webkit-scrollbar-track {
    background: rgba(5,10,25,.96) !important;
    border-radius: 999px !important;
    box-shadow: inset 0 0 7px rgba(24,234,255,.45) !important;
}
body .s2047-fresh-panels::-webkit-scrollbar-thumb {
    background: #ffd400 !important;
    border-radius: 999px !important;
    border: 3px solid rgba(5,10,25,.96) !important;
    min-height: 78px !important;
    box-shadow: 0 0 12px rgba(255,212,0,.95) !important;
}

/* Make the open tab content look like the page/content layout instead of a narrow menu list. */
body .s2047-fresh-panel.is-active > .s2047-fresh-menu-list,
body .s2047-fresh-panel.is-active > ul.s2047-fresh-menu-list {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0, 1fr)) !important;
    gap: 18px !important;
    align-items: stretch !important;
    width: 100% !important;
    margin: 0 auto !important;
    padding: 0 !important;
}

body .s2047-fresh-menu-list li,
body .s2047-fresh-menu-list .menu-item,
body .s2047-fresh-menu-list .page_item {
    margin: 0 !important;
    width: 100% !important;
    min-width: 0 !important;
    box-sizing: border-box !important;
}

body .s2047-fresh-menu-list a {
    min-height: 84px !important;
    height: 100% !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    text-align: center !important;
    padding: 18px 58px 18px 22px !important;
    border: 2px solid #18eaff !important;
    border-radius: 22px !important;
    background:
        radial-gradient(circle at 50% 0%, rgba(24,234,255,.14), transparent 58%),
        linear-gradient(180deg, rgba(4,14,43,.96), rgba(1,5,22,.96)) !important;
    color: #ffffff !important;
    box-shadow: 0 0 18px rgba(24,234,255,.28), inset 0 0 20px rgba(24,234,255,.06) !important;
    font-family: Orbitron, Rajdhani, Arial, sans-serif !important;
    font-size: clamp(17px, 2.1vw, 22px) !important;
    line-height: 1.14 !important;
    letter-spacing: .02em !important;
    text-transform: none !important;
}

body .s2047-fresh-menu-list a:hover,
body .s2047-fresh-menu-list a:focus {
    border-color: #ffd400 !important;
    color: #ffd400 !important;
    box-shadow: 0 0 24px rgba(255,212,0,.36), inset 0 0 18px rgba(255,212,0,.10) !important;
}

body .s2047-fresh-menu-list > li:first-child > a {
    border-color: #ffd400 !important;
    color: #ffd400 !important;
}

/* Submenus sit under their parent but keep the same content-page card spacing. */
body .s2047-fresh-menu-list .sub-menu,
body .s2047-fresh-menu-list .children {
    grid-column: 1 / -1 !important;
    display: none !important;
    width: 100% !important;
    margin: 14px 0 0 0 !important;
    padding: 14px !important;
    border: 1px solid rgba(24,234,255,.24) !important;
    border-radius: 20px !important;
    background: rgba(0,0,0,.18) !important;
    box-sizing: border-box !important;
}
body .s2047-fresh-menu-list li.is-open > .sub-menu,
body .s2047-fresh-menu-list li.is-open > .children {
    display: grid !important;
    grid-template-columns: repeat(2, minmax(0,1fr)) !important;
    gap: 12px !important;
}
body .s2047-fresh-menu-list .sub-menu a,
body .s2047-fresh-menu-list .children a {
    min-height: 64px !important;
    font-size: clamp(15px, 1.8vw, 18px) !important;
    border-radius: 16px !important;
}

body .s2047-fresh-drop {
    top: 18px !important;
    right: 14px !important;
    width: 46px !important;
    height: 46px !important;
}

@media (max-width: 760px) {
    body .s2047-forced-menu-header,
    body #s2047-fixed-two-row-tabs,
    body .s2047-fresh-tabs,
    body .s2047-fresh-panels {
        max-width: 100% !important;
    }
    body .s2047-fresh-panel.is-active > .s2047-fresh-menu-list,
    body .s2047-fresh-panel.is-active > ul.s2047-fresh-menu-list,
    body .s2047-fresh-menu-list li.is-open > .sub-menu,
    body .s2047-fresh-menu-list li.is-open > .children {
        grid-template-columns: 1fr !important;
        gap: 12px !important;
    }
    body .s2047-fresh-menu-list a {
        min-height: 68px !important;
        border-radius: 18px !important;
        font-size: 18px !important;
        padding: 16px 58px 16px 18px !important;
    }
    body .s2047-fresh-panels {
        height: calc(100vh - 200px) !important;
        max-height: calc(100vh - 200px) !important;
        padding: 18px 18px 110px 18px !important;
    }
}

/* =========================================================
   PATCH: SAME HAMBURGER + SPACE 2047 TITLE ON EVERY PAGE
   Keeps the closed-page header in the same visual place as the open menu header.
   ========================================================= */
html body {
    padding-top: 88px !important;
}
body.admin-bar {
    padding-top: 88px !important;
}
body .s2047-wp-only-header {
    position: fixed !important;
    top: var(--wp-admin--admin-bar--height, 0px) !important;
    left: 0 !important;
    right: 0 !important;
    z-index: 9999998 !important;
    height: 88px !important;
    min-height: 88px !important;
    display: grid !important;
    grid-template-columns: 78px minmax(0, 1fr) 78px !important;
    align-items: center !important;
    width: 100% !important;
    padding: 14px 24px 8px 24px !important;
    box-sizing: border-box !important;
    background: #020817 !important;
    border-bottom: 1px solid rgba(24,234,255,.22) !important;
    box-shadow: 0 0 20px rgba(0,231,255,.12) !important;
}
body .s2047-wp-only-header .s2047-wp-only-brand {
    grid-column: 2 !important;
    grid-row: 1 !important;
    justify-self: center !important;
    align-self: center !important;
    margin: 0 !important;
    padding: 0 !important;
    text-align: center !important;
    width: auto !important;
    max-width: 100% !important;
    display: block !important;
}
body .s2047-wp-only-header .s2047-wp-only-brand a {
    color: #00e7ff !important;
    font-family: Orbitron, Rajdhani, Arial, sans-serif !important;
    font-size: clamp(28px, 8vw, 46px) !important;
    font-weight: 800 !important;
    letter-spacing: 1px !important;
    line-height: .95 !important;
    text-shadow: 0 0 8px rgba(0,231,255,.95), 0 0 20px rgba(0,112,255,.65) !important;
    white-space: nowrap !important;
    text-decoration: none !important;
}
body .s2047-wp-only-header > .s2047-fresh-hamburger {
    grid-column: 1 !important;
    grid-row: 1 !important;
    justify-self: start !important;
    align-self: center !important;
    position: static !important;
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
    border: 0 !important;
    background: transparent !important;
    padding: 6px !important;
    margin: 0 !important;
    transform: none !important;
    box-shadow: none !important;
    display: flex !important;
    flex-direction: column !important;
    justify-content: center !important;
    gap: 6px !important;
    cursor: pointer !important;
    opacity: 1 !important;
    visibility: visible !important;
}
body .s2047-wp-only-header > .s2047-fresh-hamburger span {
    display: block !important;
    width: 38px !important;
    height: 5px !important;
    border-radius: 999px !important;
    background: #ffe600 !important;
    box-shadow: 0 0 10px rgba(255,230,0,.85) !important;
}
body .s2047-wp-only-header .s2047-fresh-menu-shade,
body .s2047-wp-only-header .s2047-fresh-menu {
    grid-column: 1 / -1 !important;
}
body.show-menu .s2047-wp-only-header > .s2047-fresh-hamburger,
body.menu-open .s2047-wp-only-header > .s2047-fresh-hamburger {
    display: none !important;
}
body.show-menu .s2047-wp-only-header .s2047-wp-only-brand,
body.menu-open .s2047-wp-only-header .s2047-wp-only-brand {
    display: none !important;
}
body .s2047-fresh-menu .s2047-forced-menu-header {
    min-height: 88px !important;
    height: 88px !important;
    padding: 14px 24px 8px 24px !important;
    grid-template-columns: 78px minmax(0, 1fr) 78px !important;
}
body .s2047-fresh-menu .s2047-forced-hamburger,
body .s2047-fresh-menu .s2047-forced-close {
    width: 48px !important;
    height: 48px !important;
    min-width: 48px !important;
    min-height: 48px !important;
}
@media (max-width: 760px) {
    html body,
    body.admin-bar {
        padding-top: 82px !important;
    }
    body .s2047-wp-only-header {
        height: 82px !important;
        min-height: 82px !important;
        grid-template-columns: 74px minmax(0, 1fr) 74px !important;
        padding: 12px 20px 8px 20px !important;
    }
    body .s2047-fresh-menu .s2047-forced-menu-header {
        height: 82px !important;
        min-height: 82px !important;
        grid-template-columns: 74px minmax(0, 1fr) 74px !important;
        padding: 12px 20px 8px 20px !important;
    }
    body .s2047-wp-only-header .s2047-wp-only-brand a,
    body .s2047-fresh-menu .s2047-forced-logo {
        font-size: clamp(30px, 9vw, 42px) !important;
    }
}

/* =========================================================
   PATCH: DISPLAY SUBMENU ITEMS PROPERLY IN HAMBURGER MENU
   The parent link was stretching over the opened submenu area.
   This keeps the page-style layout but lets child links render clearly.
   ========================================================= */
body .s2047-fresh-menu-list li.menu-item-has-children.is-open,
body .s2047-fresh-menu-list li.page_item_has_children.is-open,
body .s2047-fresh-menu-list li.is-open {
    height: auto !important;
    min-height: 0 !important;
    overflow: visible !important;
    align-self: start !important;
}
body .s2047-fresh-menu-list li.is-open > a {
    height: auto !important;
    min-height: 84px !important;
    position: relative !important;
    z-index: 2 !important;
}
body .s2047-fresh-menu-list li.is-open > .sub-menu,
body .s2047-fresh-menu-list li.is-open > .children {
    display: grid !important;
    grid-template-columns: 1fr !important;
    gap: 12px !important;
    position: relative !important;
    z-index: 5 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    height: auto !important;
    min-height: 0 !important;
    max-height: none !important;
    overflow: visible !important;
    padding: 14px !important;
    margin: 14px 0 0 0 !important;
    border: 3px solid #ffd400 !important;
    border-radius: 20px !important;
    background: rgba(2,10,31,.96) !important;
    box-shadow: 0 0 22px rgba(255,212,0,.30), inset 0 0 24px rgba(24,234,255,.07) !important;
}
body .s2047-fresh-menu-list li.is-open > .sub-menu > li,
body .s2047-fresh-menu-list li.is-open > .children > li {
    display: block !important;
    position: relative !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 0 !important;
    margin: 0 !important;
    overflow: visible !important;
    z-index: 6 !important;
}
body .s2047-fresh-menu-list li.is-open > .sub-menu > li > a,
body .s2047-fresh-menu-list li.is-open > .children > li > a,
body .s2047-fresh-menu-list .sub-menu a,
body .s2047-fresh-menu-list .children a {
    display: flex !important;
    opacity: 1 !important;
    visibility: visible !important;
    height: auto !important;
    min-height: 64px !important;
    max-height: none !important;
    color: #ffffff !important;
    text-shadow: 0 0 10px rgba(255,255,255,.32) !important;
    border: 2px solid #18eaff !important;
    background: linear-gradient(180deg, rgba(5,18,50,.98), rgba(1,5,22,.98)) !important;
    z-index: 7 !important;
}
body .s2047-fresh-menu-list li.is-open > .s2047-fresh-drop {
    z-index: 10 !important;
}
@media (max-width: 760px) {
    body .s2047-fresh-menu-list li.is-open > .sub-menu,
    body .s2047-fresh-menu-list li.is-open > .children {
        grid-template-columns: 1fr !important;
    }
}

/* =========================================================
   FINAL PATCH: closed dropdown parents must stay compact
   Keeps open submenus visible, but stops closed parent buttons
   stretching to match an opened submenu/card height.
   ========================================================= */
body .s2047-fresh-panel.is-active > .s2047-fresh-menu-list,
body .s2047-fresh-panel.is-active > ul.s2047-fresh-menu-list{
  align-items:start !important;
}
body .s2047-fresh-menu-list > li,
body .s2047-fresh-menu-list > li.menu-item,
body .s2047-fresh-menu-list > li.page_item{
  height:auto !important;
  min-height:0 !important;
  max-height:none !important;
  align-self:start !important;
  overflow:visible !important;
}
body .s2047-fresh-menu-list > li:not(.is-open) > a,
body .s2047-fresh-menu-list > li:not(.is-open) > .s2047-fresh-parent-link,
body .s2047-fresh-menu-list > li:not(.is-open) > button:not(.s2047-fresh-drop){
  height:auto !important;
  min-height:84px !important;
  max-height:120px !important;
  align-self:start !important;
}
body .s2047-fresh-menu-list > li:not(.is-open) > .sub-menu,
body .s2047-fresh-menu-list > li:not(.is-open) > .children{
  display:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
  opacity:0 !important;
  visibility:hidden !important;
}
body .s2047-fresh-menu-list li.menu-item-has-children:not(.is-open),
body .s2047-fresh-menu-list li.page_item_has_children:not(.is-open){
  display:block !important;
  position:relative !important;
}
body .s2047-fresh-menu-list li.menu-item-has-children:not(.is-open) > .s2047-fresh-drop,
body .s2047-fresh-menu-list li.page_item_has_children:not(.is-open) > .s2047-fresh-drop{
  top:18px !important;
  bottom:auto !important;
  transform:none !important;
}
@media (max-width:760px){
  body .s2047-fresh-menu-list > li:not(.is-open) > a,
  body .s2047-fresh-menu-list > li:not(.is-open) > .s2047-fresh-parent-link,
  body .s2047-fresh-menu-list > li:not(.is-open) > button:not(.s2047-fresh-drop){
    min-height:68px !important;
    max-height:96px !important;
  }
}

/* =========================================================
   FINAL HEADER BAR FIX
   Removes the extra top barcode/header strip inside the open menu.
   Keeps hamburger, Space 2047 logo and X on one clean line.
   ========================================================= */
body .s2047-fresh-menu .s2047-fresh-menu-head,
body .s2047-fresh-menu-head,
body .s2047-design-close{
  display:none !important;
  visibility:hidden !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  padding:0 !important;
  margin:0 !important;
  border:0 !important;
  overflow:hidden !important;
}
body .s2047-fresh-menu{
  padding-top:0 !important;
}
body .s2047-fresh-menu .s2047-forced-menu-header{
  display:grid !important;
  grid-template-columns:74px minmax(0,1fr) 74px !important;
  align-items:center !important;
  gap:0 !important;
  width:100% !important;
  height:82px !important;
  min-height:82px !important;
  max-height:82px !important;
  padding:12px 20px 8px 20px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  background:linear-gradient(90deg,rgba(2,8,20,.98),rgba(4,27,36,.96),rgba(2,8,20,.98)) !important;
  border-bottom:1px solid rgba(24,234,255,.28) !important;
}
body .s2047-fresh-menu .s2047-forced-hamburger{
  grid-column:1 !important;
  justify-self:start !important;
  align-self:center !important;
  display:flex !important;
}
body .s2047-fresh-menu .s2047-forced-logo{
  grid-column:2 !important;
  justify-self:center !important;
  align-self:center !important;
  display:block !important;
  white-space:nowrap !important;
  text-align:center !important;
  line-height:1 !important;
}
body .s2047-fresh-menu .s2047-forced-close{
  grid-column:3 !important;
  justify-self:end !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  position:static !important;
  transform:none !important;
  margin:0 !important;
}
@media(max-width:760px){
  body .s2047-fresh-menu .s2047-forced-menu-header{
    grid-template-columns:74px minmax(0,1fr) 74px !important;
    height:82px !important;
    min-height:82px !important;
    max-height:82px !important;
    padding:12px 20px 8px 20px !important;
  }
}

/* =========================================================
   FINAL ALIGNMENT PATCH: open menu header matches closed page header
   Keeps hamburger, logo, and X on the exact same fixed row so nothing jumps.
   ========================================================= */
html body .s2047-fresh-menu{
  position:fixed !important;
  top:var(--wp-admin--admin-bar--height, 0px) !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  height:calc(100vh - var(--wp-admin--admin-bar--height, 0px)) !important;
  max-height:calc(100vh - var(--wp-admin--admin-bar--height, 0px)) !important;
  padding:0 0 28px 0 !important;
  margin:0 !important;
  transform:none !important;
  overflow-y:auto !important;
  overflow-x:hidden !important;
  background:linear-gradient(180deg,rgba(2,8,20,.995),rgba(2,8,20,.985)) !important;
  border:0 !important;
  border-radius:0 !important;
  box-shadow:none !important;
  z-index:9999999 !important;
}
html body .s2047-fresh-menu[hidden]{display:none !important;}
html body.s2047-fresh-menu-open .s2047-fresh-menu,
html body.menu-open .s2047-fresh-menu{display:block !important;}

html body .s2047-fresh-menu .s2047-forced-menu-header{
  position:sticky !important;
  top:0 !important;
  z-index:10000000 !important;
  display:grid !important;
  grid-template-columns:78px minmax(0,1fr) 78px !important;
  align-items:center !important;
  width:100% !important;
  height:88px !important;
  min-height:88px !important;
  max-height:88px !important;
  padding:14px 24px 8px 24px !important;
  margin:0 !important;
  box-sizing:border-box !important;
  gap:0 !important;
  background:#020817 !important;
  border-bottom:1px solid rgba(24,234,255,.22) !important;
  box-shadow:0 0 20px rgba(0,231,255,.12) !important;
}
html body .s2047-fresh-menu .s2047-forced-hamburger{
  grid-column:1 !important;
  justify-self:start !important;
  align-self:center !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:6px !important;
  position:static !important;
  transform:none !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
  display:flex !important;
  flex-direction:column !important;
  justify-content:center !important;
  align-items:center !important;
  gap:6px !important;
  cursor:pointer !important;
}
html body .s2047-fresh-menu .s2047-forced-hamburger span{
  width:38px !important;
  height:5px !important;
  border-radius:999px !important;
  background:#ffe600 !important;
  box-shadow:0 0 10px rgba(255,230,0,.85) !important;
}
html body .s2047-fresh-menu .s2047-forced-logo{
  grid-column:2 !important;
  justify-self:center !important;
  align-self:center !important;
  width:auto !important;
  max-width:100% !important;
  margin:0 !important;
  padding:0 !important;
  color:#00e7ff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:clamp(28px,8vw,46px) !important;
  font-weight:800 !important;
  letter-spacing:1px !important;
  line-height:.95 !important;
  text-shadow:0 0 8px rgba(0,231,255,.95),0 0 20px rgba(0,112,255,.65) !important;
  white-space:nowrap !important;
  overflow:hidden !important;
  text-align:center !important;
}
html body .s2047-fresh-menu .s2047-forced-close,
html body .s2047-fresh-menu button.s2047-forced-close,
html body .s2047-fresh-menu button.s2047-fresh-close{
  grid-column:3 !important;
  justify-self:end !important;
  align-self:center !important;
  position:static !important;
  top:auto !important;
  right:auto !important;
  left:auto !important;
  transform:none !important;
  width:48px !important;
  height:48px !important;
  min-width:48px !important;
  min-height:48px !important;
  margin:0 !important;
  padding:0 !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid #ee43ff !important;
  border-radius:14px !important;
  background:rgba(5,8,24,.96) !important;
  color:#fff !important;
  font-size:40px !important;
  line-height:1 !important;
  box-shadow:0 0 18px rgba(238,67,255,.72) !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
html body .s2047-fresh-menu .s2047-fresh-menu-head,
html body .s2047-fresh-menu .s2047-design-close{display:none !important;}
html body.s2047-fresh-menu-open .s2047-wp-only-header > .s2047-fresh-hamburger,
html body.menu-open .s2047-wp-only-header > .s2047-fresh-hamburger,
html body.s2047-fresh-menu-open .s2047-wp-only-header .s2047-wp-only-brand,
html body.menu-open .s2047-wp-only-header .s2047-wp-only-brand{display:none !important;}

@media(max-width:760px){
  html body .s2047-fresh-menu .s2047-forced-menu-header{
    grid-template-columns:74px minmax(0,1fr) 74px !important;
    height:82px !important;
    min-height:82px !important;
    max-height:82px !important;
    padding:12px 20px 8px 20px !important;
  }
  html body .s2047-fresh-menu .s2047-forced-logo{font-size:clamp(30px,9vw,42px) !important;}
}

/* =========================================================
   Benjamin pixel-lock fallback: identical closed/open menu header height positions.
   Primary version is also injected in the footer to override older patches.
   ========================================================= */
:root{
  --s2047-header-h:82px;
  --s2047-header-pad-top:12px;
  --s2047-header-pad-right:20px;
  --s2047-header-pad-bottom:8px;
  --s2047-header-pad-left:20px;
  --s2047-header-side:74px;
  --s2047-icon-size:48px;
  --s2047-icon-pad:6px;
  --s2047-logo-size:clamp(30px,9vw,42px);
}
@media (min-width:761px){
  :root{
    --s2047-header-h:88px;
    --s2047-header-pad-top:14px;
    --s2047-header-pad-right:24px;
    --s2047-header-pad-bottom:8px;
    --s2047-header-pad-left:24px;
    --s2047-header-side:78px;
    --s2047-logo-size:clamp(28px,8vw,46px);
  }
}
html body .s2047-wp-only-header,
html body .s2047-fresh-menu .s2047-forced-menu-header{
  height:var(--s2047-header-h) !important;
  min-height:var(--s2047-header-h) !important;
  max-height:var(--s2047-header-h) !important;
  padding:var(--s2047-header-pad-top) var(--s2047-header-pad-right) var(--s2047-header-pad-bottom) var(--s2047-header-pad-left) !important;
  display:grid !important;
  grid-template-columns:var(--s2047-header-side) minmax(0,1fr) var(--s2047-header-side) !important;
  grid-template-rows:1fr !important;
  align-items:center !important;
  box-sizing:border-box !important;
  gap:0 !important;
  margin:0 !important;
}

/* =========================================================
   BENJAMIN FINAL PIXEL-PERFECT HEADER ALIGNMENT OVERRIDE
   Locks hamburger, Space 2047 logo and X to the same pixel grid
   in CLOSED and OPEN menu states. Also prevents logo clipping.
   ========================================================= */
:root{
  --s2047-final-admin-top: var(--wp-admin--admin-bar--height, 0px);
  --s2047-final-header-h: 76px;
  --s2047-final-side-col: 66px;
  --s2047-final-pad-x: 24px;
  --s2047-final-icon: 48px;
  --s2047-final-logo: clamp(28px, 7.25vw, 38px);
}
@media (min-width: 761px){
  :root{
    --s2047-final-header-h: 82px;
    --s2047-final-side-col: 72px;
    --s2047-final-pad-x: 28px;
    --s2047-final-logo: clamp(30px, 6vw, 44px);
  }
}
html body{padding-top:var(--s2047-final-header-h) !important;}
html body.admin-bar{padding-top:var(--s2047-final-header-h) !important;}
html body .s2047-wp-only-header,
html body .s2047-fresh-menu .s2047-forced-menu-header{
  height:var(--s2047-final-header-h) !important;
  min-height:var(--s2047-final-header-h) !important;
  max-height:var(--s2047-final-header-h) !important;
  padding:0 var(--s2047-final-pad-x) !important;
  margin:0 !important;
  box-sizing:border-box !important;
  display:grid !important;
  grid-template-columns:var(--s2047-final-side-col) minmax(0,1fr) var(--s2047-final-side-col) !important;
  grid-template-rows:var(--s2047-final-header-h) !important;
  align-items:center !important;
  justify-items:stretch !important;
  gap:0 !important;
  background:#020817 !important;
  border:0 !important;
  border-bottom:1px solid rgba(24,234,255,.22) !important;
  box-shadow:0 0 20px rgba(0,231,255,.12) !important;
  overflow:visible !important;
}
html body .s2047-wp-only-header{
  position:fixed !important;
  top:var(--s2047-final-admin-top) !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  z-index:2147483600 !important;
}
html body .s2047-fresh-menu{
  position:fixed !important;
  top:var(--s2047-final-admin-top) !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  max-width:100vw !important;
  height:calc(100vh - var(--s2047-final-admin-top)) !important;
  padding:0 0 32px 0 !important;
  margin:0 !important;
  border:0 !important;
  border-radius:0 !important;
  transform:none !important;
  overflow-x:hidden !important;
  overflow-y:auto !important;
  z-index:2147483601 !important;
}
html body .s2047-fresh-menu .s2047-forced-menu-header{
  position:sticky !important;
  top:0 !important;
  z-index:2147483602 !important;
}
html body .s2047-wp-only-header > .s2047-fresh-hamburger,
html body .s2047-fresh-menu .s2047-forced-hamburger,
html body .s2047-fresh-menu .s2047-forced-close,
html body .s2047-fresh-menu button.s2047-forced-close{
  width:var(--s2047-final-icon) !important;
  height:var(--s2047-final-icon) !important;
  min-width:var(--s2047-final-icon) !important;
  min-height:var(--s2047-final-icon) !important;
  max-width:var(--s2047-final-icon) !important;
  max-height:var(--s2047-final-icon) !important;
  box-sizing:border-box !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  inset:auto !important;
  transform:none !important;
  align-self:center !important;
  opacity:1 !important;
  visibility:visible !important;
  pointer-events:auto !important;
}
html body .s2047-wp-only-header > .s2047-fresh-hamburger,
html body .s2047-fresh-menu .s2047-forced-hamburger{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:start !important;
  display:flex !important;
  flex-direction:column !important;
  align-items:center !important;
  justify-content:center !important;
  gap:6px !important;
  border:0 !important;
  background:transparent !important;
  box-shadow:none !important;
}
html body .s2047-wp-only-header > .s2047-fresh-hamburger span,
html body .s2047-fresh-menu .s2047-forced-hamburger span{
  display:block !important;
  width:38px !important;
  height:5px !important;
  min-height:5px !important;
  flex:0 0 5px !important;
  border-radius:999px !important;
  background:#ffe600 !important;
  box-shadow:0 0 10px rgba(255,230,0,.9) !important;
}
html body .s2047-wp-only-header .s2047-wp-only-brand,
html body .s2047-fresh-menu .s2047-forced-logo{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:center !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  max-width:100% !important;
  height:var(--s2047-final-icon) !important;
  min-height:var(--s2047-final-icon) !important;
  margin:0 !important;
  padding:0 !important;
  overflow:visible !important;
  text-align:center !important;
  white-space:nowrap !important;
  line-height:1 !important;
}
html body .s2047-wp-only-header .s2047-wp-only-brand a,
html body .s2047-fresh-menu .s2047-forced-logo{
  color:#00e7ff !important;
  font-family:Orbitron,Rajdhani,Arial,sans-serif !important;
  font-size:var(--s2047-final-logo) !important;
  font-weight:800 !important;
  letter-spacing:.5px !important;
  line-height:1 !important;
  text-decoration:none !important;
  text-shadow:0 0 8px rgba(0,231,255,.95),0 0 20px rgba(0,112,255,.65) !important;
  white-space:nowrap !important;
  transform:none !important;
}
html body .s2047-fresh-menu .s2047-forced-close,
html body .s2047-fresh-menu button.s2047-forced-close{
  grid-column:3 !important;
  grid-row:1 !important;
  justify-self:end !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:3px solid #ee43ff !important;
  border-radius:14px !important;
  background:rgba(5,8,24,.96) !important;
  box-shadow:0 0 18px rgba(238,67,255,.72) !important;
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:0 !important;
  overflow:visible !important;
}
html body .s2047-fresh-menu .s2047-forced-close::before,
html body .s2047-fresh-menu button.s2047-forced-close::before{
  content:"×" !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  color:#fff !important;
  font-size:40px !important;
  font-weight:800 !important;
  line-height:1 !important;
  transform:translateY(-1px) !important;
}
html body .s2047-fresh-menu .s2047-fresh-menu-head,
html body .s2047-fresh-menu .s2047-design-close{display:none !important;}
html body.s2047-fresh-menu-open .s2047-wp-only-header,
html body.menu-open .s2047-wp-only-header,
html body.show-menu .s2047-wp-only-header{
  display:none !important;
}
html body .s2047-fresh-menu .s2047-fresh-tabs,
html body .s2047-fresh-menu #s2047-fixed-two-row-tabs{
  margin-top:0 !important;
  position:relative !important;
  z-index:2 !important;
}
@media (max-width:420px){
  :root{
    --s2047-final-header-h:76px;
    --s2047-final-side-col:58px;
    --s2047-final-pad-x:18px;
    --s2047-final-icon:46px;
    --s2047-final-logo:clamp(27px, 7.15vw, 34px);
  }
  html body .s2047-wp-only-header > .s2047-fresh-hamburger span,
  html body .s2047-fresh-menu .s2047-forced-hamburger span{width:36px !important;}
  html body .s2047-fresh-menu .s2047-forced-close::before,
  html body .s2047-fresh-menu button.s2047-forced-close::before{font-size:38px !important;}
}

/* =========================================================
   FINAL REPAIR: never lose closed header after closing menu.
   Keeps the closed header visible unless the fresh menu is genuinely open,
   and uses identical header grid measurements in closed/open states.
   ========================================================= */
:root{
  --s2047-perfect-header-h:76px;
  --s2047-perfect-side:64px;
  --s2047-perfect-pad-x:22px;
  --s2047-perfect-icon:48px;
  --s2047-perfect-logo:clamp(26px,7vw,36px);
}
@media (max-width:420px){
  :root{
    --s2047-perfect-header-h:76px;
    --s2047-perfect-side:58px;
    --s2047-perfect-pad-x:18px;
    --s2047-perfect-icon:46px;
    --s2047-perfect-logo:clamp(25px,6.75vw,34px);
  }
}
html body:not(.s2047-fresh-menu-open):not(.menu-open):not(.show-menu) .s2047-wp-only-header{
  display:grid !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html body:not(.s2047-fresh-menu-open):not(.menu-open):not(.show-menu) .s2047-wp-only-header > .s2047-fresh-hamburger,
html body:not(.s2047-fresh-menu-open):not(.menu-open):not(.show-menu) .s2047-wp-only-header .s2047-wp-only-brand{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
  pointer-events:auto !important;
}
html body .s2047-wp-only-header,
html body .s2047-fresh-menu .s2047-forced-menu-header{
  height:var(--s2047-perfect-header-h) !important;
  min-height:var(--s2047-perfect-header-h) !important;
  max-height:var(--s2047-perfect-header-h) !important;
  padding:0 var(--s2047-perfect-pad-x) !important;
  display:grid !important;
  grid-template-columns:var(--s2047-perfect-side) minmax(0,1fr) var(--s2047-perfect-side) !important;
  grid-template-rows:var(--s2047-perfect-header-h) !important;
  align-items:center !important;
  box-sizing:border-box !important;
  overflow:visible !important;
}
html body .s2047-wp-only-header > .s2047-fresh-hamburger,
html body .s2047-fresh-menu .s2047-forced-hamburger,
html body .s2047-fresh-menu .s2047-forced-close{
  width:var(--s2047-perfect-icon) !important;
  height:var(--s2047-perfect-icon) !important;
  min-width:var(--s2047-perfect-icon) !important;
  min-height:var(--s2047-perfect-icon) !important;
  max-width:var(--s2047-perfect-icon) !important;
  max-height:var(--s2047-perfect-icon) !important;
  align-self:center !important;
  margin:0 !important;
  padding:0 !important;
  position:static !important;
  transform:none !important;
}
html body .s2047-wp-only-header .s2047-wp-only-brand,
html body .s2047-fresh-menu .s2047-forced-logo{
  grid-column:2 !important;
  grid-row:1 !important;
  justify-self:center !important;
  align-self:center !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  height:var(--s2047-perfect-icon) !important;
  min-height:var(--s2047-perfect-icon) !important;
  width:100% !important;
  max-width:100% !important;
  overflow:visible !important;
  text-align:center !important;
  white-space:nowrap !important;
  margin:0 !important;
  padding:0 !important;
}
html body .s2047-wp-only-header .s2047-wp-only-brand a,
html body .s2047-fresh-menu .s2047-forced-logo{
  font-size:var(--s2047-perfect-logo) !important;
  line-height:1 !important;
  white-space:nowrap !important;
  overflow:visible !important;
  transform:none !important;
}


/* FINAL SINGLE-X PATCH: one visible X only, never double. */
html body .s2047-fresh-menu .s2047-forced-close,
html body .s2047-fresh-menu button.s2047-forced-close,
html body #s2047-clean-close{
  color:transparent !important;
  font-size:0 !important;
  line-height:0 !important;
  text-indent:0 !important;
  overflow:hidden !important;
}
html body .s2047-fresh-menu .s2047-forced-close > *,
html body .s2047-fresh-menu button.s2047-forced-close > *,
html body #s2047-clean-close > *{display:none !important;}
html body .s2047-fresh-menu .s2047-forced-close::before,
html body .s2047-fresh-menu button.s2047-forced-close::before,
html body #s2047-clean-close::before{
  content:"×" !important;
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  color:#fff !important;
  font-size:40px !important;
  font-weight:800 !important;
  line-height:1 !important;
  transform:translateY(-1px) !important;
}


/* =========================================================
   PAYPAL SPONSOR BUTTON POSITION FIX
   Places the PayPal sponsor button directly above the
   "Benjamin Robinsons books" heading, not inside the logo bar.
   It stays visually above the first content heading while the
   page content can scroll underneath normally.
   ========================================================= */
html body .space2047-home-paypal-sponsor-wrap{
  width:100% !important;
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  margin:12px auto 10px auto !important;
  padding:0 12px !important;
  box-sizing:border-box !important;
  position:relative !important;
  z-index:50 !important;
}
html body .space2047-home-paypal-sponsor-button{
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  gap:10px !important;
  min-height:44px !important;
  max-width:calc(100vw - 32px) !important;
  padding:9px 18px !important;
  border:2px solid #ffc400 !important;
  border-radius:999px !important;
  background:linear-gradient(180deg, rgba(255,255,255,.98), rgba(232,242,255,.96)) !important;
  box-shadow:0 0 13px rgba(255,196,0,.78), 0 0 24px rgba(0,112,255,.34) !important;
  color:#002f86 !important;
  font-family:Arial, Helvetica, sans-serif !important;
  font-size:16px !important;
  font-weight:900 !important;
  line-height:1.05 !important;
  letter-spacing:.2px !important;
  text-align:center !important;
  text-decoration:none !important;
  white-space:nowrap !important;
}
html body .space2047-home-paypal-sponsor-button img{
  display:block !important;
  width:auto !important;
  height:24px !important;
  max-width:82px !important;
  object-fit:contain !important;
  flex:0 0 auto !important;
}
html body .space2047-home-paypal-sponsor-button span{
  display:inline-block !important;
  color:#002f86 !important;
  text-shadow:none !important;
}
html body .space2047-books-home-section .space2047-books-slider-heading{
  margin-top:0 !important;
  clear:both !important;
}
@media (max-width:420px){
  html body .space2047-home-paypal-sponsor-wrap{
    margin-top:9px !important;
    margin-bottom:9px !important;
    padding-left:8px !important;
    padding-right:8px !important;
  }
  html body .space2047-home-paypal-sponsor-button{
    min-height:40px !important;
    padding:8px 14px !important;
    gap:8px !important;
    font-size:14px !important;
  }
  html body .space2047-home-paypal-sponsor-button img{
    height:21px !important;
    max-width:74px !important;
  }
}

/* =========================================================
   FINAL HOME SPONSOR FIX
   Remove the small SPACE 2047 promo line above the PayPal
   sponsor button while leaving the main fixed Space 2047
   header logo and Benjamin Robinsons Books heading untouched.
   ========================================================= */
html body.home .space2047-books-home-section > .hero-title,
html body.home .space2047-books-home-section > .subline,
html body.home .space2047-books-home-section > .space2047-small-title,
html body.home .space2047-books-home-section > .space2047-hero-small-title,
html body.home .space2047-books-home-section > .space2047-home-small-title,
html body .space-page .space2047-books-home-section > .hero-title,
html body .space-page .space2047-books-home-section > .subline,
html body .space-page .space2047-books-home-section > .space2047-small-title,
html body .space-page .space2047-books-home-section > .space2047-hero-small-title,
html body .space-page .space2047-books-home-section > .space2047-home-small-title{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
html body .space2047-home-paypal-sponsor-wrap{
  margin-top:16px !important;
}

/* =========================================================
   THOROUGH FIX: remove the duplicate small Space 2047 line
   above the PayPal sponsorship button.
   The fixed neon header already provides the Space 2047 logo,
   so the old in-page topbar/header must not render on the home
   content area.
   ========================================================= */
html body.home .space-page > .wrap > header.topbar.compact-topbar,
html body.home .space-page > .wrap > .topbar.compact-topbar,
html body .space-page > .wrap > header.topbar.compact-topbar,
html body .space-page > .wrap > .topbar.compact-topbar{
  display:none !important;
  visibility:hidden !important;
  opacity:0 !important;
  pointer-events:none !important;
  height:0 !important;
  min-height:0 !important;
  max-height:0 !important;
  margin:0 !important;
  padding:0 !important;
  overflow:hidden !important;
}
html body.home .space2047-books-home-section,
html body .space-page .space2047-books-home-section{
  padding-top:16px !important;
  margin-top:0 !important;
}
html body.home .space2047-home-paypal-sponsor-wrap,
html body .space-page .space2047-home-paypal-sponsor-wrap{
  margin-top:0 !important;
}


/* SPACE 2047 FINAL TOP-LOCK SOCIAL + LOGO BAR FIX
   Keeps the social icon row and the Space 2047 header pinned to the very top of the viewport. */
:root{
  --s2047-social-h:42px !important;
  --s2047-clean-h:76px !important;
  --s2047-admin-top:0px !important;
}
html body{
  padding-top:calc(var(--s2047-social-h) + var(--s2047-clean-h)) !important;
}
#s2047-social-top-bar{
  position:fixed !important;
  top:0 !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  z-index:2147483646 !important;
  transform:none !important;
}
#s2047-clean-fixed-header{
  position:fixed !important;
  top:var(--s2047-social-h) !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  z-index:2147483645 !important;
  transform:none !important;
}
html body .s2047-fresh-menu{
  position:fixed !important;
  top:var(--s2047-social-h) !important;
  left:0 !important;
  right:0 !important;
  width:100vw !important;
  height:calc(100vh - var(--s2047-social-h)) !important;
  max-height:calc(100vh - var(--s2047-social-h)) !important;
  z-index:2147483644 !important;
  transform:none !important;
}
html body .s2047-fresh-menu .s2047-forced-menu-header{
  position:sticky !important;
  top:0 !important;
  z-index:2147483645 !important;
}
html body.s2047-hard-open #s2047-social-top-bar{
  display:flex !important;
  visibility:visible !important;
  opacity:1 !important;
}
html body.s2047-hard-open #s2047-clean-fixed-header{
  display:none !important;
}
@media(max-width:420px){
  :root{--s2047-social-h:40px !important;}
}

/* =========================================================
   FINAL FIX: premium social icons + PayPal raised 15px
   ========================================================= */
html body.home .space2047-home-paypal-sponsor-wrap,
html body .space-page .space2047-home-paypal-sponsor-wrap,
html body .space2047-home-paypal-sponsor-wrap{
  margin-top:-15px !important;
  margin-bottom:15px !important;
  transform:translateY(-15px) !important;
  position:relative !important;
  z-index:120 !important;
}
#s2047-social-top-bar .s2047-social-top-icon{
  width:34px !important;
  height:34px !important;
  min-width:34px !important;
  min-height:34px !important;
  border:2px solid #ffe600 !important;
  background:radial-gradient(circle at 35% 25%, rgba(255,255,255,.26), rgba(0,234,255,.16) 38%, rgba(1,7,24,.98) 72%) !important;
  box-shadow:0 0 12px rgba(255,230,0,.58),0 0 18px rgba(0,234,255,.58),inset 0 0 10px rgba(0,234,255,.22) !important;
  color:#fff !important;
  font-family:Arial,Helvetica,sans-serif !important;
  font-weight:900 !important;
  overflow:hidden !important;
}
#s2047-social-top-bar .s2047-social-top-icon span{
  display:none !important;
}
#s2047-social-top-bar .s2047-social-top-icon::before{
  content:'+';
  display:flex !important;
  align-items:center !important;
  justify-content:center !important;
  width:100% !important;
  height:100% !important;
  line-height:1 !important;
  font-size:17px !important;
  font-weight:900 !important;
  color:#fff !important;
  text-shadow:0 0 7px #fff,0 0 13px #00eaff !important;
}
#s2047-social-top-bar .s2047-social-top-icon[aria-label^="Facebook"]::before{content:'f';font-family:Arial Black,Arial,sans-serif !important;font-size:22px !important;color:#ffffff !important;}
#s2047-social-top-bar .s2047-social-top-icon[aria-label^="Instagram"]::before{content:'◉';font-size:22px !important;color:#ffffff !important;}
#s2047-social-top-bar .s2047-social-top-icon[aria-label="X"]::before,
#s2047-social-top-bar .s2047-social-top-icon[aria-label^="X "]::before{content:'𝕏';font-size:19px !important;color:#ffffff !important;}
#s2047-social-top-bar .s2047-social-top-icon[aria-label^="Pinterest"]::before{content:'P';font-family:Georgia,serif !important;font-size:22px !important;color:#ffffff !important;}
#s2047-social-top-bar .s2047-social-top-icon[aria-label^="YouTube"]::before{content:'▶';font-size:18px !important;color:#ffffff !important;transform:translateX(1px) !important;}
@media(max-width:420px){
  html body.home .space2047-home-paypal-sponsor-wrap,
  html body .space-page .space2047-home-paypal-sponsor-wrap,
  html body .space2047-home-paypal-sponsor-wrap{
    margin-top:-15px !important;
    margin-bottom:14px !important;
    transform:translateY(-15px) !important;
  }
  #s2047-social-top-bar .s2047-social-top-icon{width:32px !important;height:32px !important;min-width:32px !important;min-height:32px !important;}
}


/* =========================================================
   FINAL FIX: prevent duplicate fallback social letters over uploaded icons
   ========================================================= */
#s2047-social-top-bar .s2047-social-top-icon.has-custom-image::before{
  content:none !important;
  display:none !important;
}
#s2047-social-top-bar .s2047-social-top-icon.has-custom-image .s2047-social-top-img{
  display:block !important;
  opacity:1 !important;
  visibility:visible !important;
  position:relative !important;
  z-index:2 !important;
}
#s2047-social-top-bar .s2047-social-top-icon.has-custom-image .s2047-social-top-symbol{
  display:none !important;
}
#s2047-social-top-bar .s2047-social-top-icon.has-symbol-only::before{
  display:flex !important;
}

/* Space 2047 contact page form */
.space2047-contact-page{padding:40px 18px 70px;background:radial-gradient(circle at top,#052437 0,#020814 55%,#01030a 100%);color:#fff;}
.space2047-contact-card{max-width:820px;margin:0 auto;border:3px solid #18f4ff;border-radius:28px;padding:28px;background:rgba(2,8,22,.86);box-shadow:0 0 24px rgba(24,244,255,.55), inset 0 0 24px rgba(24,244,255,.12);}
.space2047-contact-card h1{text-align:center;color:#ffe900;text-shadow:0 0 14px rgba(255,233,0,.85);font-size:clamp(34px,8vw,64px);margin:0 0 10px;}
.space2047-contact-intro{text-align:center;font-size:18px;line-height:1.5;margin:0 0 24px;}
.space2047-contact-form{display:grid;gap:16px;}
.space2047-contact-form label{display:grid;gap:7px;font-weight:700;color:#fff;}
.space2047-contact-form input,.space2047-contact-form textarea{width:100%;border:2px solid #18f4ff;border-radius:16px;background:#030817;color:#fff;padding:14px 16px;font-size:17px;box-shadow:inset 0 0 14px rgba(24,244,255,.16);box-sizing:border-box;}
.space2047-contact-form button{border:2px solid #ffe900;border-radius:999px;background:#ffe900;color:#061226;padding:14px 22px;font-weight:900;font-size:18px;text-transform:uppercase;letter-spacing:.04em;box-shadow:0 0 16px rgba(255,233,0,.9);cursor:pointer;}
.space2047-contact-success,.space2047-contact-error{border-radius:16px;padding:14px 16px;margin:0 0 18px;font-weight:800;text-align:center;}
.space2047-contact-success{background:rgba(0,180,90,.18);border:2px solid #30ff99;color:#dfffea;}
.space2047-contact-error{background:rgba(255,40,60,.18);border:2px solid #ff4160;color:#fff;}

/* Space 2047 publicity page banner and links */
.space2047-publicity-hero-block{
  width:min(980px,94vw);
  margin:0 auto 28px;
  padding:18px;
  border:2px solid #20f5ff;
  border-radius:26px;
  background:linear-gradient(180deg,rgba(0,15,32,.96),rgba(0,4,15,.98));
  box-shadow:0 0 24px rgba(32,245,255,.38), inset 0 0 28px rgba(32,245,255,.08);
  text-align:center;
}
.space2047-publicity-hero-link{display:block;text-decoration:none;}
.space2047-publicity-hero-block img{
  display:block;
  width:100%;
  max-width:760px;
  height:auto;
  margin:0 auto 18px;
  border-radius:18px;
  border:2px solid rgba(255,220,0,.9);
  box-shadow:0 0 22px rgba(255,220,0,.42),0 0 32px rgba(32,245,255,.25);
}
.space2047-publicity-links-panel{
  display:grid;
  gap:12px;
  margin:0 auto;
  max-width:760px;
}
.space2047-publicity-links-panel h2{
  margin:4px 0 6px;
  color:#ffe900;
  font-family:inherit;
  text-transform:uppercase;
  letter-spacing:.05em;
  text-shadow:0 0 12px rgba(255,233,0,.7);
}
.space2047-publicity-links-panel a{
  display:block;
  padding:13px 16px;
  color:#fff;
  border:2px solid #20f5ff;
  border-radius:16px;
  background:rgba(0,18,42,.86);
  text-decoration:none;
  font-weight:700;
  box-shadow:inset 0 0 18px rgba(32,245,255,.09),0 0 12px rgba(32,245,255,.24);
}
.space2047-publicity-links-panel a:hover,
.space2047-publicity-links-panel a:focus{
  color:#ffe900;
  border-color:#ffe900;
  box-shadow:0 0 20px rgba(255,233,0,.35), inset 0 0 18px rgba(255,233,0,.08);
}
@media (max-width:640px){
  .space2047-publicity-hero-block{width:92vw;padding:12px;border-radius:20px;margin-top:8px;}
  .space2047-publicity-hero-block img{border-radius:14px;margin-bottom:14px;}
  .space2047-publicity-links-panel a{font-size:14px;padding:12px;}
}

/* Forced publicity page visibility patch */
.space2047-publicity-page .space2047-publicity-hero-block,
.space2047-publicity-article .space2047-publicity-hero-block,
.space2047-publicity-hero-block{
  display:block !important;
  visibility:visible !important;
  opacity:1 !important;
  position:relative !important;
  z-index:10 !important;
  clear:both !important;
}
.space2047-publicity-article > h1{margin-bottom:18px!important;}


/* Final publicity page fit and title patch */
.space2047-publicity-article > h1,
.space2047-publicity-page h1{
  text-align:center !important;
  font-size:clamp(34px, 8vw, 72px) !important;
  line-height:1.05 !important;
  color:#20f5ff !important;
  text-shadow:0 0 16px rgba(32,245,255,.75),0 0 32px rgba(32,245,255,.35) !important;
  margin:0 0 22px !important;
}
.space2047-publicity-hero-block{
  box-sizing:border-box !important;
  width:min(920px, calc(100vw - 28px)) !important;
  max-width:calc(100vw - 28px) !important;
  overflow:hidden !important;
  margin-left:auto !important;
  margin-right:auto !important;
  padding:14px !important;
}
.space2047-publicity-hero-link{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.space2047-publicity-hero-block img{
  box-sizing:border-box !important;
  display:block !important;
  width:auto !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  margin:0 auto 18px !important;
}
.space2047-publicity-links-panel{
  width:100% !important;
  max-width:760px !important;
  box-sizing:border-box !important;
}
.space2047-publicity-links-panel a{
  box-sizing:border-box !important;
  overflow-wrap:anywhere !important;
}
@media (max-width:640px){
  .space2047-publicity-hero-block{
    width:calc(100vw - 22px) !important;
    max-width:calc(100vw - 22px) !important;
    padding:10px !important;
    border-radius:20px !important;
  }
  .space2047-publicity-article > h1,
  .space2047-publicity-page h1{
    font-size:clamp(34px, 9vw, 48px) !important;
    padding:0 8px !important;
  }
}


/* 2026-05-17 HARD FIX: publicity title + author image must fit inside the neon box */
.space2047-publicity-page .space2047-publicity-article > h1,
.space2047-publicity-article > h1,
body.space2047-publicity-forced h1:first-of-type{
  display:block !important;
  visibility:visible !important;
  text-align:center !important;
  content: none !important;
  color:#20f5ff !important;
  font-size:clamp(34px, 8vw, 68px) !important;
  line-height:1.05 !important;
  margin:0 auto 18px !important;
  padding:0 8px !important;
  max-width:100% !important;
  box-sizing:border-box !important;
  text-shadow:0 0 16px rgba(32,245,255,.85),0 0 32px rgba(32,245,255,.45) !important;
}
.space2047-publicity-page .space2047-publicity-hero-block,
.space2047-publicity-article .space2047-publicity-hero-block,
.space2047-publicity-hero-block.space2047-publicity-force-wrap,
.space2047-publicity-hero-block{
  box-sizing:border-box !important;
  width:min(920px, calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  overflow:hidden !important;
  margin:12px auto 28px !important;
  padding:12px !important;
  border:3px solid #20f5ff !important;
  border-radius:24px !important;
}
.space2047-publicity-page .space2047-publicity-hero-link,
.space2047-publicity-hero-link{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.space2047-publicity-page .space2047-publicity-author-image,
.space2047-publicity-page img[src*="author-sponsor-publicity"],
.space2047-publicity-hero-block .space2047-publicity-author-image,
.space2047-publicity-hero-block img[src*="author-sponsor-publicity"]{
  display:block !important;
  box-sizing:border-box !important;
  width:100% !important;
  max-width:100% !important;
  min-width:0 !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto 18px !important;
  float:none !important;
  clear:both !important;
  transform:none !important;
}
.space2047-publicity-links-panel h2{
  text-align:center !important;
  color:#ffe900 !important;
}
@media(max-width:640px){
  .space2047-publicity-page .space2047-publicity-hero-block,
  .space2047-publicity-hero-block{
    width:calc(100vw - 18px) !important;
    max-width:calc(100vw - 18px) !important;
    padding:8px !important;
    border-radius:18px !important;
  }
}

/* 2026-05-17 LOCKED PUBLICITY IMAGE/TITLE FIX */
.space2047-publicity-page .space2047-publicity-article,
body.space2047-publicity-forced .space2047-publicity-article{
  width:min(940px, calc(100vw - 24px)) !important;
  max-width:calc(100vw - 24px) !important;
  margin:24px auto 80px !important;
  padding:16px !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
.space2047-publicity-page h1,
.space2047-publicity-article > h1,
body.space2047-publicity-forced h1:first-of-type{
  text-align:center !important;
  font-size:clamp(34px, 8vw, 72px) !important;
  line-height:1.05 !important;
  color:#20f5ff !important;
  text-shadow:0 0 16px rgba(32,245,255,.85), 0 0 34px rgba(32,245,255,.45) !important;
  margin:0 auto 18px !important;
  padding:0 8px !important;
  max-width:100% !important;
  box-sizing:border-box !important;
}
.space2047-publicity-hero-block{
  box-sizing:border-box !important;
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  margin:0 auto 28px !important;
  padding:12px !important;
  overflow:hidden !important;
  border:3px solid #20f5ff !important;
  border-radius:26px !important;
  background:rgba(0,8,28,.84) !important;
  box-shadow:0 0 24px rgba(32,245,255,.5), inset 0 0 28px rgba(32,245,255,.14) !important;
}
.space2047-publicity-hero-link{display:block !important;width:100% !important;max-width:100% !important;overflow:hidden !important;box-sizing:border-box !important;}
.space2047-publicity-author-image,
.space2047-publicity-hero-block img{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto 18px !important;
  box-sizing:border-box !important;
  border:2px solid #fff200 !important;
  border-radius:20px !important;
  box-shadow:0 0 20px rgba(255,242,0,.55) !important;
  float:none !important;
  clear:both !important;
  transform:none !important;
}
.space2047-publicity-links-panel{width:100% !important;max-width:820px !important;margin:0 auto !important;box-sizing:border-box !important;}
.space2047-publicity-links-panel h2{text-align:center !important;color:#20f5ff !important;font-size:clamp(24px,6vw,42px) !important;margin:8px 0 14px !important;text-shadow:0 0 14px rgba(32,245,255,.7) !important;}
.space2047-publicity-links-panel a{display:block !important;width:100% !important;box-sizing:border-box !important;margin:10px 0 !important;padding:14px 16px !important;border:2px solid #20f5ff !important;border-radius:14px !important;background:rgba(1,18,42,.92) !important;color:#fff !important;text-decoration:none !important;overflow-wrap:anywhere !important;box-shadow:0 0 12px rgba(32,245,255,.32) !important;}
@media(max-width:640px){.space2047-publicity-page .space2047-publicity-article{width:calc(100vw - 18px) !important;max-width:calc(100vw - 18px) !important;padding:9px !important;border-radius:22px !important}.space2047-publicity-hero-block{padding:7px !important;border-radius:18px !important}.space2047-publicity-author-image,.space2047-publicity-hero-block img{border-radius:14px !important}.space2047-publicity-links-panel a{font-size:13px !important;padding:12px !important}}

/* Final publicity page visible image + title fix */
body .space2047-publicity-page .character-profile,
body .space2047-publicity-article{
  overflow: visible !important;
}
body .space2047-publicity-page h1,
body .space2047-publicity-article > h1,
body.space2047-publicity-forced h1:first-of-type{
  text-align:center !important;
  color:#20f5ff !important;
  font-size:clamp(34px, 7vw, 68px) !important;
  line-height:1.08 !important;
  margin:0 auto 18px !important;
  text-shadow:0 0 18px rgba(32,245,255,.85),0 0 34px rgba(32,245,255,.35) !important;
}
body .space2047-publicity-hero-block{
  width:100% !important;
  max-width:860px !important;
  margin:14px auto 24px !important;
  padding:14px !important;
  border:3px solid #20f5ff !important;
  border-radius:26px !important;
  background:rgba(0,8,28,.78) !important;
  box-shadow:0 0 25px rgba(32,245,255,.45), inset 0 0 28px rgba(32,245,255,.12) !important;
  box-sizing:border-box !important;
  overflow:hidden !important;
}
body .space2047-publicity-hero-link{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
  box-sizing:border-box !important;
}
body .space2047-publicity-author-image{
  display:block !important;
  width:100% !important;
  max-width:100% !important;
  height:auto !important;
  max-height:none !important;
  object-fit:contain !important;
  margin:0 auto 18px !important;
  border:3px solid #fff200 !important;
  border-radius:18px !important;
  box-shadow:0 0 18px rgba(255,242,0,.55) !important;
}
body .space2047-publicity-links-panel{
  width:100% !important;
  max-width:820px !important;
  margin:0 auto !important;
}
body .space2047-publicity-links-panel h2{
  text-align:center !important;
  color:#20f5ff !important;
  margin:8px 0 14px !important;
}
body .space2047-publicity-links-panel a{
  display:block !important;
  width:100% !important;
  box-sizing:border-box !important;
  margin:10px 0 !important;
  padding:14px 16px !important;
  border:2px solid #20f5ff !important;
  border-radius:14px !important;
  background:rgba(1,18,42,.92) !important;
  color:#fff !important;
  text-decoration:none !important;
  overflow-wrap:anywhere !important;
  box-shadow:0 0 12px rgba(32,245,255,.32) !important;
}
@media(max-width:640px){
  body .space2047-publicity-hero-block{max-width:calc(100vw - 24px) !important;padding:9px !important;border-radius:22px !important;}
  body .space2047-publicity-author-image{border-radius:15px !important;}
}


/* 2026-05-17 repaired publicity page image fit */
.space2047-publicity-article h1, .space2047-publicity-page h1{font-size:clamp(34px,7vw,62px)!important;line-height:1.08!important;text-align:center!important;color:#20f5ff!important;text-shadow:0 0 22px rgba(32,245,255,.8)!important;}
.space2047-publicity-hero-block{width:100%!important;max-width:920px!important;margin:18px auto 30px!important;padding:clamp(10px,3vw,22px)!important;border:2px solid #20f5ff!important;border-radius:24px!important;box-sizing:border-box!important;overflow:hidden!important;}
.space2047-publicity-hero-link{display:block!important;width:100%!important;overflow:hidden!important;border-radius:18px!important;}
.space2047-publicity-author-image{display:block!important;width:100%!important;max-width:100%!important;height:auto!important;object-fit:contain!important;object-position:center!important;border:2px solid #fff000!important;border-radius:18px!important;box-sizing:border-box!important;}
.space2047-publicity-links-panel{max-width:920px!important;margin:18px auto 0!important;}
.space2047-publicity-links-panel a{display:block!important;margin:10px 0!important;padding:13px 15px!important;border:2px solid #20f5ff!important;border-radius:12px!important;background:rgba(3,12,30,.92)!important;color:white!important;overflow-wrap:anywhere!important;}
@media(max-width:640px){.space2047-publicity-hero-block{width:calc(100vw - 32px)!important;max-width:calc(100vw - 32px)!important;margin-left:auto!important;margin-right:auto!important;padding:10px!important}.space2047-publicity-article{padding-left:8px!important;padding-right:8px!important;overflow:hidden!important}.space2047-publicity-author-image{border-radius:14px!important}}


/* 2026-05-17 DEFINITIVE PUBLICITY IMAGE SHRINK FIX
   Keeps the author publicity picture centred and safely inside the neon publicity box. */
body .space2047-publicity-page .character-profile img.space2047-publicity-author-image,
body .space2047-publicity-page .space2047-publicity-hero-block img.space2047-publicity-author-image,
body .space2047-publicity-hero-block img.space2047-publicity-author-image,
body img.space2047-publicity-author-image,
body img[src*="benjamin-author-publicity-banner"],
body img[src*="author-sponsor-publicity"]{
  display:block !important;
  width:auto !important;
  max-width:min(560px, 78vw) !important;
  height:auto !important;
  max-height:560px !important;
  object-fit:contain !important;
  object-position:center center !important;
  margin:0 auto 18px auto !important;
  box-sizing:border-box !important;
}
body .space2047-publicity-hero-link{
  display:flex !important;
  justify-content:center !important;
  align-items:center !important;
  width:100% !important;
  max-width:100% !important;
  overflow:hidden !important;
}
body .space2047-publicity-hero-block{
  text-align:center !important;
  overflow:hidden !important;
}
@media(max-width:640px){
  body .space2047-publicity-page .character-profile img.space2047-publicity-author-image,
  body .space2047-publicity-page .space2047-publicity-hero-block img.space2047-publicity-author-image,
  body .space2047-publicity-hero-block img.space2047-publicity-author-image,
  body img.space2047-publicity-author-image,
  body img[src*="benjamin-author-publicity-banner"],
  body img[src*="author-sponsor-publicity"]{
    width:auto !important;
    max-width:min(430px, 72vw) !important;
    max-height:430px !important;
  }
}

/* 2026-05-17 TRUE PUBLICITY BORDER FIX
   Remove the outer cyan publicity borders/frames that sit around the yellow image border.
   Keep ONLY the yellow border directly on the publicity image. */
body .space2047-publicity-page .wrap,
body .space2047-publicity-page .space2047-publicity-article,
body .space2047-publicity-page article.character-profile,
body .space2047-publicity-page article.shop-profile,
body .space2047-publicity-page .space2047-publicity-hero-block,
body .space2047-publicity-page .space2047-publicity-hero-link{
  border-left:0 !important;
  border-right:0 !important;
  border-top:0 !important;
  border-bottom:0 !important;
  border:0 !important;
  outline:0 !important;
  box-shadow:none !important;
}

body .space2047-publicity-page .space2047-publicity-article,
body .space2047-publicity-page article.character-profile,
body .space2047-publicity-page article.shop-profile,
body .space2047-publicity-page .space2047-publicity-hero-block{
  background:transparent !important;
}

/* Keep the yellow image border only */
body .space2047-publicity-page img.space2047-publicity-author-image,
body .space2047-publicity-page img[src*="author-sponsor-publicity"],
body .space2047-publicity-page img[src*="benjamin-author-publicity-banner"],
body .space2047-publicity-page .space2047-publicity-hero-block img{
  border:3px solid #fff200 !important;
  outline:0 !important;
  box-shadow:0 0 18px rgba(255,242,0,.55) !important;
}
