@charset "utf-8";
/* masonry.css — cleaned + wallpaper-safe */

/* ---------------------------------------------------------
   Base page styling (applies site-wide because this CSS loads
   globally via 2024-head.php). If you don't want that, move
   body/nav rules to core.css/layout.css.
   --------------------------------------------------------- */
body{
  margin: 0;
  background-color: #000;
  color: #fff;
  font-family: system-ui, -apple-system, Segoe UI, Roboto, Helvetica, Arial, sans-serif;
  padding-top: 70px; /* adjust to match fixed navbar height */
}

/* Fixed Navbar */
nav{
  position: fixed;
  top: 0;
  left: 0;
  right: 0;
  z-index: 1000;
  background: rgba(0,0,0,0.9);
  backdrop-filter: blur(6px);
}

/* ---------------------------------------------------------
   Legacy "column masonry" for existing gallery pages
   --------------------------------------------------------- */
.masonry{
  --gap: 12px;
  --cols: 4;

  column-count: var(--cols);
  column-gap: var(--gap);
  widows: 1;
  orphans: 1;

  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem;
}

/* Responsive column counts */
@media (max-width: 1200px){ .masonry{ --cols: 3; } }
@media (max-width: 900px){  .masonry{ --cols: 2; } }
@media (max-width: 600px){  .masonry{ --cols: 1; } }

.masonry a{
  display: inline-block;
  width: 100%;
  break-inside: avoid;
  margin: 0 0 var(--gap);
  text-decoration: none;
}

.masonry img{
  width: 85%;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0 auto;
  border-radius: 8px;
  box-shadow: 0 2px 10px rgba(255,255,255,.15);
  transition: transform .18s ease, box-shadow .18s ease;
}

.masonry img:hover{
  transform: translateY(-2px);
  box-shadow: 0 6px 18px rgba(255,255,255,.35);
}

/* Medium screens */
@media (max-width: 900px){
  .masonry img{ width: 90%; }
}

/* Small screens */
@media (max-width: 600px){
  .masonry img{ width: 100%; }
}

/* ---------------------------------------------------------
   "CLICK" header styling
   --------------------------------------------------------- */
.click p{
  text-align: center;
  font-weight: bold;
  color: #FFD700;
  font-size: 1.4rem;
  letter-spacing: 2px;
  text-shadow: 0 0 8px rgba(255, 215, 0, 0.8);
  margin: 1rem 0;
  animation: pulseGlow 2s infinite;
  cursor: default;
}

.click p:hover{
  animation: none;
  text-shadow: 0 0 20px rgba(255, 215, 0, 1),
              0 0 40px rgba(255, 215, 0, 0.95),
              0 0 60px rgba(255, 215, 0, 0.85);
  transform: scale(1.05);
  transition: all 0.3s ease-in-out;
}

@keyframes pulseGlow{
  0%{
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.7),
                 0 0 15px rgba(255, 215, 0, 0.5);
  }
  50%{
    text-shadow: 0 0 15px rgba(255, 215, 0, 1),
                 0 0 30px rgba(255, 215, 0, 0.9);
  }
  100%{
    text-shadow: 0 0 8px rgba(255, 215, 0, 0.7),
                 0 0 15px rgba(255, 215, 0, 0.5);
  }
}

/* ---------------------------------------------------------
   Wallpaper page additions (centered pricing + grid override)
   --------------------------------------------------------- */
.wallpaper-wrap{
  max-width: 1400px;
  margin: 0 auto;
  padding: 0 1rem;
}

.wallpaper-pricing{
  max-width: 900px;
  margin: 1.25rem auto 1.75rem;
  text-align: center;
  color: #f5f5f5;
  font-size: 1.05rem;
  line-height: 1.6;
}

.wallpaper-pricing strong{ color: #FFD700; }

.wallpaper-pricing-note{
  margin-top: .5rem;
  font-size: .95rem;
  color: #ccc;
}

/* IMPORTANT: wallpaper-masonry must NOT behave like column masonry */
.wallpaper-masonry{
  column-count: initial !important;
  column-gap: initial !important;

  display: grid !important;
  grid-template-columns: repeat(auto-fill, minmax(170px, 1fr));
  gap: 14px;
  align-items: start;
}

/* Responsive grid tuning */
@media (min-width: 768px){
  .wallpaper-masonry{
    grid-template-columns: repeat(auto-fill, minmax(210px, 1fr));
  }
}
@media (min-width: 1200px){
  .wallpaper-masonry{
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
}

.wallpaper-item{
  display: block;
  break-inside: initial !important;
  position: relative;
  margin: 0;
  border-radius: 10px;
  /* FIX: was overflow:hidden which clipped the checkbox overlay.
     Use overflow:visible so the checkbox isn't cut off, and clip
     only the image itself via the .wp-link rule below. */
  overflow: visible;
}

/* Clip the image to the rounded corners without clipping the checkbox */
.wallpaper-item .wp-link{
  display: block;
  border-radius: 10px;
  overflow: hidden;
  line-height: 0;
}

.wallpaper-item a{ display: block; }

/* Force full-width thumbs (beats .masonry img width:85%) */
.wallpaper-masonry img{
  width: 100% !important;
  max-width: 100%;
  height: auto;
  display: block;
  margin: 0;
  border-radius: 0;
  box-shadow: none;
  transition: opacity .2s ease;
}

/* Dim + green outline when selected */
.wallpaper-item input[type="checkbox"]:checked ~ .wp-link img{
  opacity: 0.75;
}
.wallpaper-item input[type="checkbox"]:checked ~ .wp-link{
  outline: 3px solid #0BFB08;
  border-radius: 10px;
}

/* Checkbox overlay — sits in top-left corner of each image */
.wallpaper-item input[type="checkbox"]{
  position: absolute;
  top: 8px;
  left: 8px;
  width: 20px;
  height: 20px;
  z-index: 10;
  cursor: pointer;
  accent-color: #0BFB08;
  /* Scale up slightly for easier tapping on mobile */
  transform: scale(1.25);
  transform-origin: top left;
}



/* ---------------------------------------------------------
   Add to Cart button
   --------------------------------------------------------- */
.wallpaper-masonry ~ div .wp-cart-btn,
button.wp-cart-btn{
  display: inline-block;
  padding: 10px 28px;
  font-size: 1rem;
  font-weight: bold;
  background: #FFD700;
  color: #000;
  border: none;
  border-radius: 6px;
  cursor: pointer;
  letter-spacing: .5px;
  transition: background .2s ease, transform .15s ease;
}

button.wp-cart-btn:hover{
  background: #ffe033;
  transform: translateY(-1px);
}