@import url("https://fonts.googleapis.com/css2?family=Great+Vibes&family=Cormorant+Garamond:ital,wght@0,400;0,600;1,400&family=Montserrat:wght@300;400;500;600&display=swap"); div.vjh-wrapper:not(.vjh-gate-wrapper) {
width: 100% !important;
max-width: 1920px !important;
margin: 40px auto !important;
padding: 50px 40px !important;
box-sizing: border-box !important;
font-family: 'Montserrat', sans-serif !important;
background: #fffcf8 !important;
border: 1px solid #ebd9c8 !important;
border-radius: 20px !important;
box-shadow: 0 15px 45px rgba(0,0,0,0.3) !important;
color: #4a4036 !important;
}
div.vjh-wrapper:not(.vjh-gate-wrapper) * {
box-sizing: border-box;
} .vjh-header { text-align: center !important; margin-bottom: 40px !important; }
.vjh-eyebrow { font-size: 11px !important; letter-spacing: 4px !important; color: #bc8a5f !important; font-weight: 600 !important; text-transform: uppercase !important; display: block !important; }
.vjh-kicker { margin: 5px 0 0 0 !important; color: #8c7a6b !important; font-family: 'Cormorant Garamond', serif !important; font-size: 22px !important; font-style: italic !important; }
.vjh-title { font-family: 'Great Vibes', cursive !important; font-size: 72px !important; font-weight: 400 !important; margin: 0 !important; color: #2c221e !important; line-height: 1.1 !important; }
.vjh-divider { color: #d4a373 !important; font-size: 16px !important; margin: 12px 0 !important; opacity: 0.8 !important; text-align: center !important; }
.vjh-tagline { font-size: 14px !important; color: #6b5c50 !important; max-width: 540px !important; margin: 0 auto !important; line-height: 1.7 !important; font-weight: 300 !important; } .vjh-upload-box {
border: 2px dashed #dfcbb5 !important;
border-radius: 16px !important;
padding: 35px 25px !important;
text-align: center !important;
background: #ffffff !important;
margin-bottom: 45px !important;
}
.vjh-upload-overline { font-family: 'Cormorant Garamond', serif !important; font-size: 26px !important; font-weight: 600 !important; display: block !important; color: #2c221e !important; }
.vjh-upload-sub { font-size: 13px !important; color: #7a6a5c !important; margin-bottom: 20px !important; }
.vjh-btn {
background: linear-gradient(135deg, #d4a373 0%, #bc8a5f 100%) !important;
color: #ffffff !important;
border: none !important;
padding: 13px 32px !important;
border-radius: 30px !important;
font-size: 12px !important;
font-weight: 600 !important;
letter-spacing: 1.5px !important;
text-transform: uppercase !important;
cursor: pointer !important;
} .vjh-upload-box.vjh-dragover {
border-color: #bc8a5f !important;
background-color: #fcf9f5 !important;
} .vjh-gallery-header-row { display: flex !important; justify-content: space-between !important; align-items: center !important; margin-bottom: 25px !important; padding-bottom: 12px !important; border-bottom: 1px dashed #e5d4c3 !important; }
.vjh-sub-label { font-size: 11px !important; text-transform: uppercase !important; color: #8c7a6b !important; letter-spacing: 2px !important; font-weight: 600 !important; }
button.vjh-download-all, .vjh-download-all {
background: none !important;
border: none !important;
padding: 0 !important;
cursor: pointer !important;
color: #bc8a5f !important; 
text-decoration: none !important; 
font-size: 13px !important; 
font-weight: 600 !important;
font-family: 'Montserrat', sans-serif !important;
} .vjh-dedupe-link {
background: none !important;
border: none !important;
padding: 0 !important;
color: #bc8a5f !important;
font-size: 13px !important;
font-weight: 600 !important;
cursor: pointer !important;
font-family: 'Montserrat', sans-serif !important;
transition: opacity 0.2s ease !important;
}
.vjh-dedupe-link:hover {
opacity: 0.8 !important;
text-decoration: underline !important;
}
.vjh-gallery-grid { display: grid !important; grid-template-columns: repeat(auto-fill, minmax(260px, 1fr)) !important; gap: 25px !important; }
.vjh-photo-frame { background: #ffffff !important; padding: 10px 10px 18px 10px !important; border-radius: 8px !important; box-shadow: 0 4px 15px rgba(0,0,0,0.06) !important; border: 1px solid #f0e6dc !important; position: relative !important; }
.vjh-photo-frame img, .vjh-photo-frame video { width: 100% !important; aspect-ratio: 4/3 !important; object-fit: cover !important; border-radius: 4px !important; display: block !important; } .vjh-item-actions {
position: absolute !important;
top: 15px !important;
right: 15px !important;
display: flex !important;
flex-direction: row !important;
gap: 6px !important;
opacity: 0 !important;
transition: opacity 0.2s ease !important;
z-index: 10 !important;
}
.vjh-gallery-item:hover .vjh-item-actions {
opacity: 1 !important;
}
.vjh-action-btn {
width: 32px !important;
height: 32px !important;
min-width: 32px !important;
min-height: 32px !important;
border-radius: 50% !important;
background: #ffffff !important;
border: 1px solid #e2d2c1 !important;
color: #4a4036 !important;
display: inline-flex !important;
align-items: center !important;
justify-content: center !important;
cursor: pointer !important;
font-size: 14px !important;
text-decoration: none !important;
box-shadow: 0 3px 8px rgba(0,0,0,0.15) !important;
padding: 0 !important;
line-height: 1 !important;
}
.vjh-action-btn:hover {
background: #bc8a5f !important;
color: #ffffff !important;
border-color: #bc8a5f !important;
} .vjh-gate-wrapper {
background: transparent !important;
border: none !important;
box-shadow: none !important;
padding: 0 !important;
margin: 60px auto !important;
display: flex !important;
justify-content: center !important;
align-items: center !important;
}
.vjh-gate-card {
background: #ffffff !important;
border: 1px solid #e2d2c1 !important;
border-radius: 20px !important;
padding: 50px 35px !important;
text-align: center !important;
max-width: 450px !important;
width: 100% !important;
box-shadow: 0 20px 50px rgba(0, 0, 0, 0.4), inset 0 0 0 6px #fcf9f5 !important;
margin: 0 auto !important;
}
.vjh-decorative-ribbon { font-size: 24px !important; color: #d4a373 !important; margin-bottom: 5px !important; }
.vjh-gate-monogram { font-family: 'Great Vibes', cursive !important; font-size: 68px !important; color: #2c221e !important; line-height: 1 !important; margin-bottom: 5px !important; }
.vjh-gate-kicker { font-size: 10px !important; letter-spacing: 3px !important; color: #bc8a5f !important; margin-bottom: 12px !important; text-transform: uppercase !important; font-weight: 600 !important; }
.vjh-gate-card h2 { font-family: 'Cormorant Garamond', serif !important; font-size: 28px !important; color: #2c221e !important; margin-bottom: 10px !important; font-weight: 600 !important; }
.vjh-gate-card p { font-size: 13px !important; color: #6b5c50 !important; line-height: 1.6 !important; margin-bottom: 25px !important; }
.vjh-gate-form { display: flex !important; flex-direction: column !important; gap: 12px !important; }
.vjh-gate-form input { 
padding: 14px !important; 
border-radius: 30px !important; 
border: 1px solid #e2d2c1 !important; 
background: #fcf9f5 !important; 
color: #2c221e !important; 
text-align: center !important; 
font-size: 14px !important;
outline: none !important;
}
.vjh-gate-form input:focus { border-color: #bc8a5f !important; background: #ffffff !important; }
.vjh-gate-form button { 
padding: 14px !important; 
border-radius: 30px !important; 
border: none !important; 
background: linear-gradient(135deg, #d4a373 0%, #bc8a5f 100%) !important; 
color: #ffffff !important; 
font-size: 11px !important;
letter-spacing: 1.5px !important;
text-transform: uppercase !important;
font-weight: 600 !important; 
cursor: pointer !important; 
box-shadow: 0 4px 15px rgba(188, 138, 95, 0.3) !important;
}
.vjh-gate-error { color: #d9534f !important; font-size: 12px !important; margin-top: 8px !important; } .vjh-lightbox {
position: fixed !important;
inset: 0 !important;
z-index: 999999 !important;
background: rgba(10, 12, 16, 0.95) !important;
backdrop-filter: blur(8px) !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
padding: 20px !important;
box-sizing: border-box !important;
}
.vjh-lightbox-content {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
max-width: 95vw !important;
max-height: 95vh !important;
}
.vjh-lightbox-content img, 
.vjh-lightbox-content video {
max-width: 90vw !important;
max-height: 80vh !important;
width: auto !important;
height: auto !important;
object-fit: contain !important;
border-radius: 8px !important;
box-shadow: 0 10px 40px rgba(0, 0, 0, 0.8) !important;
} button.vjh-lightbox-close,
button.vjh-lightbox-nav {
appearance: none !important;
-webkit-appearance: none !important;
background-color: #ffffff !important;
background-image: none !important;
color: #2c221e !important;
border: 1px solid #ebd9c8 !important;
border-radius: 50% !important;
box-shadow: 0 4px 15px rgba(0, 0, 0, 0.4) !important;
cursor: pointer !important;
display: flex !important;
align-items: center !important;
justify-content: center !important;
outline: none !important;
padding: 0 !important;
margin: 0 !important;
transition: all 0.2s ease !important;
z-index: 1000000 !important;
}
button.vjh-lightbox-close {
position: absolute !important;
top: 25px !important;
right: 25px !important;
width: 44px !important;
height: 44px !important;
font-size: 22px !important;
line-height: 1 !important;
}
button.vjh-lightbox-nav {
position: absolute !important;
top: 50% !important;
transform: translateY(-50%) !important;
width: 48px !important;
height: 48px !important;
font-size: 20px !important;
}
button.vjh-lightbox-prev { left: 25px !important; }
button.vjh-lightbox-next { right: 25px !important; } button.vjh-lightbox-close:hover,
button.vjh-lightbox-nav:hover {
background-color: #bc8a5f !important;
color: #ffffff !important;
border-color: #bc8a5f !important;
transform: translateY(-50%) scale(1.08) !important;
}
button.vjh-lightbox-close:hover {
transform: scale(1.08) !important;
} .vjh-download-btn { 
color: #ebd9c8 !important; 
text-decoration: none !important; 
display: inline-block !important; 
margin-top: 15px !important; 
font-size: 13px !important;
font-weight: 500 !important;
transition: color 0.2s !important;
}
.vjh-download-btn:hover {
color: #ffffff !important;
} .vjh-modal {
display: none !important;
position: fixed !important;
inset: 0 !important;
z-index: 9999999 !important;
background: rgba(0, 0, 0, 0.75) !important;
backdrop-filter: blur(4px) !important;
align-items: center !important;
justify-content: center !important;
}
.vjh-modal-card {
background: #ffffff !important;
border-radius: 16px !important;
padding: 35px 30px !important;
width: 90% !important;
max-width: 450px !important;
text-align: center !important;
box-shadow: 0 10px 30px rgba(0,0,0,0.3) !important;
border: 1px solid #ebd9c8 !important;
font-family: 'Montserrat', sans-serif !important;
}
.vjh-modal-card h3 {
font-family: 'Cormorant Garamond', serif !important;
font-size: 26px !important;
margin: 0 0 10px 0 !important;
color: #2c221e !important;
font-weight: 600 !important;
}
.vjh-modal-card p {
font-size: 13px !important;
color: #6b5c50 !important;
line-height: 1.5 !important;
}
.vjh-progress-bar {
width: 100% !important;
height: 14px !important;
background: #f0e6dc !important;
border-radius: 10px !important;
overflow: hidden !important;
margin: 20px 0 !important;
}
#vjh-progress-fill {
height: 100% !important;
background: linear-gradient(135deg, #d4a373 0%, #bc8a5f 100%) !important;
transition: width 0.3s ease !important;
}
.vjh-modal-close-btn {
background: linear-gradient(135deg, #d4a373 0%, #bc8a5f 100%) !important;
border: none !important;
color: #ffffff !important;
padding: 10px 24px !important;
border-radius: 20px !important;
cursor: pointer !important;
margin-top: 15px !important;
font-size: 12px !important;
font-weight: 600 !important;
text-transform: uppercase !important;
letter-spacing: 1px !important;
}