:root { --danpr-accent: #8734ca; --danpr-blue: #143b8f; --danpr-text: #315f7d; }
.danpr-program { width: 100%; border-top: 1px solid #e5e5e5; }
.danpr-item { display: grid; grid-template-columns: 72px minmax(0, 1fr) auto; gap: 28px; align-items: center; min-height: 130px; padding: 20px 35px; border-bottom: 1px solid #e5e5e5; }
.danpr-time { color: #ed3b91; font-size: 16px; font-weight: 700; }
.danpr-summary h3 {
  margin: 0 0 7px;
  color: #737373;
  font-family: "PT Serif", serif !important;
  font-size: 25px;
  text-transform: initial;
  line-height: 1.2;
  font-style: oblique;
}
.danpr-summary p { margin: 0; color: #858585; font-size: 15px; }
.danpr-item--break { grid-template-columns: 72px minmax(0, 1fr); }
.danpr-item--break .danpr-summary h3 { margin: 0; color: #ed3b91; }
.danpr-open { min-width: 118px; padding: 13px 22px; border: 0; border-radius: 999px; background: var(--danpr-accent); color: #fff; font: inherit; font-size: 14px; cursor: pointer; transition: transform .2s, opacity .2s; }
.danpr-open:hover { opacity: .9; transform: translateY(-1px); }
.danpr-modal[hidden] { display: none; }
.danpr-modal { position: fixed; z-index: 2147483647; inset: 0; display: grid; place-items: center; padding: 34px; isolation: isolate; }
.danpr-modal, .danpr-modal *, .danpr-modal *::before, .danpr-modal *::after { box-sizing: border-box; }
.danpr-backdrop { position: absolute; inset: 0; background: rgba(20, 42, 61, .78); backdrop-filter: blur(3px); }
.danpr-dialog { position: relative; display: grid; grid-template-columns: 42.5% 57.5%; width: min(960px, 100%); height: min(692px, calc(100vh - 68px)); max-height: calc(100vh - 68px); overflow: hidden; border-radius: 25px; background: #fff; box-shadow: 0 24px 70px rgba(0, 0, 0, .28); }
.danpr-image { min-height: 620px; background: #e9edf0; }
.danpr-image:empty { display: none; }
.danpr-image:empty + .danpr-content { grid-column: 1 / -1; }
.danpr-image img { display: block; width: 100%; height: 100%; object-fit: cover; }
.danpr-content { align-self: stretch; min-width: 0; max-width: 100%; height: 100%; overflow-x: hidden; overflow-y: auto; padding: 70px 72px; color: var(--danpr-text); }
.danpr-modal .danpr-content h2 { width: 100%; max-width: 100%; margin: 0 0 12px !important; padding: 0 0 10px !important; border: 0; border-bottom: 1px solid #ccd8df; color: #8734ca !important; font-family: inherit; font-size: 20px !important; font-weight: 700; line-height: 1.25 !important; letter-spacing: 0; overflow-wrap: anywhere; }
.danpr-description {
  font-size: 0.9em;
  line-height: 1.55;
}
.danpr-description > :first-child { margin-top: 0; }
.danpr-description > :last-child { margin-bottom: 0; }
.danpr-modal .danpr-close { position: absolute; z-index: 2; top: 15px; right: 15px; display: flex; align-items: center; justify-content: center; width: 46px !important; min-width: 46px !important; max-width: 46px !important; height: 46px !important; min-height: 46px !important; max-height: 46px !important; margin: 0 !important; padding: 0 0 3px !important; border: 2px solid #a968dc !important; border-radius: 50% !important; background: #8734ca !important; color: #fff !important; box-shadow: 0 5px 12px rgba(0,0,0,.2); font-family: Arial, sans-serif !important; font-size: 32px !important; font-weight: 300 !important; line-height: 1 !important; text-align: center; text-decoration: none; appearance: none; cursor: pointer; }
body.danpr-modal-open { overflow: hidden; }
@media (max-width: 760px) {
  .danpr-item { grid-template-columns: 60px 1fr; gap: 15px; min-height: 0; padding: 26px 12px; }
  .danpr-summary h3 { font-size: 22px; }
  .danpr-open { grid-column: 2; justify-self: start; }
  .danpr-item--break { grid-template-columns: 60px 1fr; }
  .danpr-modal { padding: 14px; }
  .danpr-dialog { display: block; height: auto; max-height: calc(100vh - 28px); overflow-y: auto; border-radius: 18px; }
  .danpr-image { min-height: 0; height: 260px; }
  .danpr-content { max-height: none; overflow: visible; padding: 35px 25px; }
  .danpr-modal .danpr-content h2 { font-size: 20px !important; }
  .danpr-close { position: fixed; top: 23px; right: 23px; }
}
@media (prefers-reduced-motion: reduce) { .danpr-open { transition: none; } }
