/* Global page styles (gallery, legal pages, contact popup) */
.ada-gallery-page{
  --ada-bg-1:#fcfaf7;
  --ada-bg-2:#f2d8a8;
  --ada-ink:#2f241d;
  --ada-muted:#6b625b;
  --ada-brand:#6b3f2a;
  --ada-card:#fffaf4;
  --ada-line:rgba(96,58,40,.18);
  max-width:1200px;
  margin:0 auto;
  padding:16px 20px 42px;
  color:var(--ada-ink);
}

.ada-gallery-topnote{
  margin:0 0 12px;
  color:var(--ada-muted);
  font-size:14px;
  line-height:1.6;
}


.ada-gallery-page .tour-modern-block a{
  color:var(--brand);
  text-decoration:underline;
  text-underline-offset:3px;
}

.ada-gallery-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  gap:12px;
  grid-auto-flow:dense;
  margin-top:16px;
}

.ada-gallery-card{
  position:relative;
  display:block;
  border-radius:16px;
  overflow:hidden;
  border:1px solid var(--ada-line);
  box-shadow:0 8px 24px rgba(46,27,16,.12);
  background:var(--ada-card);
  min-height:140px;
  grid-column:span var(--c);
  grid-row:span var(--r);
  text-decoration:none;
  isolation:isolate;
}

.ada-gallery-card::after{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(to top, rgba(30,18,12,.58) 0%, transparent 52%);
  opacity:.9;
  transition:opacity .2s ease;
}

.ada-gallery-card:hover::after{
  opacity:1;
}

.ada-gallery-card img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
  transform:scale(1.01);
  transition:transform .25s ease;
}

.ada-gallery-card:hover img{
  transform:scale(1.06);
}

.ada-gallery-meta{
  position:absolute;
  left:12px;
  right:12px;
  bottom:10px;
  z-index:2;
  color:#fff;
  font-size:12px;
  letter-spacing:.05em;
  text-transform:uppercase;
  font-weight:700;
  white-space:nowrap;
  overflow:hidden;
  text-overflow:ellipsis;
}

.ada-gallery-empty{
  margin-top:16px;
  padding:14px 16px;
  border-radius:12px;
  border:1px solid var(--ada-line);
  background:#fff8ec;
  color:#6b625b;
}

.ada-lightbox{
  position:fixed;
  inset:0;
  display:none;
  z-index:9999;
}

.ada-lightbox.is-open{
  display:block;
}

.ada-lightbox__backdrop{
  position:absolute;
  inset:0;
  background:rgba(30,18,12,.58);
  backdrop-filter:blur(1px);
}

.ada-lightbox__panel{
  position:relative;
  width:min(96vw,1280px);
  height:min(92vh,860px);
  margin:4vh auto 0;
  display:grid;
  grid-template-columns:56px 1fr 56px;
  align-items:center;
  gap:12px;
}

.ada-lightbox__img{
  width:100%;
  height:100%;
  object-fit:contain;
  border-radius:14px;
  background:rgba(0,0,0,.25);
}

.ada-lightbox__btn{
  border:0;
  width:44px;
  height:44px;
  border-radius:999px;
  color:#fff;
  background:rgba(255,255,255,.18);
  cursor:pointer;
  font-size:24px;
}

.ada-lightbox__close{
  position:absolute;
  top:10px;
  right:10px;
  z-index:3;
}

.ada-lightbox__counter{
  position:absolute;
  left:50%;
  bottom:10px;
  transform:translateX(-50%);
  color:#fff;
  font-size:13px;
  letter-spacing:.05em;
  background:rgba(0,0,0,.35);
  padding:6px 10px;
  border-radius:999px;
}



@media (width <= 980px){
  .ada-gallery-grid{
    grid-template-columns:repeat(8,minmax(0,1fr));
  }

  .ada-gallery-card{
    grid-column:span 4;
    grid-row:span 16;
    min-height:180px;
  }
}

@media (width <= 640px){
  .ada-gallery-page{
    padding:12px 12px 28px;
  }

  .ada-gallery-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:8px;
  }

  .ada-gallery-card{
    grid-column:span 1;
    grid-row:span 10;
    min-height:140px;
    border-radius:12px;
  }

  .ada-lightbox__panel{
    grid-template-columns:42px 1fr 42px;
    gap:6px;
  }

  .ada-lightbox__btn{
    width:36px;
    height:36px;
    font-size:20px;
  }
}
