/*! Repost Studio – footer scuro coerente con il sito */
.rsf{
  --rsf-purple:#6c2887; --rsf-gold:#fec144; --rsf-ease:cubic-bezier(.76,0,.24,1); --rsf-bounce:cubic-bezier(.34,1.56,.64,1);
  position:relative; overflow:hidden; isolation:isolate;
  background:radial-gradient(120% 90% at 50% 0%, #4a1a5e 0%, #26102f 55%, #1a0a21 100%) !important;
  padding:0 !important; font-family:Poppins, sans-serif;
  border-radius:clamp(28px,4vw,56px) clamp(28px,4vw,56px) 0 0;
}
/* linea sfumata in alto + anelli decorativi */
.rsf::before{
  content:""; position:absolute; left:0; right:0; top:0; height:4px; z-index:1;
  background:linear-gradient(90deg,#894092,#f2c937,#894092); background-size:200% 100%;
  animation:rsf-line 8s linear infinite;
}
.rsf::after{
  content:""; position:absolute; z-index:-1; width:clamp(260px,34vw,520px); aspect-ratio:1; right:-8%; top:-18%; border-radius:50%; pointer-events:none;
  background:conic-gradient(from 200deg,#894092,#f2c937,#894092);
  -webkit-mask:radial-gradient(farthest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));
          mask:radial-gradient(farthest-side,transparent calc(100% - 22px),#000 calc(100% - 21px));
  opacity:.35; animation:rsf-spin 40s linear infinite;
}
@keyframes rsf-line{ to{ background-position:200% 0; } }
@keyframes rsf-spin{ to{ transform:rotate(360deg); } }

.rsf > .et_pb_row{ width:90% !important; max-width:1280px !important; margin:0 auto !important; }
.rsf .et_pb_column{ row-gap:0 !important; }
.rsf .et_pb_module{ margin-bottom:0 !important; }
.rsf p{ padding-bottom:0 !important; }

/* ---- invito ---- */
.rsf .rsf-cta-row{ display:flex !important; flex-wrap:wrap; align-items:flex-end !important; gap:clamp(24px,5vw,80px) !important; padding:clamp(64px,8vw,120px) 0 clamp(40px,5vw,72px) !important; border-bottom:1px solid rgba(255,255,255,.12); }
.rsf .rsf-cta-row > .et_pb_column{ margin:0 !important; width:auto !important; max-width:none !important; }
.rsf .rsf-cta-l{ flex:1.4 1 420px !important; }
.rsf .rsf-cta-r{ flex:1 1 300px !important; }
.rsf-eyebrow p{ display:inline-flex; align-items:center; gap:10px; font:600 13px/1 Poppins, sans-serif !important; letter-spacing:.18em; text-transform:uppercase; color:var(--rsf-gold) !important; }
.rsf-eyebrow p::before{ content:""; width:28px; height:2px; border-radius:2px; background:linear-gradient(90deg,#894092,#f2c937); }
.rsf .rsf-title{ margin-top:16px !important; }
.rsf-title h2{ font:800 clamp(38px,5.4vw,84px)/1 Poppins, sans-serif !important; letter-spacing:-.02em; color:#fff !important; padding:0 !important; margin:0 !important; }
.rsf-title h2 em{ font-style:normal; color:var(--rsf-gold); }
.rsf-lead p{ font:300 clamp(16px,1.3vw,19px)/1.55 Poppins, sans-serif !important; color:rgba(255,255,255,.78) !important; }

/* bottone pillola, stesso comportamento degli altri */
.rsf .rsf-btn, .rsf .et_pb_button_module_wrapper{ margin-top:24px !important; }
.rsf a.et_pb_button.rsf-btn{
  position:relative; overflow:hidden; isolation:isolate; display:inline-flex !important; flex-direction:row !important; align-items:center !important; gap:14px;
  padding:14px 16px 14px 28px !important; border:0 !important; border-radius:999px !important;
  background:var(--rsf-gold) !important; color:#1a0a21 !important; font:700 16px/1 Poppins, sans-serif !important;
  transition:color .45s var(--rsf-ease), transform .45s var(--rsf-bounce), box-shadow .4s ease;
}
.rsf a.et_pb_button.rsf-btn::before{
  content:"" !important; position:absolute; z-index:-1; left:50%; top:50%; width:20px; height:20px; margin:-10px 0 0 -10px; border-radius:50%;
  background:#fff; transform:scale(0) !important; transition:transform .6s var(--rsf-ease) !important; opacity:1 !important; display:block !important;
}
.rsf a.et_pb_button.rsf-btn::after{
  content:"" !important; position:static !important; display:inline-block !important; opacity:1 !important; margin:0 !important;
  width:34px; height:34px; border-radius:50%; transform:none !important;
  background:#1a0a21 url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23fec144' stroke-width='2.4' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M5 12h14M13 6l6 6-6 6'/%3E%3C/svg%3E") center/16px no-repeat;
  transition:transform .45s var(--rsf-bounce) !important;
}
.rsf a.et_pb_button.rsf-btn:hover{ transform:translateY(-3px); box-shadow:0 18px 36px -18px rgba(254,193,68,.7); color:#6c2887 !important; }
.rsf a.et_pb_button.rsf-btn:hover::before{ transform:scale(24) !important; }
.rsf a.et_pb_button.rsf-btn:hover::after{ transform:translateX(3px) !important; }

/* ---- colonne ---- */
.rsf .rsf-cols{ display:grid !important; grid-template-columns:1.5fr 1fr 1.3fr 1fr; gap:clamp(28px,4vw,64px) !important; padding:clamp(44px,5vw,72px) 0 !important; }
.rsf .rsf-cols > .et_pb_column{ width:auto !important; margin:0 !important; max-width:none !important; }
.rsf .rsf-logo{ max-width:220px; }
.rsf .rsf-logo img{ width:100%; height:auto; }
.rsf .rsf-slogan{ margin-top:18px !important; }
.rsf-slogan p{ font:400 15px/1.55 Poppins, sans-serif !important; color:rgba(255,255,255,.7) !important; }
.rsf-slogan strong{ color:#fff; font-weight:700; background:linear-gradient(transparent 62%, rgba(254,193,68,.55) 62%, rgba(254,193,68,.55) 92%, transparent 92%); }
.rsf-h p{ font:600 12px/1 Poppins, sans-serif !important; letter-spacing:.2em; text-transform:uppercase; color:rgba(255,255,255,.45) !important; margin-bottom:18px !important; }
.rsf-links ul{ list-style:none !important; margin:0 !important; padding:0 !important; }
.rsf-links li{ padding:0 !important; margin:0 0 12px !important; }
.rsf-links li::before{ display:none; }
.rsf-links a{
  position:relative; display:inline-flex; align-items:center; gap:8px; color:#fff !important; text-decoration:none !important;
  font:500 16px/1.35 Poppins, sans-serif; word-break:break-word;
  background:linear-gradient(90deg,#f2c937,#f2c937) no-repeat 0 100% / 0 2px; padding-bottom:3px;
  transition:background-size .45s var(--rsf-ease), color .3s ease;
}
.rsf-links a:hover{ background-size:100% 2px; color:var(--rsf-gold) !important; }
.rsf-social a::after{ content:"↗"; font-size:14px; opacity:.6; transition:transform .35s var(--rsf-bounce); }
.rsf-social a:hover::after{ transform:translate(2px,-2px); opacity:1; }

/* ---- note legali ---- */
.rsf .rsf-bottom{ padding:22px 0 28px !important; border-top:1px solid rgba(255,255,255,.12); }
.rsf-copy p, .rsf-legal p{ font:400 13px/1.6 Poppins, sans-serif !important; color:rgba(255,255,255,.5) !important; }
.rsf-legal p{ font-size:12px !important; color:rgba(255,255,255,.35) !important; margin-top:6px !important; }
.rsf-copy a, .rsf-legal a{ color:rgba(255,255,255,.75) !important; text-decoration:none !important; }
.rsf-copy a:hover, .rsf-legal a:hover{ color:var(--rsf-gold) !important; }

/* ---- ingresso ---- */
.rsf .rsf-anim{ opacity:0; transform:translateY(24px); transition:opacity .8s ease var(--d,0s), transform .9s var(--rsf-ease) var(--d,0s); }
.rsf .rsf-anim.rsf-in{ opacity:1; transform:none; }

@media (max-width:980px){
  .rsf .rsf-cols{ grid-template-columns:1fr 1fr; }
  .rsf .rsf-brand{ grid-column:1 / -1; }
}
@media (max-width:767px){
  .rsf{ border-radius:28px 28px 0 0; }
  .rsf > .et_pb_row{ width:88% !important; }
  .rsf .rsf-cta-row{ padding:64px 0 36px !important; gap:18px !important; }
  .rsf .rsf-cta-l, .rsf .rsf-cta-r{ flex:1 1 100% !important; }
  .rsf-title h2{ font-size:clamp(36px,11vw,48px) !important; }
  .rsf .rsf-btn, .rsf .et_pb_button_module_wrapper{ width:100%; }
  .rsf a.et_pb_button.rsf-btn{ width:100%; justify-content:space-between; }
  .rsf .rsf-cols{ gap:32px 20px !important; padding:40px 0 !important; }
  .rsf .rsf-logo{ max-width:170px; }
  .rsf-links a{ font-size:15px; }
  .rsf .rsf-bottom{ text-align:center; }
  .rsf::after{ width:240px; right:-30%; top:-60px; }
}
@media (max-width:767px){
  .rsf .rsf-cols > .et_pb_column:nth-child(2){ order:1; }
  .rsf .rsf-cols > .et_pb_column:nth-child(4){ order:2; }
  .rsf .rsf-cols > .et_pb_column:nth-child(3){ order:3; grid-column:1 / -1; }
}
@media (prefers-reduced-motion:reduce){
  .rsf::before, .rsf::after{ animation:none; }
  .rsf .rsf-anim{ opacity:1; transform:none; transition:none; }
}
