/* =================================================================== */
/*  VARIABLES: COLORS & MOUNTAIN HEIGHTS
/* =================================================================== */


:root 
{
    --yellow-ed: #DCE636;
    --main: #F99A21;
    --alt:  #FA6969;
    --deco: #D72C9F;
    --dark: #443355;

    --blue-ed: #69EDFF; /* 69EDLOL, an --alt-complement */
    --grass-ed: #C6DF84; /* square with --alt-complement */
    --navy-ed: #6D69FA; /* square with --alt-complement */

    --green-ed: #04FF8E; /* an --dark-complement */

    --blood-ed: #780606; /* blood-red */

    --real-dark: #0E0D0E;
    --real-dark-light: #171819;
    --real-dark-light-inverted: #e8e7e6;

    --main-h: 35; --main-s: 95%; --main-l: 55%;
    --alt-h: 0; --alt-s: 93%; --alt-l: 70%;

}

/* =================================================================== */
/*  KEYFRAMES: ANIMS
/* =================================================================== */

@keyframes happy-blue {
    0% {
        text-shadow: 
            0 0 8px #69EDFF,
            0 0 16px #69EDFF,
            0 0 24px #69EDFF,
            0 0 32px #69EDFF,
            0 0 40px #00D4FF;
        opacity: 0.9;
        transform: scale(0.99);
    }
    100% {
        text-shadow: 
            0 0 15px #69EDFF,
            0 0 25px #69EDFF,
            0 0 35px #69EDFF,
            0 0 45px #69EDFF,
            0 0 55px #00D4FF,
            0 0 65px #87CEEB;
        opacity: 1;
        transform: scale(1.01);
    }
}

@keyframes creepy-red {
    0% {
        text-shadow: 
            0 0 5px #780606,
            0 0 10px #780606,
            0 0 15px #780606,
            0 0 20px #780606;
        opacity: 0.8;
    }
    100% {
        text-shadow: 
            0 0 20px #780606,
            0 0 30px #780606,
            0 0 40px #780606,
            0 0 50px #780606,
            0 0 60px #ff0000;
        opacity: 1;
    }
}

@keyframes glitchy-red {
    0%, 96%, 100% {
        color: #780606;
        transform: translateX(0) scaleX(1);
        filter: none;
    }
    97% {
        color: #ff0000;
        transform: translateX(-3px) scaleX(0.95);
        filter: hue-rotate(90deg);
    }
    98% {
        color: #780606;
        transform: translateX(3px) scaleX(1.05);
        filter: hue-rotate(180deg);
    }
    99% {
        color: #ff3333;
        transform: translateX(-1px) scaleX(0.98);
        filter: hue-rotate(270deg);
    }
}

@keyframes moutain-drift { 
    from { transform: translateX(0%); } to { transform: translateX(-25%); }
    }

@keyframes cybershelf-conveyor {
     from { background-position-y: 0; } to { background-position-y: -10px; } 
    }

@keyframes cybershelf-glow {
    0% { opacity: 0.6; transform: scale(0.9); }
    50% { opacity: 1; transform: scale(1.1); }
    100% { opacity: 0.6; transform: scale(0.9); }
}

/* =================================================================== */
/*  FONTS
/* =================================================================== */


@font-face {
    font-family: 'Audiowide';
    src: url('/fonts/Audiowide.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Bauhaus 93';
    src: url('/fonts/Bauhaus93.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Lunasima';
    src: url('/fonts/Lunasima.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Lunasima-Bold';
    src: url('/fonts/Lunasima-Bold.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat';
    src: url('/fonts/Montserrat.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Montserrat Italic';
    src: url('/fonts/Montserrat-Italic.ttf') format('truetype');
    font-display: swap;
}

@font-face {
    font-family: 'Quicksand';
    src: url('/fonts/Quicksand.ttf') format('truetype');
    font-display: swap;
}

@font-face {
  font-family: 'Revalia';
  src: url('/fonts/Revalia.ttf') format('truetype');
  font-display: swap;
}

/* =================================================================== */
/*  DARK MODE SCROLLBARS IN LIGHT/DARK MODE
/* =================================================================== */

    /* Target the scrollbar for the entire body on WebKit browsers (Chrome, Safari) */
    body::-webkit-scrollbar {
        width: 14px;
    }

    body::-webkit-scrollbar-track {
        background: #222; /* A dark track background */
    }

    body::-webkit-scrollbar-thumb {
        background-color: var(--deco); /* Your theme's purple color */
        border-radius: 6px;
        border: 3px solid #222; /* Creates a nice padding effect */
    }

    /* Firefox scrollbar styling */
    html {
        scrollbar-width: thin;
        scrollbar-color: var(--deco) #222; /* thumb color and track color */
    }


/* =================================================================== */
/*  DARK MODE THEME 
/* =================================================================== */

body.dark-mode {
    background-color: var(--real-dark-light);
    color: var(--real-dark-light-inverted);

    & .hazy-mountains,
    & .cybershelf {
    display: none !important;
    }

    & h1, h1 a, .site-nav a {
    color: var(--real-dark-light-inverted);
    }

    & h2 {
    color: var(--blue-ed);
    }

    & h2 a {
    color: var(--green-ed);
    }
    
    & li h2 a {
    color: var(--alt);
    }

    & a {
    color: var(--alt);
    }
    & a:hover {
    color: var(--yellow-ed);
    }

    & .site-nav a.active {
    color: var(--blue-ed) !important;
    font-weight: 700;
    }

    & .site-nav a:active {
    color: var(--blue-ed) !important;
    font-weight: 700;
    }

    & .overlay-btn {
        background-color: var(--blue-ed);
        color: var(--real-dark-light);
    }

    & .overlay-btn:hover {
    box-shadow: 0 0 5px var(--real-dark-light-inverted);
    }
    & p {
    color: var(--real-dark-light-inverted);
    }

    & p time {
    color: var(--navy-ed);
    }

    & .divider {
    border-top: 5px solid var(--blue-ed);
    }

    & .edtry-inline {
    color: var(--main);
    text-shadow: 0 0 5px var(--main);
    }

    & .design-meta .attr-class a {
        &:hover { 
            color: var(--yellow-ed);
        }
    }

    & .design-tags a {
    color: var(--real-dark-light-inverted);
    }
    & .design-tags a:hover {
    color: var(--deco);
    }

    & a.tag-button {
    background-color: var(--green-ed);
    color: var(--real-dark-light);

    }
    & a.tag-button:hover {
    color: var(--main);
    }

    & a.tag-button:active {
    color: var(--alt);
    }

    & .design-meta {
    background-image: none;
    background-color: var(--real-dark);
    border-color: rgba(232, 231, 230, 0.2);
    }
    & .design-meta::before {
    background: transparent;
    }
    & .design-meta > * {
    color: var(--real-dark-light-inverted);
    }
    & .design-meta p,
    & .design-meta p a,
    & .design-meta h4,
    & .design-meta p time {
    color: var(--real-dark-light-inverted);
    }
    }


/* =================================================================== */
/*  THEME TOGGLE
/* =================================================================== */


#theme-toggle {
  background: none;
  border: none;
  cursor: pointer;
  padding: 0.5rem;
  color: inherit; /* This makes it inherit the text color from its parent */
}

#theme-toggle svg {
  width: 24px;
  height: 24px;
  fill: currentColor; /* This makes the icon match the button's color */
}

body.dark-mode .sun {
  display: none;
}

body:not(.dark-mode) .moon {
  display: none;
}

body.force-dark #theme-toggle {
    display: none;
}


/* =================================================================== */
/*  BASIC STRUCTURE
/* =================================================================== */

/*  FIRST = html */
html {
    scroll-behavior: smooth;
}

/*  SECOND = body */
body {
    margin: 0;
    background-color: var(--real-dark-light-inverted); /* Light mode default */
}
/*  THIRD = page-container (shared with preloader, hazy-mountains, cybershelf */

.page-container {
    width: 100%; 
    background-color: transparent;
}

/*  FOURTH = site-header (shared with main */

.site-header {
    background-color: transparent;
    padding: 0.5rem;
}

.site-header, .site-title h1 {
    text-align: center;
    margin-bottom: 0rem;
}

/*  FIFTH = site-nav */

.site-nav {
    display: flex;
    justify-content: space-around; 
    flex-wrap: wrap; 
    column-gap: 50px;
}

.site-nav a {
    font-family: 'Quicksand', sans-serif !important;
    padding: 10px 10px;
    border-radius: 15px;
    /* background-color: rgba(232, 231, 230, 0.44);     */
    color: var(--real-dark); 
    font-weight: 400;
    font-size: clamp(12px, calc(12px + 1vw), 28px); /* Min, preferred, max */
    text-transform: uppercase;
    &:hover { 
        color: var(--alt);
        font-weight: 700;
        text-shadow: 0 0 5px var(--dark);
    }
    &:active {
        color: var(--main);
        font-weight: 700;
    }
    &.active {
        color: var(--main) !important;
        font-weight: 700;
    }
}

/* =================================================================== */
/*  HEADERS
/* =================================================================== */


h1, h1 a {
    color: var(--real-dark);
    font-family: 'Quicksand', sans-serif;
    font-weight: 400;
    font-size: clamp(24px, calc(24px + 1vw), 38px); /* Min, preferred, max */
    &:hover {
        color: var(--alt);
    }
}

.blueed h1 {
    color: var(--blue-ed);
    text-align: center;
    /* margin-top: 0rem;
    margin-bottom: 0rem; */
    font-weight: 700;
    /* font-size: clamp(24px, calc(24px + 1vw), 38px); */
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    text-shadow: 
        0 0 10px #69EDFF,
        0 0 20px #69EDFF,
        0 0 30px #69EDFF,
        0 0 40px #69EDFF;
    animation: happy-blue 12s ease-in-out infinite alternate;
    white-space: normal;
    pointer-events: none;
    /* padding: 0.5rem; */
}

.blooded h1 {
    color: var(--blood-ed) !important;
    text-align: center;
    margin-top: 3rem;
    margin-bottom: 3rem;
    font-size: 44px;
    user-select: none;
    -webkit-user-select: none;
    -moz-user-select: none;
    -ms-user-select: none;
    text-shadow: 
        0 0 10px #780606,
        0 0 20px #780606,
        0 0 30px #780606,
        0 0 40px #780606;
    animation: creepy-red 3s ease-in-out infinite alternate;
    &:hover 
    {
        font-weight: 400;
    }
}

h2 {
    color: var(--dark);
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: 20px;
    text-transform: uppercase;
    /* text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5); Basic drop shadow */
    user-select: none;
}

li h2 {
    color: var(--yellow-ed);
}

h3, h3 a {
    color: var(--alt); 
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: 35px;
    line-height: 1.2;
    margin: 0.5em 0; 
    overflow: visible;
    /* text-shadow: 3px 3px 6px rgba(0, 0, 0, 0.6); Larger shadow for bigger text */
    user-select: none;
}


p {
    color: var(--real-dark-light);
    font-family: 'Lunasima', sans-serif;
    font-weight: 400;
    font-size: 16px;
    line-height: 27px;
    text-align: justify;
    margin: 5px;
}

p.tight-text {
    margin: 0 !important;
    padding: 0;
}

p.tight-text-red {
    color: #780606 !important;
    font-weight: 700;
    font-size: 30px;
    margin: 0 !important;
    padding: 0;
    animation: glitchy-red 5s infinite;
}

p time {
    color: var(--blood-ed);
    font-weight: 700;
    font-size: 14px;
    line-height: 12px;
    margin: 0px !important;
}

a {
    color: var(--navy-ed);
    font-family: 'Lunasima', sans-serif;
    font-weight: 700;
    font-size: 16px;
    text-decoration: none;
    &:hover { 
        color: var(--yellow-ed);
        /* text-shadow: 0 0 5px var(--dark); */
    }

    &:active {
        color: var(--main)
    }
}

li {
    font-family: 'Lunasima', sans-serif;
    font-weight: 400;
    font-size: 16px;
    text-decoration: none;
    line-height: 27px;
    text-align: justify;
}

li a{
    color: var(--dark);
    font-weight: 700;
}

.edtry-inline {
    /* color: var(--blue-ed) !important; */
    color: var(--blue-ed);
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    text-transform: uppercase;
    /* text-shadow: 0 0 5px var(--blue-ed); */
    text-shadow: 0 0 5px var(--dark);
}

hr.divider {
    border-top: 5px solid var(--alt);
    border-radius: 3px;
    margin: 55px;
}





/* =================================================================== */
/*  COOL TAG BUTTONS (for Words, not Designs)
/* =================================================================== */

.tags-container {
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
  padding: 0;
  margin: 1rem 0;
  list-style: none;
}

a.tag-button {
  display: inline-block;
  padding: 0.5rem 1rem;
  border-radius: 8px;
  font-size: 0.9em;
  font-weight: 600;
  text-decoration: none;
  
  box-shadow: 0 4px 0px 0px var(--real-dark);

  transition: all 0.15s ease-out;

  background-color: var(--deco);
  color: var(--real-dark-light-inverted); 
}

a.tag-button:hover {
  color: var(--yellow-ed);
  transform: translateY(-2px);
  box-shadow: 0 6px 0px 0px var(--real-dark-light);
}

/*  Pushed In Button */
a.tag-button:active {
      color: var(--main);
  transform: translateY(2px);     /* Push the button down */
  /* Remove the outset shadow and create an inset one */
  box-shadow: inset 0 2px 3px rgba(0,0,0,0.5);
}


/* =================================================================== */
/*  NAV (for Words, not Designs)
/* =================================================================== */


.words-navigation {
    display: flex;
    justify-content: space-between;
    align-items: center;
    margin-top: 3rem;
    padding-top: 2rem;
    width: 100%;
}

.words-navigation a {
    color: var(--alt); 
    font-family: 'Quicksand', sans-serif;
    font-weight: 700;
    font-size: 18px;
    text-decoration: none;
    text-transform: uppercase;
    &:hover { 
        color: var(--yellow-ed);
    }
    &:active { 
        color: var(--main);
    }
}

.nav-previous {
    text-align: left;
    flex: 1;
}

.nav-next {
    text-align: right;
    flex: 1;
}

/* When only one navigation link exists */
.words-navigation:has(.nav-next):not(:has(.nav-previous)) .nav-next {
    margin-left: auto;
}

.words-navigation:has(.nav-previous):not(:has(.nav-next)) .nav-previous {
    margin-right: auto;
}



/* =================================================================== */
/*  IMAGES
/* =================================================================== */

figure {
    text-align: center;
    margin: 2rem;
}

figure img {
    max-height: 800px; /* max image size everywhere */
    max-width: 100%;
    height: auto;
    display: block;
    margin: 0 auto;
    border: 3px solid var(--deco);
}

figure.no-border img {
    border: none;
}

figure figcaption p {
    color: var(--green-ed) !important;
    text-align: center;
    margin-top: 0.5rem;
    font-style: italic;
    font-weight: 700;
}

/* =================================================================== */
/*  SITE SPECIFCS DURING <959PX MODE
/* =================================================================== */


main {
    /* all especially lists */
    padding: 1rem 2rem;
    background: transparent;
    /* padding-top: 2rem; */
    padding-bottom: 8rem; /* otheewise cant access arrows on for next arrows */
    /* margin-top: 10rem; */
    position: relative;

}
/* designed - single, list, any others - trying to remove unneeded spacing */
main:has(.edidesign) {
    padding: 0rem; 
}

/* 404, ediedica */
/* this is supposed to force DARK MODE and not allow LIGHT MODE */

main:has(.edidarkforces) { 
    background: #171819;
    min-height: 900px; /* for NOT FOUND ED etc, about 820 but bigger diff in other ress */
}
    /* Hide cybershelf only on specific pages */
    .edidesign ~ .cybershelf,
    body:has(.edidesign) .cybershelf,
    .edidarkforces ~ .cybershelf,
    body:has(.edidarkforces) .cybershelf {
        display: none;
    }


.flash-ed {
    display: none; /* Keep this hidden on the main site */
}

@media (min-width: 960px) {
  .page-container {
    max-width: 1100px; /* Or whatever width you prefer */
    margin: 2rem auto;
  }
}


/* =================================================================== */
/*  MOUNTAINS AND CYBERSHELF
/* =================================================================== */



/* Style the background elements to be fixed to the viewport - not working? still gettin squeezed */
.hazy-mountains {
    position: fixed;
    inset: 0;
    z-index: -1;
    filter: blur(5px);
    background-color: var(--yellow-ed);
}

.cybershelf {
    position: fixed;
    bottom: 0;
    left: 0;
    width: 100%;
    height: 10vh;
    z-index: 5;
    background: linear-gradient(to top, var(--real-dark) 90%, transparent 100%);
    display: block; /* Explicitly show by default */

}

/* Mountain and Footer pseudo-element styles */
.mountain {
    position: absolute; bottom: 0; left: -50%; width: 200%; height: 100%;
    mask-image: linear-gradient(to top, black 15%, transparent 85%);
    -webkit-mask-image: linear-gradient(to top, black 15%, transparent 85%);
    animation: moutain-drift linear infinite;
}

.cybershelf::before {
    content: ''; position: absolute; inset: 0; z-index: 2;
    background: 
        linear-gradient(to bottom, var(--real-dark) 5%, #0e0d0e00 30%),
        repeating-linear-gradient(0deg, var(--real-dark) 0%, var(--real-dark) 50%, var(--real-dark-light) 50%, var(--real-dark-light) 100%);
    background-size: 100% 100%, 10px 10px;
    animation: conveyor 4s linear infinite;
}

.cybershelf::after {
    content: ''; position: absolute; z-index: 1; 
    top: -30px; left: 0; right: 0; height: 60px;
    background: 
        radial-gradient(ellipse 150% 150px at 50% 100%, var(--deco) 0%, transparent 70%),
        radial-gradient(ellipse 120% 100px at 50% 100%, var(--dark) 0%, transparent 60%);
    filter: blur(20px);
    opacity: 1;
    animation: cybershelf-glow 4s ease-in-out infinite;
}

/* Mountain layer definitions */
.mountain-main-1 { background-color: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + 10%)); z-index: 1; animation-duration: 250s; clip-path: polygon(0 25%, 8% 22%, 15% 27%, 25% 23%, 35% 29%, 45% 25%, 55% 32%, 65% 26%, 75% 30%, 85% 25%, 95% 29%, 100% 22%, 100% 100%, 0 100%); }
.mountain-main-2 { background-color: hsl(var(--main-h), var(--main-s), calc(var(--main-l) + 5%)); z-index: 2; animation-duration: 220s; clip-path: polygon(0 29%, 10% 32%, 20% 27%, 30% 35%, 40% 29%, 50% 37%, 60% 31%, 70% 36%, 80% 30%, 90% 35%, 100% 27%, 100% 100%, 0 100%); }
.mountain-main-3 { background-color: hsl(var(--main-h), var(--main-s), var(--main-l)); z-index: 3; animation-duration: 200s; clip-path: polygon(0 37%, 5% 32%, 12% 39%, 22% 33%, 32% 41%, 42% 35%, 52% 42%, 62% 36%, 72% 45%, 82% 38%, 92% 43%, 100% 35%, 100% 100%, 0 100%); }
.mountain-alt-1 { background-color: hsl(var(--alt-h), var(--alt-s), calc(var(--alt-l) + 8%)); z-index: 4; animation-duration: 180s; animation-direction: reverse; clip-path: polygon(0 47%, 10% 43%, 20% 50%, 30% 45%, 40% 53%, 50% 47%, 60% 55%, 70% 49%, 80% 53%, 90% 46%, 100% 51%, 100% 100%, 0 100%); }
.mountain-alt-2 { background-color: hsl(var(--alt-h), var(--alt-s), calc(var(--alt-l) + 4%)); z-index: 5; animation-duration: 160s; clip-path: polygon(0 49%, 8% 53%, 18% 47%, 28% 55%, 38% 49%, 48% 57%, 58% 51%, 68% 59%, 78% 53%, 88% 57%, 100% 50%, 100% 100%, 0 100%); }
.mountain-alt-3 { background-color: hsl(var(--alt-h), var(--alt-s), calc(var(--alt-l) + 4%)); z-index: 6; animation-duration: 140s; animation-direction: reverse; clip-path: polygon(0 55%, 12% 50%, 24% 57%, 34% 51%, 44% 59%, 54% 53%, 64% 60%, 74% 54%, 84% 61%, 94% 55%, 100% 59%, 100% 100%, 0 100%); }


/* =================================================================== */
/*  DESIGNS STYLING
/* =================================================================== */


.design-title, .design-title a, .design-title h1 {
    text-align: center;
    font-weight: 700;
    color: #EBD9B3; /* gold */
    text-shadow: 2px 2px 4px rgba(0, 0, 0, 0.5);
    margin: 1rem;
    text-transform: uppercase;
    &:hover { 
        color: var(--yellow-ed);
    }
}

.design-meta {
  margin: 0 auto;
  padding: 1rem 1.5rem;
  max-width: 500px;

  border: 1px solid rgba(33, 24, 24, 0.1);
  border-radius: 6px;

  /* keep texture but don’t resize */
  background: url('/img/bg/kiwihug-MS9Tnh3if1o-unsplash.jpg') center center no-repeat fixed;
  background-size: cover;

  /* add white overlay */
  position: relative;
  overflow: hidden;
}
.design-meta::before {
  content: "";
  position: absolute;
  top: 0; left: 0; right: 0; bottom: 0;
  background: rgba(232, 231, 230, 0.9); /* gallery-ish white */
  pointer-events: none;
}
.design-meta > * {
  position: relative; /* keep content above overlay */
}

.design-meta h4 {
  margin: 1.25rem 0 0;
    font-family: 'Lunasima', sans-serif;
  font-weight: 400;
  font-size: 1rem;
  color: #0E0D0E;
  text-decoration: none;
}
.design-meta p, .design-meta p a {
  margin: 0.25rem 0 0.75rem 0.25rem;
    font-family: 'Lunasima', sans-serif;
  font-weight: 400;
  font-size: 0.85rem;
  color:  #0E0D0E;
  text-shadow: none;
  text-decoration: none;
  text-transform: none;
  text-align: left;
}

.design-meta p time {
    color:  #0E0D0E;
    font-weight: 400;
    font-size: 14px;
    line-height: 12px;
    margin: 0px !important;
}

.design-meta .time-class {
  text-align: right;
  margin: 0;
  padding-left: 0;
  padding-bottom:0;
}

.design-meta .attr-class a {
    font-size: 12px;
    &:hover { 
        color: var(--main);
        font-weight: 700;
    }
 }

.design-image {
    text-align: center;
    margin-top: 2rem; 
    margin-bottom: 2rem;
    /* border-radius: 6px;
    box-shadow: 0 2px 8px rgba(0,0,0,0.15); */
}

.design-image img {
    max-width: 100%;
    height: auto;
}

.coin-box {
  text-align: center;
  margin-top: 5rem; 
  margin-bottom: 7.5rem;
}

.meta-divider {
  width: 80%;
  margin: 0.75rem auto;
  border: 0;
  border-top: 1px solid rgba(16, 12, 8, 0.2);
}

/* Tags simple black clickable links */
.design-tags {

  max-width: 500px;
font-family: 'Lunasima', sans-serif;
  font-size: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.75rem;
}
.design-tags a {
  color: #171819;
  font-weight: 700;
  text-decoration: none;
}
.design-tags a:hover {
  color: var(--deco);}

/* Notes icon styling */
.notes-icon {
  position: absolute;
  bottom: 10px;
  right: 10px;
  width: 32px; /* Larger fixed width */
  height: auto;
  z-index: 2;
}

.notes-icon img {
    width: 100%;
    height: auto;
    cursor: pointer;
    border-radius: 50%; /* Make it round */
    box-shadow: 0 2px 5px rgba(0,0,0,0.2); /* Add subtle shadow */
    -webkit-mask-image: linear-gradient(45deg,#000 25%,rgba(0,0,0,.2) 50%,#000 75%);
    mask-image: linear-gradient(45deg,#000 25%,rgba(0,0,0,.2) 50%,#000 75%);
    -webkit-mask-size: 800%;
    mask-size: 800%;
    -webkit-mask-position: 0;
    mask-position: 0;
}

.notes-icon img:hover {
    transition: mask-position 2s ease,-webkit-mask-position 2s ease;
    -webkit-mask-position: 120%;
    mask-position: 120%;
    opacity: 1;
}

/* Notes popup styling */
.notes-slim {
  position: absolute;
  bottom: 50px;
  right: 10px;
  width: 250px;
  background: #0E0D0E;
  color: #E8E7E6 !important;
  border: 1px solid rgba(222, 231, 229, 0.1);
  border-radius: 6px;
  padding: 1rem;
  z-index: 3;
  box-shadow: 0 4px 8px rgba(0,0,0,0.3);
}

.notes-slim * {
  color: #E8E7E6 !important;
  font-family: 'Lunasima', sans-serif;
}


/* Add spacing only between design posts in list view */
.edidesign + .edidesign {
  margin-top: 6rem;
    margin-bottom: 5rem;
  padding-top: 6rem;

}


/* --- Styles for DVD Overlay Buttons --- */
.overlay-buttons {
    position: absolute;
    /* bottom: -50px; Position below the wrapper */
    left: 5%;
    top:10%;
    /* transform: translateX(-50%); */
    display: flex;
    gap: 0.5rem;
}

.overlay-btn {
    /* border: 2px solid var(--deco); */
    background-color: var(--main);
    color: var(--real-dark-light-inverted);
    border-radius: 15%;
    width: 50px;
    height: 25px;
    display: flex;
    align-items: center;
    justify-content: center;
    text-decoration: none;
    font-size: 12px;
    transition: all 0.2s ease;
    z-index: 5;
}

.overlay-btn:hover {
    box-shadow: 0 0 5px var(--dark);
}

.list-item-3d {
    position: relative; /* This allows the absolute buttons to position correctly */
}
.list-item-3d .overlay-buttons {
    /* Adjust positioning for list view */
    bottom: 0; 
}