/* ProDent V30 · document layout and contact control
   Compact contact signal, aligned legal documents, mobile services without divider lines. */

/* CONTACT — short, substantial, no empty middle. Message icon, label and live lamp. */
#pdContactFloat.pd-contact-float{
  display:block!important;
  top:auto!important;
  transform:none!important;
  width:max-content!important;
  height:auto!important;
  left:20px!important;
  right:auto!important;
  bottom:20px!important;
}
#pdContactFloat .pd-contact-float__toggle{
  display:flex!important;
  align-items:center!important;
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  height:54px!important;
  padding:0 18px!important;
  gap:11px!important;
  justify-content:flex-start!important;
  border-radius:17px!important;
  border:1px solid rgba(248,242,232,.22)!important;
  background:rgba(5,34,27,.95)!important;
  box-shadow:0 12px 32px rgba(3,26,21,.18)!important;
  animation:pdV29ContactIn .65s cubic-bezier(.19,1,.22,1) both,pdV29ContactGlow 6.4s ease-in-out 1s infinite!important;
}
#pdContactFloat .pd-contact-float__dot{
  display:block!important;
  position:relative!important;
  top:auto!important;
  left:auto!important;
  order:3;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  border-radius:50%!important;
  background:#76d58f!important;
  box-shadow:0 0 11px rgba(118,213,143,.48)!important;
  animation:pdV29Lamp 2.8s ease-in-out infinite!important;
}
#pdContactFloat .pd-contact-float__dot::after{
  content:"";
  position:absolute;
  inset:-4px;
  border:1px solid rgba(118,213,143,.22);
  border-radius:50%;
  animation:pdV29LampRing 2.8s ease-out infinite;
}
#pdContactFloat .pd-contact-float__label{
  display:block!important;
  position:static!important;
  width:auto!important;
  height:auto!important;
  overflow:visible!important;
  clip:auto!important;
  margin:0!important;
  padding:0!important;
  font:500 12px/1 Manrope,Arial,sans-serif!important;
  letter-spacing:.085em!important;
  text-transform:uppercase!important;
  white-space:nowrap!important;
  color:#F8F2E8!important;
}
#pdContactFloat .pd-contact-float__icon{
  display:block!important;flex:0 0 24px!important;width:24px!important;height:24px!important;
  margin:0!important;order:0;color:#F8F2E8;fill:none;stroke:currentColor;stroke-width:1.6;
  stroke-linecap:round;stroke-linejoin:round;
}
#pdContactFloat .pd-contact-float__label{order:1}
#pdContactFloat .pd-contact-float__plus{display:none!important}
#pdContactFloat .pd-contact-float__toggle:focus-visible{outline:2px solid #F8F2E8;outline-offset:4px}
#pdContactFloat .pd-contact-float__panel{
  left:0!important;right:auto!important;top:auto!important;bottom:calc(100% + 12px)!important;
  max-width:calc(100vw - 40px);max-height:calc(100dvh - 150px);overflow-y:auto;
  transform:translateY(10px) scale(.985);transform-origin:left bottom!important;
}
#pdContactFloat[open] .pd-contact-float__panel{transform:none}
#pdContactFloat[open] .pd-contact-float__toggle{animation:none!important}
@keyframes pdV29ContactIn{from{opacity:0;transform:translate3d(-10px,7px,0)}to{opacity:1;transform:none}}
@keyframes pdV29ContactGlow{0%,82%,100%{box-shadow:0 12px 32px rgba(3,26,21,.18)}91%{box-shadow:0 13px 36px rgba(3,26,21,.24),0 0 0 1px rgba(118,213,143,.08)}}
@keyframes pdV29Lamp{0%,100%{opacity:.78;box-shadow:0 0 8px rgba(118,213,143,.34)}50%{opacity:1;box-shadow:0 0 15px rgba(118,213,143,.62)}}
@keyframes pdV29LampRing{0%{opacity:.42;transform:scale(.72)}62%,100%{opacity:0;transform:scale(1.45)}}

/* DOCUMENTS — one clean alignment axis after removing decorative indexes. */
#documents .pd-legal-layout{
  grid-template-columns:minmax(230px,300px) minmax(0,1fr)!important;
  gap:clamp(42px,5vw,78px)!important;
  align-items:start!important;
}
#documents .pd-legal-accordion{width:100%!important;min-width:0!important}
#documents .pd-legal-summary{
  grid-template-columns:minmax(0,1fr) 30px!important;
  gap:22px!important;
  align-items:center!important;
  min-height:0!important;
  padding:22px 0!important;
}
#documents .pd-legal-summary-copy{min-width:0!important;width:auto!important;padding:0!important}
#documents .pd-legal-title{font-size:15px!important;line-height:1.65!important}
#documents .pd-legal-metadata{font-size:11px!important;line-height:1.7!important;margin-top:6px!important}
#documents .pd-legal-panel{padding:0 0 30px!important;margin:0!important}
#documents .pd-legal-actions{margin:0 0 18px!important;padding:0!important;align-items:center!important}
#documents .pd-disclosure-mark{margin-top:2px!important;justify-self:end!important}
#documents .pd-legal-reading{margin:0!important;width:100%!important;box-sizing:border-box!important}

/* SERVICES — mobile has motion and hierarchy, but no template divider lines. */
@media(max-width:800px){
  #services .pds-list{
    display:grid!important;
    gap:2px!important;
    width:100%!important;
  }
  #services .pds-row{
    display:block!important;
    min-height:0!important;
    padding:15px 0!important;
    margin:0!important;
    border:0!important;
    border-bottom:0!important;
    background:transparent!important;
    color:#05221B!important;
    box-shadow:none!important;
    transform:none;
  }
  #services .pds-row::before,#services .pds-row::after{display:none!important;content:none!important}
  #services .pds-row-copy{display:block!important;grid-template-columns:none!important;gap:0!important;padding:0!important}
  #services .pds-row h3{margin:0 0 5px!important;font-size:29px!important;line-height:1.04!important;color:#05221B!important}
  #services .pds-description{display:block!important;font-size:13.5px!important;line-height:1.6!important;color:#5f6e63!important;max-width:31em!important}
  #services .pds-row:is(.is-current,:hover,:focus-visible){padding:15px 0!important;background:transparent!important;color:#05221B!important}
  #services .pds-row:is(.is-current,:hover,:focus-visible) .pds-description{color:#5f6e63!important}
  html body #services .pds-row.is-entering{animation:pdV29ServiceReveal .72s cubic-bezier(.22,1,.36,1) both!important}
  #services .pds-visual.is-revealed{animation:pdV29PhotoReveal 1s cubic-bezier(.22,1,.36,1) both!important}
  @keyframes pdV29ServiceReveal{from{opacity:0;transform:translate3d(0,16px,0);filter:blur(2px)}to{opacity:1;transform:none;filter:none}}
  @keyframes pdV29PhotoReveal{from{opacity:.25;transform:scale(.985);filter:blur(5px)}to{opacity:1;transform:none;filter:none}}

  #documents .pd-legal-layout{display:block!important}
  #documents .pd-legal-compact-head{position:static!important;margin:0 0 26px!important}
  #documents .pd-legal-summary{grid-template-columns:minmax(0,1fr) 28px!important;gap:14px!important;padding:18px 0!important}
  #documents .pd-legal-title{font-size:14px!important;line-height:1.55!important}
  #documents .pd-legal-metadata{margin-top:5px!important;font-size:11px!important;line-height:1.55!important}
  #documents .pd-legal-panel{padding:0 0 24px!important}
  #documents .pd-legal-actions{gap:5px 18px!important;margin-bottom:14px!important}
  #documents .pd-legal-reading{padding:21px 17px!important}

  #pdContactFloat.pd-contact-float{left:14px!important;bottom:calc(64px + env(safe-area-inset-bottom,0px))!important}
  #pdContactFloat .pd-contact-float__toggle{height:52px!important;padding:0 16px!important;gap:10px!important;border-radius:16px!important}
  #pdContactFloat .pd-contact-float__label{font-size:11px!important;letter-spacing:.075em!important}
}
@media(max-width:390px){
  #services .pds-row{padding:13px 0!important}
  #services .pds-row:is(.is-current,:hover,:focus-visible){padding:13px 0!important}
  #services .pds-row h3{font-size:27px!important}
  #pdContactFloat .pd-contact-float__toggle{height:50px!important;padding:0 15px!important}
}
@media(prefers-reduced-motion:reduce){
  #pdContactFloat .pd-contact-float__toggle,#pdContactFloat .pd-contact-float__dot,#pdContactFloat .pd-contact-float__dot::after{animation:none!important}
}

/* No arbitrary selected-line styling in services. Image/text change is enough. */
#services .pds-row.is-current{box-shadow:none!important;padding-left:0!important}
@media(max-width:800px){
  #services .pds-list{border-top:0!important}
  #services .pds-row.is-current{padding-left:0!important;padding-right:0!important}
}

/* Keep fixed communication controls clear of the final footer lines. */
html body .pd-site-credit{
  justify-content:flex-start;text-align:left;align-items:center;
  font:300 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.02em;
  color:#8ea497;margin-top:20px;padding-top:16px;padding-bottom:96px;
}
html body .pd-site-credit a{
  display:inline-flex;align-items:center;min-height:28px;
  font:400 11px/1.5 Manrope,Arial,sans-serif;letter-spacing:.09em;color:#a9bdb0;
}
@media(max-width:800px){html body .pd-site-credit{padding-bottom:calc(142px + env(safe-area-inset-bottom,0px));}}
@media print{#pdContactFloat.pd-contact-float{display:none!important}}
