.kiss-gallery{width:100%;margin:24px 0;color:inherit}.kiss-gallery *{box-sizing:border-box}.kiss-album-grid,.kiss-photo-grid{display:grid;grid-template-columns:repeat(var(--kiss-columns,3),minmax(0,1fr));gap:24px}.kiss-gallery a.kiss-album-card{display:block;text-decoration:none!important;color:inherit;background:#fff;border:1px solid #e5e5e5;border-radius:10px;overflow:hidden;box-shadow:0 3px 14px #0000000a;transition:box-shadow .2s}.kiss-album-card:hover{box-shadow:0 6px 24px #0002!important}.kiss-gallery .kiss-cover,.kiss-placeholder{display:block;width:100%;height:auto;aspect-ratio:4/3;object-fit:cover}.kiss-placeholder{display:flex;align-items:center;justify-content:center;background:#eee;color:#555}.kiss-card-text{padding:18px}.kiss-card-text h3{font-size:1.2em;line-height:1.4;margin:0 0 8px;color:#202020}.kiss-card-text p{font-size:.9em;color:#666;margin:0}.kiss-photo{display:block;overflow:hidden;border-radius:6px}.kiss-photo img{width:100%;height:auto;aspect-ratio:1;object-fit:cover;display:block}.kiss-gallery a:focus-visible,.kiss-lightbox button:focus-visible{outline:3px solid #d78b22;outline-offset:4px}.kiss-back{display:inline-block;margin-bottom:18px}.kiss-description{margin-bottom:24px}.kiss-pagination{display:flex;flex-wrap:wrap;gap:20px;justify-content:center;align-items:center;margin-top:30px}.kiss-lightbox{position:fixed;inset:0;z-index:2147483647;display:flex;flex-direction:column;align-items:center;justify-content:center;background:#000f;color:#fff;padding:64px 60px 35px}.kiss-lightbox[hidden]{display:none}.kiss-lightbox img{max-width:100%;max-height:75vh;object-fit:contain}.kiss-lightbox p{color:#fff;text-align:center;margin:12px 0;max-width:850px}.kiss-lightbox button{background:#222;color:#fff;border:1px solid #888;border-radius:5px;font-size:24px;line-height:1;padding:12px;cursor:pointer;position:absolute}.kiss-lb-close{top:15px;right:20px}.kiss-lb-prev{left:10px;top:48%}.kiss-lb-next{right:10px;top:48%}@media(max-width:900px){.kiss-album-grid,.kiss-photo-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px}}@media(max-width:550px){.kiss-album-grid{grid-template-columns:1fr}.kiss-photo-grid{gap:10px}.kiss-lightbox{padding:65px 45px 25px}.kiss-card-text{padding:15px}}@media(prefers-reduced-motion:reduce){.kiss-album-card{transition:none!important}}

/* Dedicated album pages: cover banner and remaining photos. */
body.single-kiss_album{background:#fff}
.single-kiss_album .site-content>.ast-container{display:block;max-width:none;width:100%;padding:0}
.single-kiss_album .kiss-single-main{width:100%;max-width:none;margin:0!important;padding:0!important;float:none;border:0}
.single-kiss_album #masthead{position:absolute;top:0;left:0;right:0;width:100%;z-index:100}
.single-kiss_album.admin-bar #masthead{top:32px}
.single-kiss_album #masthead .ast-primary-header-bar,.single-kiss_album #masthead .main-header-bar{background:transparent;border-bottom:0;box-shadow:none}
.kiss-album-hero{position:relative;isolation:isolate;width:100%;min-height:440px;background:#151515;display:flex;align-items:center;justify-content:center;overflow:hidden;padding:150px 24px 80px;box-sizing:border-box}
.kiss-hero-image{position:absolute!important;inset:0;width:100%!important;height:100%!important;object-fit:cover;object-position:center 35%;z-index:-2}
.kiss-hero-shade{position:absolute;inset:0;z-index:-1;background:linear-gradient(180deg,rgba(0,0,0,.65),rgba(0,0,0,.38) 50%,rgba(0,0,0,.75))}
.kiss-hero-inner{max-width:1100px;text-align:center;color:#fff}
.kiss-album-hero .kiss-hero-label{margin:0 0 12px;color:#fff;font-size:13px;font-weight:600;letter-spacing:.2em}
.kiss-album-hero h1{color:#fff!important;margin:0!important;font-size:clamp(30px,5vw,58px);font-weight:700;line-height:1.15;overflow-wrap:anywhere;text-shadow:0 2px 16px #0006}
.kiss-gallery.kiss-album-body{max-width:1200px;margin:0 auto;padding:36px 24px 60px}
@media(max-width:782px){.single-kiss_album.admin-bar #masthead{top:46px}}
@media(max-width:550px){.kiss-album-hero{min-height:340px;padding:130px 20px 60px}.kiss-gallery.kiss-album-body{padding:26px 16px 40px}}

/* Hello Elementor / Header Footer Elementor load their header styles later. */
body.single-kiss_album #masthead{position:absolute!important;top:0!important;left:0!important;right:0!important;width:100%!important;max-width:none!important;z-index:1000!important;background:transparent!important;margin:0!important}
body.single-kiss_album.admin-bar #masthead{top:32px!important}
body.single-kiss_album #masthead>.elementor{background:transparent!important}
body.single-kiss_album .kiss-back{color:#333;text-decoration:underline}
body.single-kiss_album .kiss-single-main{position:relative;z-index:0}
@media(max-width:782px){body.single-kiss_album.admin-bar #masthead{top:46px!important}}
.kiss-access-gate{position:relative;min-height:440px;overflow:hidden;border-radius:10px;background:#eee}
.kiss-fake-photos{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;filter:blur(12px);padding:12px;pointer-events:none;opacity:.6}
.kiss-fake-photos span{display:block;aspect-ratio:1;background:linear-gradient(145deg,#3b2645,#b57687 45%,#392a43 70%,#9b833f)}
.kiss-gate-message{position:absolute;inset:0;display:flex;flex-direction:column;align-items:center;justify-content:center;text-align:center;padding:28px;background:#ffffffbd;color:#222}
.kiss-gate-message h2{color:#222!important;font-size:clamp(22px,3vw,32px);margin:0 0 12px}.kiss-gate-message p{color:#333}
.kiss-open-auth,#kiss-auth-dialog button[type=submit]{background:#171717;color:#fff;border:0;border-radius:30px;padding:14px 25px;cursor:pointer;font:600 16px/1.4 inherit}
#kiss-auth-dialog{width:calc(100% - 32px);max-width:460px;max-height:90vh;overflow:auto;border:0;border-radius:14px;padding:30px;color:#222;background:#fff;box-shadow:0 20px 80px #0005;z-index:2147483647}
#kiss-auth-dialog:not([open]){display:none}#kiss-auth-dialog::backdrop{background:#000b}#kiss-auth-dialog h2{color:#222;margin:0 30px 12px 0;font-size:26px}
#kiss-auth-dialog .kiss-auth-close{position:absolute;right:12px;top:10px;background:none;border:0;color:#222;font-size:30px;cursor:pointer;padding:5px 10px}
.kiss-auth-tabs{display:flex;gap:10px;margin:18px 0}.kiss-auth-tabs button{flex:1;border:1px solid #ccc;border-radius:6px;background:#eee;color:#222;padding:10px;cursor:pointer}.kiss-auth-tabs button[aria-pressed=true]{background:#191919;color:#fff}
#kiss-auth-dialog .kiss-auth-form[hidden]{display:none}#kiss-auth-dialog label{display:block;margin-bottom:14px;font-weight:600}#kiss-auth-dialog input:not([type=hidden]){display:block;width:100%;box-sizing:border-box;margin-top:6px;border:1px solid #aaa;border-radius:5px;padding:12px;color:#222;background:#fff;font-size:16px}
#kiss-auth-dialog button[type=submit]{width:100%}.kiss-auth-small{font-size:13px;color:#555}.kiss-reset-password{display:block;margin-top:14px;text-align:center}.kiss-auth-error{background:#fff0f0;color:#8b1515;padding:12px}.kiss-honeypot{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}
#kiss-auth-dialog :focus-visible,.kiss-open-auth:focus-visible{outline:3px solid #a77b18;outline-offset:3px}
/* Keep authentication UI readable under Elementor global form/button styles. */
#kiss-auth-dialog label{color:#222!important;-webkit-text-fill-color:#222!important;opacity:1!important;visibility:visible!important;font-size:14px!important;font-weight:600!important;line-height:1.5!important;text-transform:none!important}
#kiss-auth-dialog input[type=email],#kiss-auth-dialog input[type=password],#kiss-auth-dialog input[type=tel]{display:block!important;width:100%!important;height:48px!important;min-height:48px!important;padding:11px 12px!important;border:1px solid #999!important;border-radius:6px!important;background:#fff!important;color:#222!important;-webkit-text-fill-color:#222!important;opacity:1!important;visibility:visible!important;font-size:16px!important;line-height:24px!important;box-sizing:border-box!important;text-indent:0!important;caret-color:#222!important}
#kiss-auth-dialog input::placeholder{color:#666!important;-webkit-text-fill-color:#666!important;opacity:1!important}
#kiss-auth-dialog input:focus{border-color:#a77b18!important;outline:2px solid #a77b18!important;outline-offset:2px!important}
#kiss-auth-dialog button[type=submit],#kiss-auth-dialog button[type=submit]:hover,#kiss-auth-dialog button[type=submit]:focus,#kiss-auth-dialog button[type=submit]:active,.kiss-access-gate .kiss-open-auth,.kiss-access-gate .kiss-open-auth:hover,.kiss-access-gate .kiss-open-auth:focus,.kiss-access-gate .kiss-open-auth:active{background:#171717!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border:1px solid #171717!important;opacity:1!important;visibility:visible!important;font-family:inherit!important;font-size:16px!important;font-weight:600!important;line-height:1.4!important;text-decoration:none!important;text-shadow:none!important}
#kiss-auth-dialog button[type=submit]:hover,.kiss-access-gate .kiss-open-auth:hover{background:#333!important;border-color:#333!important}
#kiss-auth-dialog .kiss-auth-tabs button,#kiss-auth-dialog .kiss-auth-tabs button:hover,#kiss-auth-dialog .kiss-auth-tabs button:focus{background:#eee!important;color:#222!important;-webkit-text-fill-color:#222!important;border:1px solid #ccc!important;border-radius:6px!important;padding:12px!important;font-size:15px!important;line-height:1.4!important;opacity:1!important;text-shadow:none!important}
#kiss-auth-dialog .kiss-auth-tabs button[aria-pressed=true],#kiss-auth-dialog .kiss-auth-tabs button[aria-pressed=true]:hover,#kiss-auth-dialog .kiss-auth-tabs button[aria-pressed=true]:focus{background:#191919!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#191919!important}
#kiss-auth-dialog .kiss-auth-close,#kiss-auth-dialog .kiss-auth-close:hover,#kiss-auth-dialog .kiss-auth-close:focus{color:#222!important;-webkit-text-fill-color:#222!important;background:transparent!important;border:0!important;padding:5px 10px!important;font-size:30px!important;line-height:1!important}
#kiss-auth-dialog .kiss-reset-password,#kiss-auth-dialog .kiss-reset-password:hover{color:#333!important;-webkit-text-fill-color:#333!important;text-decoration:underline!important}
#kiss-auth-dialog .kiss-auth-small,#kiss-auth-dialog .kiss-auth-feedback{color:#444!important;-webkit-text-fill-color:#444!important}
#kiss-auth-dialog .kiss-auth-form[hidden]{display:none!important}

body.kiss-gallery-auth-page{background:#000!important}body.kiss-gallery-auth-page #masthead{position:absolute!important;inset:0 0 auto!important;width:100%!important;z-index:1000!important;background:transparent!important}body.kiss-gallery-auth-page.admin-bar #masthead{top:32px!important}body.kiss-gallery-auth-page .site-content>.ast-container{display:block;max-width:none;padding:0;width:100%}@media(max-width:782px){body.kiss-gallery-auth-page.admin-bar #masthead{top:46px!important}}
/* On-page authentication: black background and white text. */
body #kiss-auth-dialog.kiss-auth-inline{display:block!important;position:static!important;inset:auto!important;width:100%;max-width:480px;max-height:none!important;overflow:visible;margin:0 auto!important;padding:32px!important;border:1px solid #333!important;border-radius:12px!important;background:#000!important;color:#fff!important;box-shadow:none!important;box-sizing:border-box}
body #kiss-auth-dialog.kiss-auth-inline h2,body #kiss-auth-dialog.kiss-auth-inline p,body #kiss-auth-dialog.kiss-auth-inline label,body #kiss-auth-dialog.kiss-auth-inline .kiss-reset-password,body #kiss-auth-dialog.kiss-auth-inline .kiss-reset-password:hover{color:#fff!important;-webkit-text-fill-color:#fff!important}
body #kiss-auth-dialog.kiss-auth-inline input[type=email],body #kiss-auth-dialog.kiss-auth-inline input[type=password],body #kiss-auth-dialog.kiss-auth-inline input[type=tel]{background:#151515!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#777!important}
body #kiss-auth-dialog.kiss-auth-inline input::placeholder{color:#aaa!important;-webkit-text-fill-color:#aaa!important}
body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button,body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button:hover,body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button:focus{background:#151515!important;color:#fff!important;-webkit-text-fill-color:#fff!important;border-color:#555!important}
body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button[aria-pressed=true],body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button[aria-pressed=true]:hover,body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs button[aria-pressed=true]:focus,body #kiss-auth-dialog.kiss-auth-inline button[type=submit],body #kiss-auth-dialog.kiss-auth-inline button[type=submit]:hover,body #kiss-auth-dialog.kiss-auth-inline button[type=submit]:focus{background:#fff!important;color:#000!important;-webkit-text-fill-color:#000!important;border-color:#fff!important}
body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-error{background:#391919!important}
body #kiss-auth-dialog.kiss-auth-inline .kiss-auth-tabs[hidden]{display:none!important}
@media(max-width:550px){body #kiss-auth-dialog.kiss-auth-inline{padding:22px!important}}
/* Keep browser-saved credentials readable on the dark login form. */
body #kiss-auth-dialog.kiss-auth-inline input:is([type=email],[type=password],[type=tel]){color-scheme:dark;caret-color:#fff!important}
body #kiss-auth-dialog.kiss-auth-inline input:-webkit-autofill,
body #kiss-auth-dialog.kiss-auth-inline input:-webkit-autofill:hover,
body #kiss-auth-dialog.kiss-auth-inline input:-webkit-autofill:focus,
body #kiss-auth-dialog.kiss-auth-inline input:-webkit-autofill:active{
    -webkit-text-fill-color:#fff!important;
    color:#fff!important;
    caret-color:#fff!important;
    -webkit-box-shadow:0 0 0 1000px #151515 inset!important;
    box-shadow:0 0 0 1000px #151515 inset!important;
    border-color:#777!important;
}
body #kiss-auth-dialog.kiss-auth-inline input:autofill{
    color:#fff!important;
    -webkit-text-fill-color:#fff!important;
    caret-color:#fff!important;
    box-shadow:0 0 0 1000px #151515 inset!important;
}
