/* Fresh stock lightbox (mobile-first) */
.alecs-card__btn{display:block;width:100%;padding:0;margin:0;border:0;background:none;cursor:zoom-in;-webkit-tap-highlight-color:transparent}
.alecs-session-note{grid-column:1/-1;margin:8px 0 -4px;font-weight:700;color:#09427c;font-size:1.05rem}

html.alecs-lb-open,html.alecs-lb-open body{overflow:hidden;overscroll-behavior:none}
#alecs-lb{position:fixed;inset:0;z-index:99999;background:rgba(8,12,20,.96);display:flex;flex-direction:column;color:#fff;
  opacity:0;visibility:hidden;transition:opacity .18s ease,visibility .18s}
#alecs-lb.is-open{opacity:1;visibility:visible}
.alecs-lb__top{display:flex;align-items:center;justify-content:space-between;padding:calc(env(safe-area-inset-top,0px) + 8px) 12px 8px;font-size:.95rem}
.alecs-lb__count{opacity:.85;font-variant-numeric:tabular-nums}
.alecs-lb__close{width:48px;height:48px;border:0;border-radius:50%;background:rgba(255,255,255,.14);color:#fff;font-size:28px;line-height:1;cursor:pointer}
.alecs-lb__stage{position:relative;flex:1;min-height:0;overflow:hidden;touch-action:none;user-select:none;-webkit-user-select:none;display:flex;align-items:center;justify-content:center}
.alecs-lb__img{max-width:100%;max-height:100%;width:auto;height:auto;object-fit:contain;transform-origin:center center;will-change:transform;
  -webkit-user-drag:none;pointer-events:none;transition:opacity .15s}
.alecs-lb__img.is-loading{opacity:.35}
.alecs-lb__nav{position:absolute;top:50%;transform:translateY(-50%);width:48px;height:64px;border:0;background:rgba(255,255,255,.12);color:#fff;font-size:30px;cursor:pointer;z-index:2}
.alecs-lb__nav--prev{left:0;border-radius:0 10px 10px 0}
.alecs-lb__nav--next{right:0;border-radius:10px 0 0 10px}
.alecs-lb__bottom{padding:10px 12px calc(env(safe-area-inset-bottom,0px) + 12px);display:flex;gap:10px;align-items:center;justify-content:center;flex-wrap:wrap}
.alecs-lb__call{display:inline-flex;align-items:center;gap:8px;background:#31b770;color:#fff;text-decoration:none;font-weight:700;padding:13px 22px;border-radius:999px;font-size:1rem}
.alecs-lb__hint{font-size:.8rem;opacity:.65;width:100%;text-align:center}
@media(hover:hover) and (pointer:fine){.alecs-lb__hint--touch{display:none}}
@media(hover:none){.alecs-lb__nav{width:40px;height:56px;background:rgba(255,255,255,.18)}.alecs-lb__hint--mouse{display:none}}
@media(prefers-reduced-motion:reduce){#alecs-lb,.alecs-lb__img{transition:none}}

/* ---- Brand skin: Alec's navy + green ---- */
#alecs-lb{background:radial-gradient(ellipse at 50% 35%,#0e5cab 0%,#09427c 48%,#052a50 100%)}
.alecs-lb__top{border-bottom:3px solid #31b770;background:rgba(5,32,62,.55);gap:10px}
.alecs-lb__logo{height:36px;width:auto;display:block;margin-right:auto;background:#fff;padding:3px 10px;border-radius:8px}
.alecs-lb__count{background:rgba(255,255,255,.16);padding:4px 12px;border-radius:999px;font-size:.85rem}
.alecs-lb__close{background:#fff;color:#09427c;font-weight:700;box-shadow:0 2px 8px rgba(0,0,0,.3)}
.alecs-lb__stage{padding:10px}
.alecs-lb__img{border:3px solid #fff;border-radius:10px;box-shadow:0 12px 40px rgba(0,0,0,.5);background:#fff}
.alecs-lb__nav{background:#fff;color:#09427c;box-shadow:0 2px 8px rgba(0,0,0,.35);font-weight:700}
@media(hover:none){.alecs-lb__nav{background:rgba(255,255,255,.92)}}
.alecs-lb__bottom{background:rgba(5,32,62,.55);border-top:1px solid rgba(255,255,255,.12)}
.alecs-lb__tag{width:100%;text-align:center;font-size:.85rem;font-weight:600;color:#cfe3f7;letter-spacing:.01em}
.alecs-lb__call{box-shadow:0 4px 14px rgba(49,183,112,.45)}
.alecs-lb__hint{color:#cfe3f7;opacity:.8}

/* ---- Sign-up prompts ---- */
.alecs-signup-card{grid-column:1/-1;margin:8px 0}
.alecs-signup-card .noptin-optin-form-wrapper{max-width:none!important;min-height:0!important;margin:0 auto}
.alecs-signup-card .noptin-form-header{padding-bottom:6px}
.alecs-lb__alert{background:transparent;border:2px solid #31b770;color:#fff;font-weight:700;font-size:.9rem;padding:9px 18px;border-radius:999px;cursor:pointer}
.alecs-lb__alert[hidden],.alecs-lb__signup[hidden]{display:none!important}
.alecs-lb__signup{width:100%;max-width:520px;margin:2px auto 0}
.alecs-lb__signup .noptin-optin-form-wrapper{max-width:100%!important;min-height:0!important;border:1px solid rgba(255,255,255,.4)!important}
.alecs-lb__signup .noptin-form-heading{font-size:1.1rem!important}
