/* === iTourist Partners – Brand Theme =======================================
   Colori brand: arancio #ef7b32, blu #173a86, bianco #ffffff
   Tipografia: Google Sans (fallback Inter / system)
   ========================================================================== */

/* Fallback libero: Inter (Google Sans non è su Google Fonts) */
@import url('https://fonts.googleapis.com/css2?family=Inter:wght@400;600;800&display=swap');

/* Se possiedi i file di Google Sans, decommenta e punta ai tuoi .woff2
@font-face {
  font-family: "Google Sans";
  src: url("/partners/assets/fonts/GoogleSans-Regular.woff2") format("woff2");
  font-weight: 400; font-style: normal; font-display: swap;
}
@font-face {
  font-family: "Google Sans";
  src: url("/partners/assets/fonts/GoogleSans-Bold.woff2") format("woff2");
  font-weight: 700; font-style: normal; font-display: swap;
}
*/

:root{
  --brand-orange:#ef7b32;
  --brand-blue:#173a86;
  --brand-white:#ffffff;

  --text:#0e1220;
  --muted:#657189;

  --radius:16px;
  --shadow:0 10px 30px rgba(0,0,0,.12);
}

*{box-sizing:border-box}
html,body{height:100%}
body{
  margin:0;
  font-family:"Google Sans", Inter, system-ui, -apple-system, "Segoe UI", Roboto, Arial, sans-serif;
  color:var(--text);
  background:
    radial-gradient(900px 500px at 100% -10%, rgba(23,58,134,.06), transparent 60%),
    radial-gradient(900px 500px at 0% 100%, rgba(239,123,50,.08), transparent 60%),
    #fff;
}

a{color:var(--brand-blue);text-decoration:none}
a:hover{opacity:.9}

.container{max-width:1040px;margin:0 auto;padding:24px}

.card{
  background:#fff;
  border:1px solid rgba(20,30,60,.08);
  border-radius:var(--radius);
  box-shadow:var(--shadow);
  padding:20px; margin:16px 0;
}

.header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}
.logo-wrap{display:flex;gap:18px;align-items:center}
.logo-img{width:72px;height:72px;border-radius:14px;object-fit:cover}
.brand-title{font-weight:800;letter-spacing:.3px;color:var(--brand-blue)}
.tagline{color:var(--muted);font-size:14px}

.brand-hero{
  display:grid;gap:18px;align-items:center;
  grid-template-columns:96px 1fr;
  padding:18px; border-radius:18px;
  background:
    linear-gradient(180deg, rgba(23,58,134,.08), rgba(23,58,134,.02)),
    linear-gradient(180deg, rgba(239,123,50,.08), rgba(239,123,50,.02)),
    #fff;
  border:1px solid rgba(23,58,134,.12);
}
.brand-hero .hero-logo{width:96px;height:96px;border-radius:20px;object-fit:cover}
.brand-hero h1{margin:0 0 6px;font-size:24px}
.brand-hero p{margin:0;color:#33415c}

@media (max-width:720px){
  .brand-hero{grid-template-columns:1fr}
  .brand-hero .hero-logo{width:84px;height:84px;justify-self:start}
}

.grid{display:grid;gap:12px}
.grid-2{grid-template-columns:1fr 1fr}
.grid-3{grid-template-columns:repeat(3,1fr)}
@media (max-width:740px){ .grid-2,.grid-3{grid-template-columns:1fr} }

input,select,textarea,button{font:inherit}
input,select,textarea{
  width:100%; padding:12px 14px; border-radius:12px;
  border:1px solid rgba(20,30,60,.18); background:#fff; color:var(--text); outline:none;
}
input:focus,select:focus,textarea:focus{
  border-color:var(--brand-blue);
  box-shadow:0 0 0 3px rgba(23,58,134,.15);
}

button{
  border:none; cursor:pointer; font-weight:700;
  padding:12px 16px; border-radius:14px;
  transition:transform .04s ease, filter .15s ease;
}
button:active{transform:translateY(1px)}
.btn-primary{
  color:#fff; background:linear-gradient(180deg, var(--brand-blue), #0f2a65);
}
.btn-ghost{
  background:transparent; border:1px solid rgba(20,30,60,.18); color:var(--brand-blue);
}

.table{width:100%;border-collapse:collapse}
.table th,.table td{padding:10px;border-bottom:1px solid rgba(20,30,60,.12)}
.table thead th{color:#4a5773}

.badge{display:inline-block;padding:4px 10px;border-radius:999px;font-size:12px}
.bg-success{background:#e8f7f0;color:#1b6e46}
.bg-secondary{background:#edf0f6;color:#51607a}

.alert{padding:10px 12px;border-radius:10px}
.alert-success{background:#eaf7ee;color:#1b6e46;border:1px solid #bfe8cc}
.alert-danger{background:#fff1f0;color:#8a1f1f;border:1px solid #f3c4c4}

footer{
  text-align:center; color:#5b6a87; margin:28px 0 10px;
}
