.dpfr-service-intro {
  margin: 0;
}

.dpfr-service-details {
  margin-top: 14px;
}

.dpfr-service-details summary {
  color: var(--red);
  cursor: pointer;
  font-weight: 800;
}

.dpfr-service-details[open] summary {
  margin-bottom: 12px;
}

.dpfr-description h3 {
  margin-top: 18px;
}

.dpfr-calendar-day {
  position: relative;
  font-size: 17px;
  font-family: Inter, "Segoe UI", Roboto, Arial, sans-serif !important;
  min-width: 0;
  padding: 0;
}

.dpfr-calendar-day.is-available:not(.is-selected) {
  border: 2px solid var(--red);
}

.dpfr-day-number {
  display: block;
}

.dpfr-day-dot {
  position: absolute;
  bottom: 5px;
  left: 50%;
  width: 5px;
  height: 5px;
  border-radius: 50%;
  background: transparent;
  transform: translateX(-50%);
}

.dpfr-calendar-day.is-available:not(.is-selected) .dpfr-day-dot {
  background: var(--red);
}

.dpfr-calendar.is-loading {
  opacity: .72;
}

.dpfr-calendar-legend {
  display: flex;
  flex-wrap: wrap;
  gap: 10px 18px;
  margin-top: 14px;
  color: var(--muted);
  font-size: 12px;
  font-weight: 700;
}

.dpfr-calendar-legend span {
  display: inline-flex;
  align-items: center;
  gap: 6px;
}

.dpfr-calendar-legend i {
  display: inline-block;
  width: 14px;
  height: 14px;
  border-radius: 4px;
}

.dpfr-calendar-legend .is-free {
  border: 2px solid var(--red);
  background: #fff;
}

.dpfr-calendar-legend .is-selected {
  background: var(--red);
}

.dpfr-calendar-legend .is-unavailable {
  border: 1px solid #d9dce1;
  background: #f1f2f4;
}

@media (max-width: 720px) {
  .dpfr-detail {
    padding: 20px;
  }

  .dpfr-detail h1 {
    font-size: 28px;
  }

  .dpfr-service-details {
    font-size: 15px;
  }
}

@media (max-width: 520px) {
  .dpfr-date {
    padding: 14px;
  }

  .dpfr-calendar-day,
  .dpfr-calendar-blank {
    min-height: 42px;
  }

  .dpfr-calendar-day {
    font-size: 16px;
  }

  .dpfr-calendar-legend {
    gap: 8px 12px;
  }
}

/* DPF Retter: clear, always-visible service information — 2026-09-07. */
#dpfr-app .dpfr-detail{background:linear-gradient(135deg,#fff 65%,#fff3f5);border:1px solid #eadde0;border-top:5px solid #e50020;border-radius:18px;padding:clamp(20px,3vw,34px);box-shadow:0 8px 28px rgba(32,20,24,.06)}
#dpfr-app .dpfr-detail h1{color:#18202b;font-size:clamp(26px,3vw,38px);line-height:1.2;margin:0 0 18px;overflow-wrap:anywhere}
#dpfr-app .dpfr-facts{display:flex;align-items:center;flex-wrap:wrap;gap:10px;margin:0 0 18px}
#dpfr-app .dpfr-facts strong,#dpfr-app .dpfr-facts span{display:inline-flex;align-items:center;border:0;border-radius:10px;padding:9px 14px;line-height:1.3}
#dpfr-app .dpfr-facts strong{background:#ffebef;color:#b80020;font-size:22px}
#dpfr-app .dpfr-facts span{background:#eef1f5;color:#344256;font-size:16px;font-weight:600}
#dpfr-app .dpfr-service-intro{color:#3e4b5c;font-size:17px;line-height:1.65;margin:0 0 20px}
#dpfr-app .dpfr-service-details{display:block;border-top:1px solid #e6dce0;padding-top:20px;margin:0}
#dpfr-app .dpfr-description{color:#344256;font-size:16px;line-height:1.65}
#dpfr-app .dpfr-description h3{color:#18202b;font-size:22px;line-height:1.35;margin:0 0 12px}
#dpfr-app .dpfr-description p{margin:0 0 14px}
#dpfr-app .dpfr-description ul{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:10px;list-style:none;padding:0;margin:18px 0}
#dpfr-app .dpfr-description li{position:relative;margin:0;padding:13px 14px 13px 38px;background:#fff;color:#263447;border:1px solid #e7e9ed;border-radius:10px;line-height:1.5}
#dpfr-app .dpfr-description li::before{content:"✓";position:absolute;left:14px;color:#c30023;font-weight:800}
#dpfr-app .dpfr-description p:last-child{margin-bottom:0;background:#f0f4f8;border-left:3px solid #a9b5c4;border-radius:7px;padding:12px 15px}
#dpfr-app .dpfr-date{background:#fff;border:1px solid #e1e5eb;border-radius:18px;padding:clamp(16px,2.5vw,26px);box-shadow:0 5px 20px rgba(24,32,43,.04)}
#dpfr-app .dpfr-date-heading{color:#18202b;font-size:20px;font-weight:800}
#dpfr-app .dpfr-calendar-header{padding:10px 0 16px;color:#18202b}
#dpfr-app .dpfr-calendar-header button{border-radius:10px;border:1px solid #e0e4eb;background:#fff;color:#a6001b}
#dpfr-app .dpfr-calendar-header button:disabled{color:#aab1bc;background:#f4f5f7}
#dpfr-app .dpfr-calendar-weekdays{color:#536172;font-size:13px;font-weight:700}
#dpfr-app .dpfr-calendar-day{min-width:0;min-height:44px;border-radius:10px;font-size:16px}
#dpfr-app .dpfr-calendar-day.is-available{background:#fff6f7;border:1px solid #efc5cd;color:#263447}
#dpfr-app .dpfr-calendar-day.is-available:hover{background:#ffe7ed;border-color:#d60428}
#dpfr-app .dpfr-calendar-day.is-selected,#dpfr-app .dpfr-calendar-day.is-selected:hover{background:#cf0023;border-color:#cf0023;color:#fff;box-shadow:0 3px 10px rgba(207,0,35,.2)}
#dpfr-app .dpfr-calendar-day:disabled{background:#f2f4f7;color:#8993a1;border-color:transparent;box-shadow:none}
#dpfr-app .dpfr-slot-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(100px,1fr));gap:10px}
#dpfr-app .dpfr-slot-grid>button{min-height:48px;border:1px solid #e6bbc3;border-radius:10px;background:#fff;color:#a6001b;font-size:16px;font-weight:700}
#dpfr-app .dpfr-slot-grid>button:hover{background:#fff0f3;border-color:#ca0022}
#dpfr-app .dpfr-slot-grid .dpfr-slot-time{min-height:0;padding:0;border:0;border-radius:0;background:transparent;color:inherit;font:inherit}
#dpfr-app button:focus-visible,#dpfr-app a:focus-visible,#dpfr-app input:focus-visible,#dpfr-app select:focus-visible,#dpfr-app textarea:focus-visible{outline:3px solid #a90025;outline-offset:3px}
@media(max-width:600px){#dpfr-app .dpfr-detail{padding:22px 18px}#dpfr-app .dpfr-description ul{grid-template-columns:1fr}#dpfr-app .dpfr-calendar-grid{gap:4px}#dpfr-app .dpfr-calendar-day{min-height:40px;padding:6px 0}#dpfr-app .dpfr-date{padding:18px 12px}}
