/* ProDent Concept · V26 clean editorial pass
   No decorative numbering. No template counters. */

/* SERVICES — editorial composition, no counter logic */
#services .pds-count,
#services .pds-number,
#services .pds-feature-number,
#services .pds-row-arrow{display:none!important}
#services .pds-head{grid-template-columns:minmax(180px,.36fr) minmax(0,1fr)!important;gap:clamp(34px,5vw,76px)!important;padding-bottom:48px!important}
#services .pds-label{padding-top:8px!important}
#services .pds-label .eyebrow{margin:0!important}
#services .pds-layout{grid-template-columns:minmax(390px,.92fr) minmax(0,1.08fr)!important;gap:clamp(44px,5vw,76px)!important;align-items:start!important}
#services .pds-visual{position:sticky!important;top:108px!important;border-radius:0!important;box-shadow:none!important;background:#05221B!important}
#services .pds-photo-stage{aspect-ratio:4/5!important;max-height:640px!important}
#services .pds-feature-copy{padding:29px 30px 27px!important;min-height:196px!important}
#services .pds-feature-title{font-size:clamp(34px,2.6vw,44px)!important}
#services .pds-feature-description{margin:14px 0 20px!important;min-height:0!important;max-width:30em!important}
#services .pds-feature-link{justify-content:flex-start!important;border-top:1px solid rgba(248,242,232,.2)!important;padding-top:15px!important}
#services .pds-list{border-top:1px solid rgba(5,34,27,.2)!important}
#services .pds-row{display:block!important;min-height:0!important;padding:20px 0!important;border-bottom:1px solid rgba(5,34,27,.14)!important;background:transparent!important;color:#05221B!important;overflow:visible!important;transition:opacity .35s ease,padding .35s ease!important}
#services .pds-row:before,#services .pds-row:after{display:none!important}
#services .pds-row-copy{display:grid!important;grid-template-columns:minmax(160px,.72fr) minmax(0,1.28fr)!important;gap:28px!important;align-items:baseline!important}
#services .pds-row h3{font-size:clamp(28px,2vw,34px)!important;margin:0!important;color:#05221B!important}
#services .pds-description{font-size:13px!important;line-height:1.7!important;color:#687469!important;max-width:34em!important}
#services .pds-row:is(.is-current,:hover,:focus-visible){padding-left:12px!important;padding-right:0!important;color:#05221B!important}
#services .pds-row:is(.is-current,:hover,:focus-visible) .pds-description{color:#263c31!important}
#services .pds-row.is-current{box-shadow:inset 2px 0 0 #2d5842!important}

/* PRICE — category typography only, no 01/02/03 */
#prices .pdc-price-index{display:none!important}
#prices .pdc-price-group>summary{grid-template-columns:minmax(0,1fr) auto!important;gap:22px!important;min-height:94px!important}
#prices .pdc-price-category{padding-left:0!important}
#prices .pdc-price-content{padding-left:0!important;padding-right:0!important}

/* LEGAL — keep official Ф-xx identifiers, remove decorative list numbering */
#documents .pd-legal-index,.pd-doc-directory .pd-legal-index{display:none!important}
#documents .pd-legal-summary,.pd-doc-directory .pd-legal-summary{grid-template-columns:minmax(0,1fr) 32px!important;gap:18px!important}

/* PARTNERS — no numbered three-step trope */
.pn10-services .pn10-num,#partners .pdn-step__num,#partners .pdn-manifesto__number{display:none!important}
html body .pn10-services>div{display:block!important;padding:22px 26px 22px 0!important}
html body .pn10-services>div+div{padding-left:26px!important}
html body .pn10-services h3{font-size:28px!important}

/* CONTACT FLOAT — lower-left, explicit communication icon, no plus */
#pdContactFloat.pd-contact-float{left:22px!important;right:auto!important;bottom:22px!important;z-index:190!important}
#pdContactFloat .pd-contact-float__toggle{min-width:142px!important;justify-content:flex-start!important;gap:10px!important;padding:0 14px!important;border:1px solid rgba(248,242,232,.22)!important;background:rgba(5,34,27,.92)!important;backdrop-filter:blur(14px)!important;box-shadow:0 10px 28px rgba(3,26,21,.16)!important}
#pdContactFloat .pd-contact-float__dot{width:6px!important;height:6px!important;box-shadow:0 0 0 0 rgba(184,205,179,.36);animation:pdContactPulse 3.2s ease-in-out infinite!important}
#pdContactFloat .pd-contact-float__label{font-size:11px!important;letter-spacing:.12em!important;text-transform:uppercase!important}
#pdContactFloat .pd-contact-float__icon{width:20px;height:20px;margin-left:auto;color:rgba(248,242,232,.78);transition:transform .45s cubic-bezier(.19,1,.22,1),opacity .3s ease}
#pdContactFloat[open] .pd-contact-float__icon{transform:scale(.92);opacity:.65}
#pdContactFloat .pd-contact-float__panel{left:0!important;right:auto!important;transform-origin:left bottom!important}
@keyframes pdContactPulse{0%,100%{box-shadow:0 0 0 0 rgba(184,205,179,0)}50%{box-shadow:0 0 0 7px rgba(184,205,179,.12)}}

@media(max-width:800px){
  #services .pds-head{display:block!important;padding-bottom:28px!important}
  #services .pds-label{display:block!important;margin-bottom:16px!important}
  #services .pds-layout{grid-template-columns:1fr!important;gap:26px!important}
  #services .pds-visual{position:relative!important;top:auto!important}
  #services .pds-photo-stage{height:300px!important;aspect-ratio:auto!important;max-height:none!important}
  #services .pds-feature-copy{display:none!important}
  #services .pds-row{padding:18px 0!important}
  #services .pds-row-copy{grid-template-columns:1fr!important;gap:6px!important}
  #services .pds-row h3{font-size:29px!important}
  #services .pds-description{font-size:14px!important;line-height:1.65!important}
  #services .pds-row:is(.is-current,:hover,:focus-visible){padding-left:10px!important}
  #prices .pdc-price-group>summary{grid-template-columns:minmax(0,1fr) 34px!important;gap:12px!important;min-height:82px!important}
  #prices .pdc-price-content{padding:0 0 28px!important}
  #documents .pd-legal-summary,.pd-doc-directory .pd-legal-summary{grid-template-columns:minmax(0,1fr) 28px!important;gap:12px!important}
  #pdContactFloat.pd-contact-float{left:14px!important;bottom:16px!important}
  #pdContactFloat .pd-contact-float__toggle{min-width:132px!important;height:44px!important}
  #pdContactFloat .pd-contact-float__panel{max-width:calc(100vw - 28px)!important}
  html body .pn10-services>div,html body .pn10-services>div+div{padding:15px 0!important}
}
@media(max-width:440px){
  #services .pds-photo-stage{height:230px!important}
  #services .pds-row h3{font-size:27px!important}
}
@media(prefers-reduced-motion:reduce){#pdContactFloat .pd-contact-float__dot{animation:none!important}}
/* Price disclosure uses typography, not a generic plus-in-circle control. */
#prices .pdc-price-plus{display:none!important}
#prices .pdc-price-action{justify-self:end!important}


/* V27 · compact contact control + explicit mobile price affordance */
#pdContactFloat .pd-contact-float__dot{display:none!important}
#pdContactFloat .pd-contact-float__toggle{
  width:max-content!important;
  min-width:0!important;
  max-width:none!important;
  height:42px!important;
  padding:0 11px 0 13px!important;
  gap:8px!important;
  justify-content:flex-start!important;
}
#pdContactFloat .pd-contact-float__label{
  font-size:10px!important;
  line-height:1!important;
  letter-spacing:.11em!important;
  white-space:nowrap!important;
}
#pdContactFloat .pd-contact-float__icon{
  width:17px!important;
  height:17px!important;
  margin-left:0!important;
  flex:0 0 17px!important;
}

#prices .pdc-price-action{
  display:flex!important;
  align-items:center!important;
  justify-self:end!important;
}
#prices .pdc-price-action-label{
  display:inline-flex!important;
  align-items:center!important;
  min-height:28px!important;
  padding:0 0 2px!important;
  border-bottom:1px solid rgba(5,34,27,.28)!important;
  font:500 10px/1.2 Manrope,Arial,sans-serif!important;
  letter-spacing:.08em!important;
  text-transform:uppercase!important;
  color:#526b5a!important;
  white-space:nowrap!important;
}
#prices .pdc-price-group[open]:not([data-price-closing]) .pdc-price-action-label{
  border-bottom-color:rgba(5,34,27,.12)!important;
  color:#05221B!important;
}
#prices .pdc-price-group>summary{
  grid-template-columns:minmax(0,1fr) auto!important;
}
#prices .pdc-price-hint{
  max-width:36em!important;
}
@media(max-width:720px){
  #prices .pdc-price-group>summary{
    grid-template-columns:minmax(0,1fr) auto!important;
    gap:14px!important;
    min-height:84px!important;
    padding:18px 0!important;
  }
  #prices .pdc-price-action-label{
    display:inline-flex!important;
    font-size:9px!important;
    letter-spacing:.075em!important;
    min-height:26px!important;
  }
  #prices .pdc-price-category{
    font-size:26px!important;
  }
  #prices .pdc-price-hint{
    margin:0 0 10px!important;
    font-size:13px!important;
    line-height:1.55!important;
  }
  #pdContactFloat .pd-contact-float__toggle{
    width:max-content!important;
    min-width:0!important;
    height:40px!important;
    padding:0 10px 0 12px!important;
  }
}


/* V28 · contact signal: larger, clearer, alive without looking like a messenger widget */
#pdContactFloat .pd-contact-float__toggle{
  width:auto!important;
  min-width:164px!important;
  height:52px!important;
  padding:0 15px!important;
  gap:10px!important;
  border-radius:999px!important;
  box-shadow:0 12px 34px rgba(3,26,21,.20), inset 0 0 0 1px rgba(248,242,232,.03)!important;
  animation:pdContactFloatArrival .72s cubic-bezier(.19,1,.22,1) both, pdContactFloatBreathe 5.8s ease-in-out 1.2s infinite!important;
}
#pdContactFloat .pd-contact-float__dot{
  position:relative!important;
  display:block!important;
  width:9px!important;
  height:9px!important;
  flex:0 0 9px!important;
  border-radius:50%!important;
  background:#77D58F!important;
  box-shadow:0 0 0 0 rgba(119,213,143,.28),0 0 12px rgba(119,213,143,.50)!important;
  animation:pdContactSignal 2.7s ease-in-out infinite!important;
}
#pdContactFloat .pd-contact-float__dot::after{
  content:"";
  position:absolute;
  inset:-4px;
  border-radius:50%;
  border:1px solid rgba(119,213,143,.24);
  opacity:.65;
  transform:scale(.72);
  animation:pdContactSignalRing 2.7s ease-out infinite;
}
#pdContactFloat .pd-contact-float__label{
  font-size:11px!important;
  line-height:1!important;
  letter-spacing:.115em!important;
  font-weight:500!important;
}
#pdContactFloat .pd-contact-float__icon{
  width:19px!important;
  height:19px!important;
  flex:0 0 19px!important;
  margin-left:auto!important;
  opacity:.82!important;
}
#pdContactFloat[open] .pd-contact-float__toggle{
  animation:none!important;
}
@keyframes pdContactSignal{
  0%,100%{opacity:.78;box-shadow:0 0 0 0 rgba(119,213,143,.12),0 0 8px rgba(119,213,143,.34)}
  50%{opacity:1;box-shadow:0 0 0 6px rgba(119,213,143,.07),0 0 16px rgba(119,213,143,.56)}
}
@keyframes pdContactSignalRing{
  0%{opacity:.52;transform:scale(.72)}
  58%{opacity:0;transform:scale(1.35)}
  100%{opacity:0;transform:scale(1.35)}
}
@keyframes pdContactFloatArrival{
  from{opacity:0;transform:translate3d(-14px,8px,0);filter:blur(4px)}
  to{opacity:1;transform:translate3d(0,0,0);filter:blur(0)}
}
@keyframes pdContactFloatBreathe{
  0%,82%,100%{transform:translate3d(0,0,0)}
  89%{transform:translate3d(0,-2px,0)}
  94%{transform:translate3d(0,0,0)}
}
@media(max-width:720px){
  #pdContactFloat.pd-contact-float{left:16px!important;bottom:18px!important}
  #pdContactFloat .pd-contact-float__toggle{
    min-width:158px!important;
    height:50px!important;
    padding:0 14px!important;
    gap:10px!important;
  }
  #pdContactFloat .pd-contact-float__label{font-size:11px!important;letter-spacing:.105em!important}
  #pdContactFloat .pd-contact-float__icon{width:18px!important;height:18px!important;flex-basis:18px!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}
}
