/* =========================
   GLOBAL SAFETY (NON-DESTRUCTIVE)
========================= */

body {
  overflow-x: hidden;
}



/* Correct layout driver */
main {
  display: block;
  width: 100%;
  min-height: 60vh;
}
/* =========================
   HERO SLIDESHOW
========================= */


/* CTA */
.slideshow-button {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  opacity: 0;
  transition: 0.25s ease;
  pointer-events: none;
}

.slideshow-wrap:hover .slideshow-button {
  opacity: 1;
  pointer-events: auto;
}

.slideshow-button a {
  background: #8a5cff;
  color: white;
  padding: 10px 18px;
  border-radius: 999px;
  text-decoration: none;
}

/* remove controls */
.swiper-button-next,
.swiper-button-prev,
.slick-next,
.slick-prev,
.wp-block-jetpack-slideshow button {
  display: none !important;
}

/* =========================
   MASK SLIDESHOW
========================= */

.custom-mask-slideshow .wp-block-jetpack-slideshow {
  -webkit-mask-image: url("https://mdoemland.com/wp-content/uploads/2026/04/PortfolioMask-1.png");
  mask-image: url("https://mdoemland.com/wp-content/uploads/2026/04/PortfolioMask-1.png");

  -webkit-mask-repeat: no-repeat;
  mask-repeat: no-repeat;

  -webkit-mask-position: center;
  mask-position: center;

  -webkit-mask-size: contain;
  mask-size: contain;
}

/* =========================
   MOON SYSTEM (FIXED HOVER)
========================= */

.moon-wrap {
  position: relative;
  width: 100%;
  max-width: 500px;
  aspect-ratio: 1 / 1;
  margin: 0 auto;
  z-index: 2;
  isolation: isolate;
}

.moon-svg {
  width: 100%;
  height: 100%;
  display: block;
  position: relative;
  z-index: 2;
  pointer-events: auto;
}

/* ensure SVG elements are interactable */
.moon-svg * {
  pointer-events: auto;
}

/* zones */
.zone path {
  fill: #271219;
  cursor: pointer;
  transition: 0.3s ease;
}

.zone,
.zone * {
  pointer-events: all;
}

.zone:hover path {
  fill: #f5f5f5;
  filter: drop-shadow(0 0 14px rgba(255,255,255,0.35));
}

.moon-light {
  opacity: 0.15;
  filter: blur(50px);
}

/* info layer */
.moon-info {
  position: absolute;
  inset: 0;
  z-index: 3;
  pointer-events: none;
}

.info,
.info-default {
  position: absolute;
  top: 50%;
  left: 50%;
  width: 220px;
  text-align: center;
  transform: translate(-50%, -50%);
  opacity: 0;
  transition: 0.3s ease;
}

.info.active {
  opacity: 1;
}

/* =========================
   CIRCLE MASK
========================= */

.circle-mask {
  width: 600px;
  height: 600px;
  border-radius: 50%;
  overflow: hidden;
  position: relative;
  margin: 0 auto;
}

.circle-inner {
  width: 100%;
  height: 130%;        /* extra height for movement */
  position: absolute;
  top: -15%;           /* center it */
  left: 0;
  will-change: transform;
}

.circle-inner img {
  width: 100%;
  height: 100%;
  object-fit: cover;
}

.circle-text {
  position: absolute;
  inset: 0;
  z-index: 5;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  text-align: center;
  color: white;
  pointer-events: none;
}

.circle-text h1 {
  margin: 0;
  font-size: clamp(1.5rem, 2.5vw, 2.5rem);
  font-weight: 600;
}

.circle-text p {
  margin-top: 10px;
  font-size: clamp(0.95rem, 1.2vw, 1.2rem);
  opacity: 0.85;
}
/* =========================
   PULLQUOTE
========================= */

.wp-block-pullquote {
  max-width: 100%;
  margin: 80px auto;
  position: relative;
}

/* =========================
   FOOTER (FIXED FLOW)
========================= */

footer {
  width: 100%;
  margin-top: 80px;
  position: relative;
  clear: both;
  display: block;
}

/* =========================
   MOBILE
========================= */

@media (max-width: 600px) {
  .slideshow-wrap {
    min-height: 500px;
  }

  .circle-mask {
    width: 320px;
    height: 320px;
  }
}
.page-id-435 a[href*="about"] {
  display: none !important;
}

.wp-block-jetpack-slideshow_container .wp-block-jetpack-slideshow_image {
    object-fit: contain !important;
    background-color: #f0f0f0; /* Optional: adds background color for empty space */
}

.wp-block-jetpack-slideshow_container {
    height: auto !important;
}

.wp-site-blocks > * + * {
  margin-block-start: 0 !important;
}
header,
footer {
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}
.wp-block-cover {
  margin: 0 !important;
  padding: 0 !important;
}
.wp-block-cover {
  margin: 0 !important;
}
main {
  margin-top: 0 !important;
  margin-bottom: 0 !important;
  padding-top: 0 !important;
  padding-bottom: 0 !important;
}

.img-fixed img {
  max-width: 300px;
  width: auto;
  flex: 0 0 auto;
}

/*Footer stacking order*/
.site-footer .wp-block-cover {
  display: flex;
  flex-direction: column;
}
.site-footer .footer-bottom {
  margin-top: auto;
  width: 100%;
  text-align: center;
  padding: 16px 0;
}