.ar_shops-header .ar_shops-header-inner > article, .ar_events-card {
  font-size: 0.9375rem;
  line-height: 1.53;
  font-weight: 400;
}

.ar_shops-header .ar_shops-header-inner > article h1 {
  font-size: 4.875rem;
  font-family: "Hrot", sans-serif;
  line-height: 1;
  font-weight: 900;
}

.ar_shops-running-events h2 {
  font-family: "DM Sans", sans-serif;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
  margin-bottom: 1.625rem;
}

@media (max-width: 850px) {
  .ar_shops-header .ar_shops-header-inner > article h1 {
    font-size: 2.25rem;
  }
}
.ar_shops-header .ar_shops-header-inner, .ar_shops-header > img {
  width: 100%;
  max-width: var(--block-wrapper-max-width);
  padding-inline: var(--block-wrapper-padding-inline);
  margin: 0 auto;
  margin-bottom: 1.75rem;
}

.ar_shops-gallery, .ar_shops-running-events {
  width: 100%;
}

.ar_shops-header > img {
  padding-left: var(--block-wrapper-padding-inline);
  padding-right: 0;
}

@media (max-width: 1000px) {
  .ar_shops-header > img {
    padding-left: 0;
  }
}
.ar_shops-info .ar_shops-info-btn, .ar_shops-info .ar_shops-info-btn-white {
  font-family: "DM Sans", sans-serif;
  display: block;
  width: fit-content;
  padding: 1.15em 5em;
  background-color: black;
  color: white;
  text-decoration: none;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 18%;
  max-width: 100%;
  text-align: center;
}

.ar_shops-info .ar_shops-info-btn-white {
  color: black;
  background-color: white;
}

.ar_shops-info .ar_shops-info-btn:hover, .ar_shops-info .ar_shops-info-btn-white:hover {
  text-decoration: underline;
}

.ar_shops-info .ar_shops-info-btn {
  border: 0.125em solid black;
}

.ar_shops-info .ar_shops-info-btn-white {
  border: 0.125em solid black;
}

.main--single-shops {
  --block-wrapper-max-width: 1380px;
}

.ar_shops-header {
  --logo-size: 10.5rem;
  margin-bottom: 8.75rem;
}
.ar_shops-header > img {
  margin-bottom: 0;
  width: 100%;
  height: 520px;
  object-fit: cover;
  object-position: top center;
  display: block;
}
.ar_shops-header .ar_shops-header-inner {
  margin-top: 3.5rem;
  display: flex;
  gap: 2.5rem;
  justify-content: space-between;
  align-items: flex-start;
}
.ar_shops-header .ar_shops-header-inner > article {
  flex-basis: 33.75rem;
}
.ar_shops-header .ar_shops-header-inner > article h1 {
  margin-bottom: 1.625rem;
}
.ar_shops-header > img + .ar_shops-header-inner .ar_shops-info {
  --infobox-shift: -200px;
}
.ar_shops-header > img + .ar_shops-header-inner .ar_shops-info:has(.ar_shops-logo-container) {
  --infobox-offset: calc(var(--logo-size) / -2);
}

.ar_shops-info {
  --infobox-padding: 2.5rem;
  --infobox-offset: 0px;
  --infobox-shift: 0px;
  font-size: 0.9375rem;
  line-height: 1.53;
  background-color: white;
  color: black;
  max-width: 100%;
  width: 30rem;
  padding: var(--infobox-padding);
  position: relative;
  transform: translateY(calc(var(--infobox-offset) + var(--infobox-shift)));
  margin-bottom: calc(var(--infobox-offset) + var(--infobox-shift));
}
.ar_shops-info a {
  color: inherit;
  text-decoration: none;
}
.ar_shops-info a:hover, .ar_shops-info a:focus, .ar_shops-info a:active {
  text-decoration: underline;
}
.ar_shops-info .ar_shops-info-btn,
.ar_shops-info .ar_shops-info-btn-white {
  font-size: 0.65rem;
  padding: 1.15em;
  width: 12.5rem;
  max-width: 100%;
}
.ar_shops-info .ar_shops-logo-container {
  transform: translate(-50%, -50%);
  width: var(--logo-size);
  height: var(--logo-size);
  position: absolute;
  top: 0;
  left: 50%;
  background-color: #000000;
}
.ar_shops-info .ar_shops-logo-container > img {
  filter: brightness(0) saturate(100%) invert(100%);
  width: 75%;
  height: 75%;
  object-fit: contain;
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
}
.ar_shops-info:has(.ar_shops-logo-container) {
  margin-top: calc(var(--logo-size) / 2);
  padding-top: calc(var(--infobox-padding) + var(--logo-size) / 2);
}
.ar_shops-info .ar_shops-info-row {
  padding-bottom: 1rem;
}
.ar_shops-info .ar_shops-info-row:not(:last-child) {
  border-bottom: 1px solid #d9d9d9;
  margin-bottom: 1rem;
}
.ar_shops-info .ar_shops-info-row img {
  vertical-align: bottom;
}
.ar_shops-info .ar_shops-info-row-inner {
  display: flex;
  gap: 1rem;
  justify-content: space-between;
}

.ar_shops-info-h {
  text-transform: uppercase;
  font-weight: 500;
  margin-bottom: 0.75rem;
  font-size: 0.75rem;
  letter-spacing: 18%;
}

.ar_shops-info-opening-hours {
  font-weight: 600;
}

.ar_shops-info-now-open {
  align-self: flex-end;
  font-weight: 700;
  font-size: 1.25rem;
  line-height: 1.4;
}

.ar_s-archive-list.ar_s-archive-list-single {
  --min-tile-size: 18rem;
  margin-bottom: 10rem;
}

.ar_shops-info-contacts strong {
  /* contains a single letter T, M or W
  used as an icon for tel, mail and web url contacts */
  display: inline-block;
  width: 2em;
}

.ar_shops-gallery {
  display: grid;
  grid-template-columns: repeat(auto-fill, minmax(400px, 1fr));
  gap: 8px;
  margin-bottom: 10rem;
}
.ar_shops-gallery .ar_shops-gallery-img-container {
  overflow: clip;
}
.ar_shops-gallery img {
  display: block;
  object-fit: cover;
  object-position: center;
  width: 100%;
  height: 490px;
  transition: 0.15s ease;
}
.ar_shops-gallery img:hover {
  transform: scale(1.1);
  -webkit-filter: brightness(40%);
  filter: brightness(40%);
}

.ar_events-card {
  max-width: 896px;
}
.ar_events-card > article > h2, .ar_events-card > article > h3 {
  font-size: 1.875rem;
  margin-bottom: 1.25rem;
}
.ar_events-card > article > div {
  margin-bottom: 1.75rem;
}
.ar_events-card > article > .ar_btn {
  font-size: 0.75rem;
}

.ar_shops-running-events {
  margin-bottom: 10rem;
}
.ar_shops-running-events ul {
  list-style: none;
  display: flex;
  flex-direction: column;
  gap: 1.875rem;
}
.ar_shops-running-events ul li {
  position: relative;
}
.ar_shops-running-events ul li div.event-anchor {
  position: absolute;
  visibility: hidden;
  top: -7rem;
  left: 0;
}
.ar_shops-running-events .ar_events-card-img-container {
  flex-basis: 360px;
  flex-shrink: 0;
  aspect-ratio: 1;
  position: relative;
}
.ar_shops-running-events .ar_events-card-img-container > img {
  position: absolute;
  width: 100%;
  top: 0;
  left: 0;
  height: 100%;
  object-fit: cover;
}
.ar_shops-running-events .ar_events-card {
  display: flex;
  column-gap: 3rem;
  row-gap: 1.25rem;
}

@media (max-width: 1260px) {
  .ar_shops-header .ar_shops-header-inner {
    margin-top: 0;
    flex-direction: column-reverse;
    align-items: center;
  }
  .ar_shops-header .ar_shops-header-inner .ar_shops-info {
    width: 100%;
  }
  .ar_shops-header .ar_shops-header-inner article {
    flex: auto;
    margin-bottom: 3.5rem;
  }
  .ar_shops-header > img {
    height: 260px;
  }
  .ar_shops-header > img + .ar_shops-header-inner .ar_shops-info {
    --infobox-shift: 0px;
  }
  .ar_shops-gallery {
    grid-template-columns: repeat(auto-fill, minmax(240px, 1fr));
  }
  .ar_shops-gallery img {
    height: 250px;
  }
}
@media (max-width: 850px) {
  .ar_shops-header {
    margin-bottom: 3rem;
  }
  .ar_shops-running-events {
    margin-bottom: 4rem;
  }
  .ar_shops-running-events > ul {
    display: grid;
    row-gap: 2.5rem;
    grid-template-columns: repeat(auto-fill, minmax(min(270px, 100%), 1fr));
    margin: 0 auto;
    max-width: 100%;
  }
  .ar_shops-running-events img {
    width: 100%;
    height: auto;
  }
  .ar_shops-running-events .ar_events-card {
    flex-direction: column;
  }
  .ar_shops-running-events .ar_events-card .ar_events-card-img-container {
    flex-basis: auto;
    flex-shrink: 1;
  }
  .ar_shops-gallery {
    margin-bottom: 3.75rem;
  }
  .ar_s-archive-list.ar_s-archive-list-single {
    margin-bottom: 3.5rem;
  }
}
@media (max-width: 620px) {
  .ar_s-archive-list.ar_s-archive-list-single {
    --min-tile-size: 6.5rem;
  }
  .ar_shops-info {
    --logo-size: 7.5rem;
    width: 100%;
    font-size: 0.845rem;
  }
  .ar_shops-info .ar_shops-info-opening-hours {
    font-size: 1.15rem;
  }
  .ar_shops-info .ar_shops-info-now-open {
    font-size: 0.845rem;
    align-self: flex-start;
  }
  .ar_shops-info .ar_socials-list {
    height: 100%;
    align-items: center;
  }
  .ar_shops-info .ar_socials-list > li {
    height: 1.8rem;
    width: 1.8rem;
  }
  .ar_shops-info .ar_shops-info-btn,
  .ar_shops-info .ar_shops-info-btn-white {
    font-size: 0.5rem;
    width: 9.25rem;
  }
}
@media (max-width: 400px) {
  .ar_shops-header > img {
    height: 146px;
  }
  .ar_shops-running-events {
    grid-template-columns: repeat(auto-fill, 1fr);
  }
  .ar_events-card > article h2, .ar_events-card > article h3 {
    font-size: 1.5rem;
  }
}

/*# sourceMappingURL=ar_single-shops.css.map */
