/* Liens d’action artisans : mêmes repères que le répertoire des communes.
   Le marqueur explicite exclut les liens de texte et les contrôles interactifs. */
body:not(.premium-resto){
  --action-radius:8px;
  --action-ink:var(--marque-fond,var(--marque,#111111));
  --action-line:color-mix(in srgb,var(--action-ink) 14%,#fff);
  --action-wash:color-mix(in srgb,var(--acc) 6%,#fff);
  --action-arrow:color-mix(in srgb,var(--acc) 55%,var(--action-ink));
}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button){
  --action-bg:#fff;
  --action-text:var(--action-ink);
  --action-border:var(--action-line);
  --action-edge:var(--acc);
  --action-hover-bg:var(--action-wash);
  align-items:center;justify-content:center;gap:12px;
  min-width:0;min-height:46px;max-width:100%;box-sizing:border-box;
  padding:13px 19px;line-height:1.4;font-weight:600;text-decoration:none;
  border-radius:var(--action-radius)!important;
  /* Quelques anciens heros portent encore leur palette sur des sélecteurs
     très spécifiques : ces seules propriétés sont pilotées par le composant. */
  background:var(--action-bg)!important;color:var(--action-text)!important;
  border:1px solid var(--action-border)!important;
  box-shadow:inset 3px 0 0 var(--action-edge),0 2px 8px #0000000b!important;
  transition:background-color 280ms,border-color 280ms,box-shadow 280ms,transform 280ms!important;
  white-space:normal;overflow-wrap:anywhere;text-align:center;
}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button):is(:hover,:focus-visible):not(:disabled){
  background:var(--action-hover-bg)!important;border-color:var(--acc)!important;
  box-shadow:inset 3px 0 0 var(--action-edge),0 4px 12px #00000012!important;
  transform:translateY(-1px)!important;
}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button):focus-visible{
  outline:2px solid var(--acc);outline-offset:4px;
}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button):active{transform:translateY(0)!important}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button).ps-button--accent{
  --action-bg:var(--acc);--action-text:var(--btn-text,#fff);
  --action-border:var(--acc);--action-edge:var(--acc);
  --action-hover-bg:var(--acc2,var(--acc));
}
body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button).ps-button--brand{
  --action-bg:var(--action-ink);--action-text:#fff;
  --action-border:var(--action-ink);--action-hover-bg:color-mix(in srgb,var(--action-ink) 90%,#000);
}
body:not(.premium-resto) a.ps-button.ps-button--navigation{
  display:flex;justify-content:space-between;min-height:52px;text-align:left;
}
body:not(.premium-resto) a.ps-button.ps-button--navigation[aria-current="page"]{
  --action-bg:var(--action-wash);--action-border:var(--acc);
}
body:not(.premium-resto) a.bp-need.ps-button:after{display:none}
body:not(.premium-resto) .ps-button .btn-ico{stroke:currentColor!important}
body:not(.premium-resto) .ps-button :is(.pv-fl,.sp-nav-arrow,.mega-arrow,.ps-button-arrow),
body:not(.premium-resto) a.ps-button:not([href^="tel:"]):not([href^="mailto:"])>svg:last-child{
  flex-shrink:0;color:var(--action-arrow);transition:transform 280ms,color 280ms;
}
body:not(.premium-resto) .ps-button--brand :is(.ps-button-arrow,svg:last-child),
body:not(.premium-resto) .ps-button--accent :is(.ps-button-arrow,svg:last-child){color:currentColor}
body:not(.premium-resto) .ps-button:is(:hover,:focus-visible) :is(.pv-fl,.sp-nav-arrow,.mega-arrow,.ps-button-arrow),
body:not(.premium-resto) a.ps-button:not([href^="tel:"]):not([href^="mailto:"]):is(:hover,:focus-visible)>svg:last-child{transform:translate(2px,-2px)}
body:not(.premium-resto) a.ps-button.sp-more span{background:transparent;border-radius:0;color:var(--action-arrow)}
body:not(.premium-resto) a.ps-button:is(.sp-more,.sp-tarifs,.tp-card-link){display:inline-flex;align-self:flex-start;font-size:13px}
body:not(.premium-resto) :is(.site-hdr .ps-button,.mega .ps-button){min-height:44px;padding:11px 16px}
body:not(.premium-resto) a.ps-button.mega-card{align-items:flex-start;padding:12px 14px}
body:not(.premium-resto) a.ps-button.mega-ville{padding:11px 13px;gap:9px}
body:not(.premium-resto) a.ps-button.pv-famille-lien{margin:4px 0;padding:13px 16px}
@media(max-width:760px){
  body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button){min-height:46px;padding:12px 16px}
  body:not(.premium-resto) .site-hdr .ps-button{min-height:44px;padding:10px 13px}
}
@media(prefers-reduced-motion:reduce){
  body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button),
  body:not(.premium-resto) .ps-button :is(svg,.pv-fl,.sp-nav-arrow,.mega-arrow,.ps-button-arrow){transition:none!important}
  body:not(.premium-resto) :is(a.ps-button,button.ps-button,summary>.ps-button):is(:hover,:focus-visible,:active),
  body:not(.premium-resto) .ps-button:is(:hover,:focus-visible) :is(svg,.pv-fl,.sp-nav-arrow,.mega-arrow,.ps-button-arrow){transform:none!important}
}

/* Les étapes de formulaire et le menu conservent leurs états natifs. */
body:not(.premium-resto) .ps-button[hidden]{display:none!important}
body:not(.premium-resto) button.ps-button:disabled{opacity:.5;cursor:not-allowed;box-shadow:none!important;transform:none!important}

/* Les répertoires de communes et de prestations gardent leurs dimensions. */
body:not(.premium-resto) a.ps-button:is(.zd-city-link,.bp-service-shortcut){min-height:72px;padding:13px 16px;gap:12px;height:100%;width:100%;text-align:left}
@media(max-width:760px){body:not(.premium-resto) a.ps-button.zd-city-link{padding:12px 14px;gap:10px}body:not(.premium-resto) a.ps-button.bp-service-shortcut{min-height:90px;padding:12px;gap:9px}}
@media(max-width:600px){body:not(.premium-resto) a.ps-button.zd-city-link{min-height:90px;padding:12px;gap:9px}}
@media(max-width:360px){body:not(.premium-resto) a.ps-button:is(.zd-city-link,.bp-service-shortcut){padding:11px 10px;gap:7px}}
