

@layer components {

  
  .mh-garden-container {
    width: 100%;
    height: 380px;
    background-color: #fdfdfd;
    border: 2px solid var(--mh-black);
    box-shadow: 8px 8px 0px var(--mh-black);
    background-image:
      linear-gradient(#e0e0e0 1px, transparent 1px),
      linear-gradient(90deg, #e0e0e0 1px, transparent 1px);
    background-size: 20px 20px;
    position: relative;
    overflow: hidden;
  }

  .mh-blueprint-label {
    position: absolute;
    bottom: 10px;
    right: 10px;
    font-size: 0.6rem;
    background: #fff;
    border: 1px solid #000;
    padding: 2px 5px;
    z-index: 10;
  }

  .mh-garden-grid {
    display: grid;
    width: 100%;
    height: 100%;
    grid-template-columns: repeat(20, 1fr);
    grid-template-rows: repeat(20, 1fr);
  }

  .mh-g-item {
    opacity: 0;
    transform: scale(0.8);
    animation: popOnGrid 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }

  .mh-g-house {
    grid-column: 6 / 16;
    grid-row: 3 / 8;
    background: #fff;
    border: 3px solid var(--mh-black);
    display: flex;
    align-items: center;
    justify-content: center;
    font-weight: 700;
    font-size: 0.8rem;
    z-index: 2;
  }
  .mh-g-driveway {
    grid-column: 2 / 6;
    grid-row: 4 / 7;
    background: #ddd;
    border: 1px dashed #666;
    animation-delay: 0.4s;
  }
  .mh-g-terrace {
    grid-column: 6 / 16;
    grid-row: 8 / 11;
    background: url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" width="4" height="4"><rect width="4" height="4" fill="%23fff"/><rect width="1" height="1" fill="%23ccc"/></svg>');
    border: 2px solid var(--mh-black);
    border-top: none;
    animation-delay: 0.8s;
  }
  .mh-g-path {
    background: #eee;
    border: 1px dotted #999;
  }
  .mh-g-path-1 { grid-column: 16 / 19; grid-row: 9 / 11; animation-delay: 1.1s; border-radius: 0 10px 10px 0; }
  .mh-g-path-2 { grid-column: 17 / 19; grid-row: 11 / 17; animation-delay: 1.2s; }
  .mh-g-pool {
    grid-column: 7 / 14;
    grid-row: 13 / 18;
    background: #4FC3F7;
    border: 2px solid var(--mh-black);
    box-shadow: 3px 3px 0 rgba(0,0,0,0.1);
    display: flex;
    align-items: center;
    justify-content: center;
    font-size: 1.5rem;
    animation-delay: 1.6s;
    border-radius: 2px;
  }
  .mh-g-shed {
    grid-column: 16 / 19;
    grid-row: 17 / 20;
    font-size: 2rem;
    display: flex;
    align-items: center;
    justify-content: center;
    animation-delay: 2.0s;
  }
  .mh-g-tree {
    position: absolute;
    font-size: 1.5rem;
    animation: popOnGrid 0.4s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
  }

  
  @media (prefers-reduced-motion: reduce) {
    .mh-g-item, .mh-g-tree {
      animation: none !important;
      opacity: 1 !important;
      transform: none !important;
    }
  }
}


.pvd-carousel { width: 100%; }
.pvd-frame {
  position: relative;
  display: grid;
  border: 1px solid #000;
  border-radius: 2px;
  overflow: hidden;
  box-shadow: 10px 10px #0003;
  background: #0b0b0c;
}
.pvd-slide {
  grid-area: 1 / 1;
  opacity: 0;
  transition: opacity 550ms ease;
  pointer-events: none;
}
.pvd-slide.is-active { opacity: 1; pointer-events: auto; }
.pvd-img { display: block; width: 100%; height: auto; }

.pvd-slide .pvd-open {
  position: absolute;
  left: 50%;
  bottom: 7%;
  transform: translateX(-50%);
  margin: 0;
  box-shadow: 4px 4px 0 rgba(0, 0, 0, 0.35);
}
.pvd-arrow {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: 42px;
  height: 42px;
  display: flex;
  align-items: center;
  justify-content: center;
  background: #fff;
  color: #000;
  border: 1px solid #000;
  border-radius: 2px;
  box-shadow: 3px 3px 0 rgba(0, 0, 0, 0.3);
  font-family: "Space Mono", monospace;
  font-size: 1.5rem;
  line-height: 1;
  padding: 0 0 4px;
  cursor: pointer;
  transition: background 0.15s ease, color 0.15s ease;
}
.pvd-arrow:hover { background: #000; color: #fff; }
.pvd-prev { left: 12px; }
.pvd-next { right: 12px; }
.pvd-count {
  position: absolute;
  top: 10px;
  right: 12px;
  padding: 4px 9px;
  background: #fff;
  border: 1px solid #000;
  border-radius: 2px;
  font-family: "Space Mono", monospace;
  font-size: 0.7rem;
  font-weight: 700;
  letter-spacing: 0.05em;
}
@media (prefers-reduced-motion: reduce) {
  .pvd-slide { transition: none; }
}
@media screen and (max-width: 767px) {
  .pvd-arrow { width: 36px; height: 36px; }
  .pvd-slide .pvd-open { bottom: 5%; }
}



@media screen and (max-width: 991px) {
  #demo-landingpages .content-5-5.dual > .dyn-content,
  #demo-landingpages .content-5-5.dual > .text-content { display: contents; }
  #demo-landingpages .text-content > .margin-bottom { order: 1; }
  #demo-landingpages .pvd-carousel { order: 2; }
  #demo-landingpages .text-content > .paragraph-small { order: 3; }
}
