/*
Theme Name: Space 2047 Popup Final Fixed V3
Theme URI: https://space2047.com/
Author: Benjamin Arthur Robinson
Description: Exact neon mobile promo layout for Space 2047 with poster hero, compact CTAs, working slide menu/submenus, and real crew images.
Version: 3.0.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;
    }
}
