﻿
/* ===== Vibrant Professional Theme ===== */
:root{
  --brand:#0f2f4c;      /* deep blue */
  --brand-2:#134a7c;    /* hover */
  --accent:#e4b700;     /* gold */
  --accent-2:#f0c733;
  --brand-contrast:#ffffff;

  --text:#0f172a;
  --muted:#475569;
  --line:#e5e7eb;
  --card:#ffffff;
  --bg:#ffffff;
  --bg-soft:#f3f6fb;
  --focus:#93c5fd;
  --shadow:0 12px 30px rgba(19,74,124,.14);
}

html{scroll-behavior:smooth}
body{font-family:system-ui,-apple-system,"Segoe UI",Roboto,"Helvetica Neue",Arial,"Noto Sans";color:var(--text);background:var(--bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}
h1,h2,h3,h4,h5,h6{ color:var(--text); line-height:1.2; } h1{ font-weight:800; } h2,h3{ font-weight:700; }
.lead{ line-height:1.6; color:var(--muted); }

.hero-gradient{ background: radial-gradient(1200px 600px at 20% -10%, rgba(228,183,0,.12) 0%, transparent 60%), linear-gradient(180deg, var(--bg-soft) 0%, #ffffff 100%); }
.page-hero{ background: linear-gradient(90deg, rgba(19,74,124,.06), rgba(19,74,124,0)); }
.logo{ font-weight:800; letter-spacing:.2px; color:var(--brand); }
.logo:hover{ color:var(--brand-2); }

.card{ border:1px solid var(--line); background:var(--card); border-radius:.9rem; box-shadow:var(--shadow); }
.shadow-soft{ box-shadow:var(--shadow); }
.gradient-card{ background: linear-gradient(135deg, rgba(19,74,124,.06), rgba(228,183,0,.08)); }
.floating-card{ transform: translateY(0); transition: transform .3s ease; }
.floating-card:hover{ transform: translateY(-4px); }

.navbar{ background:#ffffffd9; backdrop-filter: blur(6px); }
.nav-link{ color:var(--text); font-weight:600; }
.nav-link:hover{ color:var(--brand); }

.badge-trust{ background: #fff7db; color:#6b5400; border:1px solid #ffe9a6; font-weight:600; }

.btn-brand{ background:var(--brand); color:var(--brand-contrast); border:none; border-radius:.7rem; padding:.7rem 1.1rem; font-weight:700; letter-spacing:.2px; }
.btn-brand:hover{ background:var(--brand-2); color:var(--brand-contrast); }
.btn-outline-brand{ background:transparent; color:var(--brand); border:2px solid var(--brand); border-radius:.7rem; padding:.7rem 1.1rem; font-weight:700; letter-spacing:.2px; }
.btn-outline-brand:hover{ background:var(--brand); color:var(--brand-contrast); }

.btn-success{ background-color:#25d366; border-color:#25d366; color:#fff; }
.btn-success:hover{ background-color:#1ebe57; border-color:#1ebe57; color:#fff; }

a{ color:var(--brand); text-decoration:none; }
a:hover{ color:var(--brand-2); text-decoration:underline; }

.form-control:focus, .form-select:focus, .form-check-input:focus, .btn:focus{ box-shadow:0 0 0 .25rem var(--focus); border-color:var(--brand-2); outline:0; }
footer{ background:#fff; }
.text-brand{ color:var(--brand); }
.sticky-cta{ position:fixed; bottom:16px; right:16px; z-index:1080; }
.bg-soft{ background: var(--bg-soft); }

/* === Cookie bar visibile === */
.cookiebar {
  position: fixed;
  left: 0; right: 0; bottom: 0;
  background: #0f2f4c; /* blu scuro professionale */
  color: #fff;
  z-index: 2000;
  box-shadow: 0 -6px 24px rgba(0,0,0,.25);
}
.cookiebar__inner {
  max-width: 1100px; margin: 0 auto;
  padding: 14px 16px;
  display: flex; gap: 16px; align-items: center; justify-content: space-between;
}
.cookiebar__text { font-size: 1rem; line-height: 1.45; }
.cookiebar__text strong { color: #f8dd70; } /* giallo accento */
.cookiebar__link { color: #f8dd70; text-decoration: underline; }
.cookiebar__actions { display: flex; gap: 10px; flex-shrink: 0; }

/* Bottoni */
.btn-accent {
  background: #e4b700; color:#0f2f4c; border: none; font-weight: 700;
}
.btn-accent:hover { background:#f0c733; color:#0b2a40; }

/* Mobile layout */
@media (max-width: 768px) {
  .cookiebar__inner { 
    flex-direction: column; align-items: stretch; gap: 12px; 
  }
  .cookiebar__actions { 
    justify-content: stretch; flex-direction: column; gap: 8px; 
  }
  .cookiebar__actions .btn { 
    width: 100%; padding: .9rem 1.1rem; 
  }
}

/* ===== Floating WhatsApp Button ===== */
.fab-whatsapp{
  right: 18px;
  position:fixed;
  bottom:18px;
  
  width:56px;
  height:56px;
  border-radius:50%;
  background:#25d366;
  color:#fff;
  display:flex;
  align-items:center;
  justify-content:center;
  box-shadow:0 8px 20px rgba(0,0,0,.18);
  z-index:1101;
}
.fab-whatsapp:hover{ background:#1ebe57; color:#fff; text-decoration:none; transform:translateY(-1px); }
.fab-whatsapp i{ font-size:1.55rem; line-height:1; }
@media (max-width: 576px){
  .fab-whatsapp{ width:54px; height:54px; bottom:14px; right:14px; }
}
