/* ====== PhoneCheck Theme (Bootstrap 5 override) ====== */

:root{
  --pc-brand: #2563eb;     /* blu più "pulito" */
  --pc-brand-2:#1d4ed8;
  /*--pc-bg:    #f4f6fb;*/
  --pc-bg:    #cbcaca;
  --pc-card:  #ffffff;
  --pc-text:  #111827;
  --pc-muted: #6b7280;
  --pc-border:#e5e7eb;
  --pc-shadow: 0 10px 30px rgba(17,24,39,.08);
  --pc-radius: 18px;

  /* tipografia */
  --pc-font: "Inter", system-ui, -apple-system, Segoe UI, Roboto, Arial, sans-serif;
}

/* Base */
html, body { height: 100%; }
body{
  font-family: var(--pc-font);
  background: var(--pc-bg);
  
  color: var(--pc-text);
  font-size: 1.04rem;          /* leggermente più grande */
  font-weight: 500;            /* leggermente più “grassetto” */
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}

/* Colori utility */
.muted, .text-muted{ color: var(--pc-muted) !important; }
a{ color: var(--pc-brand); }
a:hover{ color: var(--pc-brand-2); }

/* Navbar */
.navbar{
  backdrop-filter: saturate(180%) blur(10px);
}
.navbar.bg-white{
  background: rgba(255,255,255,.88) !important;
}
.navbar .navbar-brand{
  letter-spacing: .2px;
}
.navbar .nav-link{
  font-weight: 600;
  color: #374151;
}
.navbar .nav-link:hover{ color: var(--pc-text); }
.navbar .nav-link.active{
  color: var(--pc-brand) !important;
}

/* Buttons */
.btn{
  border-radius: 14px;
  font-weight: 700;
  letter-spacing: .2px;
}
.btn-primary{
  background: var(--pc-brand);
  border-color: var(--pc-brand);
}
.btn-primary:hover{
  background: var(--pc-brand-2);
  border-color: var(--pc-brand-2);
}
.btn-outline-secondary{
  border-color: var(--pc-border);
}
.btn-outline-secondary:hover{
  background: #f9fafb;
  border-color: #d1d5db;
}

/* Forms */
.form-control, .form-select, .input-group-text{
  border-radius: 14px;
  border-color: var(--pc-border);
}
.form-control, .form-select{
  font-weight: 600;
}
.form-control:focus, .form-select:focus{
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 .25rem rgba(37,99,235,.15);
}
.input-group-text{
  background: #fff;
  color: #6b7280;
}

/* Cards */
.card{
  background: var(--pc-card);
  border: 1px solid rgba(229,231,235,.75);
  border-radius: var(--pc-radius);
}
.shadow-sm{
  box-shadow: var(--pc-shadow) !important;
}
.card-header{
  border-bottom: 1px solid rgba(229,231,235,.75) !important;
  border-top-left-radius: var(--pc-radius) !important;
  border-top-right-radius: var(--pc-radius) !important;
}

/* Badges */
.badge{
  border-radius: 999px;
  font-weight: 800;
  letter-spacing: .2px;
}
.brand-badge{
  background: rgba(37,99,235,.12) !important;
  color: var(--pc-brand) !important;
  border: 1px solid rgba(37,99,235,.22) !important;
}

/* Breadcrumb */
.breadcrumb a{
  text-decoration: none;
  font-weight: 700;
}

/* Pills (tag selezionabili) */
.pill{
  border: 1px solid var(--pc-border);
  background: #fff;
  border-radius: 999px;
  padding: .45rem .85rem;
  font-size: .95rem;
  font-weight: 700;
  cursor: pointer;
  user-select: none;
  transition: transform .08s ease, box-shadow .12s ease, border-color .12s ease;
}
.pill:hover{
  transform: translateY(-1px);
  box-shadow: 0 10px 18px rgba(17,24,39,.07);
}
.pill.active{
  border-color: rgba(37,99,235,.45);
  box-shadow: 0 0 0 .25rem rgba(37,99,235,.12);
}

/* Score box / Range */
.score-box{
  border: 1px solid rgba(229,231,235,.85);
  background: linear-gradient(180deg, #ffffff 0%, #fbfdff 100%);
  border-radius: var(--pc-radius);
}
.form-range::-webkit-slider-thumb{
  background: var(--pc-brand);
}
.form-range::-moz-range-thumb{
  background: var(--pc-brand);
}

/* Alerts */
.alert{
  border-radius: var(--pc-radius);
  border-color: rgba(229,231,235,.9);
}

/* Tabelle (landing “top ricercati”) */
.table{
  --bs-table-color: var(--pc-text);
}
.table thead.table-light th{
  background: #f8fafc !important;
  color: #374151;
  font-weight: 800;
}
.table td, .table th{
  padding-top: .85rem;
  padding-bottom: .85rem;
}

/* Sezioni hero (se riusato nella landing) */
.hero{
 background: radial-gradient(1000px 420px at 10% 0%, rgba(37, 99, 235, .16), #99c9d7c7 60%), radial-gradient(900px 420px at 90% 10%, rgba(16, 185, 129, .10), transparent 55%), rgba(255, 255, 255, .92);
			  
  border-bottom: 1px solid rgba(229,231,235,.9);
}

/* Footer */
footer{
  color: #6b7280;
}

/* Spaziatura migliore su mobile */
@media (max-width: 576px){
  body{ font-size: 1.02rem; }
  .btn{ border-radius: 12px; }
  .card{ border-radius: 16px; }
}