// Availability note, Google map embed, homeowner documents, lightbox .availability-note { border-left: 3px solid $gold; padding: 4px 0 4px 16px; margin: 22px 0; color: $gray; font-style: italic; a { color: darken($gold, 10%); font-weight: 700; } } // Google map embed (Kannapolis) .map-embed { margin-top: 40px; position: relative; width: 100%; padding-top: 42%; border-radius: 6px; overflow: hidden; box-shadow: 0 18px 40px -18px rgba(0, 0, 0, 0.4); border: 1px solid rgba(171, 153, 109, 0.3); iframe { position: absolute; inset: 0; width: 100%; height: 100%; border: 0; } @media (max-width: $s-break) { padding-top: 75%; } } // Homeowner documents .doc-grid { display: grid; grid-template-columns: repeat(2, 1fr); gap: 18px; max-width: 900px; margin: 28px auto 0; @media (max-width: $s-break) { grid-template-columns: 1fr; } } .doc-card { display: flex; align-items: center; gap: 16px; padding: 18px 20px; background: $white; border: 1px solid rgba(171, 153, 109, 0.35); border-radius: 6px; text-decoration: none; color: $black; box-shadow: 0 10px 24px -18px rgba(0, 0, 0, 0.4); transition: transform 0.18s, box-shadow 0.18s, border-color 0.18s; &:hover { transform: translateY(-3px); box-shadow: 0 16px 30px -16px rgba(0, 0, 0, 0.45); border-color: $gold; text-decoration: none; color: $black; } } .doc-icon { flex: 0 0 auto; width: 46px; height: 46px; display: flex; align-items: center; justify-content: center; border-radius: 50%; background: rgba(171, 153, 109, 0.14); color: darken($gold, 10%); svg { width: 24px; height: 24px; } } .doc-text { display: flex; flex-direction: column; } .doc-title { @include Libre; font-size: 16px; line-height: 1.3; margin-bottom: 3px; } .doc-meta { font-size: 12.5px; color: $gray; } .doc-note { text-align: center; color: $gray; margin-top: 24px; font-size: 15px; a { color: darken($gold, 10%); font-weight: 700; } } // Lightbox .gallery-track.zoomable { cursor: zoom-in; } .lightbox { position: fixed; inset: 0; z-index: 1000; display: flex; align-items: center; justify-content: center; background: rgba(20, 18, 18, 0.92); padding: 24px; &[hidden] { display: none; } &-figure { margin: 0; max-width: 92vw; max-height: 88vh; display: flex; flex-direction: column; align-items: center; } &-img { max-width: 92vw; max-height: 80vh; object-fit: contain; border-radius: 4px; box-shadow: 0 24px 60px rgba(0, 0, 0, 0.6); cursor: pointer; } &-caption { color: rgba(255, 255, 255, 0.85); font-size: 13px; margin-top: 12px; text-align: center; max-width: 700px; } &-close, &-arrow { position: absolute; border: none; background: rgba(255, 255, 255, 0.12); color: $white; cursor: pointer; display: flex; align-items: center; justify-content: center; border-radius: 50%; transition: background 0.2s; &:hover { background: rgba(255, 255, 255, 0.28); } } &-close { top: 18px; right: 18px; width: 48px; height: 48px; svg { width: 26px; height: 26px; } } &-arrow { top: 50%; transform: translateY(-50%); width: 54px; height: 54px; svg { width: 28px; height: 28px; } &.prev { left: 20px; } &.next { right: 20px; } @media (max-width: $xs-break) { width: 44px; height: 44px; &.prev { left: 8px; } &.next { right: 8px; } } } }