/* Massimo Consulti – Domanda gratuita (1.6.0). Usa i colori di vetrina.css (--mcv-*), quindi anche la grafica "Cartomante in Amore". */
.mcvf{--mcvf-back1:#3B2160;--mcvf-back2:#6B3A8E;--mcvf-gold:#E9C46A;max-width:880px}
.mcv-s-cai.mcvf{--mcvf-back1:#3F1E8C;--mcvf-back2:#B0246B;--mcvf-gold:#FFD3E4}
.mcvf .mcvf-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0)}

/* passi */
.mcvf-steps{display:flex;justify-content:center;gap:6px 18px;flex-wrap:wrap;list-style:none;margin:0 0 18px;padding:0;font-size:14px}
.mcvf-steps li{display:flex;align-items:center;gap:7px;opacity:.55;margin:0}
.mcvf-steps li span{display:inline-flex;align-items:center;justify-content:center;width:26px;height:26px;border-radius:50%;border:1.5px solid var(--mcv-line);font-weight:700;font-size:13px;background:#fff}
.mcvf-steps li.on{opacity:1;font-weight:600;color:var(--mcv-head)}
.mcvf-steps li.on span{background:var(--mcv-head);border-color:var(--mcv-head);color:#fff}
.mcvf-steps li.ok{opacity:.85}
.mcvf-steps li.ok span{background:var(--mcv-soft);color:var(--mcv-accent);border-color:transparent}

/* modulo */
.mcvf-hero{display:flex;gap:16px;align-items:center;background:linear-gradient(120deg,#FDBAF8 0%,#B0EFEB 100%);border-radius:20px;padding:20px 22px}
.mcv-s-cai .mcvf-hero{background:linear-gradient(120deg,#EFE6FF 0%,#FFE1EC 100%)}
.mcvf-hero h3{font-size:24px;font-weight:500;margin:0 0 4px}
.mcvf-hero p{margin:0}
.mcvf-hero-ic{font-size:40px;line-height:1;flex:none;width:64px;height:64px;border-radius:50%;background:#fff;display:flex;align-items:center;justify-content:center;box-shadow:0 8px 20px rgba(80,51,117,.15)}
.mcvf-topics{display:flex;flex-wrap:wrap;gap:8px;margin:2px 0 14px}
.mcvf-topic{position:relative;margin:0;cursor:pointer}
.mcvf-topic input{position:absolute;opacity:0;width:1px;height:1px}
.mcvf-topic span{display:inline-block;padding:9px 16px;border-radius:99px;border:1.5px solid var(--mcv-line);background:#fff;font-size:15px;font-weight:500;transition:background .15s,border-color .15s}
.mcvf-topic input:checked+span{background:var(--mcv-head);border-color:var(--mcv-head);color:#fff}
.mcvf-topic input:focus-visible+span{outline:3px solid var(--mcv-pink);outline-offset:2px}
.mcvf-form .mcv-field+.mcv-field,.mcvf-form .mcv-field+.mcv-grid{margin-top:14px}
.mcvf-form .mcv-grid{align-items:start}
.mcvf-form .mcv-grid>.mcv-field{margin-top:0}

/* codice */
.mcvf-center{text-align:center;max-width:520px;margin:0 auto;padding:28px 22px}
.mcvf-center h3{font-size:24px;font-weight:500;margin:6px 0 8px}
.mcvf-mail{font-size:44px}
.mcvf-otp{display:block;margin:16px auto 6px;max-width:260px}
.mcv .mcvf-otp input{text-align:center;font-size:30px!important;letter-spacing:12px;font-weight:700;padding:12px 10px 12px 22px!important;min-height:62px;font-family:"Rubik",sans-serif}
.mcvf-links{font-size:14px}
.mcvf .mcv-ok[hidden]{display:none}

/* tavolo delle carte */
.mcvf-table{display:flex;flex-direction:column;align-items:center;gap:18px;background:radial-gradient(ellipse at 50% 0%,#5A3482 0%,#2A1645 70%);border-radius:24px;padding:26px 18px 28px;color:#fff;overflow:hidden}
.mcv-s-cai .mcvf-table{background:radial-gradient(ellipse at 50% 0%,#5B2BB8 0%,#2B1060 70%)}
.mcvf-intro{text-align:center;max-width:560px}
.mcvf .mcvf-intro h3{color:#fff;font-size:26px;font-weight:500;margin:0 0 6px}
.mcvf-intro p{margin:0;opacity:.9}
.mcvf-slots{display:grid;grid-template-columns:repeat(3,minmax(0,170px));gap:14px;justify-content:center;width:100%}
.mcvf-slot{display:flex;flex-direction:column;align-items:center;text-align:center;gap:6px}
.mcvf-slot-card{position:relative;width:100%;max-width:150px;aspect-ratio:320/554;border-radius:12px;border:2px dashed rgba(255,255,255,.35);perspective:900px;transition:border-color .3s}
.mcvf-slot.full .mcvf-slot-card{border-color:transparent}
.mcvf-slot.next .mcvf-slot-card{border-color:var(--mcvf-gold);box-shadow:0 0 0 6px rgba(233,196,106,.12)}
.mcvf-slot-n{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);font-family:"Rubik",sans-serif;font-size:30px;opacity:.4;transition:opacity .2s}
.mcvf-slot.full .mcvf-slot-n{opacity:0}
.mcvf-flip{position:absolute;inset:0;transform-style:preserve-3d;transition:transform .8s cubic-bezier(.3,.7,.3,1),opacity .3s;opacity:0}
.mcvf-slot.full .mcvf-flip{opacity:1}
.mcvf-slot.turned .mcvf-flip{transform:rotateY(180deg)}
.mcvf-face{position:absolute;inset:0;border-radius:10px;backface-visibility:hidden;-webkit-backface-visibility:hidden;overflow:hidden;box-shadow:0 10px 26px rgba(0,0,0,.35)}
.mcvf-face-front{transform:rotateY(180deg);background:#f4ecd8}
.mcvf-face-front img{display:block;width:100%;height:100%;object-fit:cover}
.mcvf-slot-lbl{font-size:12px;letter-spacing:.07em;text-transform:uppercase;opacity:.75;font-weight:600}
.mcvf-slot-name{min-height:2.6em;display:flex;flex-direction:column;gap:2px;font-size:14px}
.mcvf-slot-name b{font-family:"Rubik",sans-serif;font-size:17px;font-weight:500;color:var(--mcvf-gold)}
.mcvf-slot-name span{font-size:12.5px;opacity:.8}
.mcvf-slot.turned .mcvf-slot-name{animation:mcvfIn .5s both}

/* il dorso delle carte: stelle e luna disegnate con i gradienti */
.mcvf-back,.mcvf-face-back{display:block;position:absolute;inset:0;border-radius:inherit;
  background:
    radial-gradient(circle at 50% 50%,transparent 17%,var(--mcvf-gold) 17.5%,var(--mcvf-gold) 19%,transparent 19.5%),
    radial-gradient(circle at 56% 46%,var(--mcvf-back2) 0 13%,transparent 13.5%),
    radial-gradient(circle at 50% 50%,var(--mcvf-gold) 0 15%,transparent 15.5%),
    radial-gradient(1.2px 1.2px at 20% 18%,#fff 98%,transparent),radial-gradient(1px 1px at 78% 26%,#fff 98%,transparent),
    radial-gradient(1.4px 1.4px at 30% 78%,#fff 98%,transparent),radial-gradient(1px 1px at 72% 84%,#fff 98%,transparent),
    radial-gradient(1px 1px at 50% 12%,#fff 98%,transparent),radial-gradient(1px 1px at 50% 90%,#fff 98%,transparent),
    linear-gradient(160deg,var(--mcvf-back2),var(--mcvf-back1));
  box-shadow:inset 0 0 0 3px rgba(255,255,255,.9),inset 0 0 0 5px var(--mcvf-back1),inset 0 0 0 6px var(--mcvf-gold)}

/* mazzo a ventaglio: tutte le carte girano attorno a un punto sotto il tavolo (--w larghezza carta, --R raggio: li calcola lo script) */
.mcvf-deck{--w:88px;--R:560px;position:relative;width:100%;max-width:820px;height:250px;margin-top:2px;transition:opacity .5s,transform .5s}
.mcvf-c{position:absolute;top:28px;left:calc(50% - var(--w) / 2);width:var(--w);aspect-ratio:320/554;padding:0;border:0;border-radius:9px;background:none;cursor:pointer;
  transform-origin:50% calc(var(--w) * 1.73 + var(--R));transform:rotate(calc((var(--i) - 10.5) * 2.6deg)) translateY(var(--lift, 0px));transition:transform .25s,opacity .3s,filter .2s;box-shadow:0 8px 18px rgba(0,0,0,.35)}
.mcvf-c .mcvf-back{border-radius:9px}
.mcvf-c:hover,.mcvf-c:focus-visible{--lift:-26px;z-index:30;filter:brightness(1.12)}
.mcvf-c:focus-visible{outline:3px solid var(--mcvf-gold);outline-offset:2px}
.mcvf-c.taken{--lift:-60px;opacity:0;pointer-events:none}
.mcvf-deck.done .mcvf-c:not(.taken){opacity:.45;cursor:default;pointer-events:none}
.mcvf-deck.gone{opacity:0;transform:translateY(30px);height:0;margin:0;pointer-events:none}
.mcvf-go{display:flex;flex-direction:column;align-items:center;gap:10px}
.mcvf-go[hidden]{display:none}
.mcvf .mcvf-go .mcv-link{color:#fff}
.mcvf.mcv .mcvf-reveal{min-width:250px;background:var(--mcvf-gold);color:#2A1645;font-weight:600}
.mcvf.mcv .mcvf-reveal:hover{background:#fff}
.mcvf.mcv .mcvf-reveal:disabled{opacity:.55;cursor:default;background:rgba(255,255,255,.75)}
.mcvf-table>.mcv-alert{max-width:520px}

/* fatto */
.mcvf-done{display:flex;flex-direction:column;gap:16px;width:100%;color:var(--mcv-ink);animation:mcvfIn .6s both}
.mcvf-table .mcvf-done{margin-top:6px}
.mcvf-thanks h3{font-size:24px}
.mcvf-minis{display:flex;justify-content:center;gap:12px;margin:12px 0}
.mcvf-mini{margin:0;width:96px;display:flex;flex-direction:column;align-items:center;gap:4px}
.mcvf-mini img{width:100%;border-radius:8px;box-shadow:0 6px 14px rgba(40,20,70,.2)}
.mcvf-mini figcaption{display:flex;flex-direction:column;font-size:12px;line-height:1.3}
.mcvf-mini figcaption span{opacity:.7}
.mcvf-upsell{display:flex;gap:14px;align-items:flex-start;text-align:left;background:#fff;border:1.5px dashed var(--mcv-accent);border-radius:18px;padding:18px 20px}
.mcvf-upsell h3{font-size:20px;font-weight:500;margin:0 0 4px}
.mcvf-upsell p{margin:0 0 12px}
.mcvf-upsell-ic{font-size:34px;line-height:1}
@keyframes mcvfIn{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}

@media (max-width:640px){
  .mcvf-hero{flex-direction:column;text-align:center;padding:18px 16px}
  .mcvf-hero h3{font-size:21px}
  .mcvf-table{padding:20px 10px 22px;border-radius:18px}
  .mcvf .mcvf-intro h3{font-size:22px}
  .mcvf-slots{gap:8px}
  .mcvf-slot-name b{font-size:15px}
  .mcvf-slot-name span{display:none}
  .mcvf-deck{height:auto!important;display:flex;flex-wrap:wrap;justify-content:center;gap:8px 6px;padding:0 4px}
  .mcvf-deck.gone{height:0!important}
  .mcvf-slot-name{min-height:0}
  .mcvf-c{position:relative;top:auto;left:auto;width:calc((100% - 30px) / 6);transform-origin:50% 50%;transform:rotate(-1deg) translateY(var(--lift, 0px))}
  .mcvf-c:nth-child(6n+2),.mcvf-c:nth-child(6n+5){transform:rotate(-2deg) translateY(var(--lift, 0px))}
  .mcvf-c:nth-child(6n+3),.mcvf-c:nth-child(6n){transform:rotate(2.5deg) translateY(var(--lift, 0px))}
  .mcvf-c:hover,.mcvf-c:focus-visible{--lift:-8px}
  .mcvf-c.taken{--lift:-20px}
  .mcvf .mcvf-otp input{font-size:26px!important;letter-spacing:9px}
  .mcvf-upsell{flex-direction:column}
}
@media (prefers-reduced-motion:reduce){
  .mcvf-flip,.mcvf-c,.mcvf-deck{transition:none}
  .mcvf-done,.mcvf-slot.turned .mcvf-slot-name{animation:none}
}
