/* =========================================================================
   Ann Sofie — Richiesta Selezione  (multi-select + modale mobile-first)
   ========================================================================= */

/* ---- Materiali come CHIP selezionabili (sezione "La Selezione", fondo chiaro)
   Classe doppia per battere Uncode (.t-entry-excerpt a{color:#aaa!important}). --- */
.t-entry-excerpt{ line-height:2.1 !important; }
a.as-request.as-request{
  display:inline-block;
  margin:0 6px 8px 0;
  padding:6px 13px;
  border:1px solid #cfd3d8;
  border-radius:999px;
  background:#ffffff;
  color:#20242a !important;
  font-size:12.5px;
  line-height:1.2;
  letter-spacing:.01em;
  text-decoration:none !important;
  text-transform:none;
  cursor:pointer;
  transition:border-color .15s, background .15s, color .15s, box-shadow .15s;
}
a.as-request.as-request:hover{ border-color:#012F78; color:#012F78 !important; }
a.as-request.as-request:focus-visible{ outline:2px solid #012F78; outline-offset:2px; }
a.as-request.as-request.is-selected{
  background:#012F78; border-color:#012F78; color:#ffffff !important;
  box-shadow:0 2px 8px rgba(1,47,120,.28);
}
a.as-request.as-request.is-selected::before{
  content:"✓"; margin-right:6px; font-weight:700;
}

/* ---- Barra flottante "N selezionati → Richiedi" ---- */
.asr-bar{
  position:fixed; left:50%; bottom:22px; transform:translate(-50%,140%);
  z-index:2147483000;
  display:flex; align-items:center; gap:16px;
  background:#012F78; color:#fff;
  padding:12px 12px 12px 20px;
  border-radius:999px;
  box-shadow:0 12px 34px rgba(1,47,120,.38);
  transition:transform .28s cubic-bezier(.2,.7,.3,1); opacity:1;
  max-width:calc(100vw - 28px);
}
.asr-bar.is-visible{ transform:translate(-50%,0); }
.asr-bar-count{ font-size:14px; font-weight:500; white-space:nowrap; }
.asr-bar-count b{ font-weight:700; }
.asr-bar-btn{
  background:#fff; color:#012F78; border:0; cursor:pointer;
  font-size:14px; font-weight:600; padding:10px 18px; border-radius:999px;
  white-space:nowrap; transition:background .15s;
}
.asr-bar-btn:hover{ background:#eaeefb; }
/* modalità suggerimento: solo testo, niente bottone */
.asr-bar.is-hint{ padding:12px 22px; gap:0; }
.asr-bar.is-hint .asr-bar-btn{ display:none; }
.asr-bar.is-hint .asr-bar-count{ font-weight:500; }

/* ---- Overlay + modale (bottom-sheet su mobile) ---- */
.asr-overlay{
  position:fixed; inset:0; z-index:99999;
  display:none; align-items:center; justify-content:center;
  background:rgba(12,14,18,.55); padding:20px;
}
.asr-overlay.is-open{ display:flex; }
body.asr-lock{ overflow:hidden; }
/* nasconde il widget WhatsApp mentre la modale è aperta (evita sovrapposizioni) */
body.asr-lock [class^="wwp-"], body.asr-lock [class*=" wwp-"]{ display:none !important; }
/* la barra è ridondante mentre la modale è aperta */
body.asr-lock .asr-bar{ display:none !important; }

.asr-dialog{
  position:relative; width:100%; max-width:480px;
  max-height:90vh; overflow:auto;
  background:#fff; color:#1a1c1e;
  border-radius:16px;
  box-shadow:0 30px 70px rgba(0,0,0,.4);
  padding:30px 30px 28px;
  animation:asr-in .2s ease;
}
@keyframes asr-in{ from{opacity:0; transform:translateY(14px);} to{opacity:1; transform:none;} }

.asr-close{
  position:absolute; top:14px; right:14px;
  width:34px; height:34px; border-radius:50%;
  border:0; cursor:pointer;
  background:#f0f1f4; color:#4a4f55;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, color .15s;
}
.asr-close svg{ width:15px; height:15px; }
.asr-close:hover{ background:#e2e4e8; color:#1a1c1e; }

.asr-kicker{ margin:0 0 6px; color:#012F78; font-size:11.5px; letter-spacing:.14em; text-transform:uppercase; font-weight:700; }
.asr-title{ margin:0 0 6px; font-size:22px; line-height:1.2; color:#012F78; font-weight:500; }
.asr-intro{ margin:0 0 16px; font-size:13.5px; line-height:1.5; color:#5b6169; }

/* chip dei materiali scelti dentro la modale */
.asr-selected{ display:flex; flex-wrap:wrap; gap:7px; margin:0 0 18px; }
.asr-chip{
  display:inline-flex; align-items:center; gap:7px;
  background:#eef1fb; color:#012F78; border:1px solid #d6ddf6;
  border-radius:999px; padding:5px 8px 5px 12px; font-size:12.5px; font-weight:500;
}
.asr-chip button{
  border:0; background:rgba(1,47,120,.12); color:#012F78; cursor:pointer;
  width:18px; height:18px; border-radius:50%; line-height:1; font-size:13px;
  display:flex; align-items:center; justify-content:center;
}
.asr-chip button:hover{ background:rgba(1,47,120,.24); }

/* form: solo placeholder, niente label */
.asr-form .asr-field{ margin-bottom:11px; }
.asr-form input[type=text],
.asr-form input[type=email],
.asr-form input[type=tel]{
  width:100%; box-sizing:border-box;
  padding:13px 15px; font-size:15px;
  border:1px solid #d3d7dc; border-radius:10px;
  background:#fff; color:#1a1c1e;
  transition:border-color .15s, box-shadow .15s;
}
.asr-form input::placeholder{ color:#9096a0; }
.asr-form input:focus{ outline:none; border-color:#012F78; box-shadow:0 0 0 3px rgba(1,47,120,.12); }
.asr-form input.asr-err{ border-color:#c0392b; }

/* checkbox custom visibili */
.asr-check{ display:flex; align-items:flex-start; gap:10px; cursor:pointer; font-size:12.5px; color:#5b6169; line-height:1.45; margin-top:12px; }
.asr-check input{ position:absolute; opacity:0; width:0; height:0; }
.asr-check .asr-box{
  flex:0 0 auto; width:20px; height:20px; margin-top:1px;
  border:1.5px solid #b7bcc4; border-radius:6px; background:#fff;
  display:flex; align-items:center; justify-content:center;
  transition:background .15s, border-color .15s;
}
.asr-check .asr-box svg{ width:12px; height:12px; opacity:0; transform:scale(.6); transition:.15s; }
.asr-check input:checked + .asr-box{ background:#012F78; border-color:#012F78; }
.asr-check input:checked + .asr-box svg{ opacity:1; transform:scale(1); }
.asr-check input:focus-visible + .asr-box{ outline:2px solid #012F78; outline-offset:2px; }
.asr-check a{ color:#012F78; text-decoration:underline; }

.asr-submit{
  margin-top:18px; width:100%;
  padding:14px 16px; font-size:15px; font-weight:600;
  color:#fff; background:#012F78; border:0; border-radius:10px; cursor:pointer;
  transition:background .15s;
}
.asr-submit:hover{ background:#022a6b; }
.asr-submit:disabled{ opacity:.6; cursor:default; }

.asr-msg{ margin:12px 0 0; font-size:13px; min-height:1em; }
.asr-msg.is-err{ color:#c0392b; }

.asr-thanks{ text-align:center; padding:14px 0 6px; }
.asr-thanks .asr-title{ margin-bottom:10px; }
.asr-thanks p{ color:#5b6169; font-size:15px; line-height:1.5; margin:0 0 22px; }
.asr-thanks .asr-submit{ max-width:200px; margin-left:auto; margin-right:auto; }

/* honeypot */
.asr-hp{ position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }

/* ---------- MOBILE: bottom-sheet ---------- */
@media (max-width:600px){
  .asr-overlay{ padding:0; align-items:flex-end; }
  .asr-dialog{
    max-width:100%; width:100%;
    border-radius:18px 18px 0 0;
    max-height:92vh; padding:26px 20px calc(24px + env(safe-area-inset-bottom));
    animation:asr-up .26s cubic-bezier(.2,.7,.3,1);
  }
  @keyframes asr-up{ from{transform:translateY(100%);} to{transform:none;} }
  .asr-title{ font-size:20px; }
  /* sopra il FAB WhatsApp per non farsi coprire */
  .asr-bar{ left:12px; right:12px; bottom:calc(88px + env(safe-area-inset-bottom)); transform:translateY(260%); max-width:none; width:auto; justify-content:space-between; padding:11px 11px 11px 18px; }
  .asr-bar.is-visible{ transform:none; }
}
