/* Mondo Intimo — Chatbot "Hai una domanda?" (stesso sistema del sito MECV, colori del sito) */
.mbt{--mbt-navy:#111111;--mbt-navy2:#333333;--mbt-amber:#B07A93;--mbt-amber-d:#8A5670;--mbt-paper:#F7F3F5;--mbt-line:rgba(17,17,17,.12);--mbt-tx:#3A3A3A;
  position:fixed;right:24px;bottom:24px;z-index:9990;font-family:'Merriweather Sans',system-ui,-apple-system,sans-serif;font-size:15px;line-height:1.5;color:var(--mbt-tx)}
.mbt *,.mbt *::before,.mbt *::after{box-sizing:border-box}
.mbt [hidden]{display:none!important}
.mbt button{font:inherit;cursor:pointer}
.mbt svg{width:20px;height:20px;fill:none;stroke:currentColor;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.mbt-sr{position:absolute!important;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* Pulsante */
.mbt-launch{display:inline-flex;align-items:center;gap:10px;margin:0;border:0;border-radius:40px;background:var(--mbt-navy);color:#fff;padding:15px 24px 15px 20px;
  font:600 1.02rem/1 'Merriweather Sans',system-ui,sans-serif;letter-spacing:0;text-transform:none;box-shadow:0 14px 34px -12px rgba(0,0,0,.55);transition:transform .2s,background .2s}
.mbt-launch svg{width:24px;height:24px;stroke:var(--mbt-amber)}
.mbt-launch:hover{background:var(--mbt-navy2);transform:translateY(-2px)}
.mbt-launch:focus-visible,.mbt button:focus-visible,.mbt a:focus-visible,.mbt input:focus-visible{outline:2px solid var(--mbt-amber);outline-offset:2px}
.mbt.is-open .mbt-launch{transform:scale(.94)}
.mbt.is-open{z-index:10001}

/* Pannello */
.mbt-panel{position:absolute;right:0;bottom:calc(100% + 14px);width:400px;max-width:calc(100vw - 32px);height:min(640px,calc(100vh - 130px));
  background:var(--mbt-paper);border-radius:16px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 30px 70px -20px rgba(0,0,0,.45),0 0 0 1px rgba(17,17,17,.08);
  opacity:0;transform:translateY(12px) scale(.98);transform-origin:bottom right;transition:opacity .2s,transform .2s}
.mbt.is-open .mbt-panel{opacity:1;transform:none}
.mbt-head{display:flex;align-items:center;gap:12px;background:var(--mbt-navy);color:#fff;padding:16px 14px 16px 18px;flex:none}
.mbt-avatar{width:38px;height:38px;border-radius:50%;background:rgba(176,122,147,.25);display:grid;place-items:center;flex:none}
.mbt-avatar svg{stroke:var(--mbt-amber)}
.mbt-head-tx{flex:1;min-width:0}
.mbt-head-tx b{display:block;font:600 1.08rem/1.2 'Merriweather Sans',system-ui,sans-serif;color:#fff}
.mbt-head-tx small{display:block;font-size:.8rem;line-height:1.35;color:#D9D2D6;margin-top:2px}
.mbt-close,.mbt-back{all:unset;box-sizing:border-box;width:36px;height:36px;border-radius:50%;display:grid;place-items:center;color:#fff;cursor:pointer;flex:none}
.mbt-close:hover,.mbt-back:hover{background:rgba(255,255,255,.12)}
.mbt-back{margin-right:-4px}

/* Chat */
.mbt-view{flex:1;min-height:0;display:flex;flex-direction:column}
.mbt-thread{flex:1;overflow-y:auto;padding:18px 16px 10px;scroll-behavior:smooth;overscroll-behavior:contain}
.mbt-msg{display:flex;margin:0 0 10px;animation:mbtIn .25s ease both}
@keyframes mbtIn{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}
.mbt-bubble{max-width:88%;padding:11px 14px;border-radius:14px;font-size:.94rem;line-height:1.55}
.mbt-bubble p{margin:0 0 .6em}
.mbt-bubble p:last-child{margin-bottom:0}
.mbt-bubble ul,.mbt-bubble ol{margin:.3em 0 .6em;padding-left:1.2em}
.mbt-bubble li{margin:0 0 .25em}
.mbt-bubble a{color:var(--mbt-amber-d);text-decoration:underline}
.mbt-bubble strong,.mbt-bubble b{color:var(--mbt-navy);font-weight:600}
.mbt-bot{justify-content:flex-start;flex-direction:column;align-items:flex-start}
.mbt-bot .mbt-bubble{background:#fff;border:1px solid var(--mbt-line);border-bottom-left-radius:4px;color:var(--mbt-tx)}
.mbt-user{justify-content:flex-end}
.mbt-user .mbt-bubble{background:var(--mbt-navy);color:#fff;border-bottom-right-radius:4px}
.mbt-found{font:600 .92rem/1.35 'Merriweather Sans',system-ui,sans-serif;color:var(--mbt-navy)!important;margin-bottom:.5em!important}
.mbt-draft{display:inline-block;font:700 .62rem/1 'Merriweather Sans',system-ui,sans-serif;letter-spacing:.1em;text-transform:uppercase;color:#fff;background:var(--mbt-amber-d);padding:4px 7px;border-radius:3px;margin:0 0 5px}
.mbt-typing .mbt-bubble{display:inline-flex;gap:4px;padding:14px 16px}
.mbt-typing i{width:7px;height:7px;border-radius:50%;background:#9AA4AF;animation:mbtDot 1s infinite ease-in-out}
.mbt-typing i:nth-child(2){animation-delay:.15s}.mbt-typing i:nth-child(3){animation-delay:.3s}
@keyframes mbtDot{0%,80%,100%{opacity:.3;transform:translateY(0)}40%{opacity:1;transform:translateY(-3px)}}
.mbt-links{display:flex;flex-direction:column;gap:6px;margin-top:8px;max-width:88%;width:100%}
.mbt-link{display:flex;justify-content:space-between;align-items:center;gap:10px;background:var(--mbt-navy);color:#fff!important;text-decoration:none!important;border-radius:10px;padding:10px 14px;font:600 .88rem/1.3 'Merriweather Sans',system-ui,sans-serif;transition:background .2s}
.mbt-link span{color:var(--mbt-amber)}
.mbt-link:hover{background:var(--mbt-navy2)}
.mbt-chips{display:flex;flex-wrap:wrap;gap:7px;margin:4px 0 14px;animation:mbtIn .25s ease both}
.mbt-chip{margin:0;border:1.5px solid rgba(17,17,17,.25);background:#fff;color:var(--mbt-navy);border-radius:18px;padding:8px 13px;
  font:600 .84rem/1.3 'Merriweather Sans',system-ui,sans-serif;text-align:left;text-transform:none;letter-spacing:0;transition:border-color .2s,color .2s,background .2s}
.mbt-chip:hover:not(:disabled){border-color:var(--mbt-amber);color:var(--mbt-amber-d)}
.mbt-chip.is-alt{border-style:dashed}
.mbt-chips.is-used .mbt-chip{opacity:.45;cursor:default}
.mbt-chips.is-used .mbt-chip:disabled{background:transparent}

/* Campo di ricerca */
.mbt-input{display:flex;align-items:center;gap:8px;margin:0;padding:10px 12px 12px;border-top:1px solid var(--mbt-line);background:#fff;flex:none}
.mbt .mbt-input input{flex:1;min-width:0;height:44px!important;margin:0!important;border:1.5px solid rgba(17,17,17,.2)!important;border-radius:22px!important;padding:0 16px!important;
  font:400 .95rem 'Merriweather Sans',system-ui,sans-serif!important;color:var(--mbt-navy)!important;background:var(--mbt-paper)!important;box-shadow:none!important}
.mbt .mbt-input input:focus{border-color:var(--mbt-amber)!important;background:#fff!important;outline:0}
.mbt-input button{all:unset;box-sizing:border-box;width:44px;height:44px;border-radius:50%;background:var(--mbt-amber-d);color:#fff;display:grid;place-items:center;cursor:pointer;flex:none;transition:background .2s}
.mbt-input button:hover{background:var(--mbt-navy)}

/* Modulo email (Contact Form 7) */
.mbt-view--form{overflow-y:auto;padding:18px 18px 20px;background:#fff}
.mbt .wpcf7{margin:0}
.mbt .wpcf7-form p{margin:0 0 14px}
.mbt .wpcf7-form-control-wrap{display:block;margin:0 0 12px}
.mbt .wpcf7-form br{display:none}
.mbt .wpcf7-form label{display:block;font:600 .8rem/1.3 'Merriweather Sans',system-ui,sans-serif;color:var(--mbt-navy);margin:0 0 5px;text-transform:none;letter-spacing:0}
.mbt .wpcf7-form input[type=text],.mbt .wpcf7-form input[type=email],.mbt .wpcf7-form input[type=tel],.mbt .wpcf7-form select,.mbt .wpcf7-form textarea{
  width:100%!important;margin:0!important;border:1.5px solid rgba(17,17,17,.18)!important;border-radius:10px!important;background:var(--mbt-paper)!important;box-shadow:none!important;
  font:400 .95rem 'Merriweather Sans',system-ui,sans-serif!important;color:var(--mbt-navy)!important;padding:10px 12px!important;height:auto!important;min-height:44px}
.mbt .wpcf7-form textarea{min-height:96px;resize:vertical}
.mbt .wpcf7-form input:focus,.mbt .wpcf7-form select:focus,.mbt .wpcf7-form textarea:focus{border-color:var(--mbt-amber)!important;background:#fff!important;outline:0}
.mbt .wpcf7-acceptance .wpcf7-list-item{margin:0;display:flex}
.mbt .wpcf7-acceptance label{display:flex;align-items:flex-start;gap:8px;font:400 .8rem/1.45 'Merriweather Sans',system-ui,sans-serif;color:var(--mbt-tx)}
.mbt .wpcf7-acceptance input{margin-top:2px!important;width:auto!important;min-height:0!important}
.mbt .wpcf7-acceptance a{color:var(--mbt-amber-d)}
.mbt .wpcf7-submit{width:100%;border:0!important;border-radius:10px!important;background:var(--mbt-navy)!important;color:#fff!important;padding:14px!important;margin:4px 0 0!important;
  font:600 1rem 'Merriweather Sans',system-ui,sans-serif!important;text-transform:none!important;letter-spacing:0!important;cursor:pointer;transition:background .2s}
.mbt .wpcf7-submit:hover{background:var(--mbt-navy2)!important}
.mbt .wpcf7-spinner{display:block;margin:8px auto 0}
.mbt .wpcf7-not-valid-tip{font-size:.78rem;margin-top:4px;background:none!important;padding:0!important;color:#B3261E!important;border:0!important}
.mbt .wpcf7-response-output{margin:10px 0 0!important;border-radius:8px;font-size:.85rem;padding:10px 12px!important}
.mbt .wpcf7 form.sent .wpcf7-response-output{display:none}
.mbt-sent{text-align:center;padding:40px 10px}
.mbt-sent-ico{width:64px;height:64px;border-radius:50%;background:rgba(176,122,147,.16);display:grid;place-items:center;margin:0 auto 16px}
.mbt-sent-ico svg{width:30px;height:30px;stroke:var(--mbt-amber-d);stroke-width:2.4}
.mbt-sent b{display:block;font:600 1.2rem 'Merriweather Sans',system-ui,sans-serif;color:var(--mbt-navy);margin-bottom:8px}
.mbt-sent p{margin:0 0 20px;font-size:.93rem}
.mbt-btn{border:1.5px solid rgba(17,17,17,.25);background:#fff;color:var(--mbt-navy);border-radius:10px;padding:11px 18px;font:600 .92rem 'Merriweather Sans',system-ui,sans-serif}
.mbt-btn:hover{border-color:var(--mbt-amber);color:var(--mbt-amber-d)}
.mbt-noform{font-size:.94rem}

/* Convivenza con gli altri elementi fissi del sito */
body:has(.mbt) #top-link,body:has(.mbt) .back-to-top{bottom:96px!important}

/* Mobile */
@media (max-width:780px){
  .mbt{right:14px;bottom:88px}
  .mbt-launch{padding:13px 18px 13px 15px;font-size:.95rem}
}
@media (max-width:640px){
  .mbt-launch{padding:0;width:56px;height:56px;justify-content:center;border-radius:50%}
  .mbt-launch span{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}
  .mbt-panel{position:fixed;inset:0;width:100%;max-width:none;height:100%;border-radius:0;transform:translateY(16px)}
  .mbt.is-open .mbt-launch{display:none}
  .mbt-head{padding-top:max(16px,env(safe-area-inset-top))}
  .mbt-input{padding-bottom:max(12px,env(safe-area-inset-bottom))}
  .mbt .mbt-input input,.mbt .wpcf7-form input,.mbt .wpcf7-form select,.mbt .wpcf7-form textarea{font-size:16px!important}
}
@media (prefers-reduced-motion:reduce){
  .mbt-panel,.mbt-msg,.mbt-chips,.mbt-launch{transition:none;animation:none}
  .mbt-typing i{animation:none}
}
