/* Format commun des commandes. Les fonds, textes et bordures gardent leur couleur locale. */
:root { --lps-bouton-police: 700 13px/1.25 "Segoe UI", Arial, sans-serif; }
:is(button, input[type="submit"], input[type="button"], input[type="reset"], a.btn, a.action, a.cta,
     a.lps-count-link, [role="button"], a.client-proof-link, a.plaquette-raccourci,
     a.lps-news-medallion, .lps-nav > details > summary, .lps-nav > a.lps-nav-path) {
  font: var(--lps-bouton-police) !important;
  letter-spacing: normal !important;
  border-radius: 10px !important;
  text-align: center;
  box-sizing: border-box;
  min-height: 44px;
}
:is(button:not(.callback-dismiss,.callback-close),input[type="submit"],input[type="button"],input[type="reset"],
    a.btn,a.action,a.cta,[role="button"],a.client-proof-link,a.plaquette-raccourci,
    a.lps-news-medallion,.lps-nav > .lps-nav-path > summary,.lps-nav > a.lps-nav-path) {
  padding: 9px 17px;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 24%), 0 2px 0 rgb(13 37 42 / 30%), 0 4px 9px rgb(25 44 48 / 16%);
  transition: box-shadow 120ms ease-out, transform 120ms ease-out;
}
:is(a.btn,a.action,a.cta,a.plaquette-raccourci,a.client-proof-link) {
  display:inline-flex; justify-content:center;align-items:center;
}
:is(.callback-action,.lps-news-medallion) :is(.callback-copy,.callback-copy span,.callback-copy strong,
    .lps-news-title,.lps-news-title em,.lps-news-action,.lps-news-action span) {
  font:inherit !important;
}
a.lps-news-medallion { width:fit-content; min-width:9rem; aspect-ratio:auto; flex-direction:row; flex-wrap:wrap; }
.lps-news-medallion .lps-news-title em {display:inline;}
.lps-news-medallion::before {display:none;}
.callback-invite {width:min(202px,calc(100vw - 32px));height:auto;}
.callback-invite .callback-action {height:auto;min-height:48px;padding:9px 16px;flex-direction:row;gap:6px;}
.callback-action .callback-copy {display:block;}
.callback-copy > span {white-space:normal;}
.callback-copy > span:not(:last-child)::after {content:" ";}
.callback-invite .callback-dismiss,.callback-panel .callback-close {min-height:0;}
@media (hover:hover) {
  :is(button:not(:disabled),a.btn,a.action,a.cta,a.plaquette-raccourci,a.callback-action,a.lps-news-medallion):hover {transform:translateY(-1px);}
}
:is(button:not(:disabled),a.btn,a.action,a.cta,a.plaquette-raccourci,a.callback-action,a.lps-news-medallion):active {transform:translateY(1px);}
@media (prefers-reduced-motion:reduce) {
  :is(button,a.btn,a.action,a.cta,a.plaquette-raccourci,a.callback-action,a.lps-news-medallion) {transition:none!important;transform:none!important;}
}
@media (forced-colors:active) {
  :is(button,input[type="submit"],a.btn,a.action,a.cta,a.lps-count-link,a.plaquette-raccourci,a.callback-action,a.lps-news-medallion) {box-shadow:none;border:1px solid ButtonText;}
}
.footer .foot-logo {margin-top:10px;margin-bottom:10px;}

/* V12.63 — bouton flottant Patrick, 180 px, fixe à mi-hauteur */
.callback-invite {
  position: fixed !important;
  z-index: 65 !important;
  right: max(18px, env(safe-area-inset-right)) !important;
  top: calc(50vh - 90px) !important;
  top: calc(50dvh - 90px) !important;
  bottom: auto !important;
  width: 180px !important;
  height: 180px !important;
  --invite-size: 180px !important;
  pointer-events: none;
}
.callback-invite .callback-action {
  position: relative;
  width: 180px !important;
  height: 180px !important;
  min-height: 180px !important;
  padding: 10px 13px 11px !important;
  display: flex !important;
  flex-direction: column !important;
  align-items: center !important;
  justify-content: flex-start !important;
  gap: 0 !important;
  overflow: hidden;
  border: 2px solid #e36f00 !important;
  border-radius: 50% !important;
  background: radial-gradient(circle at 30% 18%, #ffc55d 0%, #ff9e19 43%, #ff8308 72%, #f16a00 100%) !important;
  box-shadow: inset 0 2px 2px rgb(255 255 255 / 62%), inset 0 -4px 7px rgb(171 65 0 / 28%), 0 3px 0 #c75400, 0 7px 16px rgb(80 45 10 / 24%) !important;
  color: #142c32 !important;
  font-family: "Segoe UI", Arial, sans-serif !important;
  text-align: center;
  text-decoration: none;
  pointer-events: auto;
  isolation: isolate;
}
.callback-invite .callback-action::before {
  content: "";
  position: absolute;
  inset: -5px;
  border-radius: 50%;
  border: 3px solid rgb(255 171 43 / 0%);
  box-shadow: 0 0 0 0 rgb(255 131 8 / 0%);
  z-index: -1;
  animation: lpsPatrickPulse 3.2s ease-in-out infinite;
  pointer-events: none;
}
@keyframes lpsPatrickPulse {
  0%, 58%, 100% { border-color: rgb(255 171 43 / 0%); box-shadow: 0 0 0 0 rgb(255 131 8 / 0%); }
  68% { border-color: rgb(255 199 97 / 88%); box-shadow: 0 0 0 5px rgb(255 137 14 / 18%); }
  80% { border-color: rgb(255 171 43 / 38%); box-shadow: 0 0 0 10px rgb(255 137 14 / 0%); }
}
.callback-action .callback-portrait {
  flex: none;
  width: 58px;
  height: 58px;
  margin: 0 auto 5px;
  border: 3px solid #fff;
  border-radius: 50%;
  object-fit: cover;
  object-position: center 18%;
  box-shadow: 0 1px 4px rgb(71 38 10 / 18%);
}
.callback-action .callback-identity {
  display: grid;
  justify-items: center;
  gap: 0;
  width: 100%;
  line-height: 1.05;
}
.callback-action .callback-identity strong {
  font-size: 16px !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  color: #112f36 !important;
}
.callback-action .callback-identity > span {
  display: block;
  font-size: 11.4px !important;
  line-height: 1.08 !important;
  font-weight: 400 !important;
  color: #112f36 !important;
  white-space: nowrap;
}
.callback-action .callback-separator {
  display: block;
  width: 78%;
  height: 1px;
  margin: 5px auto 5px;
  background: rgb(255 255 255 / 86%);
}
.callback-action .callback-cta {
  display: grid;
  grid-template-columns: 20px 1fr;
  align-items: center;
  gap: 4px;
  width: 100%;
  padding: 0 2px;
  line-height: 1.02;
}
.callback-action .callback-phone {
  display: grid;
  place-items: center;
  width: 20px;
  height: 20px;
  color: #fff;
  font-size: 19px !important;
  line-height: 1 !important;
  font-weight: 400 !important;
  filter: drop-shadow(0 1px 1px rgb(0 0 0 / 18%));
}
.callback-action .callback-cta strong {
  color: #112f36 !important;
  font-size: 12.7px !important;
  line-height: 1.02 !important;
  font-weight: 800 !important;
  text-decoration: none !important;
}
.callback-action .callback-arrow {
  display: grid;
  place-items: center;
  width: 27px;
  height: 27px;
  margin: 4px auto 0;
  border-radius: 50%;
  background: #173139;
  color: #fff;
  font-size: 22px !important;
  line-height: 1 !important;
  font-weight: 700 !important;
  box-shadow: inset 0 1px 0 rgb(255 255 255 / 18%), 0 2px 4px rgb(0 0 0 / 18%);
}
.callback-invite .callback-action:hover {
  filter: brightness(1.025);
  transform: translateY(-1px) !important;
}
.callback-invite .callback-action:active { transform: translateY(1px) !important; }
.callback-invite .callback-dismiss {
  top: -7px;
  right: -7px;
}
@media (max-width: 720px), (max-height: 460px) {
  .callback-invite {
    right: max(10px, env(safe-area-inset-right)) !important;
    top: calc(50vh - 90px) !important;
    top: calc(50dvh - 90px) !important;
    bottom: auto !important;
    width: 180px !important;
    height: 180px !important;
    --invite-size: 180px !important;
  }
  .callback-invite .callback-action {
    width: 100% !important;
    height: 100% !important;
    min-height: 180px !important;
    padding: 9px 12px 10px !important;
  }
}
@media (prefers-reduced-motion: reduce) {
  .callback-invite .callback-action::before { animation: none !important; }
}


/* V12.68 — verrouillage du macaron Patrick en cercle parfait */
.callback-invite {
  aspect-ratio: 1 / 1 !important;
}
.callback-invite .callback-action {
  aspect-ratio: 1 / 1 !important;
  border-radius: 9999px !important;
  clip-path: circle(50% at 50% 50%);
}
/* V13.39 — Macaron rendez-vous : visible sur ordinateur, masqué sur smartphone. */
@media screen and (max-width: 720px) {
  #callbackInvite, .callback-invite { display: none !important; }
}
