.bboys {
  background: #07080d;
  --bboys-shell-width: min(1380px, calc(100% - 1.5rem));
  --bboys-card-min-height: 388px;
  --bboys-card-media-height: 206px;
}

.bboys-hero {
  padding: 2rem 0 1.4rem;
  background: radial-gradient(circle at top left, #191b24, #0a0b10 62%);
  border-bottom: 1px solid #23242f;
}

.bboys-hero__container,
.bboys-controls__container,
.bboys-browser__container,
.bboys-map__container,
.bboys-list__container,
.writer-gallery__container,
.discipline-events__container {
  width: var(--bboys-shell-width);
  margin-inline: auto;
}

.bboys-hero__kicker {
  margin: 0;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.8rem;
}

.bboys-hero__title {
  margin: 0.35rem 0 0;
  font-family: var(--title-font);
  line-height: 0.92;
  letter-spacing: 0.03em;
  font-size: clamp(2.4rem, 7vw, 4.8rem);
}

.bboys-hero__text {
  margin: 0.75rem 0 0;
  max-width: 62ch;
  color: #c9cad3;
}

.bboys-hero__actions {
  margin-top: 1rem;
  display: flex;
  flex-wrap: wrap;
  gap: 0.55rem;
}

.bboys-btn {
  min-height: 2.6rem;
  border-radius: 999px;
  border: 1px solid #36384a;
  color: #f2f2f6;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.72rem;
}

.bboys-btn--primary {
  border-color: transparent;
  color: #0b0b10;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
}

.bboys-controls {
  padding: 1rem 0;
  background: #0c0d13;
  border-bottom: 1px solid #222331;
}

.bboys-controls__container {
  display: grid;
  gap: 0.75rem;
}

.bboys-controls__search-wrap {
  display: flex;
  align-items: center;
  gap: 0.55rem;
  min-height: 2.85rem;
  border: 1px solid #313446;
  border-radius: 14px;
  background: #10131c;
  padding: 0 0.9rem;
}

.bboys-controls__search-wrap i {
  color: #8f92a0;
}

.bboys-controls__search {
  width: 100%;
  border: 0;
  outline: 0;
  background: transparent;
  color: #f2f3f8;
}

.bboys-controls__filters {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.bboys-controls__city-wrap {
  display: inline-flex;
  align-items: center;
  gap: 0.5rem;
  color: #c8c9d2;
}

.bboys-controls__city {
  min-height: 2.35rem;
  border-radius: 999px;
  border: 1px solid #35384a;
  background: #121520;
  color: #f1f1f6;
  padding: 0 0.85rem;
}

.bboys-filter {
  min-height: 2.15rem;
  border-radius: 999px;
  border: 1px solid #35384a;
  background: #121520;
  color: #c8c9d2;
  padding: 0 0.85rem;
  cursor: pointer;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.74rem;
  transition: border-color 0.2s ease, color 0.2s ease, background 0.2s ease, box-shadow 0.2s ease;
}

.bboys-filter:hover,
.bboys-filter:focus-visible {
  border-color: rgba(255, 122, 0, 0.55);
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14);
  outline: 0;
}

.bboys-filter.is-active {
  border-color: transparent;
  color: #0b0b10;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  font-weight: 700;
}

.bboys-browser {
  padding: 1rem 0 0.6rem;
}

.bboys-browser__container {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.bboys-browser__eyebrow {
  margin: 0 0 0.35rem;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.14em;
  font-size: 0.75rem;
}

.bboys-browser__title {
  margin: 0;
  font-family: var(--title-font);
  letter-spacing: 0.03em;
  line-height: 0.95;
  font-size: clamp(1.9rem, 4.8vw, 3.2rem);
}

.bboys-browser__tools {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.85rem;
  flex-wrap: wrap;
}

.bboys-browser__count {
  margin: 0;
  color: #d0d3df;
  font-size: 0.8rem;
  text-transform: uppercase;
  letter-spacing: 0.08em;
}

.bboys-view-switch {
  display: inline-flex;
  align-items: center;
  gap: 0.45rem;
  padding: 0.28rem;
  border: 1px solid #2f3344;
  border-radius: 999px;
  background: rgba(18, 21, 32, 0.9);
  box-shadow: 0 12px 26px rgba(0, 0, 0, 0.28);
}

.bboys-view-switch__button {
  min-height: 2.5rem;
  border: 1px solid #35384a;
  border-radius: 999px;
  padding: 0 1rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: transparent;
  color: #d6d9e3;
  font-size: 0.76rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
  cursor: pointer;
  transition: border-color 0.22s ease, background 0.22s ease, color 0.22s ease, box-shadow 0.22s ease;
}

.bboys-view-switch__button:hover,
.bboys-view-switch__button:focus-visible {
  border-color: rgba(255, 122, 0, 0.58);
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.16);
  outline: 0;
}

.bboys-view-switch__button.is-active {
  border-color: transparent;
  color: #0b0b10;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
}

.bboys-map {
  padding: 0 0 0.65rem;
}

.bboys-map[hidden] {
  display: none !important;
}

.bboys-map__container {
  border: 1px solid #2a2d3d;
  border-radius: 22px;
  background: linear-gradient(145deg, #131721, #0e1118);
  overflow: hidden;
}

.bboys-map__head {
  padding: 1rem 1.1rem;
  border-bottom: 1px solid #2a2d3d;
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.bboys-map__title {
  margin: 0;
  font-family: var(--title-font);
  letter-spacing: 0.03em;
  line-height: 1;
  font-size: clamp(1.35rem, 2.6vw, 1.9rem);
}

.bboys-map__hint {
  margin: 0;
  color: #cfd3df;
  font-size: 0.74rem;
  text-transform: uppercase;
  letter-spacing: 0.07em;
}

.bboys-map__canvas {
  width: 100%;
  height: 340px;
  background: #0a0d13;
}

.bboys-map .leaflet-popup-content-wrapper,
.bboys-map .leaflet-popup-tip {
  background: #0f1118;
  color: #f1f2f6;
}

.bboys-map .leaflet-control-zoom a {
  background: #131722;
  color: #f2f3f9;
  border-color: #2b2f3f;
}

.bboys-map .leaflet-control-attribution {
  display: none !important;
}

.bboys-map-marker {
  background: transparent;
  border: 0;
}

.bboys-map-marker-icon {
  width: 42px;
  height: 42px;
  border-radius: 999px;
  display: block;
  overflow: hidden;
  background-color: transparent;
  background-repeat: no-repeat;
  background-position: center;
  background-size: cover;
  border: 0;
  box-shadow: 0 7px 14px rgba(0, 0, 0, 0.48);
}

.bboys-map-marker-icon--bboy {
  background-image: url("../assets/icons/map-markers/breakdance.svg");
}

.bboys-map-marker-icon--mc {
  background-image: url("../assets/icons/map-markers/microphone.svg");
}

.bboys-map-marker-icon--writer {
  background-image: url("../assets/icons/map-markers/peinture-en-aerosol.svg");
}

.bboys-map-marker-icon--dj {
  background-image: url("../assets/icons/map-markers/mouvement-de-la-main-dj.svg");
}

.bboys-map-marker-icon--beatmaker {
  background-image: url("../assets/icons/map-markers/beats.svg");
}

.bboys-list {
  padding: 0.45rem 0 2.8rem;
}

.bboys-list--secondary {
  padding-top: 0.85rem;
}

.bboys-list__container {
  display: grid;
  grid-template-columns: 1fr;
  gap: 1.25rem;
}

.bboys-card {
  position: relative;
  display: grid;
  grid-template-rows: var(--bboys-card-media-height) minmax(0, 1fr);
  min-height: var(--bboys-card-min-height);
  border: 1px solid #33384a;
  border-radius: 24px;
  background: linear-gradient(145deg, #12141d, #0a0c12);
  overflow: hidden;
  box-shadow: 0 18px 40px rgba(0, 0, 0, 0.34);
  transition: transform 0.24s ease, border-color 0.24s ease, box-shadow 0.24s ease;
  scroll-margin-top: 6rem;
}

.bboys-card::before {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background-image:
    linear-gradient(115deg, rgba(255, 122, 0, 0.16), rgba(255, 122, 0, 0) 40%),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.02) 0 2px, rgba(0, 0, 0, 0) 2px 8px);
  mix-blend-mode: screen;
}

.bboys-card:hover {
  transform: translateY(-4px);
  border-color: #ff7a00;
  box-shadow: 0 22px 44px rgba(0, 0, 0, 0.42), 0 0 0 1px rgba(255, 122, 0, 0.22);
}

.bboys-card.is-featured {
  border-color: #ff9b36;
  box-shadow: 0 0 0 1px rgba(255, 155, 54, 0.3), 0 24px 48px rgba(0, 0, 0, 0.48);
}

.bboys-card__media {
  position: relative;
  overflow: hidden;
  background: linear-gradient(160deg, #161b27, #0a0d13 68%);
}

.bboys-card__media::after {
  content: "";
  position: absolute;
  inset: 0;
  pointer-events: none;
  background:
    linear-gradient(180deg, rgba(7, 8, 13, 0) 0%, rgba(7, 8, 13, 0.08) 62%, rgba(7, 8, 13, 0.3) 100%),
    linear-gradient(115deg, rgba(255, 122, 0, 0.12), rgba(255, 122, 0, 0) 42%);
}

.bboys-card__image,
.bboys-card__placeholder {
  display: block;
  width: 100%;
  height: 100%;
}

.bboys-card__image {
  object-fit: cover;
  object-position: center 24%;
  filter: saturate(1.02) contrast(1.02);
  background: #0f1118;
}

.bboys-card__content {
  position: relative;
  z-index: 1;
  display: flex;
  flex-direction: column;
  gap: 0.55rem;
  padding: 1.15rem 1.15rem 1.2rem;
}

.bboys-card__placeholder {
  position: relative;
  display: flex;
  align-items: center;
  justify-content: center;
  background:
    radial-gradient(circle at top left, rgba(255, 122, 0, 0.24), rgba(255, 122, 0, 0) 42%),
    linear-gradient(145deg, #171b27, #0d1018 70%);
}

.bboys-card__placeholder::before {
  content: "";
  position: absolute;
  inset: 0;
  background:
    linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0) 35%),
    repeating-linear-gradient(-45deg, rgba(255, 255, 255, 0.03) 0 2px, rgba(0, 0, 0, 0) 2px 10px);
}

.bboys-card__placeholder-logo {
  position: relative;
  z-index: 1;
  width: clamp(82px, 20vw, 120px);
  opacity: 0.26;
  filter: grayscale(1) contrast(1.1);
}

.bboys-card__placeholder-badge {
  position: absolute;
  left: 1rem;
  bottom: 1rem;
  z-index: 1;
  border: 1px solid rgba(255, 255, 255, 0.12);
  border-radius: 999px;
  padding: 0.35rem 0.7rem;
  background: rgba(7, 8, 13, 0.72);
  color: #f6f0e8;
  font-size: 0.72rem;
  font-weight: 700;
  letter-spacing: 0.06em;
  text-transform: uppercase;
}

.bboys-card__meta {
  margin: 0;
  color: #ff9e3d;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  font-size: 0.68rem;
  font-weight: 700;
}

.bboys-card__name {
  margin: 0;
  font-family: var(--title-font);
  letter-spacing: 0.04em;
  font-size: clamp(1.5rem, 2vw, 1.9rem);
  line-height: 0.92;
}

.bboys-card__role,
.bboys-card__text {
  margin: 0;
}

.bboys-card__role {
  color: #f8cca0;
  font-size: 0.78rem;
  font-weight: 700;
  letter-spacing: 0.08em;
  text-transform: uppercase;
}

.bboys-card__text {
  color: #c5c7d2;
  line-height: 1.55;
  display: -webkit-box;
  -webkit-box-orient: vertical;
  -webkit-line-clamp: 4;
  overflow: hidden;
}

.bboys-card__tags {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.bboys-card__tag {
  border: 1px solid #33384a;
  border-radius: 999px;
  padding: 0.28rem 0.55rem;
  background: rgba(255, 255, 255, 0.03);
  color: #d7dbe6;
  font-size: 0.72rem;
  letter-spacing: 0.04em;
  text-transform: uppercase;
}

.bboys-card__cta {
  margin-top: auto;
  display: inline-flex;
  min-height: 2.35rem;
  border-radius: 999px;
  padding: 0 0.95rem;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  color: #0b0b10;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.72rem;
  box-shadow: 0 8px 18px rgba(255, 122, 0, 0.28);
  align-self: flex-start;
}

.bboys-card__cta:hover {
  filter: brightness(1.05);
}

.bboys-empty {
  width: var(--bboys-shell-width);
  margin: 0 auto;
  border: 1px solid #2f3344;
  border-radius: 22px;
  padding: 1.4rem;
  background: linear-gradient(145deg, #111521, #0c1018);
  color: #b9bbc7;
}

.bboys-empty__title {
  margin: 0;
  font-size: 1.2rem;
}

.bboys-empty__text {
  margin: 0.4rem 0 0;
  color: #ccd0dd;
}

.bboys-empty__cta {
  margin-top: 1rem;
  min-height: 2.6rem;
  border: 1px solid transparent;
  border-radius: 999px;
  padding: 0 1rem;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  color: #0b0b10;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  cursor: pointer;
}

.writer-gallery {
  padding: 0.55rem 0 2.8rem;
}

.writer-gallery__container {
  display: grid;
  gap: 1rem;
}

.writer-gallery__head {
  display: flex;
  align-items: end;
  justify-content: space-between;
  gap: 1rem;
  flex-wrap: wrap;
}

.writer-gallery__eyebrow {
  margin: 0 0 0.35rem;
  color: var(--accent);
  text-transform: uppercase;
  letter-spacing: 0.12em;
  font-size: 0.78rem;
}

.writer-gallery__title {
  margin: 0;
  font-family: var(--title-font);
  line-height: 0.98;
  letter-spacing: 0.03em;
  font-size: clamp(1.9rem, 5vw, 3.4rem);
}

.writer-gallery__lead {
  margin: 0.45rem 0 0;
  max-width: 64ch;
  color: #c9cad3;
}

.writer-gallery__filters {
  display: grid;
  grid-template-columns: minmax(0, 1.5fr) repeat(3, minmax(170px, 1fr));
  gap: 0.75rem;
}

.writer-gallery__search {
  display: flex;
  align-items: center;
  gap: 0.6rem;
  min-height: 3rem;
  border: 1px solid #303446;
  border-radius: 14px;
  padding: 0 0.9rem;
  background: linear-gradient(145deg, #12151f, #0d1018);
}

.writer-gallery__search i {
  color: #8f92a0;
}

.writer-gallery__search input,
.writer-gallery__select {
  width: 100%;
  min-height: 3rem;
  border-radius: 14px;
  border: 1px solid #303446;
  background: linear-gradient(145deg, #12151f, #0d1018);
  color: #f4f5f8;
}

.writer-gallery__search input {
  border: 0;
  background: transparent;
}

.writer-gallery__select {
  padding: 0 0.9rem;
}

.writer-gallery__status,
.writer-gallery__empty {
  margin: 0;
  color: #c9cad3;
}

.writer-gallery__status.is-error {
  color: #ffb3b3;
}

.writer-gallery__grid {
  display: grid;
  grid-template-columns: repeat(auto-fit, minmax(260px, 1fr));
  gap: 0.95rem;
}

.writer-gallery-card {
  overflow: hidden;
  border: 1px solid #313547;
  border-radius: 16px;
  background: linear-gradient(155deg, #131722, #0a0c12);
  box-shadow: 0 18px 42px rgba(0, 0, 0, 0.35);
}

.writer-gallery-card__media img {
  display: block;
  width: 100%;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.writer-gallery-card__body {
  display: grid;
  gap: 0.65rem;
  padding: 0.95rem;
}

.writer-gallery-card__artist,
.writer-gallery-card__meta,
.writer-gallery-card__description,
.writer-gallery-card__credit {
  margin: 0;
}

.writer-gallery-card__artist a {
  color: #ffcf9c;
  font-weight: 700;
}

.writer-gallery-card__title {
  margin: 0;
  font-size: 1.05rem;
}

.writer-gallery-card__meta,
.writer-gallery-card__credit {
  color: #b8bfcd;
  font-size: 0.88rem;
}

.writer-gallery-card__description {
  color: #e2e4ea;
  line-height: 1.55;
}

.writer-gallery-card__specs,
.writer-gallery-card__badges {
  display: flex;
  flex-wrap: wrap;
  gap: 0.45rem;
}

.writer-gallery-card__specs span,
.writer-gallery-card__badges span {
  border: 1px solid #3a3e52;
  border-radius: 999px;
  padding: 0.28rem 0.6rem;
  font-size: 0.76rem;
  color: #d3d7e2;
  background: rgba(255, 255, 255, 0.02);
}

.writer-gallery-card__footer {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: 0.75rem;
}

.writer-gallery-card__price {
  color: #fff0d7;
  font-size: 1.02rem;
}

.writer-gallery-card__cta {
  min-height: 2.35rem;
  border-radius: 999px;
  padding: 0 0.9rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  color: #0b0b10;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.05em;
  font-size: 0.72rem;
}

.bboys-events {
  padding: 0.2rem 0 2.4rem;
}

.discipline-events__container {
  border: 1px solid #2a2d3d;
  border-radius: 14px;
  background: linear-gradient(145deg, #131721, #0e1118);
  padding: 0.95rem;
}

.discipline-events__title {
  margin: 0;
  font-family: var(--title-font);
  letter-spacing: 0.04em;
  font-size: clamp(1.9rem, 4.8vw, 3.1rem);
  line-height: 0.95;
}

.discipline-events__lead {
  margin: 0.6rem 0 0.8rem;
  color: #c9cddc;
  line-height: 1.55;
}

.discipline-events__grid {
  display: grid;
  gap: 0.8rem;
}

.discipline-events__loading,
.discipline-events__status {
  margin: 0;
  padding: 0.8rem;
  border: 1px solid #31384d;
  border-radius: 12px;
  background: linear-gradient(145deg, #111622, #0d1018);
  color: #d7deef;
}

.discipline-events__status--error {
  display: flex;
  align-items: center;
  gap: 0.9rem;
  border-color: #55323a;
  background:
    linear-gradient(145deg, rgba(64, 19, 25, 0.55), rgba(17, 22, 34, 0.92)),
    linear-gradient(145deg, #111622, #0d1018);
  color: #ffd8dd;
}

.discipline-events__status-copy {
  display: grid;
  gap: 0.2rem;
  flex: 1 1 auto;
  min-width: 0;
}

.discipline-events__status-title,
.discipline-events__status-text {
  margin: 0;
}

.discipline-events__status-title {
  color: #fff0f1;
  font-weight: 700;
}

.discipline-events__status-text {
  color: #f3cfd5;
  line-height: 1.5;
}

.discipline-events__status-icon {
  flex: 0 0 auto;
  width: 2.35rem;
  height: 2.35rem;
  border-radius: 999px;
  border: 1px solid rgba(255, 216, 221, 0.22);
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: rgba(255, 122, 0, 0.14);
  color: #fff3e5;
  font-weight: 800;
  font-size: 1rem;
}

.discipline-events__retry {
  flex: 0 0 auto;
  min-height: 2.3rem;
  border: 1px solid rgba(255, 216, 221, 0.18);
  border-radius: 999px;
  padding: 0 0.9rem;
  background: rgba(255, 255, 255, 0.06);
  color: #fff7ef;
  font-weight: 700;
  text-transform: uppercase;
  letter-spacing: 0.06em;
  font-size: 0.7rem;
  cursor: pointer;
}

.discipline-events__retry:hover,
.discipline-events__retry:focus-visible {
  border-color: rgba(255, 122, 0, 0.45);
  box-shadow: 0 0 0 3px rgba(255, 122, 0, 0.14);
  outline: 0;
}

.discipline-events-card {
  border: 1px solid #34384a;
  border-radius: 12px;
  background: linear-gradient(145deg, #12141d, #0a0c12);
  overflow: hidden;
  box-shadow: 0 18px 36px rgba(0, 0, 0, 0.38);
}

.discipline-events-card__image {
  width: 100%;
  aspect-ratio: 16 / 10;
  object-fit: cover;
  display: block;
}

.discipline-events-card__body {
  padding: 0.85rem;
}

.discipline-events-card__meta {
  display: flex;
  flex-wrap: wrap;
  gap: 0.35rem;
}

.discipline-events-card__badge {
  min-height: 1.5rem;
  border-radius: 999px;
  border: 1px solid #3f455c;
  color: #f0f2fa;
  padding: 0 0.55rem;
  display: inline-flex;
  align-items: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.65rem;
  font-weight: 700;
}

.discipline-events-card__badge--type {
  border-color: #754627;
  background: rgba(255, 122, 0, 0.18);
  color: #ffe4c7;
}

.discipline-events-card__title {
  margin: 0.48rem 0 0.34rem;
  font-family: var(--title-font);
  letter-spacing: 0.04em;
  font-size: clamp(1.3rem, 2.6vw, 1.9rem);
  line-height: 1;
}

.discipline-events-card__date,
.discipline-events-card__location {
  margin: 0;
  color: #d7dceb;
  line-height: 1.42;
}

.discipline-events-card__location {
  color: #c7cee0;
}

.discipline-events-card__cta {
  margin-top: 0.65rem;
  min-height: 2.2rem;
  border-radius: 999px;
  padding: 0 0.85rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  font-size: 0.68rem;
  font-weight: 700;
  border: 0;
  background: linear-gradient(90deg, var(--accent), var(--accent-soft));
  color: #0b0b10;
  box-shadow: 0 8px 18px rgba(255, 122, 0, 0.28);
}

.discipline-events__all-link {
  margin-top: 0.75rem;
  min-height: 2.2rem;
  border-radius: 999px;
  border: 1px solid #4b546e;
  color: #eef1fb;
  padding: 0 0.75rem;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  text-transform: uppercase;
  letter-spacing: 0.07em;
  font-size: 0.68rem;
  font-weight: 700;
}

.discipline-events__all-link:hover {
  border-color: #ff7a00;
  color: #fff5ea;
}

@media (min-width: 760px) {
  .bboys {
    --bboys-card-min-height: 430px;
    --bboys-card-media-height: 228px;
  }

  .bboys-list__container {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 980px) {
  .discipline-events__grid {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1024px) {
  .bboys {
    --bboys-card-min-height: 446px;
    --bboys-card-media-height: 236px;
  }

  .bboys-controls__container {
    grid-template-columns: minmax(0, 1.5fr) minmax(0, 1.1fr) auto;
    align-items: end;
  }

  .bboys-list__container {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

@media (min-width: 1500px) {
  .bboys {
    --bboys-card-min-height: 450px;
    --bboys-card-media-height: 240px;
  }

  .bboys-list__container {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

@media (max-width: 1023px) {
  .bboys-map__canvas {
    height: 300px;
  }
}

@media (max-width: 900px) {
  .writer-gallery__filters {
    grid-template-columns: 1fr;
  }

  .writer-gallery__head {
    align-items: start;
  }

  .discipline-events__status--error {
    align-items: start;
    flex-wrap: wrap;
  }

  .discipline-events__retry {
    width: 100%;
    justify-content: center;
  }
}

@media (max-width: 759px) {
  .bboys-browser__tools {
    width: 100%;
    justify-content: stretch;
  }

  .bboys-browser__count {
    width: 100%;
  }

  .bboys-view-switch {
    width: 100%;
  }

  .bboys-view-switch__button {
    flex: 1 1 0;
  }

  .bboys-map__canvas {
    height: 240px;
  }
}
