/* Hairmedico lightbox — /css/hm-lightbox.css (pairs with /js/hm-lightbox.js) */
html.hm-lb-lock,html.hm-lb-lock body{overflow:hidden!important}

/* ---- triggers ---- */
[data-lb]{cursor:zoom-in}
[data-lb]:focus-visible{outline:2px solid var(--gold,#C4A96A);outline-offset:3px}
.hm-lb-item{display:block;position:relative;color:inherit;text-decoration:none;-webkit-tap-highlight-color:transparent}
.hm-lb-item--fill{height:100%}
.hm-lb-item::after,
.case-card[data-lb] .case-photo::after,
.dip-card[data-lb] .dip-img-wrap::after{
  content:"";position:absolute;inset-inline-end:10px;bottom:10px;width:30px;height:30px;border-radius:50%;
  background:rgba(5,13,31,.64) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F4EBD6' stroke-width='1.9' stroke-linecap='round' stroke-linejoin='round'%3E%3Ccircle cx='11' cy='11' r='7'/%3E%3Cpath d='M21 21l-4.3-4.3M11 8v6M8 11h6'/%3E%3C/svg%3E") center/15px no-repeat;
  border:1px solid rgba(196,169,106,.6);box-shadow:0 2px 10px rgba(0,0,0,.25);opacity:0;transition:opacity .22s ease;pointer-events:none;z-index:2}
.hm-lb-item--quiet::after{display:none}
.hm-lb-item:hover::after,.hm-lb-item:focus-visible::after,
.case-card[data-lb]:hover .case-photo::after,.case-card[data-lb]:focus-visible .case-photo::after,
.dip-card[data-lb]:hover .dip-img-wrap::after,.dip-card[data-lb]:focus-visible .dip-img-wrap::after{opacity:1}
@media (hover:none){
  .hm-lb-item::after,.case-card[data-lb] .case-photo::after,.dip-card[data-lb] .dip-img-wrap::after{opacity:.78;width:26px;height:26px;background-size:13px}
}

/* ---- overlay ---- */
.hm-lb{position:fixed;inset:0;z-index:100001;display:flex;align-items:center;justify-content:center;color:#fff;
  opacity:0;visibility:hidden;transition:opacity .26s cubic-bezier(.22,1,.36,1),visibility 0s linear .26s;
  overscroll-behavior:contain;-webkit-tap-highlight-color:transparent;touch-action:pan-y pinch-zoom}
.hm-lb.is-open{opacity:1;visibility:visible;transition-delay:0s}
.hm-lb__backdrop{position:absolute;inset:0;background:rgba(5,13,31,.95)}

.hm-lb__stage{position:relative;z-index:1;margin:0;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:16px;
  width:100%;max-width:calc(100vw - 176px);max-height:100vh;max-height:100dvh;padding:72px 0 28px;box-sizing:border-box}
.hm-lb__frame{position:relative;display:block;max-width:100%;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);min-width:120px;min-height:120px;
  border-radius:6px;overflow:hidden;background:rgba(255,255,255,.03);box-shadow:0 30px 90px rgba(0,0,0,.65);-webkit-overflow-scrolling:touch}
.hm-lb__img{display:block;max-width:100%;max-height:calc(100vh - 190px);max-height:calc(100dvh - 190px);width:auto;height:auto;
  opacity:0;transform:scale(.97);transition:opacity .32s cubic-bezier(.22,1,.36,1),transform .32s cubic-bezier(.22,1,.36,1);
  user-select:none;-webkit-user-select:none;-webkit-user-drag:none}
.hm-lb.is-loaded .hm-lb__img{opacity:1;transform:none}
.hm-lb__frame.can-zoom{cursor:zoom-in}
.hm-lb.is-zoomed .hm-lb__frame{overflow:auto;cursor:zoom-out;scrollbar-width:thin;scrollbar-color:rgba(196,169,106,.6) transparent}
.hm-lb.is-zoomed .hm-lb__img{max-width:none;max-height:none;transform:none}
.hm-lb.is-error .hm-lb__frame{min-width:200px;min-height:120px}
.hm-lb.is-error .hm-lb__frame::after{content:"—";position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:2rem;color:rgba(255,255,255,.45)}

.hm-lb__spinner{position:absolute;pointer-events:none;top:50%;left:50%;width:34px;height:34px;margin:-17px 0 0 -17px;border-radius:50%;
  border:2px solid rgba(196,169,106,.22);border-top-color:#C4A96A;animation:hm-lb-spin .8s linear infinite;opacity:0;transition:opacity .2s}
.hm-lb.is-open:not(.is-loaded) .hm-lb__spinner{opacity:1;transition-delay:.25s}
.hm-lb.is-error .hm-lb__spinner{display:none}
@keyframes hm-lb-spin{to{transform:rotate(360deg)}}

.hm-lb__cap{margin:0;text-align:center;max-width:720px;padding:0 12px}
.hm-lb__title{display:block;font-family:var(--serif,'Cormorant Garamond',Georgia,serif);font-weight:400;font-size:clamp(1.1rem,1.7vw,1.45rem);line-height:1.3;letter-spacing:-.01em;color:#fff}
.hm-lb__sub{display:block;margin-top:6px;font-size:13px;line-height:1.5;letter-spacing:.04em;color:rgba(196,169,106,.95)}
.hm-lb__title:empty,.hm-lb__sub:empty{display:none}

.hm-lb__btn{position:absolute;z-index:2;display:inline-flex;align-items:center;justify-content:center;width:48px;height:48px;padding:0;margin:0;
  border-radius:50%;border:1px solid rgba(255,255,255,.16);background:rgba(255,255,255,.06);color:#fff;cursor:pointer;
  transition:background .2s,border-color .2s;-webkit-appearance:none;appearance:none;line-height:0}
.hm-lb__btn:hover{background:rgba(196,169,106,.18);border-color:rgba(196,169,106,.7)}
.hm-lb__btn:focus-visible{outline:2px solid #C4A96A;outline-offset:3px}
.hm-lb__btn svg{width:22px;height:22px;display:block}
.hm-lb__close{top:16px;inset-inline-end:16px}
.hm-lb__prev{top:50%;inset-inline-start:20px;margin-top:-24px}
.hm-lb__next{top:50%;inset-inline-end:20px;margin-top:-24px}
.hm-lb[dir="rtl"] .hm-lb__prev svg,.hm-lb[dir="rtl"] .hm-lb__next svg{transform:scaleX(-1)}
.hm-lb__counter{position:absolute;z-index:2;top:30px;inset-inline-start:24px;font-size:12.5px;letter-spacing:.14em;color:rgba(255,255,255,.62);font-variant-numeric:tabular-nums}

@media (max-width:640px){
  .hm-lb__stage{max-width:calc(100vw - 32px);padding:64px 0 96px;gap:12px}
  .hm-lb__frame,.hm-lb__img{max-height:calc(100vh - 236px);max-height:calc(100dvh - 236px)}
  .hm-lb__close{top:12px;inset-inline-end:12px;width:44px;height:44px}
  .hm-lb__prev,.hm-lb__next{top:auto;bottom:22px;margin-top:0;width:48px;height:48px}
  .hm-lb__prev{inset-inline-start:calc(50% - 78px)}
  .hm-lb__next{inset-inline-end:calc(50% - 78px)}
  .hm-lb__counter{top:auto;bottom:38px;inset-inline-start:0;width:100%;text-align:center;font-size:12px}
  .hm-lb__title{font-size:1.05rem}
  .hm-lb__sub{font-size:12px}
}
@media (prefers-reduced-motion:reduce){
  .hm-lb,.hm-lb__img,.hm-lb__btn,.hm-lb-item::after{transition:none}
  .hm-lb__spinner{animation-duration:1.6s}
}
