/* ============ Dimah Clinic — Gallery page ============ */

/* ---- hero (reuses news-hero look) ---- */
.gal-hero{position:relative;background:var(--ink);color:#fff;overflow:hidden;margin-top:-126px;padding:168px 0 84px;}
.gal-hero__bg{position:absolute;inset:0;}
.gal-hero__bg image-slot{position:absolute;inset:0;width:100%;height:100%;}
.gal-hero__bg::after{content:"";position:absolute;inset:0;background:
  linear-gradient(105deg,rgba(28,20,12,.94) 0%,rgba(40,28,16,.78) 50%,rgba(40,28,16,.4) 100%),
  linear-gradient(0deg,rgba(20,14,8,.6),transparent 44%);}
.gal-hero__inner{position:relative;z-index:3;max-width:720px;}
.gal-hero__eyebrow{display:inline-flex;align-items:center;gap:11px;font-size:13px;font-weight:700;color:var(--gold-soft);letter-spacing:.05em;margin-bottom:16px;}
.gal-hero__eyebrow::before{content:"";width:30px;height:1px;background:var(--gold-soft);}
.gal-hero__title{font-size:clamp(34px,5vw,58px);line-height:1.07;letter-spacing:-0.02em;text-shadow:0 6px 30px rgba(0,0,0,.4);}
.gal-hero__title em{font-style:normal;color:var(--gold-soft);}
.gal-hero__lead{margin-top:22px;font-size:clamp(16px,1.6vw,19px);color:rgba(255,255,255,.9);max-width:600px;text-wrap:pretty;text-shadow:0 2px 18px rgba(0,0,0,.4);}
.gal-hero__stats{margin-top:30px;display:flex;flex-wrap:wrap;gap:14px 34px;}
.gal-hero__stat b{display:block;font-family:var(--serif,'Georgia',serif);font-size:34px;line-height:1;color:#fff;}
.gal-hero__stat span{font-size:13px;color:var(--gold-soft);font-weight:600;}

/* ---- sticky filter bar ---- */
.gal-filter{position:sticky;top:74px;z-index:30;background:rgba(251,247,239,.86);backdrop-filter:blur(16px) saturate(1.2);border-bottom:1px solid var(--line-soft);}
.gal-filter__row{display:flex;align-items:center;flex-wrap:wrap;gap:10px;padding:16px 0;}
.gfilt{font-family:inherit;font-size:14px;font-weight:600;color:var(--ink-soft);background:var(--card);border:1px solid var(--line);border-radius:999px;padding:10px 20px;cursor:pointer;display:inline-flex;align-items:center;gap:8px;transition:background .3s var(--ease),color .3s var(--ease),border-color .3s var(--ease),transform .3s var(--ease);}
.gfilt:hover{transform:translateY(-2px);color:var(--gold-deep);border-color:var(--gold-soft);}
.gfilt.is-active{background:linear-gradient(150deg,var(--gold-soft),var(--gold) 60%,var(--gold-deep));color:#fff;border-color:transparent;box-shadow:0 12px 26px -14px rgba(168,123,76,.9);}
.gfilt__n{font-size:12px;font-weight:700;opacity:.7;}
.gfilt.is-active .gfilt__n{opacity:.85;}

/* ---- grouped sections ---- */
.gal-group{padding:64px 0 8px;}
.gal-group.is-hidden{display:none;}
.gal-group__head{display:flex;align-items:flex-end;justify-content:space-between;gap:20px;flex-wrap:wrap;margin-bottom:26px;}
.gal-group__t{display:flex;align-items:center;gap:14px;}
.gal-group__t .ic{width:46px;height:46px;flex:0 0 auto;border-radius:13px;background:var(--gold-tint);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;}
.gal-group__t .ic svg{width:24px;height:24px;}
.gal-group__t h2{font-size:clamp(22px,2.6vw,30px);line-height:1.1;color:var(--ink);}
.gal-group__t p{font-size:14px;color:var(--ink-soft);margin-top:4px;}
.gal-group__count{font-size:13px;font-weight:700;color:var(--gold-deep);background:var(--gold-tint);padding:8px 16px;border-radius:999px;white-space:nowrap;}

/* ---- masonry grid ---- */
.gal-grid2{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:210px;gap:18px;grid-auto-flow:dense;}
.gcard{position:relative;border-radius:var(--r);overflow:hidden;box-shadow:var(--shadow-sm);cursor:pointer;background:var(--cream-2);}
.gcard image-slot{width:100%;height:100%;}
.gcard--tall{grid-row:span 2;}
.gcard--wide{grid-column:span 2;}
.gcard__veil{position:absolute;inset:0;z-index:2;background:linear-gradient(0deg,rgba(28,20,12,.6) 0%,rgba(28,20,12,.05) 42%,transparent 70%);opacity:0;transition:opacity .4s var(--ease);}
.gcard:hover .gcard__veil{opacity:1;}
.gcard__cap{position:absolute;inset-inline:14px;bottom:14px;z-index:3;color:#fff;transform:translateY(8px);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease);}
.gcard:hover .gcard__cap{transform:translateY(0);opacity:1;}
.gcard__cap .t{font-size:15px;font-weight:700;}
.gcard__cap .s{font-size:12.5px;color:rgba(255,255,255,.85);margin-top:2px;}
.gcard__zoom{position:absolute;top:14px;inset-inline-end:14px;z-index:3;width:38px;height:38px;border-radius:50%;background:rgba(251,247,239,.92);color:var(--gold-deep);display:flex;align-items:center;justify-content:center;transform:scale(.7);opacity:0;transition:transform .4s var(--ease),opacity .4s var(--ease);}
.gcard:hover .gcard__zoom{transform:scale(1);opacity:1;}
.gcard__zoom svg{width:18px;height:18px;}
.gcard__tag{position:absolute;top:14px;inset-inline-start:14px;z-index:3;font-size:11px;font-weight:700;color:var(--gold-deep);background:rgba(251,247,239,.9);backdrop-filter:blur(4px);padding:5px 11px;border-radius:999px;}
@media(max-width:820px){.gal-grid2{grid-template-columns:repeat(2,1fr);grid-auto-rows:170px;}.gcard--wide{grid-column:span 2;}.gal-filter{top:64px;}}
@media(max-width:480px){.gal-grid2{grid-template-columns:1fr;}.gcard--wide,.gcard--tall{grid-column:auto;grid-row:auto;}}
@media(max-width:700px){
  .gal-filter{position:relative!important;top:auto!important;z-index:20!important;overflow:hidden!important;}
  .gal-filter .wrap{position:relative!important;padding:0!important;}
  .gal-filter .wrap::before,
  .gal-filter .wrap::after{content:"";position:absolute;top:0;bottom:0;z-index:2;pointer-events:none;}
  .gal-filter .wrap::before{inset-inline-start:0;width:56px;background:linear-gradient(to right,rgba(251,247,239,.98),rgba(251,247,239,0));}
  .gal-filter .wrap::after{inset-inline-end:0;width:34px;background:linear-gradient(to left,rgba(251,247,239,.96),rgba(251,247,239,0));}
  html[dir="rtl"] .gal-filter .wrap::before{width:64px;}
  html[dir="rtl"] .gal-filter .wrap::after{width:26px;}
  .gal-filter__row{flex-wrap:nowrap!important;gap:10px!important;margin:0!important;padding:16px 18px 18px!important;overflow-x:auto!important;scrollbar-width:thin!important;scrollbar-color:rgba(168,123,76,.58) rgba(235,221,202,.62)!important;scroll-padding-inline:18px!important;-webkit-overflow-scrolling:touch!important;}
  .gal-filter__row::-webkit-scrollbar{display:block!important;height:4px!important;}
  .gal-filter__row::-webkit-scrollbar-track{background:rgba(235,221,202,.62)!important;border-radius:999px!important;}
  .gal-filter__row::-webkit-scrollbar-thumb{background:rgba(168,123,76,.58)!important;border-radius:999px!important;}
  .gfilt{flex:0 0 auto!important;min-height:48px!important;padding:10px 16px!important;font-size:15px!important;line-height:1.2!important;max-width:72vw!important;white-space:nowrap!important;}
  .gal-group{padding:54px 0 6px!important;}
  .gal-group .wrap{padding:0 18px!important;}
  .gal-group__head{display:grid!important;grid-template-columns:1fr auto!important;align-items:center!important;gap:14px!important;margin-bottom:22px!important;}
  .gal-group__t{min-width:0!important;gap:10px!important;}
  .gal-group__t .ic{display:none!important;}
  .gal-group__t h2{font-size:26px!important;line-height:1.25!important;overflow-wrap:anywhere!important;}
  .gal-group__t p{font-size:13px!important;}
  .gal-group__count{justify-self:start!important;font-size:13px!important;padding:8px 14px!important;max-width:96px!important;text-align:center!important;}
  .gal-grid2{grid-template-columns:minmax(0,1fr)!important;grid-auto-rows:260px!important;gap:18px!important;}
  .gcard{border-radius:24px!important;}
  .gcard__cap{opacity:1!important;transform:none!important;}
  .gcard__veil{opacity:1!important;}
}

/* ---- lightbox ---- */
.lb{position:fixed;inset:0;z-index:200;display:flex;align-items:center;justify-content:center;background:rgba(20,14,8,.92);backdrop-filter:blur(8px);opacity:0;visibility:hidden;transition:opacity .35s var(--ease),visibility .35s;}
.lb.is-open{opacity:1;visibility:visible;}
.lb__stage{position:relative;max-width:min(1100px,92vw);max-height:84vh;}
.lb__img{max-width:100%;max-height:84vh;border-radius:var(--r);box-shadow:0 40px 90px -30px rgba(0,0,0,.8);display:block;background:var(--cream-2);}
.lb__cap{margin-top:16px;text-align:center;color:#fff;}
.lb__cap .t{font-size:17px;font-weight:700;}
.lb__cap .s{font-size:13.5px;color:var(--gold-soft);margin-top:3px;}
.lb__close{position:absolute;top:-14px;inset-inline-end:-14px;width:46px;height:46px;border-radius:50%;border:0;background:var(--paper);color:var(--ink);font-size:24px;line-height:1;cursor:pointer;box-shadow:var(--shadow);display:flex;align-items:center;justify-content:center;transition:transform .3s var(--ease);}
.lb__close:hover{transform:rotate(90deg);}
.lb__nav{position:fixed;top:50%;transform:translateY(-50%);width:54px;height:54px;border-radius:50%;border:0;background:rgba(251,247,239,.14);color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:background .3s var(--ease);}
.lb__nav:hover{background:rgba(251,247,239,.28);}
.lb__nav svg{width:24px;height:24px;}
.lb__nav--prev{inset-inline-start:18px;}
.lb__nav--next{inset-inline-end:18px;}
html[dir="ltr"] .lb__nav svg{transform:scaleX(-1);}
.lb__count{position:fixed;bottom:24px;left:50%;transform:translateX(-50%);color:rgba(255,255,255,.7);font-size:13px;font-weight:600;letter-spacing:.05em;}
@media(max-width:600px){.lb__nav{width:44px;height:44px;}.lb__nav--prev{inset-inline-start:6px;}.lb__nav--next{inset-inline-end:6px;}.lb__close{inset-inline-end:0;top:-52px;}}

/* empty state reused */
.gal-empty{display:none;text-align:center;padding:80px 20px;color:var(--ink-soft);}
.gal-empty.show{display:block;}
.gal-empty svg{width:46px;height:46px;color:var(--gold-soft);margin:0 auto 16px;}
