/* KP+ button standard, approved 22 September 2026.
   Presentation only: preserve colours, states, dimensions and all handlers.
   Media thumbnails and slider position markers are not action buttons. */
:root { --kp-button-radius: 8px; }
html body :is(
  button:not(.album-photo-trigger):not(.imagefilm-trigger):not([role="switch"]),
  input[type="button"], input[type="submit"], input[type="reset"],
  a[role="button"], a.button, a.button-secondary, a.btn,
  a.btn-primary, a.btn-secondary, a.cta, a.cta-button,
  a.header-cta, a.header-message, a.header-login,
  a.kj-module-cta, a.kp-round-button, a.kp-round-button-v17,
  a.glossy-button, a.mini-glossy, a.immo-round-button,
  .retirement-depot-promo, .mobile-nav-booking, .mobile-nav-retirement,
  .function-dock a, .whatsapp-teaser > a,
  .header-service-links > a, .hero-service-links a,
  .kp-function-links a, .kp-function-links-v17 a, .immo-function-links a,
  .kp-whatsapp-card > a, .kp-whatsapp-card-v17 > a, .immo-whatsapp-card > a,
  .ks-conversion-v2 .topline-inner a
) { border-radius: var(--kp-button-radius) !important; }

/* Keep the glossy surface within the same softly rectangular contour. */
html body :is(.glossy-button, .mini-glossy, .status-legend-button)::before {
  border-radius: 6px 6px 4px 4px !important;
}

/* OV: reserve the actual label width; never squeeze the booking CTA. */
html body .site-header .header-actions > .button {
  flex: 0 0 auto;
  width: max-content;
  min-width: max-content;
  white-space: nowrap;
}
@media (min-width: 901px) {
  html body .site-header:has(.header-actions) {
    grid-template-columns: minmax(240px, 1fr) auto auto;
  }
}
@media (min-width: 1181px) and (max-width: 1400px) {
  html body .site-header:has(.header-actions) { gap: 14px; padding-inline: 18px; }
  html body .site-header .desktop-nav { gap: 12px; font-size: 12px; }
  html body .site-header .header-actions { gap: 8px; }
}
@media (min-width: 901px) and (max-width: 1000px) {
  html body .site-header:has(.header-actions) {
    grid-template-columns: minmax(180px, 1fr) auto auto;
  }
}
