/* Shared promotion content; existing dialog and overlay behavior is preserved. */
.popup-promotion .popup-promotion-title { hyphens: auto; overflow-wrap: anywhere; }
.popup-promotion p.popup-promotion-description { margin-top: 16px; color: var(--text); font-size: 16px; font-weight: 400; }
.popup-promotion img.popup-promotion-photo { width: min(440px, 100%); max-width: 100%; height: auto; margin: 24px auto 0; border-radius: 12px; }
.popup-promotion .popup-promotion-link { display: inline-flex; align-items: center; justify-content: center; width: min(320px, 100%); margin-top: 12px; padding: 8px 24px; border-radius: 9999px; color: var(--white); background: var(--button-gradient); font-weight: 600; text-decoration: none; }
.popup-promotion .popup-promotion-link:focus-visible { outline: 3px solid var(--blue); outline-offset: 4px; }

/* Updated content is limited to the Tools and Vorlagen detail pages. */
.popup-promotion.promotion-updated .promotion-content { width: 100%; margin-inline: auto; text-align: center; }
.popup-promotion.promotion-updated .popup-promotion-eyebrow { margin: 0 0 12px; color: var(--text); font-size: 13px; font-weight: 400; line-height: 1.5; }
.popup-promotion.promotion-updated .popup-promotion-description { margin-top: 16px; text-align: center; }
.popup-promotion.promotion-updated .popup-promotion-photo { width: 100%; max-width: 440px; height: auto; margin: 24px auto 0; border-radius: 12px; }
.popup-promotion.promotion-updated .popup-promotion-link { margin-top: 16px; }
.sidebar-promotion.promotion-updated .popup-promotion-photo { max-width: 100%; }
.sidebar-promotion.promotion-updated .promotion-title-break::after { content: "-\A"; white-space: pre; }
#vorlage_bewerten .promotion-updated .popup-promotion-link { margin-top: 16px; }

#popup_frontend_background {
  display: none;
  position: fixed;
  inset: 0;
  z-index: 1000;
  padding: 64px var(--gutter);
  overflow-y: auto;
  background: color-mix(in srgb, var(--navy) 45%, transparent);
}
body.timesheet-popup-open { overflow: hidden; }
#popup_frontend {
  position: relative;
  width: min(644px, 100%);
  margin-inline: auto;
  padding: 56px 40px 40px;
  border-radius: var(--radius);
  background: var(--white);
  box-shadow: var(--shadow);
  text-align: center;
}
#popup_frontend h2 { font-size: 30px; line-height: 1.15; }
#button_close_popup_bewertung {
  display: grid;
  place-items: center;
  position: absolute;
  top: 8px;
  right: 8px;
  width: 40px;
  height: 40px;
  color: #b5b5b5;
  font-size: 26px;
  line-height: 1;
}
#close_popup { margin-top: 16px; }

/* Reset only the popup controls, including inherited hover and active styles. */
.popup-promotion #button_close_popup_bewertung,
.converter-review.popup-promotion .converter-review-x,
.popup-promotion #button_close_popup,
.converter-review.popup-promotion .converter-review-close {
  appearance: none;
  border: 0;
  border-radius: 0;
  outline: none;
  box-shadow: none;
  filter: none;
  transform: none;
}
.popup-promotion #button_close_popup_bewertung,
.converter-review.popup-promotion .converter-review-x { background: var(--white); }
.popup-promotion #button_close_popup,
.converter-review.popup-promotion .converter-review-close { color: var(--text); background: none; }

@media (hover: hover) {
  .popup-promotion #button_close_popup:hover,
  .converter-review.popup-promotion .converter-review-close:hover { color: var(--navy); }
}

/* Keep keyboard focus visible without a button outline. */
.popup-promotion #button_close_popup_bewertung:focus-visible,
.converter-review.popup-promotion .converter-review-x:focus-visible { color: var(--navy); }
.popup-promotion #button_close_popup:focus-visible,
.converter-review.popup-promotion .converter-review-close:focus-visible {
  text-decoration: underline;
  text-underline-offset: 4px;
}
@media (max-width: 767px) {
  #popup_frontend_background { padding-block: 24px; }
  #popup_frontend { padding: 56px 24px 24px; }
  #popup_frontend h2 { font-size: 26px; }
}
@media print {
  #popup_frontend_background { display: none !important; }
}
