/* PressDesign.pro V9 — contact panel contrast and image-caption refinement.
   Loaded after the V8 styles to fix visual regressions without changing PHP forms. */
:root { --pd9-night: #111b36; --pd9-aqua: #80edf0; }

/* Restore the original dark information surface after the white-card global override.
   A subtle gradient adds depth while retaining WCAG-readable text. */
main .pd-surface .info-panel {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  background: linear-gradient(148deg, #121b34 0%, #172b4a 58%, #11182f 100%) !important;
  background-color: #121b34 !important;
  color: #f7fbff !important;
  border: 1px solid rgba(116, 210, 229, .22) !important;
  border-radius: 26px !important;
  box-shadow: 0 24px 65px rgba(10, 25, 54, .16) !important;
  padding: clamp(26px, 3vw, 40px) !important;
}
main .pd-surface .info-panel::before {
  content: "";
  position: absolute;
  z-index: -1;
  pointer-events: none;
  top: -160px;
  right: -180px;
  width: 390px;
  height: 390px;
  border-radius: 50%;
  background: radial-gradient(circle, rgba(27, 191, 217, .19), rgba(27, 191, 217, 0) 71%);
}
main .pd-surface .info-panel::after {
  content: "";
  position: absolute;
  left: 34px;
  right: 34px;
  top: 0;
  height: 3px;
  border-radius: 0 0 99px 99px;
  background: linear-gradient(90deg, #14c5d5, #ea3989, #ffc956);
  opacity: .9;
}
main .pd-surface .info-panel:hover {
  transform: none !important;
  border-color: rgba(116, 210, 229, .3) !important;
  box-shadow: 0 28px 70px rgba(10, 25, 54, .2) !important;
}
main .pd-surface .info-panel .eyebrow {
  color: #78ebf2 !important;
  font-size: .72rem;
}
main .pd-surface .info-panel h3,
main .pd-surface .info-panel h4,
main .pd-surface .info-panel strong,
main .pd-surface .info-panel b {
  color: #fff !important;
}
main .pd-surface .info-panel > p,
main .pd-surface .info-panel .info-row p,
main .pd-surface .info-panel > div > p,
main .pd-surface .info-panel li,
main .pd-surface .info-panel small {
  color: #d1deed !important;
}
main .pd-surface .info-panel > p {
  font-size: .95rem;
  line-height: 1.8;
  max-width: 43ch;
  margin-bottom: 22px;
}
main .pd-surface .info-panel a {
  color: #f9fdff !important;
  text-decoration: none;
  overflow-wrap: anywhere;
  text-underline-offset: 4px;
}
main .pd-surface .info-panel a:hover,
main .pd-surface .info-panel a:focus-visible {
  color: #91f4f1 !important;
  text-decoration: underline;
}
/* Compact individual contact rows instead of long dark dividers. */
main .pd-surface .info-panel .info-row {
  display: flex;
  align-items: flex-start;
  gap: 17px;
  padding: 17px 18px;
  margin: 10px 0;
  background: rgba(255, 255, 255, .055);
  border: 1px solid rgba(194, 224, 241, .12);
  border-radius: 16px;
  transition: background .25s ease, border-color .25s ease;
}
main .pd-surface .info-panel .info-row:hover {
  background: rgba(255, 255, 255, .085);
  border-color: rgba(133, 226, 237, .26);
}
main .pd-surface .info-panel .info-row:last-child { margin-bottom: 0; }
main .pd-surface .info-panel .info-row > div:last-child { min-width: 0; flex: 1; }
main .pd-surface .info-panel .info-row h4 {
  font-size: .88rem;
  font-weight: 780;
  margin-bottom: 5px;
  letter-spacing: -.01em;
}
main .pd-surface .info-panel .info-row p {
  font-size: .86rem;
  line-height: 1.65;
  margin: 0;
}
main .pd-surface .info-panel .info-row .info-symbol {
  flex: 0 0 46px;
  width: 46px;
  height: 46px;
  border-radius: 13px;
  background: rgba(28, 203, 215, .12);
  border: 1px solid rgba(121, 231, 236, .2);
  color: #82eff1;
}
main .pd-surface .info-panel .info-row .info-symbol svg { width: 23px; height: 23px; }
/* The same contrast rules also keep the side panels on Partner and Assign Project legible. */
main .pd-surface .info-panel :is(.list-ticks li, .info-step p, .pd-mini-note) { color: #d1deed !important; }

/* Image note belongs to the picture: integrated bottom gradient + typographic overlay,
   not a detached white sticker sitting outside the photo. */
main .photo-frame.pd-photo-frame-caption {
  position: relative;
  isolation: isolate;
  overflow: hidden;
  border-radius: 26px !important;
  box-shadow: 0 27px 62px rgba(18, 33, 63, .17);
}
main .photo-frame.pd-photo-frame-caption::after {
  content: "";
  position: absolute;
  z-index: 1;
  inset: 28% 0 0;
  background: linear-gradient(0deg, rgba(5, 14, 34, .89) 0%, rgba(5, 14, 34, .48) 34%, transparent 85%);
  pointer-events: none;
}
main .photo-frame.pd-photo-frame-caption .photo-label {
  position: absolute;
  z-index: 2;
  left: clamp(23px, 3vw, 37px);
  bottom: clamp(23px, 3vw, 38px);
  right: clamp(23px, 3vw, 37px);
  max-width: 440px;
  margin: 0;
  padding: 1px 0 0 18px;
  border-radius: 0;
  border-left: 3px solid #45e3e8;
  background: transparent !important;
  box-shadow: none !important;
  backdrop-filter: none;
  -webkit-backdrop-filter: none;
  color: #fff;
  transform: none;
}
main .photo-frame.pd-photo-frame-caption .photo-label strong {
  display: block;
  color: #fff !important;
  font-family: 'Manrope', Arial, sans-serif;
  font-size: clamp(1.17rem, 1.55vw, 1.46rem);
  font-weight: 840;
  letter-spacing: -.035em;
  line-height: 1.35;
  max-width: 24ch;
}
main .photo-frame.pd-photo-frame-caption .photo-label small {
  display: block;
  color: #e0ebf5 !important;
  font-size: .82rem;
  font-weight: 500;
  line-height: 1.65;
  margin-top: 8px;
  max-width: 35ch;
}
@media (max-width: 767px) {
 main .pd-surface .info-panel { padding: 26px 20px !important; border-radius: 21px !important; }
 main .pd-surface .info-panel::after { left: 20px; right: 20px; }
 main .pd-surface .info-panel .info-row { padding: 15px 12px; gap: 11px; border-radius: 13px; }
 main .pd-surface .info-panel .info-row .info-symbol { width: 39px; height: 39px; flex-basis: 39px; border-radius: 11px; }
 main .pd-surface .info-panel .info-row .info-symbol svg { width: 20px; height: 20px; }
 main .photo-frame.pd-photo-frame-caption { min-height: 335px; border-radius: 20px !important; }
 main .photo-frame.pd-photo-frame-caption .photo-label { left: 22px; bottom: 24px; right: 19px; padding-left: 15px; }
 main .photo-frame.pd-photo-frame-caption .photo-label strong { font-size: 1.15rem; }
 main .photo-frame.pd-photo-frame-caption .photo-label small { font-size: .77rem; }
}
@media (prefers-reduced-motion: reduce) {
 main .pd-surface .info-panel .info-row { transition: none; }
}
