/* ══ RF Assicurazioni – Cookie Banner CSS ════════════════════════════════════
   Stile premium coerente con il sito RF Assicurazioni Palermo
   ══════════════════════════════════════════════════════════════════════════ */

#rf-cookie-banner{
  position:fixed;bottom:0;left:0;right:0;z-index:99999;
  background:#0d1f4e;
  border-top:3px solid #f5a623;
  padding:0;
  transform:translateY(100%);
  transition:transform .35s cubic-bezier(.4,0,.2,1);
  font-family:'Roboto',sans-serif;
  box-shadow:0 -4px 24px rgba(0,0,0,.3);
}
#rf-cookie-banner[aria-hidden="true"]{display:none}
#rf-cookie-banner.rfcb-visible{transform:translateY(0)}

.rfcb-inner{
  max-width:1240px;margin:0 auto;
  padding:20px 40px;
  display:flex;align-items:center;
  justify-content:space-between;
  gap:32px;
}
.rfcb-logo-row{
  display:flex;align-items:center;gap:8px;
  margin-bottom:6px;
}
.rfcb-logo-row strong{color:#fff;font-size:.9rem;letter-spacing:.01em}
.rfcb-content p{
  font-size:.8rem;color:rgba(255,255,255,.7);
  margin:0;line-height:1.6;
}
.rfcb-content{flex:1;min-width:0}

.rfcb-actions{
  display:flex;align-items:center;gap:10px;
  flex-shrink:0;flex-wrap:wrap;justify-content:flex-end;
}
.rfcb-btn{
  font-family:'Roboto',sans-serif;font-weight:700;font-size:.78rem;
  text-transform:uppercase;letter-spacing:.06em;
  border-radius:4px;cursor:pointer;
  padding:10px 18px;transition:all .2s;
  white-space:nowrap;
}
.rfcb-btn-primary{
  background:#f5a623;color:#1e3a6e;border:none;
}
.rfcb-btn-primary:hover{background:#e5941e;transform:translateY(-1px)}
.rfcb-btn-outline{
  background:transparent;color:#fff;
  border:1.5px solid rgba(255,255,255,.4);
}
.rfcb-btn-outline:hover{border-color:#fff;background:rgba(255,255,255,.08)}
.rfcb-btn-text{
  background:transparent;color:rgba(255,255,255,.6);
  border:none;font-size:.74rem;padding:10px 10px;
}
.rfcb-btn-text:hover{color:#fff}

/* Personalizza panel */
.rfcb-panel{
  position:fixed;bottom:0;right:0;z-index:100000;
  width:420px;max-width:100vw;
  background:#fff;
  border-radius:12px 12px 0 0;
  box-shadow:-4px 0 32px rgba(0,0,0,.2);
  transform:translateY(100%);
  transition:transform .3s cubic-bezier(.4,0,.2,1);
}
.rfcb-panel.rfcb-panel-open{transform:translateY(0)}
.rfcb-panel[aria-hidden="true"]{display:none}
.rfcb-panel.rfcb-panel-open{display:block}

.rfcb-panel-inner{padding:28px 28px 24px;position:relative}
.rfcb-panel-close{
  position:absolute;top:16px;right:16px;
  background:#f4f6fb;border:none;border-radius:50%;
  width:34px;height:34px;cursor:pointer;
  display:flex;align-items:center;justify-content:center;
  transition:background .2s;
}
.rfcb-panel-close:hover{background:#dde3ef}
.rfcb-panel-close svg{display:block;color:#1e3a6e}

.rfcb-panel h3{
  font-family:'Roboto Condensed',sans-serif;
  font-size:1rem;font-weight:800;color:#1e3a6e;
  text-transform:uppercase;letter-spacing:.05em;
  margin:0 0 20px;padding-right:40px;
}
.rfcb-toggle-row{
  display:flex;align-items:flex-start;justify-content:space-between;
  gap:16px;padding:14px 0;border-bottom:1px solid #e8eef8;
}
.rfcb-toggle-row strong{font-size:.85rem;color:#1a1a2e;display:block;margin-bottom:3px}
.rfcb-toggle-row p{font-size:.76rem;color:#6b7280;margin:0;line-height:1.5}
.rfcb-switch-label{flex-shrink:0;cursor:pointer}

.rfcb-switch{
  display:inline-flex;align-items:center;justify-content:center;
  width:52px;height:26px;border-radius:13px;
  background:#dde3ef;color:#9ca3af;
  font-size:.65rem;font-weight:700;letter-spacing:.05em;
  cursor:pointer;transition:all .2s;flex-shrink:0;
  user-select:none;
}
.rfcb-switch.rfcb-switch-on{background:#1e3a6e;color:#fff}
.rfcb-switch.rfcb-switch-disabled{background:#e8eef8;color:#1e3a6e;cursor:default;font-size:.6rem}

.rfcb-panel-footer{margin-top:20px}
.rfcb-panel-footer .rfcb-btn{width:100%;justify-content:center;padding:12px}

/* Link reset (in footer) */
.rfcb-reset-link{
  font-size:.72rem;color:rgba(255,255,255,.5);
  text-decoration:underline;cursor:pointer;background:none;border:none;
  font-family:inherit;transition:color .15s;
}
.rfcb-reset-link:hover{color:rgba(255,255,255,.8)}

/* Responsive */
@media(max-width:768px){
  .rfcb-inner{flex-direction:column;align-items:flex-start;gap:16px;padding:18px 18px 20px}
  .rfcb-actions{width:100%;justify-content:flex-start}
  .rfcb-panel{width:100%;border-radius:12px 12px 0 0}
}
@media(max-width:480px){
  .rfcb-btn{font-size:.74rem;padding:9px 14px}
  .rfcb-actions{flex-wrap:wrap}
}
