/* Shared styles for the sacc.ch 1:1 clone — used by all pages.
   NOTE for Christine: the two "George Town" font files below are still loaded
   directly from the current sacc.ch server. Before switching WordPress off,
   download the 2 files and change the src: url(...) to a local path, e.g. fonts/GEORGETOWN-REGULAR.woff2 */

@font-face{
  font-family:'George Town';
  font-style:normal; font-weight:400; font-display:swap;
  src:url(https://sacc.ch/wp-content/uploads/2024/03/GEORGETOWN-REGULAR.woff2) format('woff2');
}
@font-face{
  font-family:'George Town';
  font-style:normal; font-weight:600; font-display:swap;
  src:url(https://sacc.ch/wp-content/uploads/2024/03/GEORGETOWN-SEMIBOLD.woff2) format('woff2');
}

:root{
  --purple-dark:#1B0227;
  --purple-link:#752E88;
  --red:#BF1E1E;
  --grey:#A7A7A7;
  --card:#2A1B34;
  --maroon:#7C022C;
}
*{box-sizing:border-box; margin:0; padding:0;}
body{
  font-family:'Georama', sans-serif;
  background:linear-gradient(128deg,var(--purple-dark) 8.46%, var(--grey) 359.02%);
  background-attachment:fixed;
  color:#fff;
  line-height:1.5;
  padding-top:132px;
}
a{color:inherit; text-decoration:none;}
img{max-width:100%; display:block;}
h1,h2,h3,.brand-font{font-family:'George Town', sans-serif;}
h1, h2.section-title{color:var(--red);}
.container{max-width:1200px; margin:0 auto; padding:0 50px;}

header{
  padding:18px 50px; display:flex; align-items:center; justify-content:space-between;
  position:fixed; top:0; left:0; right:0; z-index:100;
  background:linear-gradient(128deg,var(--purple-dark) 8.46%, var(--grey) 359.02%);
}
.logo img{height:84px;}
nav{display:flex; gap:34px; font-size:16px;}
nav a{padding-bottom:4px;}
nav a.active{color:var(--purple-link); border-bottom:2px solid var(--red); font-weight:600;}
.nav-dropdown{position:relative; padding-bottom:20px; margin-bottom:-20px;}
.dropdown-menu{
  position:absolute; top:100%; left:50%; transform:translateX(-50%);
  background:var(--purple-dark); border:1px solid rgba(255,255,255,0.1); border-radius:10px; padding:8px 0; min-width:220px;
  box-shadow:0 14px 34px rgba(0,0,0,0.4);
  opacity:0; visibility:hidden;
  transition:opacity .15s ease;
  z-index:110;
}
.nav-dropdown:hover .dropdown-menu,
.nav-dropdown:focus-within .dropdown-menu{opacity:1; visibility:visible;}
.dropdown-menu a{display:block; padding:11px 22px; font-size:14.5px; white-space:nowrap; border-bottom:none;}
.dropdown-menu a:hover{background:rgba(255,255,255,0.08); color:var(--red);}
.btn{
  display:inline-block; font-family:'George Town', sans-serif; font-weight:400;
  background:var(--purple-link); color:#fff; padding:16px 25px; border-radius:100px; font-size:16px;
}
.btn:hover{background:var(--red);}

.nav-toggle{
  display:none; flex-direction:column; justify-content:center; align-items:center; gap:5px;
  width:36px; height:32px; background:none; border:none; cursor:pointer; padding:0; flex-shrink:0;
}
.nav-toggle span{display:block; width:100%; height:3px; background:#fff; border-radius:2px;}

.hero{padding:90px 50px 70px; background-size:cover; background-position:center;}
.hero h1{font-size:42px; font-weight:600; max-width:760px; margin-bottom:22px; color:#fff;}
.hero p{font-size:18px; color:#FFFB9A; max-width:640px; margin-bottom:8px;}
.hero .btn{margin-top:22px;}

.stats-strip{display:grid; grid-template-columns:1fr auto 1fr; align-items:center; gap:48px; padding:30px 50px; text-align:center; background:linear-gradient(90deg, rgba(191,30,30,0.08), rgba(124,2,44,0.16), rgba(191,30,30,0.08)); border-top:1px solid rgba(191,30,30,0.4);}
.stats-strip .stat{display:flex; flex-direction:column; align-items:center; justify-content:center;}
.stats-strip .stat:nth-child(1){justify-self:end; width:180px;}
.stats-strip .stat:nth-child(2){justify-self:center;}
.stats-strip .stat:nth-child(3){justify-self:start; width:180px;}

section.pillars{background:linear-gradient(90deg, rgba(191,30,30,0.08), rgba(124,2,44,0.16), rgba(191,30,30,0.08)); border-bottom:1px solid rgba(191,30,30,0.4); padding-top:10px;}
.stat-num{font-family:'George Town', sans-serif; font-size:42px; font-weight:600; color:var(--red);}
.stat-label{font-size:16px; color:rgba(255,255,255,0.75); margin-top:4px;}

section{padding:40px 50px; scroll-margin-top:132px;}
section.flush{padding:0;}
section.maroon{background:var(--maroon);}
section.tint{background:rgba(255,255,255,0.03);}
section.violet{background:#3A1750;}
h2.section-title{font-size:28px; font-weight:600; margin-bottom:10px;}

.events-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,300px)); gap:24px; margin-top:30px; justify-content:center;}
.event-card{background:var(--card); border-radius:12px; overflow:hidden; display:block; transition:transform .15s ease;}
a.event-card:hover{transform:translateY(-3px);}
.event-card .thumb{height:160px; background:rgba(255,255,255,0.06); display:flex; align-items:center; justify-content:center; font-size:13px; color:rgba(255,255,255,0.4); background-size:cover; background-position:center;}
.event-card .body{padding:20px;}
.event-card h3{font-family:'Georama',sans-serif; font-size:16px; font-weight:600; margin-bottom:8px;}
.event-card .date{color:var(--grey); font-size:13.5px; margin-bottom:4px;}
.event-card a.more{color:var(--purple-link); font-size:14px; font-weight:600; display:inline-block; margin-top:12px;}

.news-gallery{display:grid; grid-template-columns:repeat(auto-fit,minmax(200px,1fr)); gap:14px; margin:24px 0;}
.news-gallery img{width:100%; height:180px; object-fit:cover; object-position:center top; border-radius:10px; display:block;}

.quote-mark{font-family:Georgia,serif; font-size:100px; color:var(--red); line-height:1; font-weight:700;}
.members-section{background-size:cover; background-position:center;}
.testimonials-grid{display:grid; grid-template-columns:repeat(3,1fr); gap:24px; margin-top:26px;}
@media(max-width:900px){.testimonials-grid{grid-template-columns:1fr;}}
.testimonial-card{background:var(--violet); border-radius:12px; padding:30px; max-width:none;}
.testimonial-card img{width:90px; height:90px; border-radius:50%; object-fit:cover; margin-bottom:16px; display:block;}
.testimonial-card p.quote{color:rgba(255,255,255,0.9); font-size:16.5px; line-height:1.6; margin-bottom:18px; font-style:italic;}
.testimonial-card .t-name{font-weight:700; color:#fff; font-size:16.5px;}
.testimonial-card .t-role{color:rgba(255,255,255,0.65); font-size:14px;}

.partners-row{display:flex; gap:32px; flex-wrap:wrap; align-items:center; margin-top:20px;}
.partner-logo{background:#fff; border-radius:8px; padding:14px 26px; height:78px; width:200px; display:flex; align-items:center; justify-content:center; overflow:hidden;}
.partner-logo img{max-width:100%; max-height:100%; object-fit:contain;}
a.partner-logo{transition:transform .15s ease;}
a.partner-logo:hover{transform:translateY(-3px);}

.pillars-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(220px,1fr)); gap:24px; margin-top:10px;}
.pillar-card{background:var(--maroon); border-radius:12px; padding:28px; text-align:center; display:block; text-decoration:none; color:inherit; transition:transform .15s ease;}
a.pillar-card:hover{transform:translateY(-3px);}
.pillar-card h3{font-family:'George Town',sans-serif; font-size:28px; font-weight:600; margin-bottom:10px; color:var(--red);}
.pillar-card p{font-size:14px; color:rgba(255,255,255,0.85); margin-bottom:0;}

.committee-row{display:grid; grid-template-columns:repeat(auto-fit,minmax(260px,1fr)); gap:20px; margin-top:24px;}

.advisors-columns{display:flex; gap:56px; align-items:flex-start; flex-wrap:wrap; margin-top:24px;}
.advisors-intro{flex:1 1 380px; max-width:460px; color:rgba(255,255,255,0.85);}
.advisors-intro p{margin-bottom:14px;}
.advisor-list{flex:1 1 320px; max-width:420px; list-style:disc; padding-left:22px; display:flex; flex-direction:column; gap:12px; margin:0;}
.advisor-list li{color:#fff; font-size:16px; line-height:1.5;}
.advisor-list li strong{font-weight:700;}
.committee-card{background:var(--card); border-radius:12px; padding:26px;}
.committee-card h3{font-family:'Georama',sans-serif; font-weight:700; font-size:17px; margin-bottom:10px;}
.committee-card p{font-size:14.5px; color:rgba(255,255,255,0.75);}
a.committee-card{display:block; text-decoration:none; color:inherit; transition:transform .15s ease;}
a.committee-card:hover{transform:translateY(-3px);}

section.cta-banner{background:var(--maroon);}
.cta-row{display:flex; gap:40px; flex-wrap:wrap; margin-top:20px;}
.cta-box{flex:1; min-width:260px;}
.cta-box h3{font-family:'George Town',sans-serif; font-size:20px; font-weight:600; margin-bottom:14px;}

.pill-row{display:flex; gap:14px; flex-wrap:wrap; margin-top:24px;}
#country-tabs, #chapter-tabs{background:var(--maroon); padding:24px 50px; margin-top:0;}
.pill{background:var(--purple-link); color:#fff; padding:12px 26px; border-radius:100px; font-size:15px; font-weight:600; border:none; cursor:pointer; font-family:'Georama',sans-serif;}
.pill.outline{background:transparent; border:1.5px solid rgba(255,255,255,0.5);}
.pill.country-tab{background:rgba(117,46,136,0.6); color:#fff;}
.pill.country-tab.active{background:var(--red); color:#fff;}
.country-panel{display:none;}
.country-panel.active{display:grid; grid-template-columns:2fr 3fr; align-items:stretch; min-height:520px;}
.country-panel .c-img{background-size:cover; background-position:center; min-height:320px;}
.country-panel .c-content{padding:50px 60px;}
@media(max-width:820px){
  .country-panel.active{grid-template-columns:1fr;}
}
.resource-list{columns:2; column-gap:32px; margin-top:10px; color:rgba(255,255,255,0.75); font-size:14px; padding-left:18px;}
.resource-list li{margin-bottom:6px; break-inside:avoid;}
.resource-list a{color:rgba(255,255,255,0.75);}
.resource-list a:hover{color:var(--purple-link); text-decoration:underline;}
@media(max-width:700px){.resource-list{columns:1;}}

.members-columns{columns:3; column-gap:44px; margin-top:10px;}
.member-group{break-inside:avoid; margin-bottom:26px;}
.member-group h3{color:var(--red); font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; padding-bottom:6px; border-bottom:1px solid rgba(255,255,255,0.15);}
.member-group ul{list-style:none;}
.member-group li{font-size:14.5px; color:rgba(255,255,255,0.9); line-height:1.5; margin-bottom:7px;}
.member-group li .loc{color:rgba(255,255,255,0.5); font-size:13px;}
.member-group li a{color:rgba(255,255,255,0.9); text-decoration:none; border-bottom:1px solid rgba(255,255,255,0.3); transition:border-color .15s ease, color .15s ease;}
.member-group li a:hover{color:#fff; border-bottom-color:rgba(255,255,255,0.9);}
@media(max-width:1000px){.members-columns{columns:2;}}
@media(max-width:640px){.members-columns{columns:1;}}

.members-teaser{display:flex; align-items:center; justify-content:center; gap:22px; flex-wrap:wrap; text-align:center; padding:10px 0;}
.members-teaser .teaser-text{font-size:16px; color:rgba(255,255,255,0.8);}

.news-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(300px,1fr)); gap:28px; margin-top:30px;}
.news-card{background:var(--card); border-radius:12px; overflow:hidden; display:block; text-decoration:none; color:inherit; transition:transform .15s ease; border-top:3px solid var(--red);}
a.news-card:hover{transform:translateY(-3px);}
.news-card .thumb{height:170px; background:rgba(255,255,255,0.06); background-size:cover; background-position:center top;}
.news-card .body{padding:26px 22px;}
.news-card h3{font-size:16px; font-weight:700; font-family:'Georama',sans-serif; margin-bottom:10px; line-height:1.35;}
.news-card p{font-size:14px; color:rgba(255,255,255,0.7); margin-bottom:12px;}
.news-card .date{color:var(--grey); font-size:13px; margin-bottom:8px;}

.people-grid{display:grid; grid-template-columns:repeat(auto-fit,minmax(160px,1fr)); gap:26px; margin-top:30px;}
.person{text-align:center;}
.avatar{width:96px; height:96px; border-radius:50%; margin:0 auto 12px; background:linear-gradient(135deg,var(--purple-link),var(--purple-dark)); display:flex; align-items:center; justify-content:center; font-weight:800; font-size:22px;}
.avatar-img{width:96px; height:96px; border-radius:50%; object-fit:cover; margin:0 auto 12px; display:block;}
.person h4{font-size:14.5px; font-weight:700; font-family:'Georama',sans-serif;}
.person span{font-size:12.5px; color:rgba(255,255,255,0.65); display:block; margin-top:2px;}
.li-link{display:inline-flex; align-items:center; justify-content:center; width:26px; height:26px; border-radius:5px; background:rgba(255,255,255,0.12); margin-top:10px;}
.li-link:hover{background:var(--purple-link);}
.li-link svg{width:14px; height:14px; fill:#fff;}

.two-col{display:grid; grid-template-columns:1.1fr 0.9fr; gap:40px; align-items:center;}
.two-col img{border-radius:16px;}

footer{padding:60px 50px 30px; border-top:1px solid rgba(255,255,255,0.08); margin-top:40px; background:linear-gradient(128deg,var(--purple-dark) 8.46%, var(--grey) 359.02%);}
.footer-grid{display:grid; grid-template-columns:1fr 1.6fr 1fr 1fr; gap:40px; margin-bottom:40px; align-items:start;}
.footer-logo img{height:130px;}
.footer-grid h5{font-size:15px; font-weight:700; text-transform:uppercase; letter-spacing:1px; margin-bottom:10px; padding-bottom:12px; color:#fff; border-bottom:3px solid rgb(241,90,85); display:inline-block;}
.footer-grid h5.legal{color:#fff;}
.footer-grid p, .footer-grid a{font-size:14px; color:rgba(255,255,255,0.6); display:block; margin-bottom:8px;}
.footer-grid a:hover{color:var(--purple-link);}
.social-icons{display:flex; gap:12px; margin-top:4px;}
.social-icons a{width:36px; height:36px; border-radius:7px; background:rgba(255,255,255,0.08); display:flex; align-items:center; justify-content:center; margin-bottom:0;}
.social-icons a:hover{background:var(--purple-link);}
.social-icons svg{width:18px; height:18px; fill:#fff;}
.footer-bottom{font-size:13px; color:rgba(255,255,255,0.4); text-align:center; padding-top:20px; border-top:1px solid rgba(255,255,255,0.08);}

.devnote{
  background:#FFF6E5; color:#7a5c14; border:1px solid #F0D9A0; border-radius:10px;
  padding:14px 22px; font-family:Georama, sans-serif; font-size:13.5px; margin:0 50px 20px;
}

@media(max-width:820px){
  body{padding-top:74px;}
  header{flex-direction:row; flex-wrap:wrap; align-items:center; justify-content:space-between; padding:14px 20px;}
  .logo img{height:52px;}
  .nav-toggle{display:flex;}
  nav{
    display:none; order:3; width:100%; flex-direction:column; gap:0;
    margin-top:14px; text-align:center;
  }
  header.nav-open nav{display:flex;}
  nav a{padding:13px 0; border-bottom:1px solid rgba(255,255,255,0.08); width:100%;}
  .nav-dropdown{padding-bottom:0; margin-bottom:0;}
  .dropdown-menu{
    position:static; transform:none; opacity:1; visibility:visible;
    box-shadow:none; border:none; background:rgba(255,255,255,0.04); border-radius:0;
    display:none; padding:0; min-width:0;
  }
  header.nav-open .nav-dropdown .dropdown-menu{display:block;}
  .dropdown-menu a{padding:12px 0; text-align:center; border-bottom:1px solid rgba(255,255,255,0.08);}
  header .btn{display:none; order:4; width:100%; text-align:center; margin-top:6px;}
  header.nav-open .btn{display:block;}
  .footer-grid{grid-template-columns:1fr 1fr;}
  .two-col{grid-template-columns:1fr;}
  .stats-strip{grid-template-columns:1fr; gap:16px;}
  .stats-strip .stat:nth-child(1),
  .stats-strip .stat:nth-child(2),
  .stats-strip .stat:nth-child(3){justify-self:center; width:auto;}

  #country-tabs, #chapter-tabs{
    position:sticky; top:74px; z-index:90;
    padding:14px 20px; gap:8px;
    overflow-x:auto; flex-wrap:nowrap;
    -webkit-overflow-scrolling:touch;
  }
  #country-tabs .pill, #chapter-tabs .pill{white-space:nowrap; flex-shrink:0; padding:10px 18px; font-size:14px;}
}
