/*
Theme Name: Space 2047 Character Display Restored Centred
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: Scrollbar Fixed
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:cover !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:cover !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:cover !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:cover !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: cover;
}

.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: cover !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: cover !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:cover !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:cover !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:cover !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:cover !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:cover !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:cover !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:cover !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;
  }
}

/* final mobile book fixes */
.space2047-books-popup .space2047-book-cover-slot{overflow:visible !important;}
.space2047-books-popup .space2047-book-cover-slot::before{box-shadow:8px 6px 0 rgba(235,232,218,.92),12px 9px 0 rgba(50,50,60,.92),0 12px 18px rgba(0,0,0,.55) !important;}
.space2047-books-popup .space2047-book-cover-slot::after{display:none !important;}
.space2047-books-popup .space2047-book-cover-slot img{width:84% !important;height:84% !important;max-width:none !important;max-height:none !important;left:8% !important;bottom:8px !important;border:none !important;outline:none !important;box-shadow:none !important;border-radius:8px !important;object-fit:cover !important;}

/* BENJAMIN FINAL COVER ALIGNMENT FIX - keeps each featured image inside the book front */
.space2047-books-popup .space2047-book-cover-slot,
.space2047-books-popup .space2047-book-cover-slot *{
  box-sizing:border-box !important;
}
.space2047-books-popup .space2047-book-cover-slot{
  position:relative !important;
  overflow:visible !important;
  isolation:isolate !important;
  width:174px !important;
  height:258px !important;
  min-height:258px !important;
  margin:0 auto !important;
}
.space2047-books-popup .space2047-book-cover-slot::before{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:1 !important;
  left:16px !important;
  right:auto !important;
  bottom:0 !important;
  transform:none !important;
  width:138px !important;
  height:230px !important;
  border:0 !important;
  border-radius:10px 15px 15px 10px !important;
  background:#071020 !important;
  box-shadow:
    9px 0 0 rgba(236,232,214,.96),
    14px 4px 0 rgba(64,64,72,.95),
    0 17px 22px rgba(0,0,0,.70),
    0 0 14px rgba(24,234,255,.16) !important;
}
.space2047-books-popup .space2047-book-cover-slot::after{
  content:"" !important;
  display:block !important;
  position:absolute !important;
  z-index:2 !important;
  left:146px !important;
  right:auto !important;
  bottom:9px !important;
  transform:none !important;
  width:8px !important;
  height:210px !important;
  border-radius:0 10px 10px 0 !important;
  background:linear-gradient(90deg,rgba(250,246,224,.98),rgba(154,148,130,.94)) !important;
  box-shadow:none !important;
}
.space2047-books-popup .space2047-book-cover-slot img{
  position:absolute !important;
  z-index:4 !important;
  left:24px !important;
  right:auto !important;
  bottom:12px !important;
  transform:none !important;
  width:120px !important;
  height:206px !important;
  min-width:120px !important;
  min-height:206px !important;
  max-width:120px !important;
  max-height:206px !important;
  margin:0 !important;
  padding:0 !important;
  display:block !important;
  object-fit:cover !important;
  object-position:center center !important;
  border:none !important;
  outline:none !important;
  border-radius:7px 11px 11px 7px !important;
  background:#071020 !important;
  box-shadow:inset 7px 0 10px rgba(0,0,0,.35),0 7px 12px rgba(0,0,0,.45) !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:14px !important;
  background:#f4f4f4 !important;
}
.space2047-books-popup-panel{
  overflow-y:scroll !important;
  overflow-x:hidden !important;
  scrollbar-color:#16eaff rgba(6,22,42,.88) !important;
  scrollbar-width:thin !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,.72) !important;border-radius:999px !important;}
.space2047-books-popup-panel::-webkit-scrollbar-thumb{background:#16eaff !important;border:3px solid rgba(2,8,23,.98) !important;border-radius:999px !important;box-shadow:0 0 16px rgba(24,234,255,.95) !important;}

@media(max-width:620px){
  .space2047-book-shelf-row{
    grid-template-columns:repeat(2,minmax(0,1fr)) !important;
    gap:12px !important;
    padding:0 8px 36px !important;
    min-height:292px !important;
    align-items:end !important;
  }
  .space2047-book-on-shelf{
    max-width:132px !important;
    width:100% !important;
    display:flex !important;
    flex-direction:column !important;
    align-items:center !important;
    justify-content:flex-end !important;
  }
  .space2047-books-popup .space2047-book-cover-slot{
    width:116px !important;
    height:170px !important;
    min-height:170px !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::before{
    left:11px !important;
    bottom:0 !important;
    width:88px !important;
    height:154px !important;
    border-radius:7px 10px 10px 7px !important;
    box-shadow:
      6px 0 0 rgba(236,232,214,.96),
      10px 3px 0 rgba(64,64,72,.95),
      0 11px 14px rgba(0,0,0,.68),
      0 0 10px rgba(24,234,255,.14) !important;
  }
  .space2047-books-popup .space2047-book-cover-slot::after{
    left:94px !important;
    bottom:6px !important;
    width:5px !important;
    height:141px !important;
    border-radius:0 6px 6px 0 !important;
  }
  .space2047-books-popup .space2047-book-cover-slot img{
    left:16px !important;
    bottom:8px !important;
    width:76px !important;
    height:138px !important;
    min-width:76px !important;
    min-height:138px !important;
    max-width:76px !important;
    max-height:138px !important;
    border-radius:5px 7px 7px 5px !important;
    transform:none !important;
  }
}
