/* Core.
   Posizione e distanze arrivano da custom properties impostate inline dal PHP
   sul contenitore, cosi' il pannello le eredita senza duplicare i valori. */
.wa-cc-container{position:fixed;bottom:var(--wa-offset-y,16px);z-index:99999;font-family:system-ui,-apple-system,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
.wa-cc-container[data-position="right"]{right:var(--wa-offset-x,16px);left:auto}
.wa-cc-container[data-position="left"]{left:var(--wa-offset-x,16px);right:auto}

/* Filtro dispositivi basato sulla larghezza dello schermo: a differenza di
   wp_is_mobile() resta corretto anche quando la pagina viene servita dalla cache. */
.wa-cc-container[data-devices="desktop"],
.wa-cc-container[data-devices="mobile"]{display:none}
@media (min-width:768px){.wa-cc-container[data-devices="desktop"]{display:block}}
@media (max-width:767px){.wa-cc-container[data-devices="mobile"]{display:block}}

/* Testo per soli screen reader */
.wa-cc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0 0 0 0);clip-path:inset(50%);white-space:nowrap;border:0}

/* Overlay per la chiusura al clic esterno.
   z-index espliciti: senza, l'ordine DOM metterebbe l'overlay sopra il FAB. */
.wa-cc-overlay{position:fixed;inset:0;z-index:1;display:none;background:rgba(0,0,0,0)}
.wa-cc-overlay[data-show="true"]{display:block}

/* FAB con doppia icona e morph in rotazione */
.wa-cc-fab{position:relative;z-index:3;width:56px;height:56px;border-radius:50%;border:none;cursor:pointer;box-shadow:0 6px 18px rgba(0,0,0,.2);display:grid;place-items:center;background:var(--wa-primary,#25D366);transition:transform .2s ease,box-shadow .2s ease;-webkit-appearance:none;appearance:none;padding:0}
.wa-cc-fab:focus-visible{outline:3px solid #fff;outline-offset:2px;box-shadow:0 0 0 6px rgba(0,0,0,.35)}
.wa-cc-fab:hover{transform:translateY(-1px) scale(1.02);box-shadow:0 10px 24px rgba(0,0,0,.24)}
.wa-cc-icon-wa,.wa-cc-icon-x{width:28px;height:28px;display:block;position:absolute;transition:transform .18s ease, opacity .18s ease;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;-webkit-mask-position:center;mask-position:center;-webkit-mask-size:contain;mask-size:contain}
.wa-cc-icon-wa{-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M20.52 3.48A11.82 11.82 0 0 0 12.06 0C5.6 0 .36 5.24.36 11.7c0 2.06.54 4.06 1.56 5.84L0 24l6.62-1.9c1.7.93 3.62 1.42 5.58 1.42h.01c6.46 0 11.7-5.24 11.7-11.7 0-3.13-1.22-6.07-3.39-8.34zM12.2 21.5c-1.74 0-3.46-.47-4.96-1.36l-.36-.21-3.92 1.12 1.1-3.83-.24-.39a9.64 9.64 0 0 1-1.48-5.12c0-5.35 4.36-9.7 9.72-9.7 2.6 0 5.05 1.02 6.9 2.88a9.61 9.61 0 0 1 2.84 6.9c0 5.36-4.36 9.71-9.7 9.71zm5.62-7.25c-.3-.15-1.77-.87-2.05-.97-.27-.1-.47-.15-.67.15s-.77.97-.95 1.17c-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.47-.89-.79-1.5-1.76-1.67-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.57-.5-.5-.67-.51h-.57c-.2 0-.52.07-.8.37s-1.05 1.03-1.05 2.52 1.08 2.93 1.23 3.13c.15.2 2.13 3.25 5.16 4.55.72.31 1.28.5 1.72.64.72.23 1.38.2 1.9.12.58-.09 1.77-.72 2.02-1.42.25-.7.25-1.3.17-1.42-.07-.12-.27-.2-.57-.35z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M20.52 3.48A11.82 11.82 0 0 0 12.06 0C5.6 0 .36 5.24.36 11.7c0 2.06.54 4.06 1.56 5.84L0 24l6.62-1.9c1.7.93 3.62 1.42 5.58 1.42h.01c6.46 0 11.7-5.24 11.7-11.7 0-3.13-1.22-6.07-3.39-8.34zM12.2 21.5c-1.74 0-3.46-.47-4.96-1.36l-.36-.21-3.92 1.12 1.1-3.83-.24-.39a9.64 9.64 0 0 1-1.48-5.12c0-5.35 4.36-9.7 9.72-9.7 2.6 0 5.05 1.02 6.9 2.88a9.61 9.61 0 0 1 2.84 6.9c0 5.36-4.36 9.71-9.7 9.71zm5.62-7.25c-.3-.15-1.77-.87-2.05-.97-.27-.1-.47-.15-.67.15s-.77.97-.95 1.17c-.17.2-.35.22-.65.07-.3-.15-1.26-.46-2.4-1.47-.89-.79-1.5-1.76-1.67-2.06-.17-.3-.02-.46.13-.61.13-.13.3-.35.45-.52.15-.17.2-.3.3-.5.1-.2.05-.37-.02-.52-.07-.15-.67-1.62-.92-2.22-.24-.57-.5-.5-.67-.51h-.57c-.2 0-.52.07-.8.37s-1.05 1.03-1.05 2.52 1.08 2.93 1.23 3.13c.15.2 2.13 3.25 5.16 4.55.72.31 1.28.5 1.72.64.72.23 1.38.2 1.9.12.58-.09 1.77-.72 2.02-1.42.25-.7.25-1.3.17-1.42-.07-.12-.27-.2-.57-.35z"/></svg>');background:var(--wa-on-primary,#fff)}
.wa-cc-icon-x{opacity:0;transform:rotate(-90deg);-webkit-mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 1 0 5.7 7.11L10.59 12 5.7 16.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z"/></svg>');mask-image:url('data:image/svg+xml;utf8,<svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path fill="white" d="M18.3 5.71a1 1 0 0 0-1.41 0L12 10.59 7.11 5.7A1 1 0 1 0 5.7 7.11L10.59 12 5.7 16.89a1 1 0 1 0 1.41 1.41L12 13.41l4.89 4.89a1 1 0 0 0 1.41-1.41L13.41 12l4.89-4.89a1 1 0 0 0 0-1.4z"/></svg>');background:var(--wa-on-primary,#fff)}
.wa-open .wa-cc-icon-wa{opacity:0;transform:rotate(90deg) scale(.6)}
.wa-open .wa-cc-icon-x{opacity:1;transform:rotate(0deg)}

/* Pannello. visibility:hidden da chiuso, altrimenti i controlli restano raggiungibili con Tab.
   72px = altezza del FAB (56) + spazio (16). */
.wa-cc-panel{position:fixed;z-index:2;bottom:calc(var(--wa-offset-y,16px) + 72px);width:360px;max-width:min(92vw,420px);max-height:70vh;background:#fff;border-radius:14px;box-shadow:0 10px 30px rgba(0,0,0,.24);overflow:hidden;transform:translateY(12px) scale(.92);opacity:0;visibility:hidden;pointer-events:none;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .36s cubic-bezier(.2,.7,.2,1),visibility 0s linear .36s}
.wa-cc-container[data-position="right"] .wa-cc-panel{right:var(--wa-offset-x,16px);left:auto;transform-origin:bottom right}
.wa-cc-container[data-position="left"] .wa-cc-panel{left:var(--wa-offset-x,16px);right:auto;transform-origin:bottom left}
.wa-cc-panel[data-open="true"]{opacity:1;visibility:visible;transform:translateY(0) scale(1);pointer-events:auto;transition:transform .36s cubic-bezier(.2,.7,.2,1),opacity .36s cubic-bezier(.2,.7,.2,1),visibility 0s}
.wa-cc-header{background:var(--wa-primary,#25D366);color:var(--wa-on-primary,#fff);padding:10px 12px;display:flex;align-items:center;justify-content:space-between;gap:8px}
.wa-cc-title{font-size:14px;margin:0;color:inherit;font-weight:600;line-height:1.3}
.wa-cc-close{background:transparent;border:none;color:inherit;font-size:22px;line-height:1;cursor:pointer;padding:4px 6px;border-radius:6px;flex:0 0 auto}
.wa-cc-close:focus-visible{outline:2px solid currentColor;outline-offset:2px}
.wa-cc-body{padding:10px;display:flex;flex-direction:column;gap:8px}
.wa-cc-messages{min-height:160px;overflow:auto;border:1px solid #eee;border-radius:10px;padding:8px;background:#fafafa;display:flex;flex-direction:column}
.wa-cc-base-text{color:#4a4a4a;background:#f0f0f0;border-radius:10px;padding:8px 10px;align-self:flex-start;margin-bottom:6px;max-width:90%;font-size:14px;line-height:1.4}
.wa-cc-bubble{display:block;padding:8px 10px;border-radius:12px;margin-bottom:6px;font-size:14px;max-width:90%}
.wa-cc-bubble.user{background:#e1ffc7;align-self:flex-end}
#wa-cc-editor{min-height:42px;max-height:160px;width:100%;box-sizing:border-box;border:1px solid rgba(0,0,0,.08);outline:none;resize:none;overflow-y:auto;white-space:pre-wrap;overflow-wrap:break-word;font:inherit;font-size:14px;line-height:1.4;color:#111}
#wa-cc-editor::placeholder{color:#6b6b6b;opacity:1}
#wa-cc-editor:focus-visible{border-color:var(--wa-primary,#25D366);box-shadow:0 0 0 2px rgba(0,0,0,.12)}
.wa-cc-form{display:block;margin:0;padding:0}
.wa-cc-send{display:block;width:100%;background:var(--wa-primary,#25D366);color:var(--wa-on-primary,#fff);border:none;border-radius:10px;padding:12px 14px;cursor:pointer;margin:0;font:inherit;font-size:15px;font-weight:600;text-align:center}
.wa-cc-send:hover{filter:brightness(.95)}
.wa-cc-send:focus-visible{outline:2px solid var(--wa-primary,#25D366);outline-offset:2px}

/* Responsive: su schermo stretto il pannello va a tutta larghezza a prescindere dal lato.
   Il selettore ricalca la specificita' di [data-position] .wa-cc-panel per poterlo battere. */
@media (max-width:480px){
  .wa-cc-container[data-position] .wa-cc-panel{left:8px;right:8px;width:auto;max-width:100%;max-height:72vh;border-radius:16px;transform-origin:bottom center}
}
@media (max-width:360px){
  .wa-cc-container[data-position] .wa-cc-panel{left:6px;right:6px;max-height:76vh}
  .wa-cc-title{font-size:13px}
}

/* Accessibilita': rispetta la preferenza di sistema per il movimento ridotto */
@media (prefers-reduced-motion: reduce){
  .wa-cc-panel,.wa-cc-panel[data-open="true"]{transition:opacity .01ms linear,visibility 0s}
  .wa-cc-fab,.wa-cc-icon-wa,.wa-cc-icon-x{transition:none}
  .wa-cc-fab:hover{transform:none}
}

/* Contrasto elevato */
@media (forced-colors: active){
  .wa-cc-panel{border:1px solid CanvasText}
  .wa-cc-icon-wa,.wa-cc-icon-x{background:CanvasText}
}
