/* Entrance solutions within the established Banktrade identity. */
.doors-page .doors-section-link { margin-top: 20px; }

/* Boon Edam partnership */
.doors-page .doors-partner-grid {
  display: grid;
  grid-template-columns: 200px minmax(0, 1fr);
  gap: clamp(28px, 5vw, 64px);
  align-items: center;
}
.doors-page .doors-partner-grid > * { min-width: 0; }
.doors-page .doors-partner-logo { margin: 0; }
.doors-page .doors-partner-logo img { display: block; width: 200px; max-width: 100%; height: auto; }
.doors-page .doors-partner-grid h2 { margin-bottom: 15px; }
.doors-page .doors-partner-grid p { max-width: 72ch; }

/* Photo or schematic beside copy, on light sections */
.doors-page .doors-feature-grid {
  display: grid;
  grid-template-columns: minmax(0, 1fr) minmax(0, 1fr);
  gap: clamp(28px, 4vw, 56px);
  align-items: center;
}
.doors-page .doors-feature-grid > * { min-width: 0; }
.doors-page .doors-feature-photo { margin: 0; }
.doors-page .doors-feature-photo img {
  display: block;
  width: 100%;
  height: auto;
  aspect-ratio: 4 / 3;
  object-fit: cover;
  background: var(--paper-2);
}
.doors-page .doors-feature-photo figcaption {
  margin-top: 14px;
  padding-top: 12px;
  border-top: 1px solid var(--planning-rule);
  color: var(--muted);
  font-size: .78rem;
  line-height: 1.6;
}
.doors-page .doors-feature-grid > .planning-ai-checklist { margin-top: 0; }
.doors-page .doors-feature-copy h2 { margin-bottom: 18px; }
.doors-page .doors-feature-list { display: grid; margin: 24px 0 0; padding: 0; list-style: none; }
.doors-page .doors-feature-list li {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding-block: 16px;
  border-top: 1px solid var(--planning-rule);
}
.doors-page .doors-feature-list .planning-icon { width: 30px; height: 30px; }
.doors-page .doors-feature-list strong { display: block; color: var(--ink); font-size: .95rem; font-weight: 600; }
.doors-page .doors-feature-list p { margin: 5px 0 0; font-size: .88rem; line-height: 1.65; }

/* Sliding door schematic */
.doors-page .doors-product-schematic > svg { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; }
.doors-page .doors-product-schematic .doors-slide-left { animation: doors-slide-left 7s ease-in-out infinite paused; }
.doors-page .doors-product-schematic .doors-slide-right { animation: doors-slide-right 7s ease-in-out infinite paused; }
.doors-page .doors-product-schematic.is-in-view .doors-slide-left,
.doors-page .doors-product-schematic.is-in-view .doors-slide-right { animation-play-state: running; }
.doors-page.planning-paused .doors-product-schematic .doors-slide-left,
.doors-page.planning-paused .doors-product-schematic .doors-slide-right { animation-play-state: paused; }
@keyframes doors-slide-left { 0%, 15%, 100% { transform: translateX(0); } 40%, 70% { transform: translateX(-64px); } }
@keyframes doors-slide-right { 0%, 15%, 100% { transform: translateX(0); } 40%, 70% { transform: translateX(64px); } }
@media (prefers-reduced-motion: reduce) {
  .doors-page .doors-product-schematic .doors-slide-left,
  .doors-page .doors-product-schematic .doors-slide-right { animation: none; }
}

/* How a revolving door works (dark band) */
.doors-page .doors-explain-grid {
  display: grid;
  grid-template-columns: minmax(0, 1.1fr) minmax(0, .9fr);
  gap: clamp(28px, 4vw, 64px);
  align-items: center;
}
.doors-page .doors-explain-grid > * { min-width: 0; }
.doors-page .doors-explain-grid h2 { margin-bottom: 18px; color: #fff; }
.doors-page .doors-explain-list { display: grid; margin: 24px 0 0; padding: 0; list-style: none; }
.doors-page .doors-explain-list li {
  display: grid;
  grid-template-columns: 34px minmax(0, 1fr);
  gap: 14px;
  min-width: 0;
  padding-block: 15px;
  border-top: 1px solid rgba(255, 255, 255, .24);
}
.doors-page .doors-explain-list .planning-icon { width: 30px; height: 30px; }
.doors-page .doors-explain-list h3 { margin: 0 0 5px; color: #fff; font-size: 1rem; }
.doors-page .doors-explain-list p { margin: 0; font-size: .9rem; line-height: 1.65; }
.doors-page .doors-explain-note { margin: 6px 0 0; padding-top: 14px; border-top: 1px solid rgba(255, 255, 255, .24); font-size: .82rem; }
.doors-page .doors-diagram { justify-self: center; width: 100%; max-width: 460px; margin: 0; }
.doors-page .doors-diagram svg { display: block; width: 100%; height: auto; }
.doors-page .doors-diagram figcaption { margin-top: 14px; padding-top: 12px; border-top: 1px solid rgba(255, 255, 255, .26); color: #e0eee5; font-size: .78rem; line-height: 1.6; }

/* Security levels */
.doors-page .doors-level-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.doors-page .doors-level {
  display: flex;
  flex-direction: column;
  min-width: 0;
  padding: clamp(20px, 2vw, 28px);
  border-top: 2px solid var(--green);
  background: var(--paper);
}
.doors-page .doors-level h3 { margin: 12px 0 10px; }
.doors-page .doors-level p { margin: 0; font-size: .92rem; }
.doors-page .doors-level .doors-product-family { margin-top: auto; padding-top: 16px; }
.doors-page p.doors-product-family { margin-bottom: 0; color: var(--muted); font-size: .8rem; line-height: 1.65; }
.doors-page .doors-product-family strong { color: var(--green); font-weight: 600; }

/* Service */
.doors-page .doors-service-band {
  display: grid;
  grid-template-columns: repeat(3, minmax(0, 1fr));
  gap: 28px;
  margin: 0;
  padding: 24px 0 0;
  border-top: 1px solid var(--planning-rule);
  list-style: none;
}
.doors-page .doors-service-band > * {
  display: grid;
  grid-template-columns: 32px minmax(0, 1fr);
  column-gap: 14px;
  min-width: 0;
  align-items: start;
}
.doors-page .doors-service-band .planning-icon { grid-row: 1 / span 2; width: 30px; height: 30px; }
.doors-page .doors-service-band strong { display: block; font-size: .9rem; font-weight: 600; line-height: 1.5; }
.doors-page .doors-service-band span { margin: 4px 0 0; color: var(--muted); font-size: .82rem; line-height: 1.65; }

/* Installations, same caption style as the other photos */
.doors-page .doors-gallery {
  display: grid;
  grid-template-columns: repeat(4, minmax(0, 1fr));
  gap: clamp(20px, 2.2vw, 30px);
  margin: 0;
  padding: 0;
  list-style: none;
}
.doors-page .doors-gallery > li { min-width: 0; }
.doors-page .doors-gallery img { display: block; width: 100%; height: auto; aspect-ratio: 4 / 3; object-fit: cover; background: var(--paper-2); }
.doors-page .doors-gallery-caption { margin-top: 16px; padding-top: 14px; border-top: 1px solid var(--planning-rule); }
.doors-page .doors-gallery-caption strong { display: flex; gap: 12px; align-items: baseline; color: var(--ink); font-size: .92rem; font-weight: 600; line-height: 1.4; }
.doors-page .doors-gallery-caption strong span { color: var(--green); font-family: Sora, Manrope, sans-serif; font-size: .7rem; font-weight: 600; letter-spacing: .06em; }
.doors-page .doors-gallery-caption p { margin: 6px 0 0; color: var(--muted); font-size: .84rem; line-height: 1.6; }

@media (max-width: 1100px) {
  .doors-page .doors-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); row-gap: 36px; }
}
@media (max-width: 900px) {
  .doors-page .doors-feature-grid,
  .doors-page .doors-explain-grid { grid-template-columns: minmax(0, 1fr); gap: 30px; }
  .doors-page .doors-level-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
  .doors-page .doors-partner-grid { grid-template-columns: 170px minmax(0, 1fr); gap: 30px; }
  .doors-page .doors-service-band { gap: 22px; }
}
@media (max-width: 700px) {
  .doors-page .doors-partner-grid { grid-template-columns: minmax(0, 1fr); gap: 26px; }
  .doors-page .doors-partner-logo img { width: 180px; }
  .doors-page .doors-service-band { grid-template-columns: minmax(0, 1fr); gap: 21px; }
}
@media (max-width: 560px) {
  .doors-page .doors-gallery { grid-template-columns: minmax(0, 1fr); row-gap: 30px; }
}
