.builder-demo-bar,
.builder-gallery {
  color: #172338;
  font-family: "DM Sans", "Segoe UI", sans-serif;
}
.builder-demo-bar {
  display: flex;
  gap: .75rem 2rem;
  justify-content: space-between;
  flex-wrap: wrap;
  padding: .85rem clamp(1rem, 4vw, 3rem);
  background: #f4f6fa;
  border-bottom: 1px solid #e2e8f0;
  font-size: .88rem;
}
.booking-site-public:has(.builder-gallery) { background: #f4f6fa; }
.builder-demo-bar a, .builder-gallery a { color: #9b3016; font-weight: 700; }
.builder-gallery { margin: auto; max-width: 74rem; padding: clamp(1rem, 5vw, 3.25rem); }
.builder-gallery-header { display: grid; justify-items: start; gap: .6rem; margin-bottom: clamp(1.25rem, 3vw, 2rem); }
.builder-gallery-header h1 { font-size: clamp(2rem, 4.5vw, 3.6rem); line-height: 1.05; margin: .25rem 0 0; }
.builder-gallery-header p { margin: 0; max-width: 55ch; color: #526076; }
.builder-gallery-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: clamp(.9rem, 2vw, 1.35rem); }
.builder-gallery-grid article { min-width: 0; overflow: hidden; border-radius: .85rem; background: white; border: 1px solid #e2e8f0; }
.builder-gallery-thumbnail { overflow: hidden; aspect-ratio: 1.9; border-bottom: 1px solid #e2e8f0; padding: clamp(.75rem, 2vw, 1.6rem); background: #f4e7de; }
.builder-gallery-cover { display: grid; grid-template: auto 1fr / 1fr; width: 100%; height: 100%; overflow: hidden; background: #fbf3e8; color: #5a2e28; text-align: center; box-shadow: 0 7px 18px #17233819; }
.builder-gallery-cover span { align-self: center; padding: .8rem; font: 700 clamp(1.12rem, 3vw, 2.3rem)/1.03 Georgia, serif; }
.builder-gallery-cover img { width: 100%; height: 100%; min-height: 0; display: block; object-fit: cover; }
[data-model="beauty"] .builder-gallery-cover img { width: 86%; justify-self: center; border-radius: 15% 15% 0 0; }
[data-model="health"] .builder-gallery-thumbnail { background: #e0eeeb; }
[data-model="health"] .builder-gallery-cover { grid-template: 1fr / 1fr .82fr; background: #f7fffc; text-align: start; color: #12534a; }
[data-model="health"] .builder-gallery-cover span { font-family: inherit; }
[data-model="health"] .builder-gallery-cover img { height: 88%; width: 88%; place-self: center; border-radius: 6px; object-position: center 44%; }
[data-model="training"] .builder-gallery-thumbnail { background: #e8e6f2; }
[data-model="training"] .builder-gallery-cover { grid-template: 1fr / 1fr .82fr; background: #23203a; color: #f0d280; text-align: start; }
[data-model="training"] .builder-gallery-cover span { font-family: inherit; font-weight: 850; text-transform: uppercase; }
[data-model="local"] .builder-gallery-thumbnail { background: #e1ecf7; }
[data-model="local"] .builder-gallery-cover { grid-template: 1fr / 1fr; position: relative; isolation: isolate; color: white; text-align: start; }
[data-model="local"] .builder-gallery-cover::before { content: ""; grid-area: 1 / 1; z-index: 1; background: linear-gradient(90deg, #122740e5, #12274000); }
[data-model="local"] .builder-gallery-cover span { grid-area: 1 / 1; z-index: 2; max-width: 68%; font-family: inherit; }
[data-model="local"] .builder-gallery-cover img { grid-area: 1 / 1; }
.builder-gallery-summary { display: flex; flex-wrap: wrap; justify-content: space-between; align-items: end; gap: .35rem 1rem; padding: clamp(.9rem, 2.5vw, 1.3rem); }
.builder-gallery-summary h2 { margin: 0; font-size: clamp(1.18rem, 2.5vw, 1.6rem); line-height: 1.15; }
.builder-gallery-summary p { margin: .3rem 0 0; color: #526076; font-size: .9rem; }
.builder-gallery-summary a { display: inline-flex; align-items: center; min-height: 44px; gap: .4rem; text-underline-offset: .2em; }
@media (max-width: 580px) { .builder-gallery-grid { grid-template-columns: 1fr; } }
