/* OSM Roma Business Club — shared site styles */

:root{
  --navy:#0A142D;
  --navy-2:#0E1B33;
  --crimson:#C4104F;
  --crimson-dark:#8C0D39;
  --gold:#C9A84C;
  --gold-soft:#E4CE94;
  --cream:#F9F7F5;
  --ink:#1C2030;
  --muted:#6B6F7A;
  --line:#E4DCCB;
  --sans:Arial, 'Helvetica Neue', Helvetica, sans-serif;
  --serif:Arial, 'Helvetica Neue', Helvetica, sans-serif;
}

*,*::before,*::after{box-sizing:border-box;margin:0;padding:0}
html{scroll-behavior:smooth}
body{
  font-family:var(--sans);
  color:var(--ink);
  background:var(--cream);
  -webkit-font-smoothing:antialiased;
  line-height:1.55;
}
img{max-width:100%;display:block}
a{color:inherit;text-decoration:none}

.wrap{max-width:1120px;margin:0 auto;padding:0 32px}

/* ---------- Header ---------- */
.site-header{
  position:sticky; top:0; z-index:40;
  background:rgba(10,20,45,.92);
  backdrop-filter:blur(6px);
  border-bottom:1px solid rgba(201,168,76,.35);
}
.site-header .wrap{
  display:flex; align-items:center; justify-content:space-between;
  height:76px;
}
.brandmark{display:flex; align-items:center; gap:14px; color:#fff}
.brandmark .brand-logo{height:38px; width:auto; display:block}
.brandmark .word{font-family:var(--sans); font-weight:700; font-size:20px; letter-spacing:.01em}
.brandmark .word b{color:var(--gold); font-weight:800}

.partner-logos{display:flex; align-items:center; gap:26px; flex-wrap:wrap}
.partner-logos img{height:52px; width:auto; display:block; opacity:.92}
.partner-logos span{font-size:12px; letter-spacing:.08em; text-transform:uppercase; color:var(--muted); font-weight:700}

.colosseo-band{background:var(--navy); padding:22px 0 0; overflow:hidden}
.colosseo-band img{width:100%; max-width:1180px; margin:0 auto; display:block; opacity:.95}

nav.mainnav{display:flex; gap:34px}
nav.mainnav a{
  color:#EDEAE2; font-size:14px; letter-spacing:.03em; font-weight:500;
  position:relative; padding:6px 0;
}
nav.mainnav a.active{color:var(--gold)}
nav.mainnav a::after{
  content:''; position:absolute; left:0; right:0; bottom:0; height:2px;
  background:var(--gold); transform:scaleX(0); transform-origin:left; transition:transform .25s ease;
}
nav.mainnav a:hover::after, nav.mainnav a.active::after{transform:scaleX(1)}

.navcta{
  border:1px solid var(--gold); color:var(--gold)!important; font-size:13px!important;
  padding:9px 18px!important; border-radius:2px;
}
.navcta:hover{background:var(--gold); color:var(--navy)!important}

/* ---------- Footer ---------- */
.arches{width:100%; height:56px; display:block}
.site-footer{background:var(--navy); color:#CBD1DE; padding:0 0 34px}
.site-footer .wrap{
  display:flex; flex-wrap:wrap; gap:28px; justify-content:space-between; align-items:center;
  padding-top:26px; border-top:1px solid rgba(201,168,76,.3);
  font-size:13px;
}
.site-footer strong{color:#fff; font-family:var(--sans); font-weight:700; font-size:16px; letter-spacing:.01em}
.site-footer .footer-logo{height:30px; width:auto; display:block; margin-bottom:10px}
.footer-links{display:flex; gap:22px; flex-wrap:wrap}
.footer-links a{color:#CBD1DE}
.footer-links a:hover{color:var(--gold)}
.social-row{display:flex; gap:10px}
.social-row span{
  width:30px; height:30px; border-radius:50%; background:var(--crimson);
  display:flex; align-items:center; justify-content:center; font-size:12px; color:#fff;
}

/* ---------- Buttons ---------- */
.btn{
  display:inline-flex; align-items:center; gap:10px;
  font-family:var(--sans); font-weight:600; font-size:14.5px;
  padding:15px 30px; border-radius:2px; border:1px solid transparent; cursor:pointer;
  transition:transform .18s ease, background .18s ease, border-color .18s ease, color .18s ease, box-shadow .18s ease;
}
.btn:hover{transform:scale(1.06)}
.btn-primary{background:var(--crimson); color:#fff}
.btn-primary:hover{background:var(--crimson-dark); box-shadow:0 8px 20px rgba(196,16,79,.3)}
.btn-ghost{border-color:rgba(255,255,255,.55); color:#fff}
.btn-ghost:hover{border-color:var(--gold); color:var(--gold)}
.btn-outline-dark{border-color:var(--ink); color:var(--ink)}
.btn-outline-dark:hover{background:var(--ink); color:#fff}

/* ---------- Status pill ---------- */
.pill{
  display:inline-block; font-size:11.5px; font-weight:700; letter-spacing:.06em;
  padding:5px 12px; border-radius:20px;
}
.pill-live{background:rgba(201,168,76,.15); color:var(--gold-soft); border:1px solid var(--gold)}
.pill-soon{background:rgba(28,32,48,.06); color:var(--muted); border:1px solid var(--line)}

@media (max-width:820px){
  nav.mainnav{display:none}
}
