/*
Theme Name: Infinite Universe
Theme URI: https://storytimeandconfessions.com
Author: StoryTimeAndConfessions
Author URI: https://storytimeandconfessions.com
Description: 11-Dimensional dark immersive WordPress theme — volumetric WebGL nebula, reactive audio, ghost text, lava lanterns, and creepy ambient effects. Built for StoryTimeAndConfessions.
Version: 5.0
Requires at least: 5.0
Tags: blog, custom-logo, featured-images, dark, horror, creepy, immersive
Domain Path: /languages
Tested up to: 6.7
Requires PHP: 7.4
License: GNU General Public License v2 or later
License URI: http://www.gnu.org/licenses/gpl-2.0.html
Text Domain: infiniteuniverse
*/

@import url('assets/fonts.css');
@import url('https://fonts.googleapis.com/css2?family=Creepster&display=swap');

*,*:before,*:after{box-sizing:border-box;}
body,html{margin:0;padding:0;font-size:16px;}
h1,h2,h3,h4,h5,h6,p,ol,ul{padding:0;margin:0 0 1rem 0;word-wrap:break-word;}
ol,ul{list-style-type:none;list-style-position:inside;}
img{height:auto;max-width:100%;}
a{transition:all .3s ease;}

:root{
  --pink:#ff4f7f;
  --pink-glow:rgba(255,60,100,0.4);
  --blood:#8b0020;
  --dark:#000000;
  --card-bg:rgba(8,0,12,0.72);
  --body-text:#ddd8dc;
  --menu-bg:rgba(3,0,8,0.95);
  --ghost:rgba(255,80,120,0.08);
}

/* ═══════════════ BASE — ULTRA DARK ═══════════════ */
body{
  font-family:'Montserrat',sans-serif;
  background:var(--dark)!important;
  color:var(--body-text);
  overflow-x:hidden;
}
p{font-weight:300;color:var(--body-text);font-size:1.05rem;line-height:1.85;}

/* Horror headings */
h1,h2,h3{color:var(--pink)!important;font-family:'Creepster',cursive!important;text-shadow:0 0 20px var(--pink-glow),0 2px 40px rgba(139,0,30,0.3);letter-spacing:1px;}
h4,h5,h6{color:var(--pink)!important;text-shadow:0 0 12px var(--pink-glow);}

/* White underlined links */
a{color:#fff!important;text-decoration:underline;text-underline-offset:3px;}
a:hover{color:#ff7aa8!important;text-shadow:0 0 10px var(--pink-glow);}

/* ═══ Pulsing dark vignette ═══ */
body::after{
  content:"";position:fixed;top:0;left:0;width:100%;height:100%;z-index:0;pointer-events:none;
  background:radial-gradient(ellipse at center,transparent 30%,rgba(0,0,0,0.75) 100%);
  animation:st-vignette-pulse 6s ease-in-out infinite alternate;
}
@keyframes st-vignette-pulse{
  0%{opacity:0.85;}
  100%{opacity:1;}
}

/* ═══ Blood-glow scrollbar ═══ */
::-webkit-scrollbar{width:6px;}
::-webkit-scrollbar-track{background:#050005;}
::-webkit-scrollbar-thumb{background:linear-gradient(180deg,#ff4f7f,#4a0012);border-radius:3px;box-shadow:0 0 8px rgba(255,60,100,0.5);}
::selection{background:rgba(139,0,30,0.5);color:#fff;}

/* ═══ Creepy cursor ═══ */
body{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='20' height='20'%3E%3Ccircle cx='10' cy='10' r='8' fill='none' stroke='%23ff4f7f' stroke-width='1' opacity='.6'/%3E%3Ccircle cx='10' cy='10' r='2' fill='%23ff4f7f'/%3E%3C/svg%3E") 10 10,auto;}
a,button,input[type="submit"]{cursor:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24'%3E%3Ccircle cx='12' cy='12' r='10' fill='none' stroke='%23ffaa33' stroke-width='1.5' opacity='.8'/%3E%3Ccircle cx='12' cy='12' r='3' fill='%23ffaa33'/%3E%3C/svg%3E") 12 12,pointer!important;}

/* ═══════════════ THREE.JS CANVAS ═══════════════ */
#st-universe{position:fixed!important;top:0;left:0;width:100%!important;height:100%!important;z-index:-2;pointer-events:none;}
#st-universe canvas{display:block!important;width:100%!important;height:100%!important;}

/* ═══════════════ GHOST TEXT CANVAS ═══════════════ */
#st-ghosts{position:fixed;top:0;left:0;width:100%;height:100%;z-index:1;pointer-events:none;}

/* ═══════════════ HEADER ═══════════════ */
.st-header{
  position:fixed;top:0;left:0;width:100%;z-index:999;
  background:var(--menu-bg);
  backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);
  border-bottom:1px solid rgba(255,60,100,0.08);
  padding:0 3%;
}
.logged-in .st-header{top:32px;}
@media(max-width:782px){.logged-in .st-header{top:46px;}}

.st-header-inner{display:flex;justify-content:space-between;align-items:center;max-width:1650px;margin:0 auto;min-height:58px;}
.st-logo a{color:var(--pink)!important;text-decoration:none!important;font-family:'Creepster',cursive!important;font-weight:700;font-size:1.4rem;letter-spacing:2px;text-shadow:0 0 15px var(--pink-glow);}
.st-logo img{height:40px;filter:drop-shadow(0 0 12px var(--pink-glow));}

/* ── NAV — horizontal parents, dropdown children ── */
.st-nav ul{display:flex;gap:0;margin:0;padding:0;list-style:none;flex-wrap:wrap;}
.st-nav ul li{position:relative;}
.st-nav ul li a{display:block;padding:18px 13px;color:var(--pink)!important;text-decoration:none!important;font-weight:500;font-size:0.88rem;letter-spacing:.5px;white-space:nowrap;font-family:'Montserrat',sans-serif;}
.st-nav ul li a:hover{color:#fff!important;text-shadow:0 0 15px var(--pink-glow);}

.st-nav ul li ul{
  position:absolute;top:100%;left:0;min-width:210px;
  background:var(--menu-bg);backdrop-filter:blur(18px);
  border:1px solid rgba(255,60,100,0.12);border-radius:10px;
  padding:6px 0;opacity:0;visibility:hidden;transform:translateY(10px);
  transition:all .3s ease;box-shadow:0 15px 50px rgba(0,0,0,0.7);z-index:1000;
}
.st-nav ul li:hover>ul,.st-nav ul li:focus-within>ul{opacity:1;visibility:visible;transform:translateY(0);}
.st-nav ul li ul li{width:100%;}
.st-nav ul li ul li a{padding:10px 18px;font-size:.83rem;border-bottom:1px solid rgba(255,60,100,0.04);}
.st-nav ul li ul li:last-child a{border-bottom:none;}
.st-nav ul li ul li ul{left:100%;top:0;}

.st-hamburger{display:none;cursor:pointer;padding:10px;}
.st-hamburger span{display:block;width:28px;height:2px;background:var(--pink);margin:6px 0;transition:all .3s;}

@media(max-width:998px){
  .st-hamburger{display:block;}
  .st-nav{position:absolute;top:58px;left:0;width:100%;background:var(--menu-bg);backdrop-filter:blur(18px);max-height:0;overflow:hidden;transition:max-height .5s ease;}
  .st-nav.open{max-height:100vh;overflow-y:auto;}
  .st-nav ul{flex-direction:column;}
  .st-nav ul li a{padding:14px 20px;}
  .st-nav ul li ul{position:static;opacity:1;visibility:visible;transform:none;max-height:0;overflow:hidden;transition:max-height .4s;border:none;border-radius:0;box-shadow:none;background:rgba(255,60,100,0.02);}
  .st-nav ul li:hover>ul,.st-nav ul li:focus-within>ul{max-height:500px;}
  .st-nav ul li ul li a{padding-left:36px;}
  .menu-open .st-hamburger span:nth-child(1){transform:translateY(8px) rotate(45deg);}
  .menu-open .st-hamburger span:nth-child(2){opacity:0;}
  .menu-open .st-hamburger span:nth-child(3){transform:translateY(-8px) rotate(-45deg);}
}

.st-spacer{height:78px;}
.st-wrap{position:relative;z-index:2;min-height:100vh;}
.st-main{max-width:1200px;margin:0 auto;padding:0 3%;}

/* ═══════════════ HOMEPAGE HERO ═══════════════ */
.st-hero{text-align:center;padding:35px 20px 10px;position:relative;z-index:10;}
.st-hero h1{font-size:3.5rem;margin-bottom:.3rem;animation:st-title-glow 4s ease-in-out infinite alternate;}
@keyframes st-title-glow{
  0%{text-shadow:0 0 20px var(--pink-glow),0 0 60px rgba(139,0,30,0.2);}
  100%{text-shadow:0 0 40px var(--pink-glow),0 0 100px rgba(139,0,30,0.4),0 0 150px rgba(255,60,100,0.1);}
}
.st-hero .st-desc{color:#886070;font-size:1.05rem;font-weight:300;}
@media(max-width:768px){.st-hero h1{font-size:2.2rem;}}

/* Search */
.st-search{display:flex;align-items:center;max-width:500px;margin:15px auto;padding:8px;background:rgba(12,0,20,0.75);border:1px solid rgba(255,60,100,0.15);border-radius:20px;box-shadow:inset 0 0 20px rgba(0,0,0,0.4);}
.st-search input[type="text"]{flex:1;padding:10px 12px;background:transparent;border:none;color:var(--body-text);font-size:1rem;outline:none;}
.st-search input::placeholder{color:#665060;}
.st-search button{padding:0 8px;background:transparent;border:none;cursor:pointer;}
.st-search img{width:22px;height:22px;filter:invert(1);}

/* ═══════════════ POST CARDS ═══════════════ */
.st-grid{display:flex;flex-wrap:wrap;gap:24px;padding:20px 0;}
.st-post-card{
  flex:1 1 300px;max-width:calc(33.333% - 16px);
  background:var(--card-bg);
  border:1px solid rgba(255,60,100,0.08);
  border-radius:14px;padding:20px;
  backdrop-filter:blur(8px);transition:all .4s;
  box-shadow:0 4px 30px rgba(0,0,0,0.4);
}
.st-post-card:hover{border-color:rgba(255,60,100,0.25);box-shadow:0 8px 50px rgba(255,40,80,0.12),0 0 80px rgba(139,0,30,0.06);transform:translateY(-5px);}
.st-post-card img{width:100%;border-radius:10px;border:1px solid rgba(255,60,100,0.08);margin-bottom:12px;}
.st-post-card h3{font-size:1.25rem;margin-bottom:8px;}
.st-post-card h3 a{color:var(--pink)!important;text-decoration:none!important;}
.st-post-card h3 a:hover{text-shadow:0 0 25px var(--pink-glow);}
.st-post-card p{font-size:.92rem;color:#b0a0a8!important;}
.st-post-card .st-meta{font-size:.78rem;color:#665060!important;margin-top:8px;}
@media(max-width:768px){.st-post-card{max-width:100%;}}

/* Pagination */
.st-pagination{text-align:center;padding:30px 0;font-size:1.1rem;}
.st-pagination a,.st-pagination span{display:inline-block;padding:10px 16px;margin:0 3px;border-radius:50%;background:rgba(12,0,20,0.7);border:1px solid rgba(255,60,100,0.12);color:var(--pink)!important;text-decoration:none!important;}
.st-pagination span.current{background:var(--pink);color:#000!important;font-weight:700;border-color:var(--pink);}
.st-pagination a:hover{background:rgba(255,60,100,0.12);box-shadow:0 0 18px var(--pink-glow);}

/* ═══════════════ SINGLE POST ═══════════════ */
.st-single-cover{min-height:50vh;background-size:cover;background-position:center;position:relative;display:flex;align-items:flex-end;justify-content:center;text-align:center;padding:40px 20px;}
.st-single-cover::after{content:"";position:absolute;top:0;left:0;width:100%;height:100%;background:linear-gradient(0deg,rgba(0,0,0,0.85) 0%,rgba(0,0,0,0.3) 100%);}
.st-single-cover h1{position:relative;z-index:2;font-size:2.8rem;max-width:700px;}
.st-article{background:var(--card-bg);border:1px solid rgba(255,60,100,0.08);border-radius:14px;padding:30px;margin:20px 0;backdrop-filter:blur(8px);box-shadow:0 4px 40px rgba(0,0,0,0.5);}

/* Comments */
#comments{width:100%;}
.comment-form-author input,.comment-form-email input,.comment-form-url input{width:100%;padding:8px 12px;background:transparent;border:none;border-bottom:2px solid rgba(255,60,100,0.2);color:var(--body-text);font-size:1rem;outline:none;margin-top:10px;}
.comment-form-author input:focus,.comment-form-email input:focus,.comment-form-url input:focus{border-bottom-color:var(--pink);}
textarea{padding:15px;width:100%;background:rgba(12,0,20,0.5);color:var(--body-text);border:1px solid rgba(255,60,100,0.15);border-radius:8px;resize:none;font-size:1rem;outline:none;}
textarea:focus{border-color:var(--pink);box-shadow:0 0 15px rgba(255,60,100,0.1);}
.form-submit input[type=submit]{font-size:1rem;background:linear-gradient(135deg,#5a0018,#aa1140);border:1px solid rgba(255,60,100,0.25);color:#fff;padding:12px 28px;border-radius:8px;font-weight:700;cursor:pointer;transition:all .3s;text-decoration:none;}
.form-submit input[type=submit]:hover{box-shadow:0 0 30px var(--pink-glow);transform:translateY(-2px);}
ol.commentlist{padding:0;list-style:none;}
ol.commentlist li.comment{padding:1em;background:rgba(12,0,20,0.4);border:1px solid rgba(255,60,100,0.06);border-radius:10px;margin-bottom:10px;}

/* ═══════════════ LANTERNS ═══════════════ */
#st-lanterns{position:fixed;top:0;left:0;width:100%;height:100%;z-index:3;pointer-events:none;overflow:hidden;}

.st-lantern{
  position:absolute;
  will-change:transform,left,top;
  transition:filter .3s;
  filter:drop-shadow(0 0 15px rgba(255,120,30,0.5)) drop-shadow(0 8px 25px rgba(200,50,0,0.3));
}
.st-lantern:hover{filter:drop-shadow(0 0 40px rgba(255,160,50,1)) drop-shadow(0 0 80px rgba(255,80,0,0.5)) brightness(1.3)!important;}

/* Lava drool effect */
.st-lantern::before{
  content:"";position:absolute;bottom:-4px;left:30%;width:40%;height:15px;
  background:radial-gradient(ellipse,rgba(255,100,0,0.7) 0%,rgba(200,30,0,0.35) 50%,transparent 100%);
  border-radius:0 0 50% 50%;
  animation:st-lava 1.8s ease-in-out infinite alternate;
  filter:blur(2px);pointer-events:none;
}
.st-lantern::after{
  content:"";position:absolute;bottom:-10px;left:40%;width:20%;height:22px;
  background:radial-gradient(ellipse,rgba(255,60,0,0.5) 0%,transparent 70%);
  border-radius:0 0 50% 50%;
  animation:st-lava 2.5s ease-in-out infinite alternate-reverse;
  filter:blur(3px);pointer-events:none;
}
@keyframes st-lava{
  0%{transform:scaleY(0.5) translateY(0);opacity:0.4;}
  100%{transform:scaleY(1.6) translateY(8px);opacity:0.85;}
}

/* Dialogue box */
.st-lantern-dialogue{
  position:absolute;bottom:calc(100% + 14px);left:50%;
  transform:translateX(-50%) translateY(8px);
  width:240px;
  background:rgba(0,0,0,0.95);
  border:1px solid rgba(255,60,100,0.3);border-radius:12px;
  padding:14px 16px;opacity:0;pointer-events:none;z-index:100;
  transition:all .35s ease;
  box-shadow:0 10px 40px rgba(0,0,0,0.9),0 0 30px rgba(255,40,80,0.1);
  backdrop-filter:blur(12px);
}
.st-dialogue-title{color:var(--pink)!important;font-size:13px!important;font-weight:700;line-height:1.3;margin-bottom:6px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:none!important;font-family:'Montserrat',sans-serif!important;}
.st-dialogue-desc{color:#b0a0a8!important;font-size:11px!important;font-weight:300;line-height:1.5;margin:0;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}

/* ═══════════════ CAROUSEL — WHITE OUTLINE ═══════════════ */
#st-carousel-section{position:relative;z-index:50;padding:30px 20px;overflow:hidden;}
.st-carousel-title{text-align:center;color:var(--pink)!important;font-family:'Creepster',cursive!important;font-size:26px!important;letter-spacing:3px;margin-bottom:18px;text-shadow:0 0 35px rgba(255,40,80,0.5);}
.st-carousel-wrap{overflow:hidden;width:100%;mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);-webkit-mask-image:linear-gradient(90deg,transparent,#000 5%,#000 95%,transparent);}
.st-carousel-track{display:flex;gap:20px;animation:st-scroll 55s linear infinite;width:max-content;}
.st-carousel-track:hover{animation-play-state:paused;}
@keyframes st-scroll{0%{transform:translateX(0);}100%{transform:translateX(-50%);}}

.st-carousel-card{flex-shrink:0;width:255px;background:rgba(8,0,12,0.65);border:2px solid rgba(255,255,255,0.7);border-radius:14px;overflow:hidden;text-decoration:none!important;transition:all .4s;backdrop-filter:blur(8px);}
.st-carousel-card:hover{transform:translateY(-6px) scale(1.03);border-color:var(--pink);box-shadow:0 8px 45px rgba(255,40,80,0.25),0 0 60px rgba(139,0,30,0.1);}
.st-card-img{width:100%;height:150px;background-size:cover;background-position:center;background-color:rgba(20,0,15,0.5);border-bottom:1px solid rgba(255,255,255,0.1);}
.st-card-body{padding:14px 16px;}
.st-card-title{color:var(--pink)!important;font-size:13px!important;line-height:1.3;margin:0 0 6px!important;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;text-shadow:none!important;font-family:'Montserrat',sans-serif!important;}
.st-card-desc{color:#a090a0!important;font-size:11px!important;line-height:1.5;margin:0!important;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
@media(max-width:768px){.st-carousel-card{width:200px;}.st-card-img{height:110px;}}

/* ═══════════════ GIF BACKGROUND ═══════════════ */
#st-gif-bg{animation:st-gif-pulse 7s ease-in-out infinite alternate;}
@keyframes st-gif-pulse{0%{opacity:0.06;filter:saturate(0.15) brightness(0.35);}100%{opacity:0.14;filter:saturate(0.35) brightness(0.55);}}

/* ═══════════════ FOOTER ═══════════════ */
.st-footer{background:var(--menu-bg);backdrop-filter:blur(14px);border-top:1px solid rgba(255,60,100,0.08);position:relative;z-index:50;padding:20px 0 0;}

.st-footer-nav ul{display:flex;justify-content:center;flex-wrap:wrap;gap:0;margin:0;padding:0;list-style:none;}
.st-footer-nav ul li{position:relative;}
.st-footer-nav ul li a{display:block;padding:10px 15px;color:var(--pink)!important;text-decoration:none!important;font-weight:500;font-size:.85rem;transition:all .3s;}
.st-footer-nav ul li a:hover{color:#fff!important;text-shadow:0 0 12px var(--pink-glow);}

.st-footer-nav ul li ul{position:absolute;bottom:100%;left:50%;transform:translateX(-50%) translateY(8px);min-width:200px;background:var(--menu-bg);backdrop-filter:blur(18px);border:1px solid rgba(255,60,100,0.12);border-radius:10px;padding:6px 0;opacity:0;visibility:hidden;transition:all .3s;box-shadow:0 -12px 45px rgba(0,0,0,0.6);z-index:100;}
.st-footer-nav ul li:hover>ul,.st-footer-nav ul li:focus-within>ul{opacity:1;visibility:visible;transform:translateX(-50%) translateY(0);}
.st-footer-nav ul li ul li{width:100%;display:block;}
.st-footer-nav ul li ul li a{padding:8px 18px;font-size:.8rem;border-bottom:1px solid rgba(255,60,100,0.04);}
.st-footer-nav ul li ul li:last-child a{border-bottom:none;}

@media(max-width:768px){
  .st-footer-nav ul{flex-direction:column;align-items:center;}
  .st-footer-nav ul li ul{position:static;transform:none;opacity:1;visibility:visible;max-height:0;overflow:hidden;transition:max-height .4s;box-shadow:none;border:none;border-radius:0;background:transparent;backdrop-filter:none;}
  .st-footer-nav ul li:hover>ul{max-height:400px;transform:none;}
}

.st-footer-bottom{text-align:center;padding:12px 0;border-top:1px solid rgba(255,60,100,0.06);}
.st-footer-bottom p{margin:0;font-size:.83rem;color:#665060;}
.st-footer-bottom a{color:var(--pink)!important;text-decoration:none!important;}

.st-copyright-bar{background:rgba(0,0,0,0.97);border-top:1px solid rgba(255,60,100,0.08);padding:10px 0;text-align:center;position:relative;z-index:9999;}
.st-copyright-bar p{margin:0;font-size:.78rem;color:#4a3040;}
.st-copyright-bar a{color:var(--pink)!important;text-decoration:none!important;}

/* WordPress defaults */
.alignleft{float:left;max-width:97%;}.alignright{float:right;max-width:97%;}.aligncenter{display:block;margin:0 auto;max-width:97%;}.alignnone{max-width:97%;}
.screen-reader-text{position:absolute;left:-9999px;}
.wp-caption{margin-bottom:20px;padding:10px;max-width:97%;border:1px solid rgba(255,60,100,0.08);border-radius:8px;text-align:center;}
.gallery{display:flex;flex-wrap:wrap;}.sticky{border-right:3px solid rgba(255,60,100,0.15);border-bottom:3px solid rgba(255,60,100,0.15);}
.text-content a,.comment-content a{text-decoration:underline;}
