:root{
  --lsg-bg:#0a0a0a;
  --lsg-text:#f6f2ec;
  --lsg-muted:rgba(246,242,236,.68);
  --lsg-line:rgba(255,255,255,.14);
  --lsg-accent:#d1ad70;
  --lsg-serif:"Iowan Old Style","Palatino Linotype",Palatino,Georgia,serif;
  --lsg-sans:Inter,ui-sans-serif,-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth;background:var(--lsg-bg)}
html.lsg-lock,body.lsg-lock{overflow:hidden!important;height:100%!important;overscroll-behavior:none!important}
body.lsg-body{margin:0!important;padding:0!important;background:var(--lsg-bg)!important;color:var(--lsg-text)!important;font-family:var(--lsg-sans)!important;-webkit-font-smoothing:antialiased;overflow-x:hidden!important}
.lsg-shell,.lsg-shell *{box-sizing:border-box}
.lsg-shell{min-height:100vh;background:var(--lsg-bg);color:var(--lsg-text);font-family:var(--lsg-sans)}
.lsg-shell button,.lsg-shell input,.lsg-shell textarea{font:inherit}
.lsg-brand{position:fixed;top:24px;left:28px;z-index:30;color:#fff!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.2em;font-size:11px;font-weight:650;text-shadow:0 1px 20px rgba(0,0,0,.5)}
.lsg-hero{position:relative;min-height:100svh;display:grid;place-items:end center;overflow:hidden;isolation:isolate}
.lsg-hero__image{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;max-width:none!important;max-height:none!important;object-fit:cover!important;object-position:center!important;z-index:-3;animation:lsgHeroReveal 1.2s ease both}
.lsg-hero::before{content:"";position:absolute;inset:0;z-index:-2;background:linear-gradient(180deg,rgba(0,0,0,.24),rgba(0,0,0,.04) 34%,rgba(0,0,0,.78) 100%)}
.lsg-hero__content{width:min(920px,calc(100% - 36px));padding:110px 0 64px;text-align:center;animation:lsgContentReveal 1s .12s ease both}
.lsg-kicker{margin:0 0 18px;text-transform:uppercase;letter-spacing:.28em;font-size:10px;font-weight:700;color:rgba(255,255,255,.78)}
.lsg-title{margin:0;font-family:var(--lsg-serif);font-size:clamp(52px,9vw,112px);line-height:.88;font-weight:400;letter-spacing:-.055em;text-wrap:balance}
.lsg-meta{display:flex;justify-content:center;align-items:center;gap:12px;margin-top:22px;color:rgba(255,255,255,.8);font-size:12px;letter-spacing:.08em;text-transform:uppercase}
.lsg-meta__dot{width:3px;height:3px;border-radius:50%;background:currentColor;opacity:.65}
.lsg-intro{max-width:620px;margin:26px auto 0;font-family:var(--lsg-serif);font-size:clamp(18px,2vw,24px);line-height:1.5;color:rgba(255,255,255,.84)}
.lsg-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:10px;margin-top:34px}
.lsg-shell .lsg-button,.lsg-shell button.lsg-button,.lsg-shell a.lsg-button{appearance:none!important;-webkit-appearance:none!important;min-height:48px!important;padding:0 22px!important;border:1px solid rgba(255,255,255,.42)!important;border-radius:999px!important;background:rgba(0,0,0,.38)!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:9px!important;text-decoration:none!important;font-size:12px!important;font-weight:680!important;letter-spacing:.08em!important;text-transform:uppercase!important;box-shadow:none!important;cursor:pointer!important;transition:transform .2s ease,background .2s ease,color .2s ease,border-color .2s ease!important}
.lsg-shell .lsg-button:hover,.lsg-shell button.lsg-button:hover,.lsg-shell a.lsg-button:hover{transform:translateY(-1px)!important;background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#fff!important}
.lsg-shell .lsg-button--primary,.lsg-shell button.lsg-button--primary,.lsg-shell a.lsg-button--primary{background:#fff!important;color:#111!important;-webkit-text-fill-color:#111!important;border-color:#fff!important}
.lsg-shell .lsg-button--primary:hover,.lsg-shell button.lsg-button--primary:hover,.lsg-shell a.lsg-button--primary:hover{background:var(--lsg-accent)!important;border-color:var(--lsg-accent)!important;color:#111!important;-webkit-text-fill-color:#111!important}
.lsg-scroll-cue{position:absolute;right:28px;bottom:28px;display:flex;align-items:center;gap:10px;text-transform:uppercase;letter-spacing:.15em;font-size:9px;color:rgba(255,255,255,.65);writing-mode:vertical-rl}
.lsg-scroll-cue::after{content:"";width:1px;height:45px;background:rgba(255,255,255,.5)}
.lsg-nav{position:sticky;top:0;z-index:25;display:flex;justify-content:center;gap:7px;padding:13px 16px;overflow-x:auto;background:rgba(10,10,10,.88);border-bottom:1px solid var(--lsg-line);backdrop-filter:blur(18px);scrollbar-width:none}
.lsg-nav::-webkit-scrollbar{display:none}
.lsg-nav__link{flex:0 0 auto;padding:10px 15px;border-radius:999px;color:var(--lsg-muted)!important;text-decoration:none!important;text-transform:uppercase;letter-spacing:.11em;font-size:10px;font-weight:700}
.lsg-nav__link:hover{color:#fff!important;background:rgba(255,255,255,.08)!important}
.lsg-main{width:min(1500px,100%);margin:0 auto;padding:46px 18px 100px}
.lsg-section{scroll-margin-top:84px;padding:52px 0 26px}
.lsg-section__header{display:grid;grid-template-columns:1fr auto;align-items:end;gap:20px;margin:0 auto 24px;width:min(1120px,100%)}
.lsg-section__eyebrow{margin:0 0 8px;color:var(--lsg-accent);text-transform:uppercase;letter-spacing:.22em;font-size:9px;font-weight:750}
.lsg-section__title{margin:0;font-family:var(--lsg-serif);font-size:clamp(38px,5vw,68px);line-height:1;font-weight:400;letter-spacing:-.035em}
.lsg-section__count{color:var(--lsg-muted);font-size:11px;letter-spacing:.12em;text-transform:uppercase}
.lsg-grid{columns:4 260px;column-gap:8px}
.lsg-card{position:relative;margin:0 0 8px;break-inside:avoid;overflow:hidden;background:#171717;cursor:zoom-in}
.lsg-card img{width:100%!important;height:auto!important;max-width:100%!important;display:block!important;transform:none!important;transition:filter .3s ease!important}
.lsg-card:hover img{filter:brightness(1.025)}
.lsg-shell .lsg-favorite{appearance:none!important;-webkit-appearance:none!important;position:absolute!important;right:10px!important;top:10px!important;z-index:2!important;width:39px!important;height:39px!important;padding:0!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:50%!important;display:grid!important;place-items:center!important;background:rgba(0,0,0,.58)!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;backdrop-filter:blur(10px);cursor:pointer!important;opacity:0;transform:translateY(-4px);transition:.2s ease!important}
.lsg-card:hover .lsg-favorite,.lsg-favorite.is-favorite{opacity:1;transform:translateY(0)}
.lsg-shell .lsg-favorite.is-favorite{color:#111!important;-webkit-text-fill-color:#111!important;background:#fff!important;border-color:#fff!important}
.lsg-favorite svg{width:18px;height:18px}
.lsg-gallery-footer{width:min(860px,calc(100% - 36px));margin:72px auto 0;padding:64px 0 30px;text-align:center;border-top:1px solid var(--lsg-line)}
.lsg-gallery-footer__title{margin:0;font-family:var(--lsg-serif);font-size:clamp(36px,5vw,60px);font-weight:400;letter-spacing:-.04em}
.lsg-gallery-footer__text{margin:16px auto 28px;color:var(--lsg-muted);line-height:1.7;max-width:560px}

/* Dialogs isolated from the WordPress theme */
.lsg-shell dialog.lsg-dialog{position:fixed!important;inset:0!important;top:0!important;left:0!important;width:100vw!important;height:100dvh!important;max-width:100vw!important;max-height:100dvh!important;margin:0!important;padding:0!important;border:0!important;border-radius:0!important;background:#000!important;background-image:none!important;color:#fff!important;overflow:hidden!important;box-shadow:none!important;z-index:2147483000!important}
.lsg-shell dialog.lsg-dialog::backdrop{background:#000!important}
.lsg-shell dialog.lsg-dialog[open]{display:flex!important;align-items:center!important;justify-content:center!important}
.lsg-shell .lsg-dialog__close,.lsg-shell .lsg-lightbox__nav,.lsg-shell .lsg-slideshow__nav,.lsg-shell .lsg-icon-button{appearance:none!important;-webkit-appearance:none!important;border:1px solid rgba(255,255,255,.2)!important;background:rgba(0,0,0,.58)!important;background-image:none!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;backdrop-filter:blur(12px);cursor:pointer!important}
.lsg-dialog__close{position:fixed!important;right:18px!important;top:18px!important;z-index:40!important;width:46px!important;height:46px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:27px!important;line-height:1!important}
.lsg-lightbox__stage,.lsg-slideshow__stage{position:absolute!important;inset:0!important;width:100vw!important;height:100dvh!important;padding:68px 82px 84px!important;display:flex!important;align-items:center!important;justify-content:center!important;overflow:hidden!important;background:#000!important}
.lsg-lightbox__image,.lsg-slideshow__image{display:block!important;width:auto!important;height:auto!important;max-width:100%!important;max-height:100%!important;min-width:0!important;min-height:0!important;object-fit:contain!important;object-position:center center!important;margin:auto!important;padding:0!important;border:0!important;border-radius:0!important;box-shadow:none!important;transform:none!important;zoom:1!important}
.lsg-lightbox__image{opacity:1!important}
.lsg-slideshow__image{opacity:0!important;transition:opacity .72s ease!important}
.lsg-slideshow__image.is-visible{opacity:1!important;transform:none!important}
.lsg-lightbox__nav,.lsg-slideshow__nav{position:fixed!important;top:50%!important;z-index:35!important;width:50px!important;height:50px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:30px!important;line-height:1!important;transform:translateY(-50%)!important}
.lsg-lightbox__nav--prev,.lsg-slideshow__nav--prev{left:18px!important}
.lsg-lightbox__nav--next,.lsg-slideshow__nav--next{right:18px!important}
.lsg-slideshow__controls{position:fixed!important;left:50%!important;bottom:max(18px,env(safe-area-inset-bottom))!important;z-index:38!important;transform:translateX(-50%)!important;display:grid!important;grid-template-columns:42px minmax(82px,auto)!important;align-items:center!important;gap:10px!important;width:auto!important;min-width:220px!important;padding:10px 12px 13px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:18px!important;background:rgba(7,7,7,.7)!important;backdrop-filter:blur(16px)}
.lsg-shell .lsg-icon-button{width:42px!important;height:42px!important;padding:0!important;border-radius:50%!important;display:grid!important;place-items:center!important;font-size:18px!important}
.lsg-shell .lsg-icon-button:hover,.lsg-shell .lsg-dialog__close:hover,.lsg-shell .lsg-lightbox__nav:hover,.lsg-shell .lsg-slideshow__nav:hover{background:rgba(255,255,255,.16)!important;color:#fff!important;-webkit-text-fill-color:#fff!important}
.lsg-slideshow__counter{text-align:center;color:rgba(255,255,255,.72);font-size:10px;letter-spacing:.16em;text-transform:uppercase;white-space:nowrap}


/* Selection dialog */
.lsg-shell dialog.lsg-selection-dialog{background:rgba(0,0,0,.88)!important;overflow:auto!important;padding:22px!important}
.lsg-shell dialog.lsg-selection-dialog[open]{display:grid!important;place-items:center!important}
.lsg-selection-panel{width:min(660px,100%);margin:auto;padding:34px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:#111;color:#fff;box-shadow:0 30px 100px rgba(0,0,0,.48)}
.lsg-selection-panel__eyebrow{margin:0 0 8px;color:var(--lsg-accent);text-transform:uppercase;letter-spacing:.2em;font-size:9px;font-weight:750}
.lsg-selection-panel h2{margin:0;font-family:var(--lsg-serif);font-size:clamp(34px,5vw,52px);font-weight:400;letter-spacing:-.035em}
.lsg-selection-panel__intro{margin:12px 0 24px;color:var(--lsg-muted);line-height:1.6}
.lsg-selection-types{display:grid;gap:9px;margin:0;padding:0;border:0}
.lsg-selection-types legend{margin-bottom:9px;font-size:11px;text-transform:uppercase;letter-spacing:.12em;color:var(--lsg-muted)}
.lsg-selection-type{display:grid;grid-template-columns:auto 1fr;gap:11px;align-items:start;padding:13px 14px;border:1px solid var(--lsg-line);border-radius:12px;background:#171717;cursor:pointer}
.lsg-selection-type:has(input:checked){border-color:var(--lsg-accent);background:#1d1913}
.lsg-selection-type input{margin-top:4px;accent-color:var(--lsg-accent)}
.lsg-selection-type span{display:grid;gap:3px}.lsg-selection-type small{color:var(--lsg-muted);line-height:1.45}
.lsg-selection-fields{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:18px}.lsg-selection-fields label{display:grid;gap:6px}.lsg-selection-fields label span{font-size:11px;text-transform:uppercase;letter-spacing:.1em;color:var(--lsg-muted)}.lsg-selection-fields__full{grid-column:1/-1}
.lsg-selection-fields input,.lsg-selection-fields textarea{width:100%!important;border:1px solid rgba(255,255,255,.17)!important;border-radius:10px!important;background:#0b0b0b!important;color:#fff!important;-webkit-text-fill-color:#fff!important;box-shadow:none!important;outline:none!important}.lsg-selection-fields input{height:48px!important;padding:0 13px!important}.lsg-selection-fields textarea{padding:12px 13px!important;resize:vertical}.lsg-selection-fields input:focus,.lsg-selection-fields textarea:focus{border-color:var(--lsg-accent)!important}
.lsg-selection-limit-message{min-height:21px;margin:12px 0;color:#f1c88c;font-size:12px}.lsg-selection-submit{width:100%!important}
.lsg-toast{position:fixed;left:50%;bottom:28px;z-index:2147483647;transform:translate(-50%,18px);padding:12px 18px;border:1px solid rgba(255,255,255,.13);border-radius:999px;background:rgba(20,20,20,.94);color:#fff;font-size:12px;opacity:0;pointer-events:none;transition:.2s ease;backdrop-filter:blur(12px)}
.lsg-toast.is-visible{opacity:1;transform:translate(-50%,0)}

/* Password */
.lsg-password{min-height:100svh;position:relative;display:grid;place-items:center;padding:24px;isolation:isolate;overflow:hidden;background:#000;color:#fff;font-family:var(--lsg-sans)}
.lsg-password__cover{position:absolute!important;inset:0!important;width:100%!important;height:100%!important;object-fit:cover!important;z-index:-3}
.lsg-password::before{content:"";position:absolute;inset:0;z-index:-2;background:rgba(0,0,0,.64);backdrop-filter:blur(8px)}
.lsg-password__card{width:min(460px,100%);padding:40px;border:1px solid rgba(255,255,255,.14);border-radius:22px;background:rgba(12,12,12,.75);text-align:center;backdrop-filter:blur(20px)}
.lsg-password__brand{margin-bottom:34px;text-transform:uppercase;letter-spacing:.2em;font-size:10px}.lsg-password__title{margin:0;font-family:var(--lsg-serif);font-size:42px;font-weight:400;letter-spacing:-.04em}.lsg-password__text{color:var(--lsg-muted);line-height:1.65;margin:12px 0 24px}.lsg-password form{display:grid;gap:10px}.lsg-password input{width:100%!important;height:50px!important;padding:0 16px!important;border-radius:999px!important}.lsg-password input[type=password]{border:1px solid rgba(255,255,255,.2)!important;outline:none!important;background:rgba(255,255,255,.07)!important;color:#fff!important;text-align:center!important}.lsg-password input[type=submit]{appearance:none!important;border:0!important;background:#fff!important;background-image:none!important;color:#111!important;-webkit-text-fill-color:#111!important;text-transform:uppercase!important;letter-spacing:.1em!important;font-size:11px!important;font-weight:750!important;cursor:pointer!important;box-shadow:none!important}
.lsg-empty{width:min(800px,calc(100% - 36px));margin:80px auto;padding:48px;text-align:center;border:1px solid var(--lsg-line);border-radius:22px;color:var(--lsg-muted)}
@keyframes lsgHeroReveal{from{opacity:0;transform:scale(1.035)}to{opacity:1;transform:scale(1)}}
@keyframes lsgContentReveal{from{opacity:0;transform:translateY(14px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:720px){
  .lsg-brand{top:18px;left:18px;font-size:9px}.lsg-hero__content{padding-bottom:42px}.lsg-title{font-size:clamp(48px,17vw,74px)}.lsg-meta{flex-wrap:wrap;font-size:9px}.lsg-intro{font-size:18px}.lsg-actions{display:grid}.lsg-shell .lsg-button{width:100%!important}.lsg-scroll-cue{display:none}.lsg-main{padding:22px 6px 80px}.lsg-section{padding-top:38px}.lsg-section__header{padding:0 12px;grid-template-columns:1fr;gap:8px}.lsg-section__count{display:none}.lsg-grid{columns:2 150px;column-gap:5px}.lsg-card{margin-bottom:5px}.lsg-shell .lsg-favorite{opacity:1;transform:none;width:34px!important;height:34px!important}.lsg-lightbox__stage,.lsg-slideshow__stage{padding:60px 10px 82px!important}.lsg-lightbox__nav,.lsg-slideshow__nav{display:none!important}.lsg-dialog__close{top:12px!important;right:12px!important;width:44px!important;height:44px!important}.lsg-slideshow__controls{bottom:max(10px,env(safe-area-inset-bottom))!important}.lsg-selection-panel{padding:26px 18px}.lsg-selection-fields{grid-template-columns:1fr}.lsg-selection-fields__full{grid-column:auto}.lsg-shell dialog.lsg-selection-dialog{padding:12px!important}
}
@media(prefers-reduced-motion:reduce){*,*::before,*::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}


/* v0.5 */
.lsg-nav{justify-content:space-between!important;align-items:center!important}
.lsg-nav__chapters{display:flex;gap:7px;overflow-x:auto;scrollbar-width:none;flex:1 1 auto}
.lsg-nav__chapters::-webkit-scrollbar{display:none}
.lsg-favorites-count{flex:0 0 auto!important;min-width:54px!important;height:38px!important;padding:0 12px!important;margin-left:8px!important;border:1px solid rgba(255,255,255,.16)!important;border-radius:999px!important;background:rgba(255,255,255,.06)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;box-shadow:none!important;cursor:pointer!important}
.lsg-favorites-count:hover,.lsg-favorites-count:focus,.lsg-favorites-count.has-favorites{background:#fff!important;border-color:#fff!important;color:#111!important}
.lsg-favorites-count svg{width:16px!important;height:16px!important}
.lsg-favorites-count span{font-size:12px!important;font-weight:750!important;line-height:1!important}
.lsg-lightbox__favorite{position:fixed!important;top:18px!important;left:18px!important;z-index:22!important;min-height:44px!important;padding:0 16px!important;border:1px solid rgba(255,255,255,.18)!important;border-radius:999px!important;background:rgba(0,0,0,.46)!important;color:#fff!important;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:8px!important;backdrop-filter:blur(12px);box-shadow:none!important;cursor:pointer!important}
.lsg-lightbox__favorite:hover,.lsg-lightbox__favorite:focus,.lsg-lightbox__favorite.is-favorite{background:#fff!important;border-color:#fff!important;color:#111!important}
.lsg-lightbox__favorite svg{width:18px!important;height:18px!important}
.lsg-lightbox__favorite span{font-size:11px!important;font-weight:750!important;letter-spacing:.08em!important;text-transform:uppercase!important}
.lsg-lightbox__counter{position:fixed!important;left:50%!important;bottom:18px!important;z-index:20!important;transform:translateX(-50%)!important;min-width:70px!important;height:36px!important;padding:0 13px!important;border:1px solid rgba(255,255,255,.14)!important;border-radius:999px!important;background:rgba(0,0,0,.45)!important;color:rgba(255,255,255,.84)!important;display:grid!important;place-items:center!important;font-size:11px!important;font-weight:700!important;letter-spacing:.08em!important;backdrop-filter:blur(12px)}
@media(max-width:720px){
.lsg-nav{padding:10px 8px 10px 10px!important}
.lsg-nav__chapters{justify-content:flex-start!important}
.lsg-favorites-count{position:sticky!important;right:0!important;min-width:50px!important;margin-left:5px!important;background:rgba(11,11,11,.96)!important}
.lsg-lightbox__favorite{top:12px!important;left:12px!important;min-height:42px!important;padding:0 13px!important}
.lsg-dialog__close{top:12px!important;right:12px!important}
.lsg-lightbox__nav{display:grid!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;width:46px!important;height:46px!important;background:rgba(0,0,0,.48)!important;border-color:rgba(255,255,255,.25)!important;font-size:30px!important}
.lsg-lightbox__nav--prev{left:10px!important}
.lsg-lightbox__nav--next{right:10px!important}
.lsg-lightbox__image{padding:68px 8px 58px!important;max-width:100vw!important;max-height:100dvh!important;object-fit:contain!important}
.lsg-lightbox__counter{bottom:12px!important}
}


/* v0.6 — selection extras and robust interaction state */
.lsg-selection-limit-message {
    padding: 10px 12px !important;
    border: 1px solid rgba(209,173,112,.28) !important;
    border-radius: 10px !important;
    background: rgba(209,173,112,.07) !important;
    line-height: 1.5 !important;
}

.lsg-shell button:disabled,
.lsg-shell .lsg-button:disabled {
    opacity: .45 !important;
    cursor: not-allowed !important;
    transform: none !important;
}


/* v0.7 — lightbox controls, music, volume and selection confirmation */
.lsg-lightbox__controls {
    position: fixed !important;
    left: 50% !important;
    bottom: max(16px, env(safe-area-inset-bottom)) !important;
    z-index: 30 !important;
    transform: translateX(-50%) !important;
    display: flex !important;
    align-items: center !important;
    justify-content: center !important;
    gap: 8px !important;
    width: auto !important;
    max-width: calc(100vw - 24px) !important;
    min-height: 50px !important;
    padding: 7px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;
    background: rgba(7,7,7,.76) !important;
    backdrop-filter: blur(18px);
}

.lsg-lightbox__favorite {
    position: static !important;
    inset: auto !important;
    min-height: 38px !important;
    height: 38px !important;
    padding: 0 13px !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.08) !important;
    backdrop-filter: none !important;
}

.lsg-lightbox__counter {
    position: static !important;
    inset: auto !important;
    transform: none !important;
    min-width: 72px !important;
    height: 38px !important;
    padding: 0 11px !important;
    background: rgba(255,255,255,.06) !important;
    backdrop-filter: none !important;
}

.lsg-music-button {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 38px !important;
    height: 38px !important;
    padding: 0 !important;
    border: 1px solid rgba(255,255,255,.16) !important;
    border-radius: 50% !important;
    background: rgba(255,255,255,.08) !important;
    color: #fff !important;
    display: grid !important;
    place-items: center !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.lsg-music-button:hover,
.lsg-music-button:focus,
.lsg-music-button.is-playing {
    background: #fff !important;
    border-color: #fff !important;
    color: #111 !important;
}

.lsg-music-button svg {
    width: 17px !important;
    height: 17px !important;
}

.lsg-volume-control {
    display: inline-flex !important;
    align-items: center !important;
    gap: 7px !important;
    min-width: 128px !important;
    height: 38px !important;
    padding: 0 11px !important;
    border: 1px solid rgba(255,255,255,.13) !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.06) !important;
    color: #fff !important;
}

.lsg-volume-control svg {
    flex: 0 0 auto !important;
    width: 16px !important;
    height: 16px !important;
}

.lsg-volume-control input[type="range"] {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 82px !important;
    height: 3px !important;
    margin: 0 !important;
    padding: 0 !important;
    border: 0 !important;
    border-radius: 999px !important;
    background: rgba(255,255,255,.25) !important;
    box-shadow: none !important;
    cursor: pointer !important;
}

.lsg-volume-control input[type="range"]::-webkit-slider-thumb {
    appearance: none !important;
    -webkit-appearance: none !important;
    width: 14px !important;
    height: 14px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: none !important;
}

.lsg-volume-control input[type="range"]::-moz-range-thumb {
    width: 14px !important;
    height: 14px !important;
    border: 0 !important;
    border-radius: 50% !important;
    background: #fff !important;
    box-shadow: none !important;
}

.lsg-slideshow__controls {
    grid-template-columns: 42px minmax(82px,auto) minmax(128px,auto) !important;
    min-width: 380px !important;
}

.lsg-volume-control--slideshow {
    min-width: 128px !important;
}

.lsg-shell dialog.lsg-selection-success[open] {
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
}

.lsg-selection-success__card {
    width: min(500px, 100%) !important;
    padding: 42px 34px 34px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 24px !important;
    background: #111 !important;
    color: #fff !important;
    text-align: center !important;
    box-shadow: 0 30px 100px rgba(0,0,0,.48) !important;
}

.lsg-selection-success__icon {
    width: 64px !important;
    height: 64px !important;
    margin: 0 auto 20px !important;
    border-radius: 50% !important;
    display: grid !important;
    place-items: center !important;
    background: #fff !important;
    color: #111 !important;
    font-size: 30px !important;
    font-weight: 800 !important;
}

.lsg-selection-success__card h2 {
    margin: 0 !important;
    font-family: var(--lsg-serif) !important;
    font-size: clamp(34px, 5vw, 48px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}

.lsg-selection-success__card p:not(.lsg-selection-panel__eyebrow) {
    margin: 16px 0 26px !important;
    color: var(--lsg-muted) !important;
    line-height: 1.6 !important;
}

@media (max-width: 720px) {
    .lsg-lightbox__stage {
        padding-bottom: 96px !important;
    }

    .lsg-lightbox__controls {
        bottom: max(8px, env(safe-area-inset-bottom)) !important;
        gap: 5px !important;
        width: calc(100vw - 14px) !important;
        max-width: none !important;
        padding: 6px !important;
        border-radius: 18px !important;
    }

    .lsg-lightbox__favorite {
        padding: 0 10px !important;
    }

    .lsg-lightbox__favorite span {
        display: none !important;
    }

    .lsg-lightbox__counter {
        min-width: 62px !important;
        padding: 0 8px !important;
    }

    .lsg-volume-control {
        flex: 1 1 auto !important;
        min-width: 88px !important;
        padding: 0 9px !important;
    }

    .lsg-volume-control input[type="range"] {
        width: 100% !important;
        min-width: 54px !important;
    }

    .lsg-slideshow__controls {
        grid-template-columns: 42px minmax(70px,auto) minmax(100px,1fr) !important;
        width: calc(100vw - 20px) !important;
        min-width: 0 !important;
    }

    .lsg-volume-control--slideshow {
        min-width: 100px !important;
    }

    .lsg-selection-success__card {
        padding: 36px 22px 24px !important;
    }
}



/* v0.9 — slideshow sem barra de progresso */
.lsg-slideshow__controls {
    padding-bottom: 15px !important;
}


/* v1.0 — mosaico justificado premium, sem buracos */
.lsg-grid {
    columns: unset !important;
    column-count: unset !important;
    display: flex !important;
    flex-wrap: wrap !important;
    align-items: flex-start !important;
    align-content: flex-start !important;
    gap: 8px !important;
    width: 100% !important;
}

.lsg-grid .lsg-card {
    flex: 0 0 auto !important;
    margin: 0 !important;
    break-inside: auto !important;
    overflow: hidden !important;
    background: #111 !important;
}

.lsg-grid .lsg-card[hidden] {
    display: none !important;
}

.lsg-grid .lsg-card img {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    object-fit: cover !important;
    object-position: center !important;
}

.lsg-button--danger-subtle {
    border-color: rgba(255,255,255,.2) !important;
    color: rgba(255,255,255,.78) !important;
    -webkit-text-fill-color: rgba(255,255,255,.78) !important;
}

.lsg-button--danger-subtle:hover:not(:disabled) {
    background: #fff !important;
    border-color: #fff !important;
    color: #111 !important;
    -webkit-text-fill-color: #111 !important;
}

.lsg-selection-panel__actions {
    display: grid !important;
    grid-template-columns: auto minmax(180px,1fr) !important;
    gap: 10px !important;
    margin-top: 16px !important;
}

.lsg-shell dialog.lsg-confirm-dialog[open] {
    display: grid !important;
    place-items: center !important;
    padding: 18px !important;
    background: rgba(0,0,0,.82) !important;
    backdrop-filter: blur(10px);
}

.lsg-confirm-card {
    width: min(520px,100%) !important;
    padding: 38px 32px 30px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 24px !important;
    background: #111 !important;
    color: #fff !important;
    text-align: center !important;
    box-shadow: 0 30px 100px rgba(0,0,0,.55) !important;
}

.lsg-confirm-card h2 {
    margin: 0 !important;
    font-family: var(--lsg-serif) !important;
    font-size: clamp(34px,5vw,48px) !important;
    line-height: 1.05 !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}

.lsg-confirm-card > p:not(.lsg-selection-panel__eyebrow) {
    margin: 16px auto 26px !important;
    max-width: 430px !important;
    color: var(--lsg-muted) !important;
    line-height: 1.65 !important;
}

.lsg-confirm-card__actions {
    display: grid !important;
    grid-template-columns: 1fr 1fr !important;
    gap: 10px !important;
}

@media (max-width:720px) {
    .lsg-grid {
        gap: 5px !important;
    }

    .lsg-selection-panel__actions,
    .lsg-confirm-card__actions {
        grid-template-columns: 1fr !important;
    }

    .lsg-confirm-card {
        padding: 32px 20px 22px !important;
    }
}


.lsg-selection-success__receipt {
    display: inline-block !important;
    margin: -10px 0 24px !important;
    padding: 8px 12px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 999px !important;
    color: rgba(255,255,255,.82) !important;
    font-size: 11px !important;
    font-weight: 700 !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}


/* v1.2 — fotografias maiores no slideshow e no lightbox */
.lsg-lightbox__stage,
.lsg-slideshow__stage {
    padding: 24px 24px 98px !important;
}

.lsg-lightbox__image,
.lsg-slideshow__image {
    width: 100% !important;
    height: 100% !important;
    max-width: none !important;
    max-height: none !important;
    object-fit: contain !important;
    object-position: center center !important;
}

@media (max-width: 720px) {
    .lsg-lightbox__stage,
    .lsg-slideshow__stage {
        padding: 58px 8px 92px !important;
    }

    .lsg-lightbox__image,
    .lsg-slideshow__image {
        width: 100% !important;
        height: 100% !important;
        max-width: none !important;
        max-height: none !important;
        object-fit: contain !important;
    }
}


/* v1.3 — controles inferiores mais discretos */
.lsg-slideshow__controls,
.lsg-lightbox__controls {
    background: rgba(7, 7, 7, .38) !important;
    border-color: rgba(255, 255, 255, .10) !important;
    backdrop-filter: blur(10px) saturate(110%) !important;
    -webkit-backdrop-filter: blur(10px) saturate(110%) !important;
    box-shadow: 0 8px 28px rgba(0, 0, 0, .16) !important;
}

.lsg-slideshow__counter,
.lsg-lightbox__counter,
.lsg-volume-control,
.lsg-icon-button,
.lsg-music-button,
.lsg-lightbox__favorite {
    background: rgba(255, 255, 255, .045) !important;
    border-color: rgba(255, 255, 255, .10) !important;
}

.lsg-slideshow__counter,
.lsg-lightbox__counter {
    color: rgba(255, 255, 255, .80) !important;
}

.lsg-icon-button:hover,
.lsg-icon-button:focus,
.lsg-music-button:hover,
.lsg-music-button:focus,
.lsg-music-button.is-playing,
.lsg-lightbox__favorite:hover,
.lsg-lightbox__favorite:focus,
.lsg-lightbox__favorite.is-favorite {
    background: rgba(255, 255, 255, .92) !important;
    color: #111 !important;
    border-color: rgba(255, 255, 255, .92) !important;
}

@media (max-width: 720px) {
    .lsg-slideshow__controls,
    .lsg-lightbox__controls {
        background: rgba(7, 7, 7, .32) !important;
        backdrop-filter: blur(8px) saturate(110%) !important;
        -webkit-backdrop-filter: blur(8px) saturate(110%) !important;
    }
}


/* v1.4 — acabamento operacional */
.lsg-loader {
    position: fixed !important;
    inset: 0 !important;
    z-index: 2147483645 !important;
    overflow: hidden !important;
    display: grid !important;
    place-items: center !important;
    background: #090909 !important;
    opacity: 1 !important;
    visibility: visible !important;
    pointer-events: auto !important;
    transition: opacity .55s ease, visibility .55s ease !important;
    animation: lsgLoaderFailsafe 0s 6.5s forwards;
}

.lsg-loader.is-hidden {
    opacity: 0 !important;
    visibility: hidden !important;
    pointer-events: none !important;
}

.lsg-loader__image,
.lsg-loader__shade {
    position: absolute !important;
    inset: 0 !important;
    width: 100% !important;
    height: 100% !important;
}

.lsg-loader__image {
    object-fit: cover !important;
    filter: blur(8px) !important;
    transform: scale(1.04) !important;
    opacity: .55 !important;
}

.lsg-loader__shade {
    background: rgba(0,0,0,.58) !important;
}

.lsg-loader__content {
    position: relative !important;
    z-index: 2 !important;
    display: grid !important;
    justify-items: center !important;
    gap: 9px !important;
    padding: 30px !important;
    color: #fff !important;
    text-align: center !important;
}

.lsg-loader__brand {
    margin-bottom: 20px !important;
    font-size: 10px !important;
    font-weight: 700 !important;
    letter-spacing: .22em !important;
    text-transform: uppercase !important;
    opacity: .75 !important;
}

.lsg-loader__content strong {
    font-family: var(--lsg-serif) !important;
    font-size: clamp(32px,5vw,54px) !important;
    font-weight: 400 !important;
    letter-spacing: -.035em !important;
}

.lsg-loader__content > span:not(.lsg-loader__brand) {
    color: rgba(255,255,255,.68) !important;
    font-size: 12px !important;
    letter-spacing: .08em !important;
    text-transform: uppercase !important;
}

.lsg-loader__content i {
    width: 120px !important;
    height: 1px !important;
    margin-top: 18px !important;
    overflow: hidden !important;
    background: rgba(255,255,255,.18) !important;
}

.lsg-loader__content i::after {
    content: "" !important;
    display: block !important;
    width: 45% !important;
    height: 100% !important;
    background: #fff !important;
    animation: lsgLoaderLine 1.25s ease-in-out infinite !important;
}

.lsg-device-note,
.lsg-selection-device-warning,
.lsg-selection-last-status {
    margin: 22px auto !important;
    padding: 13px 15px !important;
    border: 1px solid rgba(255,255,255,.12) !important;
    border-radius: 14px !important;
    background: rgba(255,255,255,.04) !important;
    color: rgba(255,255,255,.70) !important;
    font-size: 12px !important;
    line-height: 1.6 !important;
}

.lsg-device-note {
    max-width: 680px !important;
}

.lsg-device-note strong,
.lsg-selection-device-warning strong {
    color: rgba(255,255,255,.94) !important;
}

.lsg-submission-status {
    width: min(680px,100%) !important;
    margin: 26px auto !important;
    padding: 18px !important;
    border: 1px solid rgba(255,255,255,.14) !important;
    border-radius: 18px !important;
    background: rgba(255,255,255,.055) !important;
    display: grid !important;
    grid-template-columns: 1fr auto !important;
    gap: 18px !important;
    align-items: center !important;
    text-align: left !important;
}

.lsg-submission-status[hidden],
.lsg-selection-last-status[hidden] {
    display: none !important;
}

.lsg-submission-status__eyebrow {
    display: block !important;
    margin-bottom: 5px !important;
    color: var(--lsg-accent) !important;
    font-size: 9px !important;
    font-weight: 750 !important;
    letter-spacing: .18em !important;
    text-transform: uppercase !important;
}

.lsg-submission-status strong {
    font-family: var(--lsg-serif) !important;
    font-size: 24px !important;
    font-weight: 400 !important;
}

.lsg-submission-status p {
    margin: 5px 0 0 !important;
    color: var(--lsg-muted) !important;
    font-size: 12px !important;
    line-height: 1.5 !important;
}

@keyframes lsgLoaderLine {
    0% { transform: translateX(-110%); }
    50% { transform: translateX(70%); }
    100% { transform: translateX(230%); }
}

@keyframes lsgLoaderFailsafe {
    to { opacity: 0; visibility: hidden; pointer-events: none; }
}

@media (max-width:720px) {
    .lsg-submission-status {
        grid-template-columns: 1fr !important;
        text-align: center !important;
    }
}
