/* 007 - scroll-triggered WhatsApp service representative. Isolated names prevent theme collisions. */
.p007-service-floater{--p007-floater-red:#be1724;position:fixed;bottom:0;left:clamp(9px,2.2vw,32px);z-index:9995;width:clamp(170px,17vw,242px);max-width:calc(100vw - 24px);box-sizing:border-box;opacity:0;transform:translateY(85px) scale(.91);pointer-events:none;transition:opacity .45s ease,transform .65s cubic-bezier(.2,.8,.2,1);font-family:Heebo,Arial,sans-serif;filter:drop-shadow(0 6px 9px rgba(20,24,30,.12))}
.p007-service-floater[hidden]{display:none!important}
.p007-service-floater.is-visible{opacity:1;transform:translateY(0) scale(1);pointer-events:auto}
.p007-service-floater--right{left:auto;right:clamp(9px,2.2vw,32px)}
.p007-service-floater__link{position:relative;display:block;text-decoration:none!important;color:#242529!important;outline-offset:3px;min-height:200px}
.p007-service-floater__portrait{display:block;width:100%;height:auto;max-height:310px;object-fit:contain;object-position:center bottom;mix-blend-mode:multiply;transition:transform .25s ease;mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%);-webkit-mask-image:linear-gradient(to bottom,#000 0%,#000 94%,transparent 100%)}
.p007-service-floater__link:hover .p007-service-floater__portrait,.p007-service-floater__link:focus-visible .p007-service-floater__portrait{transform:translateY(-5px)}
.p007-service-floater__bubble{position:absolute;z-index:2;bottom:48%;left:78%;min-width:146px;max-width:168px;display:grid;gap:2px;padding:10px 12px;background:#fff;border:1px solid #ededed;border-radius:16px 16px 16px 5px;box-shadow:0 9px 26px rgba(25,25,25,.16);font-size:13px;line-height:1.35;text-align:right;white-space:normal;pointer-events:none}
.p007-service-floater--right .p007-service-floater__bubble{left:auto;right:78%;border-radius:16px 16px 5px 16px}
.p007-service-floater__bubble strong{font-size:15px;font-weight:800;color:#222}
.p007-service-floater__eyebrow{font-size:11px;color:var(--p007-floater-red);font-weight:800}
.p007-service-floater__hint{font-size:11px;color:#666}
.p007-service-floater__wa{position:absolute;z-index:3;left:5%;bottom:12%;display:grid;place-items:center;width:46px;height:46px;border:3px solid #fff;border-radius:50%;background:#19c466;color:#fff;box-shadow:0 5px 17px rgba(0,0,0,.24)}
.p007-service-floater__wa svg{display:block;width:25px;height:25px}
.p007-service-floater__close{position:absolute;z-index:5;top:6px;left:6px;display:grid;place-items:center;width:31px;height:31px;padding:0!important;line-height:1;border:1px solid #e0e0e0!important;border-radius:50%!important;background:#fff!important;color:#333!important;cursor:pointer;font-size:25px!important;box-shadow:0 2px 7px rgba(0,0,0,.12)}
.p007-service-floater--right .p007-service-floater__close{left:auto;right:6px}
.p007-service-floater__close:focus-visible,.p007-service-floater__link:focus-visible{outline:3px solid #be1724;outline-offset:3px}
@media(max-width:767px){.p007-service-floater{width:clamp(118px,30vw,168px);bottom:0;left:7px}.p007-service-floater--right{left:auto;right:7px}.p007-service-floater__portrait{max-height:215px}.p007-service-floater__bubble{min-width:104px;max-width:128px;padding:7px 8px;left:76%;bottom:49%;border-radius:12px;font-size:11px}.p007-service-floater--right .p007-service-floater__bubble{left:auto;right:76%}.p007-service-floater__bubble strong{font-size:12px}.p007-service-floater__hint{font-size:10px}.p007-service-floater__eyebrow{font-size:10px}.p007-service-floater__wa{width:35px;height:35px;border-width:2px;bottom:8%}.p007-service-floater__wa svg{width:20px;height:20px}.p007-service-floater__close{width:30px;height:30px}}
@media(max-width:360px){.p007-service-floater{width:112px}.p007-service-floater__bubble{left:69%;min-width:104px}.p007-service-floater--right .p007-service-floater__bubble{right:69%;left:auto}}
@media(prefers-reduced-motion:reduce){.p007-service-floater,.p007-service-floater__portrait{transition:none!important}}

/* Hide only the site's generic bottom WhatsApp button while the personal contact figure is visible. */
body.p007-has-active-service-floater .whatsapp-float{display:none!important}

/* v1.2.43: compact transparent cutout pinned to viewport edge */
.p007-service-floater{width:clamp(125px,12vw,175px);left:clamp(4px,1vw,16px);bottom:0;filter:none}
.p007-service-floater--right{left:auto;right:clamp(4px,1vw,16px)}
.p007-service-floater__link{min-height:0}
.p007-service-floater__portrait{width:100%;max-height:245px;object-fit:contain;object-position:center bottom;mix-blend-mode:normal;mask-image:none;-webkit-mask-image:none}
.p007-service-floater__bubble{bottom:83%;left:30%;min-width:105px;max-width:140px;padding:7px 9px;font-size:11px}
.p007-service-floater--right .p007-service-floater__bubble{right:30%;left:auto}
.p007-service-floater__bubble strong{font-size:12px}
.p007-service-floater__wa{width:39px;height:39px;left:0;bottom:3%;border-width:2px}
.p007-service-floater__close{top:-18px;left:0;width:25px;height:25px;font-size:19px!important}
@media(max-width:767px){.p007-service-floater{width:clamp(105px,27vw,140px);left:4px}.p007-service-floater--right{left:auto;right:4px}.p007-service-floater__portrait{max-height:195px}.p007-service-floater__bubble{bottom:86%;left:25%;min-width:92px;max-width:110px}.p007-service-floater--right .p007-service-floater__bubble{right:25%;left:auto}}

/* 1.2.44 – corrected composition (screenshot 02 Nov): align with the content area,
   not viewport edge; never position the message above the face. */
@media(min-width:768px){
  .p007-service-floater{left:max(12px,calc((100vw - 1120px)/2 + var(--p007-floater-extra,0px)))!important;right:auto!important;width:clamp(132px,10.8vw,166px)!important;bottom:0!important}
  .p007-service-floater--right{right:max(12px,calc((100vw - 1120px)/2 + var(--p007-floater-extra,0px)))!important;left:auto!important}
}
.p007-service-floater{background:transparent!important;filter:none!important;isolation:isolate}
.p007-service-floater__link{background:transparent!important;border:0!important;box-shadow:none!important;min-height:0!important;overflow:visible!important}
.p007-service-floater__portrait{width:100%!important;max-height:245px!important;height:auto!important;object-fit:contain!important;object-position:center bottom!important;background:transparent!important;border:0!important;box-shadow:none!important;border-radius:0!important;filter:none!important;mix-blend-mode:normal!important;mask-image:none!important;-webkit-mask-image:none!important}
.p007-service-floater__bubble{position:absolute!important;top:auto!important;bottom:23%!important;left:calc(100% + 9px)!important;right:auto!important;min-width:140px!important;max-width:166px!important;padding:9px 11px!important;text-align:right!important;z-index:3!important;border-radius:13px!important;pointer-events:none!important}
.p007-service-floater--right .p007-service-floater__bubble{left:auto!important;right:calc(100% + 9px)!important}
.p007-service-floater__close{top:0!important;left:-23px!important;right:auto!important}
.p007-service-floater--right .p007-service-floater__close{left:auto!important;right:-23px!important}
.p007-service-floater__wa{left:5%!important;right:auto!important;bottom:4%!important}
@media(max-width:767px){
  .p007-service-floater{left:7px!important;right:auto!important;width:clamp(106px,27vw,138px)!important;bottom:0!important}
  .p007-service-floater--right{right:7px!important;left:auto!important}
  .p007-service-floater__portrait{max-height:200px!important}
  .p007-service-floater__bubble{left:calc(100% + 3px)!important;right:auto!important;bottom:20%!important;min-width:108px!important;max-width:134px!important;padding:7px 8px!important}
  .p007-service-floater--right .p007-service-floater__bubble{right:calc(100% + 3px)!important;left:auto!important}
  .p007-service-floater__close{left:-2px!important;top:-12px!important}
  .p007-service-floater--right .p007-service-floater__close{right:-2px!important;left:auto!important}
}

/* v1.2.45 – close the speech card to the *visible cutout*, not the transparent image box.
   The source PNG and contain sizing leave transparent pixels at each side. */
.p007-service-floater__bubble{left:calc(100% - 29px)!important;right:auto!important}
.p007-service-floater--right .p007-service-floater__bubble{right:calc(100% - 29px)!important;left:auto!important}
@media(max-width:767px){
  .p007-service-floater__bubble{left:calc(100% - 18px)!important;right:auto!important}
  .p007-service-floater--right .p007-service-floater__bubble{right:calc(100% - 18px)!important;left:auto!important}
}

/* 1.14.1 – larger text in the speech card; on desktop the card opens only while the pointer is on
   the figure (or it has keyboard focus). Touch screens have no hover, so there it stays visible. */
.p007-service-floater__bubble{width:max-content!important;min-width:158px!important;max-width:210px!important;padding:10px 13px!important;gap:3px!important;font-size:13px!important;line-height:1.35!important}
.p007-service-floater__bubble strong{font-size:15px!important;line-height:1.25!important}
.p007-service-floater__eyebrow,.p007-service-floater__hint{font-size:12.5px!important}
@media(max-width:767px){
  .p007-service-floater__bubble{min-width:118px!important;max-width:150px!important;padding:8px 9px!important}
  .p007-service-floater__bubble strong{font-size:13.5px!important}
  .p007-service-floater__eyebrow,.p007-service-floater__hint{font-size:11.5px!important}
}
@media(hover:hover) and (pointer:fine){
  .p007-service-floater__bubble{opacity:0;transform:translateY(8px) scale(.94);transform-origin:left bottom;visibility:hidden;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s linear .28s}
  .p007-service-floater--right .p007-service-floater__bubble{transform-origin:right bottom}
  .p007-service-floater__link:hover .p007-service-floater__bubble,
  .p007-service-floater__link:focus-visible .p007-service-floater__bubble{opacity:1;transform:none;visibility:visible;transition:opacity .22s ease,transform .28s cubic-bezier(.2,.8,.2,1),visibility 0s}
}
@media(hover:hover) and (pointer:fine) and (prefers-reduced-motion:reduce){
  .p007-service-floater__bubble{transform:none!important;transition:opacity .15s linear,visibility 0s linear .15s}
}
