/* Managed theme galleries — used by the Ojalma CMS */
.ojalma-theme-gallery{
  background:linear-gradient(180deg,rgb(238 225 201 / .38),rgb(220 198 162 / .12));
  border-top:1px solid rgb(29 26 21 / .1);
  padding:clamp(4rem,8vw,7rem) clamp(1.25rem,5vw,5.5rem);
}
.ojalma-theme-heading{
  align-items:end;
  display:grid;
  gap:.45rem 1rem;
  grid-template-columns:1fr auto;
  margin:0 auto clamp(1.8rem,4vw,3.25rem);
  max-width:82rem;
}
.ojalma-theme-heading p{
  color:rgb(29 26 21 / .56);
  font:700 .68rem/1 "Helvetica Neue",Helvetica,Arial,sans-serif;
  grid-column:1/-1;
  letter-spacing:.16em;
  margin:0;
  text-transform:uppercase;
}
.ojalma-theme-heading h2{
  color:#1d1a15;
  font:500 clamp(2.25rem,6vw,5rem)/.95 "Iowan Old Style",Baskerville,"Times New Roman",serif;
  margin:0;
}
.ojalma-theme-heading>span{
  color:rgb(29 26 21 / .42);
  font:700 .72rem/1 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.16em;
  padding-bottom:.45rem;
}
.ojalma-theme-grid{
  columns:3;
  column-gap:clamp(.8rem,2vw,1.5rem);
  margin:0 auto;
  max-width:82rem;
}
.ojalma-theme-photo{
  break-inside:avoid;
  cursor:zoom-in;
  display:inline-block;
  margin:0 0 clamp(.8rem,2vw,1.5rem);
  outline:none;
  position:relative;
  width:100%;
}
.ojalma-theme-photo img{
  background:#d8c4a5;
  box-shadow:0 1.1rem 2.8rem rgb(54 39 24 / .15);
  display:block;
  height:auto;
  transition:filter .35s ease,transform .55s cubic-bezier(.22,1,.36,1),box-shadow .55s cubic-bezier(.22,1,.36,1);
  width:100%;
}
.ojalma-theme-photo:hover img,.ojalma-theme-photo:focus-visible img{
  box-shadow:0 1.5rem 3.5rem rgb(54 39 24 / .23);
  transform:translateY(-.18rem) scale(1.008);
}
.ojalma-theme-photo figcaption{
  align-items:center;
  color:#1d1a15;
  display:flex;
  gap:.8rem;
  justify-content:space-between;
  padding:.65rem .05rem .2rem;
}
.ojalma-theme-photo figcaption span:first-child{
  font:500 1rem/1.1 "Iowan Old Style",Baskerville,"Times New Roman",serif;
}
.ojalma-theme-photo figcaption span:last-child{
  color:rgb(29 26 21 / .52);
  font:700 .58rem/1 "Helvetica Neue",Helvetica,Arial,sans-serif;
  letter-spacing:.1em;
  text-align:right;
  text-transform:uppercase;
}
.ojalma-theme-photo::after{
  align-items:center;
  -webkit-backdrop-filter:blur(8px);
  backdrop-filter:blur(8px);
  background:rgb(238 225 201 / .82);
  border:1px solid rgb(29 26 21 / .14);
  border-radius:999px;
  bottom:3.15rem;
  color:#1d1a15;
  content:"+";
  display:flex;
  height:2rem;
  justify-content:center;
  opacity:0;
  pointer-events:none;
  position:absolute;
  right:.7rem;
  transition:opacity .22s ease,transform .3s cubic-bezier(.22,1,.36,1);
  transform:translateY(.25rem) scale(.9);
  width:2rem;
}
.ojalma-theme-photo:hover::after,.ojalma-theme-photo:focus-visible::after{opacity:1;transform:none}
.ojalma-theme-photo:focus-visible{box-shadow:0 0 0 2px #b85838,0 0 0 7px rgb(184 88 56 / .16)}
@media(max-width:850px){.ojalma-theme-grid{columns:2}.ojalma-theme-gallery{padding-inline:1.35rem}}
@media(max-width:520px){
  .ojalma-theme-gallery{padding:3.5rem 1rem 4.25rem}
  .ojalma-theme-grid{columns:2;column-gap:.65rem}
  .ojalma-theme-photo{margin-bottom:.85rem}
  .ojalma-theme-photo figcaption{align-items:flex-start;display:block;padding-top:.48rem}
  .ojalma-theme-photo figcaption span{display:block}
  .ojalma-theme-photo figcaption span:last-child{font-size:.52rem;margin-top:.3rem;text-align:left}
  .ojalma-theme-photo::after{bottom:3.55rem;opacity:.78;transform:none}
}
