/* Object pages */
.topbar-object {
  justify-content: space-between;
  gap: 12px;
}

.topbar-link {
  padding: 10px 13px;
  border-radius: 999px;
  color: rgba(255,255,255,0.86);
  text-decoration: none;
  font-size: 12px;
  font-weight: 700;
  white-space: nowrap;
  transition: background 0.16s ease, color 0.16s ease, transform 0.16s ease;
}

.topbar-link:hover {
  background: rgba(255,255,255,0.1);
  color: var(--white);
  transform: translateY(-1px);
}

.object-page-title {
  font-size: clamp(26px, 7vw, 46px);
  line-height: 1.08;
  max-width: 760px;
}

.object-hero-grid {
  display: grid;
  gap: 22px;
}

.hero-photo {
  margin: 0;
  border: 1px solid rgba(255,255,255,0.14);
  border-radius: 24px;
  overflow: hidden;
  background: rgba(255,255,255,0.05);
  box-shadow: var(--shadow);
}

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

.object-facts {
  margin-top: 0;
}

.object-layout {
  display: grid;
  gap: 24px;
}

.object-layout-dark {
  align-items: start;
}

.spec-card,
.note-card {
  border: 1px solid var(--line);
  border-radius: 24px;
  padding: 22px;
  background: rgba(255,255,255,0.74);
  box-shadow: 0 14px 40px rgba(0,0,0,0.055);
}

.fit-section .note-card {
  border-color: rgba(255,255,255,0.12);
  background: rgba(255,255,255,0.075);
  color: var(--white);
}

.note-card p {
  margin-bottom: 0;
  color: var(--muted);
}

.fit-section .note-card p {
  color: rgba(255,255,255,0.76);
}

.note-card .btn {
  margin-top: 18px;
}

/* Unified availability/status visualization for object pages */
.object-status-pills {
  display: flex;
  flex-wrap: wrap;
  gap: 10px;
  margin: 18px 0 0;
}

.object-status-pill {
  display: inline-flex;
  align-items: center;
  gap: 8px;
  width: fit-content;
  border: 1px solid rgba(255,255,255,0.18);
  border-radius: 999px;
  padding: 8px 12px;
  background: rgba(255,255,255,0.08);
  color: rgba(255,255,255,0.9);
  font-size: 13px;
  font-weight: 800;
}

.object-status-pill::before {
  content: "";
  width: 8px;
  height: 8px;
  border-radius: 50%;
  background: currentColor;
  box-shadow: 0 0 0 4px rgba(255,255,255,0.08);
}

.object-status-pill.status-free {
  color: #7ee2a8;
}

.object-status-pill.status-busy {
  color: #f3b36a;
}

.object-status-pill.status-reserve {
  color: #f7d36d;
}

.status-panel {
  position: relative;
}

.status-panel .btn {
  margin-top: 18px;
}

.status-panel-secondary {
  margin-top: 12px;
  font-size: 14px;
  line-height: 1.55;
  color: rgba(255,255,255,0.68);
}

[data-object-status="available"] [data-status-visible="occupied"],
[data-object-status="available"] [data-status-visible="reserved"],
[data-object-status="occupied"] [data-status-visible="available"],
[data-object-status="occupied"] [data-status-visible="reserved"],
[data-object-status="reserved"] [data-status-visible="available"],
[data-object-status="reserved"] [data-status-visible="occupied"] {
  display: none !important;
}

.status-dd-free { color: #137a3a; }
.status-dd-busy { color: #a45f10; }
.status-dd-reserve { color: #8a6810; }


.spec-list {
  display: grid;
  gap: 0;
  margin: 0;
}

.spec-list div {
  display: grid;
  grid-template-columns: minmax(110px, 0.9fr) 1.1fr;
  gap: 14px;
  padding: 13px 0;
  border-bottom: 1px solid var(--line);
}

.spec-list div:last-child {
  border-bottom: none;
}

.spec-list dt {
  color: var(--muted);
  font-size: 13px;
  font-weight: 800;
}

.spec-list dd {
  margin: 0;
  font-weight: 750;
}

.use-list .object-card {
  cursor: default;
}

.use-list .object-card.accent p {
  color: rgba(255,255,255,0.72);
}

.gallery-section {
  background: var(--paper);
}

.photo-grid {
  display: grid;
  gap: 12px;
  margin-top: 24px;
}

.photo-card {
  margin: 0;
  border: 1px solid var(--line);
  border-radius: 22px;
  overflow: hidden;
  background: var(--white);
  box-shadow: 0 14px 40px rgba(0,0,0,0.055);
}

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

.photo-card-large img,
.photo-card:nth-child(3) img,
.photo-card:nth-child(5) img,
.photo-card:nth-child(6) img {
  aspect-ratio: 16 / 8;
}

.photo-card figcaption {
  padding: 12px 14px 14px;
  color: var(--muted);
  font-size: 13px;
  font-weight: 700;
}

.object-nav {
  display: grid;
  gap: 10px;
  margin-top: 22px;
}

.object-nav a {
  display: block;
  padding: 16px;
  border: 1px solid var(--line);
  border-radius: 18px;
  background: rgba(255,255,255,0.75);
  text-decoration: none;
  transition: transform 0.18s ease, background 0.18s ease, color 0.18s ease, border-color 0.18s ease, box-shadow 0.18s ease;
}

.object-nav a:hover {
  transform: translateY(-2px);
  background: var(--dark);
  color: var(--white);
  border-color: transparent;
  box-shadow: var(--shadow);
}

.object-nav span {
  display: block;
  margin-bottom: 5px;
  font-weight: 800;
}

.object-nav small {
  color: var(--muted);
  font-size: 13px;
  transition: color 0.18s ease;
}

.object-nav a:hover small {
  color: rgba(255,255,255,0.72);
}

@media (min-width: 680px) {
  .topbar-link {
    font-size: 14px;
  }

  .object-hero-grid {
    gap: 26px;
  }

  .object-layout {
    grid-template-columns: minmax(0, 1.2fr) minmax(290px, 0.8fr);
    align-items: start;
  }

  .photo-grid {
    grid-template-columns: repeat(2, 1fr);
  }

  .photo-card-large {
    grid-column: span 2;
  }

  .object-nav {
    grid-template-columns: repeat(2, 1fr);
  }
}

@media (min-width: 980px) {
  .object-hero-grid {
    grid-template-columns: minmax(0, 0.92fr) minmax(380px, 0.7fr);
    align-items: center;
  }

  .object-facts {
    grid-column: 1 / -1;
  }

  .hero-photo img {
    aspect-ratio: 4 / 3;
  }

  .photo-grid {
    grid-template-columns: repeat(3, 1fr);
  }

  .photo-card-large {
    grid-column: span 2;
    grid-row: span 2;
  }

  .photo-card-large img {
    height: 100%;
    aspect-ratio: auto;
  }
}

/* Warm boxes group page */
.warm-compact .section {
      padding-top: 42px;
      padding-bottom: 42px;
    }

    .warm-compact .hero {
      padding-top: 48px;
      padding-bottom: 38px;
    }

    .warm-compact .hero-lead {
      max-width: 760px;
    }

    .box-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-top: 22px;
      padding: 14px 16px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,0.72);
      box-shadow: 0 14px 40px rgba(0,0,0,0.045);
    }

    .box-toolbar p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
    }

    .availability-toggle {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      user-select: none;
    }

    .availability-toggle input {
      width: 18px;
      height: 18px;
      accent-color: var(--accent);
      cursor: pointer;
    }

    .boxes-grid {
      display: grid;
      gap: 12px;
      margin-top: 16px;
    }

    .box-card {
      min-height: 100%;
    }

    .box-card .object-topline {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 14px;
      padding: 6px 10px;
      border-radius: 999px;
      letter-spacing: 0.08em;
      font-size: 11px;
    }

    .box-card.status-free .object-topline,
    .box-card.status-available .object-topline {
      background: rgba(201,120,45,0.12);
      color: var(--accent-dark);
    }

    .box-card.status-busy,
    .box-card.status-occupied,
    .box-card.status-reserved {
      cursor: pointer;
      opacity: 1;
      background: var(--card);
    }

    .box-card.status-busy .object-topline,
    .box-card.status-occupied .object-topline {
      background: rgba(24,24,24,0.08);
      color: var(--muted);
    }

    .box-card.status-reserve .object-topline,
    .box-card.status-reserved .object-topline {
      background: rgba(201,120,45,0.10);
      color: var(--accent-dark);
    }

    .box-card.status-busy:hover,
    .box-card.status-occupied:hover,
    .box-card.status-reserved:hover {
      transform: translateY(-4px);
      background: var(--card);
      color: var(--text);
      border-color: rgba(201,120,45,0.28);
      box-shadow: 0 18px 46px rgba(0,0,0,0.08);
    }

    .box-card.status-busy:hover p,
    .box-card.status-busy:hover .object-topline,
    .box-card.status-occupied:hover p,
    .box-card.status-occupied:hover .object-topline,
    .box-card.status-reserved:hover p,
    .box-card.status-reserved:hover .object-topline {
      color: inherit;
    }

    .boxes-grid.only-free .box-card:not([data-status="available"]):not([data-status="free"]) {
      display: none;
    }

    .box-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 12px 0 0;
    }

    .box-meta span {
      padding: 5px 8px;
      border-radius: 999px;
      background: rgba(24,24,24,0.06);
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }

    .object-card:hover .box-meta span {
      background: rgba(255,255,255,0.12);
      color: rgba(255,255,255,0.76);
    }

    .box-card.status-busy:hover .box-meta span,
    .box-card.status-occupied:hover .box-meta span,
    .box-card.status-reserved:hover .box-meta span {
      background: rgba(24,24,24,0.06);
      color: var(--muted);
    }

    .warm-gallery .photo-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .warm-gallery .photo-card,
    .warm-gallery .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .warm-gallery .photo-card img,
    .warm-gallery .photo-card-large img,
    .warm-gallery .photo-card:nth-child(3) img,
    .warm-gallery .photo-card:nth-child(5) img,
    .warm-gallery .photo-card:nth-child(6) img {
      width: 100%;
      height: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    @media (min-width: 680px) {
      .boxes-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .warm-gallery .photo-grid {
        grid-template-columns: 2fr 1fr;
        grid-template-rows: 1fr 1fr;
      }

      .warm-gallery .photo-card-large {
        grid-column: 1;
        grid-row: 1 / span 2;
      }

      .warm-gallery .photo-card-large img {
        aspect-ratio: auto;
      }
    }

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


/* Hangars group page */
.hangars-compact .section {
      padding-top: 42px;
      padding-bottom: 42px;
    }

    .hangars-compact .hero {
      padding-top: 48px;
      padding-bottom: 38px;
    }

    .hangars-compact .hero-lead {
      max-width: 780px;
    }

    .objects-toolbar {
      display: flex;
      flex-wrap: wrap;
      align-items: center;
      justify-content: space-between;
      gap: 12px;
      margin-top: 22px;
      padding: 14px 16px;
      border: 1px solid var(--line);
      border-radius: 18px;
      background: rgba(255,255,255,0.72);
      box-shadow: 0 14px 40px rgba(0,0,0,0.045);
    }

    .objects-toolbar p {
      margin: 0;
      color: var(--muted);
      font-size: 14px;
      font-weight: 700;
    }

    .availability-toggle {
      display: inline-flex;
      align-items: center;
      gap: 9px;
      color: var(--text);
      font-size: 14px;
      font-weight: 800;
      cursor: pointer;
      user-select: none;
    }

    .availability-toggle input {
      width: 18px;
      height: 18px;
      accent-color: var(--accent);
      cursor: pointer;
    }

    .hangars-grid {
      display: grid;
      gap: 12px;
      margin-top: 16px;
    }

    .hangar-card {
      min-height: 100%;
    }

    .hangar-card .object-topline {
      display: inline-flex;
      align-items: center;
      gap: 7px;
      margin-bottom: 14px;
      padding: 6px 10px;
      border-radius: 999px;
      letter-spacing: 0.08em;
      font-size: 11px;
    }

    .hangar-card.status-free .object-topline {
      background: rgba(201,120,45,0.12);
      color: var(--accent-dark);
    }

    .hangar-card.status-busy {
      cursor: pointer;
      opacity: 0.64;
      background: rgba(255,255,255,0.48);
    }

    .hangar-card.status-busy .object-topline {
      background: rgba(24,24,24,0.08);
      color: var(--muted);
    }

    .hangar-card.status-busy:hover {
      transform: translateY(-4px);
      background: rgba(255,255,255,0.72);
      color: inherit;
      border-color: rgba(201,120,45,0.28);
      box-shadow: 0 18px 46px rgba(0,0,0,0.08);
    }

    .hangar-card.status-busy:hover p,
    .hangar-card.status-busy:hover .object-topline {
      color: var(--muted);
    }

    .hangars-grid.only-free .hangar-card[data-status="busy"] {
      display: none;
    }

    .object-meta {
      display: flex;
      flex-wrap: wrap;
      gap: 6px;
      margin: 12px 0 0;
    }

    .object-meta span {
      padding: 5px 8px;
      border-radius: 999px;
      background: rgba(24,24,24,0.06);
      color: var(--muted);
      font-size: 12px;
      font-weight: 800;
    }

    .object-card:hover .object-meta span {
      background: rgba(255,255,255,0.12);
      color: rgba(255,255,255,0.76);
    }

    .hangar-card.status-busy:hover .object-meta span {
      background: rgba(24,24,24,0.06);
      color: var(--muted);
    }

    .hangars-gallery .photo-grid {
      display: grid;
      grid-template-columns: 1fr;
      gap: 12px;
    }

    .hangars-gallery .photo-card,
    .hangars-gallery .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .hangars-gallery .photo-card img,
    .hangars-gallery .photo-card-large img,
    .hangars-gallery .photo-card:nth-child(3) img,
    .hangars-gallery .photo-card:nth-child(5) img,
    .hangars-gallery .photo-card:nth-child(6) img {
      width: 100%;
      height: 100%;
      aspect-ratio: 16 / 9;
      object-fit: cover;
    }

    @media (min-width: 680px) {
      .hangars-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .hangars-gallery .photo-grid {
        grid-template-columns: 2fr 1fr;
        grid-template-rows: 1fr 1fr;
      }

      .hangars-gallery .photo-card-large {
        grid-column: 1;
        grid-row: 1 / span 2;
      }

      .hangars-gallery .photo-card-large img {
        aspect-ratio: auto;
      }
    }

    @media (min-width: 980px) {
      .hangars-grid {
        grid-template-columns: repeat(4, 1fr);
      }
    }

/* Extracted from angar-445.html */
.object-445-page .photo-grid {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .object-445-page .photo-card,
    .object-445-page .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .object-445-page .photo-card img,
    .object-445-page .photo-card:nth-child(3) img,
    .object-445-page .photo-card:nth-child(5) img,
    .object-445-page .photo-card:nth-child(6) img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: var(--paper);
    }

    .object-445-page .photo-card-large img {
      width: 100%;
      height: 100%;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      background: var(--paper);
    }

    .object-445-page .photo-card figcaption {
      min-height: 0;
      display: block;
    }

    @media (min-width: 680px) {
      .object-445-page .photo-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .object-445-page .photo-card-large {
        grid-column: span 2;
      }
    }

    @media (min-width: 980px) {
      .object-445-page .photo-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
      }

      .object-445-page .photo-card-large {
        grid-column: span 2;
        grid-row: span 2;
        height: 100%;
      }

      .object-445-page .photo-card:not(.photo-card-large) img {
        height: 220px;
        aspect-ratio: auto;
        object-fit: cover;
      }
    }
  
    @media (min-width: 980px) {
      .object-445-page .photo-card-large {
        display: flex;
        flex-direction: column;
      }

      .object-445-page .photo-card-large img {
        flex: 1 1 auto;
        height: auto;
        min-height: 0;
      }

      .object-445-page .photo-card-large figcaption {
        flex: 0 0 auto;
        display: block;
      }
    }


/* Extracted from garage-08-70.html */
.garage-photo-grid .photo-card-large img,
    .garage-photo-grid .photo-card:nth-child(3) img,
    .garage-photo-grid .photo-card:nth-child(5) img,
    .garage-photo-grid .photo-card:nth-child(6) img {
      aspect-ratio: 4 / 3;
    }

    @media (min-width: 680px) {
      .garage-photo-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .garage-photo-grid .photo-card-large {
        grid-column: span 2;
      }
    }

    @media (min-width: 980px) {
      .garage-photo-grid {
        grid-template-columns: repeat(3, 1fr);
      }

      .garage-photo-grid .photo-card-large {
        grid-column: span 2;
        grid-row: span 2;
      }

      .garage-photo-grid .photo-card-large img {
        height: 100%;
        aspect-ratio: auto;
      }
    }


/* Extracted from holodnii-angar-350.html */
.object-350-page .photo-grid {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .object-350-page .photo-card,
    .object-350-page .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .object-350-page .photo-card img,
    .object-350-page .photo-card:nth-child(3) img,
    .object-350-page .photo-card:nth-child(5) img,
    .object-350-page .photo-card:nth-child(6) img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: var(--paper);
    }

    .object-350-page .photo-card-large {
      display: flex;
      flex-direction: column;
    }

    .object-350-page .photo-card-large img {
      width: 100%;
      height: 100%;
      min-height: 0;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      background: var(--paper);
    }

    .object-350-page .photo-card figcaption {
      min-height: 0;
      display: block;
    }

    @media (min-width: 680px) {
      .object-350-page .photo-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .object-350-page .photo-card-large {
        grid-column: span 2;
      }
    }

    @media (min-width: 980px) {
      .object-350-page .photo-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
      }

      .object-350-page .photo-card-large {
        grid-column: span 2;
        grid-row: span 2;
        height: 100%;
      }

      .object-350-page .photo-card-large img {
        flex: 1 1 auto;
        height: auto;
      }

      .object-350-page .photo-card-large figcaption {
        flex: 0 0 auto;
      }

      .object-350-page .photo-card:not(.photo-card-large) img {
        height: 220px;
        aspect-ratio: auto;
        object-fit: cover;
      }
    }


/* Extracted from holodnii-sklad-280.html */
.object-280-page .photo-grid {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .object-280-page .photo-card,
    .object-280-page .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .object-280-page .photo-card img,
    .object-280-page .photo-card:nth-child(3) img,
    .object-280-page .photo-card:nth-child(5) img,
    .object-280-page .photo-card:nth-child(6) img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: var(--paper);
    }

    .object-280-page .photo-card-large {
      display: flex;
      flex-direction: column;
    }

    .object-280-page .photo-card-large img {
      width: 100%;
      height: 100%;
      min-height: 0;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      background: var(--paper);
    }

    .object-280-page .photo-card figcaption {
      min-height: 0;
      display: block;
    }

    @media (min-width: 680px) {
      .object-280-page .photo-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .object-280-page .photo-card-large {
        grid-column: span 2;
      }
    }

    @media (min-width: 980px) {
      .object-280-page .photo-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
      }

      .object-280-page .photo-card-large {
        grid-column: span 2;
        grid-row: span 2;
        height: 100%;
      }

      .object-280-page .photo-card-large img {
        flex: 1 1 auto;
        height: auto;
      }

      .object-280-page .photo-card-large figcaption {
        flex: 0 0 auto;
      }

      .object-280-page .photo-card:not(.photo-card-large) img {
        height: 220px;
        aspect-ratio: auto;
        object-fit: cover;
      }
    }


/* Extracted from proizvodstvennoe-pomeshenie-400.html */
.object-400-page .photo-grid {
      grid-template-columns: 1fr;
      align-items: start;
    }

    .object-400-page .photo-card,
    .object-400-page .photo-card-large {
      grid-column: auto;
      grid-row: auto;
    }

    .object-400-page .photo-card img,
    .object-400-page .photo-card:nth-child(3) img,
    .object-400-page .photo-card:nth-child(5) img,
    .object-400-page .photo-card:nth-child(6) img {
      width: 100%;
      height: auto;
      aspect-ratio: auto;
      object-fit: contain;
      background: var(--paper);
    }

    .object-400-page .photo-card-large {
      display: flex;
      flex-direction: column;
    }

    .object-400-page .photo-card-large img {
      width: 100%;
      height: 100%;
      min-height: 0;
      aspect-ratio: 16 / 10;
      object-fit: cover;
      background: var(--paper);
    }

    .object-400-page .photo-card figcaption {
      min-height: 0;
      display: block;
    }

    @media (min-width: 680px) {
      .object-400-page .photo-grid {
        grid-template-columns: repeat(2, 1fr);
      }

      .object-400-page .photo-card-large {
        grid-column: span 2;
      }
    }

    @media (min-width: 980px) {
      .object-400-page .photo-grid {
        grid-template-columns: repeat(3, 1fr);
        grid-auto-flow: dense;
      }

      .object-400-page .photo-card-large {
        grid-column: span 2;
        grid-row: span 2;
        height: 100%;
      }

      .object-400-page .photo-card-large img {
        flex: 1 1 auto;
        height: auto;
      }

      .object-400-page .photo-card-large figcaption {
        flex: 0 0 auto;
      }

      .object-400-page .photo-card:not(.photo-card-large) img {
        height: 220px;
        aspect-ratio: auto;
        object-fit: cover;
      }
    }

/* Toolbar checkbox alignment: custom checkbox for exact vertical centering */
.box-toolbar {
  display: grid;
  grid-template-columns: minmax(0, 1fr) auto;
  align-items: center;
}

.box-toolbar .availability-toggle {
  display: inline-flex;
  align-items: center;
  justify-content: center;
  gap: 0;
  min-height: 22px;
  line-height: 1;
}

.box-toolbar .availability-toggle input {
  position: absolute;
  opacity: 0;
  width: 1px;
  height: 1px;
  margin: 0;
  pointer-events: none;
}

.box-toolbar .availability-toggle span {
  display: inline-flex;
  align-items: center;
  gap: 10px;
  line-height: 18px;
}

.box-toolbar .availability-toggle span::before {
  content: "";
  width: 18px;
  height: 18px;
  flex: 0 0 18px;
  box-sizing: border-box;
  border: 1px solid rgba(17, 24, 39, 0.42);
  border-radius: 4px;
  background: #fff;
}

.box-toolbar .availability-toggle input:checked + span::before {
  border-color: var(--accent);
  background: var(--accent);
  box-shadow: inset 0 0 0 4px #fff;
}

.box-toolbar .availability-toggle input:focus-visible + span::before {
  outline: 2px solid rgba(210, 123, 38, 0.35);
  outline-offset: 2px;
}

@media (max-width: 720px) {
  .box-toolbar {
    grid-template-columns: 1fr;
  }

  .box-toolbar .availability-toggle {
    justify-content: flex-start;
  }
}


/* Second floor 126 m² object gallery */
.second-floor-gallery .photo-card {
  display: flex;
  flex-direction: column;
}

.second-floor-gallery .photo-card img {
  flex: 1 1 auto;
  min-height: 0;
  aspect-ratio: 4 / 3;
  object-fit: cover;
}

.second-floor-gallery .photo-card figcaption {
  flex: 0 0 auto;
}

@media (min-width: 680px) {
  .second-floor-gallery {
    grid-template-columns: 2fr 1fr;
    grid-template-rows: minmax(0, 1fr) minmax(0, 1fr);
    align-items: stretch;
  }

  .second-floor-gallery .photo-card-large {
    grid-column: 1;
    grid-row: 1 / span 2;
  }

  .second-floor-gallery .photo-card-large img {
    height: 100%;
    aspect-ratio: auto;
  }

  .second-floor-gallery .photo-card:not(.photo-card-large) img {
    height: 100%;
    aspect-ratio: auto;
  }
}
