:root{
  --bg:#eaf7ff;
  --bg2:#d9f1ff;
  --card:#ffffff;
  --navy:#08345f;
  --blue:#1678b8;
  --sky:#56bde8;
  --cyan:#24b8c8;
  --text:#10233d;
  --muted:#5f7187;
  --border:#cfe8f7;
  --shadow:0 18px 40px rgba(8,52,95,.12);
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:Inter,Arial,Helvetica,sans-serif;background:var(--bg);color:var(--text);line-height:1.65}
a{color:inherit}
.navbar{position:sticky;top:0;z-index:20;background:rgba(234,247,255,.96);border-bottom:1px solid var(--border);backdrop-filter:blur(12px)}
.nav-inner{max-width:1200px;margin:auto;padding:14px 24px;display:flex;justify-content:space-between;align-items:center;gap:20px}
.logo{text-decoration:none;color:var(--navy)}
.logo span{display:block;font-size:28px;font-weight:900;letter-spacing:.5px}
.logo small{display:block;color:var(--muted);font-size:12px}
.nav-menu{display:flex;align-items:center;gap:14px;font-size:14px;font-weight:800}
.nav-menu a{text-decoration:none;color:var(--navy);padding:8px 0;border-bottom:2px solid transparent}
.nav-menu a:hover,.nav-menu a.active{color:var(--blue);border-bottom-color:var(--sky)}
.lang-btn{border:none;background:var(--navy);color:white;border-radius:999px;padding:9px 14px;font-weight:900;cursor:pointer}
.mobile-toggle{display:none;border:none;background:transparent;color:var(--navy);font-size:28px;cursor:pointer}
.container{max-width:1200px;margin:auto}
.hero{min-height:680px;display:flex;align-items:center;background:
 radial-gradient(circle at 15% 20%, rgba(86,189,232,.55), transparent 25%),
 radial-gradient(circle at 85% 15%, rgba(36,184,200,.35), transparent 25%),
 linear-gradient(135deg,#d9f1ff 0%, #eaf7ff 50%, #cbefff 100%);
position:relative;overflow:hidden}
.hero:after{content:"";position:absolute;inset:0;background-image:linear-gradient(rgba(8,52,95,.07) 1px,transparent 1px),linear-gradient(90deg,rgba(8,52,95,.07) 1px,transparent 1px);background-size:46px 46px;opacity:.7}
.hero .container{position:relative;z-index:1;padding:80px 24px}
.eyebrow{display:inline-block;background:white;border:1px solid var(--border);color:var(--blue);border-radius:999px;padding:7px 14px;font-weight:900;text-transform:uppercase;font-size:12px;letter-spacing:.7px;box-shadow:0 8px 22px rgba(8,52,95,.08)}
.hero h1{font-size:clamp(38px,6vw,68px);line-height:1.04;max-width:980px;color:var(--navy);margin:20px 0 12px;letter-spacing:-2px}
.hero h2{color:var(--blue);font-size:42px;margin:0 0 20px}
.hero-description{max-width:760px;color:var(--muted);font-size:20px}
.hero-actions{display:flex;gap:14px;flex-wrap:wrap;margin-top:30px}
.btn{display:inline-block;text-decoration:none;border-radius:10px;padding:13px 21px;font-weight:900;transition:.2s;margin:4px 6px 4px 0}
.btn:hover{transform:translateY(-2px)}
.btn-primary{background:var(--navy);color:white;box-shadow:0 14px 30px rgba(8,52,95,.22)}
.btn-secondary{background:white;color:var(--navy);border:1px solid var(--border)}
.section{padding:82px 24px}
.page-title{padding:74px 24px 48px;background:linear-gradient(135deg,#d9f1ff,#eaf7ff,#cfefff);border-bottom:1px solid var(--border)}
.page-title h1{font-size:clamp(34px,5vw,54px);line-height:1.1;color:var(--navy);margin:18px 0 0}
h2{color:var(--navy);font-size:clamp(26px,4vw,38px);line-height:1.15;margin:0 0 18px}
.quick-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.quick-card,.content-card,.theme-card,.timeline-item,.payment-card{background:var(--card);border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow)}
.quick-card{padding:24px}
.quick-card span{color:var(--sky);font-weight:900}
.quick-card h3{margin:8px 0;color:var(--navy)}
.quick-card p{margin:0;color:var(--muted)}
.two-columns{display:grid;grid-template-columns:1.05fr .95fr;gap:30px;align-items:stretch}
.content-card{padding:32px}
.content-card p,.theme-card p,.note,.payment-card p{color:var(--muted)}
.content-card.accent{background:linear-gradient(135deg,#ffffff,#f1fbff);border-left:6px solid var(--sky)}
.content-card li{margin-bottom:10px}
.theme-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.theme-card{padding:28px;transition:.2s}
.theme-card:hover{transform:translateY(-4px);border-color:var(--sky)}
.theme-card div{font-size:36px}
.theme-card h3{color:var(--navy);margin-bottom:10px}
.timeline{display:grid;gap:16px}
.timeline-item{display:grid;grid-template-columns:220px 1fr;gap:20px;align-items:center;padding:22px 26px;border-left:7px solid var(--sky)}
.timeline-item span{font-weight:900;color:var(--blue)}
.committee-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.table-wrapper{overflow-x:auto;background:white;border-radius:22px;box-shadow:var(--shadow);border:1px solid var(--border)}
table{width:100%;border-collapse:collapse;min-width:850px}
th,td{padding:18px;text-align:left;border-bottom:1px solid var(--border)}
th{background:var(--navy);color:white}
.pay-link{font-weight:900;color:var(--blue);text-decoration:none}
.pay-link:hover{text-decoration:underline}
.payment-options{display:grid;gap:18px;margin-top:18px}
.payment-card{padding:22px;box-shadow:0 12px 26px rgba(8,52,95,.09)}
.payment-card h3{margin-top:0;color:var(--navy)}
.footer{text-align:center;background:#08345f;color:#dff5ff;padding:26px 24px}
@media(max-width:980px){
 .mobile-toggle{display:block}
 .nav-inner{align-items:flex-start}
 .nav-menu{display:none;position:absolute;left:24px;right:24px;top:78px;background:white;border:1px solid var(--border);border-radius:18px;box-shadow:var(--shadow);padding:20px;flex-direction:column;align-items:flex-start}
 .nav-menu.active{display:flex}
 .quick-grid,.two-columns,.theme-grid,.committee-grid{grid-template-columns:1fr}
 .timeline-item{grid-template-columns:1fr;gap:6px}
}
@media(max-width:560px){
 .section{padding:62px 20px}
 .hero .container{padding:70px 20px}
 .hero h2{font-size:32px}
 .topbar-inner{flex-direction:column}
}


@media(max-width:980px){
  .logos-grid{
    grid-template-columns:1fr;
  }
  .logo-item{
    min-height:100px;
  }
}


@media(max-width:1200px){
  .institution-grid{
    grid-template-columns:repeat(3, 1fr);
  }
}
@media(max-width:760px){
  .institution-grid{
    grid-template-columns:1fr;
  }
  .institution-item{
    min-height:100px;
  }
}


.topbar{
  background:#08345f;
  color:white;
  font-size:14px;
}
.topbar-inner{
  max-width:1200px;
  margin:auto;
  padding:10px 24px 18px;
  display:block;
}
.topbar-main{
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.16);
}
.topbar a{
  color:#c9f1ff;
  text-decoration:none;
  font-weight:700;
}
.topbar-logos-wrap{
  padding-top:12px;
}
.topbar-logos-title{
  text-align:center;
  margin:0 0 12px;
  color:#e8f6ff;
  font-weight:900;
  letter-spacing:.2px;
}

/* hide old separate institutional strip styles if the section no longer exists */
.institution-strip{display:none !important;}

@media(max-width:980px){
  .topbar-main{
    flex-direction:column;
    align-items:flex-start;
  }
  .topbar-logos{
    grid-template-columns:repeat(3, minmax(0,1fr));
  }
  .estl-logo-item{
    height:132px;
  }
  .estl-logo-item img{
    height:100px;
  }
}
@media(max-width:560px){
  .topbar-logos{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .estl-logo-item{
    grid-column:span 2;
    height:124px;
  }
  .estl-logo-item img{
    height:92px;
  }
}


.topbar{
  background:#08345f;
  color:white;
  font-size:14px;
}
.topbar-inner{
  max-width:1200px;
  margin:auto;
  padding:10px 24px 18px;
  display:block;
}
.topbar-main{
  display:flex;
  justify-content:center;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
  padding-bottom:10px;
  border-bottom:1px solid rgba(255,255,255,.16);
  text-align:center;
  font-weight:700;
}
.topbar a{
  color:#c9f1ff;
  text-decoration:none;
  font-weight:700;
}
.topbar-logos-wrap{
  padding-top:12px;
}
.topbar-logos-title{
  text-align:center;
  margin:0 0 12px;
  color:#e8f6ff;
  font-weight:900;
  letter-spacing:.2px;
}
.topbar-logos{
  display:grid;
  grid-template-columns:repeat(5, minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.topbar-logo-item{
  background:#ffffff;
  border:1px solid rgba(255,255,255,.3);
  border-radius:14px;
  height:96px;
  padding:10px 14px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.topbar-logo-item img{
  width:100%;
  height:58px;
  object-fit:contain;
  display:block;
}

.footer{
  background:#08345f;
  color:#ffffff;
  padding:34px 24px 18px;
  margin-top:40px;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:30px;
  align-items:start;
}
.footer h3{
  margin-top:0;
  margin-bottom:14px;
  color:#ffffff;
  font-size:24px;
}
.footer p{
  margin:8px 0;
  color:#e9f6ff;
}
.footer a{
  color:#c9f1ff;
  text-decoration:none;
}
.footer-copy{
  margin:24px 0 0;
  padding-top:18px;
  border-top:1px solid rgba(255,255,255,.16);
  text-align:center;
  color:#dff5ff;
}
.countdown{
  display:grid;
  grid-template-columns:repeat(4, minmax(0,1fr));
  gap:14px;
}
.count-item{
  background:rgba(255,255,255,.10);
  border:1px solid rgba(255,255,255,.18);
  border-radius:16px;
  padding:16px 10px;
  text-align:center;
}
.count-item span{
  display:block;
  font-size:34px;
  line-height:1;
  font-weight:900;
  color:#ffffff;
  margin-bottom:8px;
}
.count-item small{
  display:block;
  color:#dff5ff;
  font-size:13px;
  font-weight:700;
}

@media(max-width:980px){
  .topbar-main{
    flex-direction:column;
    align-items:center;
  }
  .topbar-logos{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
  .footer-grid{
    grid-template-columns:1fr;
  }
  .countdown{
    grid-template-columns:repeat(2, minmax(0,1fr));
  }
}
@media(max-width:560px){
  .topbar-logos{
    grid-template-columns:1fr;
  }
  .countdown{
    grid-template-columns:1fr 1fr;
  }
}


/* Make indexing logos visually smaller than institutional partner logos */
.logos-strip{
  background:#ffffff;
  border-bottom:1px solid var(--border);
  padding:12px 24px 16px;
}
.logos-title{
  text-align:center;
  margin:0 0 10px;
  color:var(--navy);
  font-weight:800;
  font-size:15px;
}
.logos-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:14px;
  align-items:center;
  max-width:820px;
  margin:0 auto;
}
.logo-item{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:14px;
  box-shadow:0 8px 18px rgba(8,52,95,.06);
  min-height:88px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:10px 12px;
}
.logo-item img{
  max-width:100%;
  max-height:48px;
  object-fit:contain;
  display:block;
}
@media(max-width:980px){
  .logos-grid{
    grid-template-columns:1fr;
    max-width:420px;
  }
  .logo-item{
    min-height:78px;
  }
}


/* Better vertical alignment between ICASDAI'26 logo and menu */
.navbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(234,247,255,.96);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
}
.nav-inner{
  max-width:1200px;
  margin:auto;
  padding:14px 24px;
  display:flex;
  justify-content:space-between;
  align-items:center;
  gap:24px;
}
.logo{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-decoration:none;
  color:var(--navy);
  min-width:220px;
}
.logo span{
  display:block;
  font-size:28px;
  font-weight:900;
  letter-spacing:.5px;
  line-height:1.05;
}
.logo small{
  display:block;
  color:var(--muted);
  font-size:12px;
  line-height:1.25;
  margin-top:4px;
}
.nav-menu{
  display:flex;
  align-items:center;
  gap:14px;
  font-size:14px;
  font-weight:800;
  flex-wrap:wrap;
  justify-content:flex-end;
}
.nav-menu a,
.lang-btn{
  align-self:center;
}

/* Map and hotel sections */
.map-section,
.hotels-section{
  padding-top:12px;
}
.map-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:28px;
}
.map-card h2{
  margin-top:0;
}
.map-embed{
  width:100%;
  height:420px;
  border:0;
  border-radius:16px;
}
.section-head{
  margin-bottom:24px;
}
.hotel-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.hotel-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:24px;
}
.hotel-card h3{
  margin:0 0 14px;
  color:var(--navy);
  font-size:22px;
}
.hotel-card p{
  margin:8px 0;
  color:var(--muted);
}
@media(max-width:980px){
  .nav-inner{
    align-items:flex-start;
  }
  .hotel-grid{
    grid-template-columns:1fr;
  }
}


.accommodation-intro{
  margin-bottom:28px;
}
.hotel-grid-detailed{
  grid-template-columns:repeat(2,minmax(0,1fr));
  column-gap:64px;
  row-gap:72px;
  padding:24px 18px 36px;
}
.detailed-hotel{
  display:flex;
  flex-direction:column;
  gap:4px;
}
.hotel-top{
  display:flex;
  justify-content:space-between;
  gap:14px;
  align-items:flex-start;
}
.hotel-stars{
  background:#eaf7ff;
  color:var(--blue);
  border:1px solid var(--border);
  border-radius:999px;
  padding:6px 10px;
  font-weight:900;
  white-space:nowrap;
}
.hotel-actions{
  display:flex;
  gap:10px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:12px;
}

.hotel-card-bg{
  position:relative;
  overflow:hidden;
  min-height:360px;
  justify-content:flex-end;
  background-size:cover;
  background-position:center;
  background-repeat:no-repeat;
  border:none;
  box-shadow:0 18px 38px rgba(15,23,42,.18);
}
.hotel-card-bg::before{
  content:"";
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(7,16,35,.18) 0%, rgba(7,16,35,.42) 42%, rgba(7,16,35,.78) 100%);
}
.hotel-card-bg > *{
  position:relative;
  z-index:1;
}
.hotel-card-bg h3,
.hotel-card-bg p,
.hotel-card-bg p strong{
  color:#fff;
}
.hotel-card-bg .hotel-stars{
  background:rgba(255,255,255,.18);
  color:#fff;
  border:1px solid rgba(255,255,255,.35);
  backdrop-filter:blur(3px);
}
.hotel-card-bg .btn{
  border-color:rgba(255,255,255,.35);
  box-shadow:none;
}
.hotel-card-bg .btn.btn-secondary{
  background:rgba(255,255,255,.92);
  color:var(--navy);
}
.hotel-card-bg .btn.btn-primary{
  background:rgba(22,119,255,.92);
}
.hotel-marriott{background-image:url("assets/hotel-marriott-bg.png");}
.hotel-sahrai{background-image:url("assets/hotel-sahrai-bg.png");}
.hotel-barcelo{background-image:url("assets/hotel-barcelo-bg.png");}
.hotel-palais-medina{background-image:url("assets/hotel-palais-medina-bg.png");}
.hotel-volubilis{background-image:url("assets/hotel-volubilis-bg.png");}
.hotel-ibis{background-image:url("assets/hotel-ibis-bg.png");}
@media(max-width:980px){
  .hotel-grid-detailed{
    grid-template-columns:1fr;
    row-gap:52px;
    padding:18px 10px 28px;
  }
}


.activities-intro{
  margin-bottom:28px;
}
.activities-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:24px;
}
.activity-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:24px;
  box-shadow:var(--shadow);
  display:grid;
  grid-template-columns:110px 1fr;
  gap:20px;
  padding:28px;
}
.activity-icon{
  width:90px;
  height:90px;
  border-radius:22px;
  background:#eaf7ff;
  border:1px solid var(--border);
  display:flex;
  align-items:center;
  justify-content:center;
  font-size:42px;
}
.activity-content h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:26px;
}
.activity-content p,
.activity-content li{
  color:var(--muted);
}
.activity-content ul{
  margin:18px 0;
  padding-left:22px;
}
.activity-note{
  margin-top:28px;
}
@media(max-width:760px){
  .activity-card{
    grid-template-columns:1fr;
  }
  .activity-icon{
    width:76px;
    height:76px;
    font-size:36px;
  }
}


/* Final navbar correction: keep the menu aligned with ICASDAI’26 on the same horizontal level */
.navbar{
  position:sticky;
  top:0;
  z-index:20;
  background:rgba(234,247,255,.98);
  border-bottom:1px solid var(--border);
  backdrop-filter:blur(12px);
}
.nav-inner{
  max-width:1380px;
  margin:auto;
  padding:12px 18px;
  display:grid;
  grid-template-columns:230px 1fr;
  align-items:center;
  gap:16px;
}
.logo{
  display:flex;
  flex-direction:column;
  justify-content:center;
  text-decoration:none;
  color:var(--navy);
  min-width:0;
}
.logo span{
  display:block;
  font-size:26px;
  font-weight:900;
  letter-spacing:.4px;
  line-height:1;
}
.logo small{
  display:block;
  color:var(--muted);
  font-size:10.5px;
  line-height:1.2;
  margin-top:4px;
  white-space:nowrap;
}
.nav-menu{
  display:flex;
  align-items:center;
  justify-content:flex-end;
  gap:8px;
  flex-wrap:nowrap;
  overflow-x:auto;
  overflow-y:hidden;
  white-space:nowrap;
  font-size:12.5px;
  font-weight:800;
  padding-bottom:2px;
}
.nav-menu a{
  text-decoration:none;
  color:var(--navy);
  padding:7px 0;
  border-bottom:2px solid transparent;
  flex:0 0 auto;
}
.nav-menu a:hover,
.nav-menu a.active{
  color:var(--blue);
  border-bottom-color:var(--sky);
}
.lang-btn{
  flex:0 0 auto;
  border:none;
  background:var(--navy);
  color:white;
  border-radius:999px;
  padding:7px 12px;
  font-size:12px;
  font-weight:900;
  cursor:pointer;
  align-self:center;
}
.mobile-toggle{
  display:none;
  border:none;
  background:transparent;
  color:var(--navy);
  font-size:28px;
  cursor:pointer;
}

@media(max-width:1100px){
  .nav-inner{
    display:flex;
    justify-content:space-between;
    align-items:flex-start;
  }
  .mobile-toggle{
    display:block;
  }
  .nav-menu{
    display:none;
    position:absolute;
    left:24px;
    right:24px;
    top:78px;
    background:white;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:20px;
    flex-direction:column;
    align-items:flex-start;
    white-space:normal;
    overflow:visible;
    font-size:14px;
  }
  .nav-menu.active{
    display:flex;
  }
}


/* Indexing section update: smaller icon boxes + very light green background */
.logos-strip{
  background:#eefaf0 !important;
  border-bottom:1px solid #d8ecd9 !important;
  padding:10px 24px 14px !important;
}
.logos-title{
  text-align:center;
  margin:0 0 10px !important;
  color:var(--navy);
  font-weight:800;
  font-size:14px !important;
}
.logos-grid{
  display:grid;
  grid-template-columns:repeat(3, 1fr);
  gap:10px !important;
  align-items:center;
  max-width:700px !important;
  margin:0 auto;
}
.logo-item{
  background:#ffffff;
  border:1px solid #d8ecd9 !important;
  border-radius:12px !important;
  box-shadow:0 6px 14px rgba(8,52,95,.05) !important;
  min-height:68px !important;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:8px 10px !important;
}
.logo-item img{
  max-width:100%;
  max-height:36px !important;
  object-fit:contain;
  display:block;
}
@media(max-width:980px){
  .logos-grid{
    grid-template-columns:1fr;
    max-width:360px !important;
  }
  .logo-item{
    min-height:62px !important;
  }
}


/* Keep indexing button size, but enlarge indexing icons inside */
.logo-item{
  min-height:68px !important;
  padding:8px 10px !important;
}
.logo-item img{
  max-width:100%;
  max-height:50px !important;
  object-fit:contain;
  display:block;
}


/* Homepage quick info cards: very light green background */
.quick-card{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}


/* General Chairs section */
.chairs-section{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}
.chairs-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:22px;
  margin-top:22px;
}
.chair-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:18px;
  box-shadow:0 10px 24px rgba(8,52,95,.08);
  padding:24px;
}
.chair-card h3{
  margin:0 0 12px;
  color:var(--navy);
  font-size:24px;
}
.chair-card p{
  margin:6px 0;
  color:var(--muted);
}
@media(max-width:760px){
  .chairs-grid{
    grid-template-columns:1fr;
  }
}

/* Home sessions as scientific sessions */
.home-sessions{padding-top:40px}
.home-sessions-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:16px;margin-top:24px}
.home-session-card{background:#eefaf0;border:1px solid #d8ecd9;border-radius:18px;box-shadow:0 10px 24px rgba(8,52,95,.07);padding:18px}
.home-session-card span{display:inline-block;color:var(--blue);font-weight:900;margin-bottom:8px}
.home-session-card h3{margin:0;color:var(--navy);font-size:17px;line-height:1.3}
.home-sessions-action{margin-top:24px;display:flex;gap:12px;flex-wrap:wrap}

/* Detailed themes page */
.themes-intro{margin-bottom:24px}
.scientific-theme-list{display:grid;gap:18px}
.scientific-theme-item{background:#fff;border:1px solid var(--border);border-radius:22px;box-shadow:var(--shadow);padding:24px;display:grid;grid-template-columns:130px 1fr;gap:22px}
.theme-number{background:#eefaf0;border:1px solid #d8ecd9;border-radius:16px;color:var(--blue);font-weight:900;display:flex;align-items:center;justify-content:center;min-height:80px}
.scientific-theme-item h3{margin:0 0 10px;color:var(--navy);font-size:23px}
.scientific-theme-item p,.scientific-theme-item li{color:var(--muted)}
.scientific-theme-item ul{margin:14px 0 0;padding-left:22px}

/* Submission by theme */
.theme-select-label{display:block;color:var(--navy);font-weight:900;margin:14px 0 8px}
.theme-select{width:100%;border:1px solid var(--border);background:#fff;border-radius:14px;padding:14px;color:var(--text);font-weight:700;font-size:15px}

/* Fixed vertical countdown on the right, without title */
.side-countdown{position:fixed;right:14px;top:50%;transform:translateY(-50%);z-index:60;display:grid;gap:8px}
.side-count-item{width:76px;background:#08345f;color:#fff;border:1px solid rgba(255,255,255,.18);box-shadow:0 10px 24px rgba(8,52,95,.20);border-radius:14px;padding:10px 6px;text-align:center}
.side-count-item span{display:block;font-size:24px;font-weight:900;line-height:1}
.side-count-item small{display:block;color:#dff5ff;font-size:11px;font-weight:800;margin-top:5px}
.countdown{display:none !important}
@media(max-width:1100px){.home-sessions-grid{grid-template-columns:repeat(2,1fr)}.side-countdown{position:static;transform:none;display:grid;grid-template-columns:repeat(4,1fr);gap:8px;padding:12px 24px;background:#eaf7ff}.side-count-item{width:auto}}
@media(max-width:760px){.home-sessions-grid{grid-template-columns:1fr}.scientific-theme-item{grid-template-columns:1fr}}


/* Merged Registration & Payment page */
.registration-intro{
  margin-bottom:24px;
}
.registration-steps{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
  margin-bottom:28px;
}
.step-card{
  background:#eefaf0;
  border:1px solid #d8ecd9;
  border-radius:20px;
  box-shadow:0 10px 24px rgba(8,52,95,.06);
  padding:22px;
}
.step-card span{
  display:inline-block;
  color:var(--blue);
  font-weight:900;
  margin-bottom:8px;
}
.step-card h3{
  margin:0 0 8px;
  color:var(--navy);
}
.step-card p{
  margin:0;
  color:var(--muted);
}
.registration-form-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:28px;
  margin-bottom:28px;
}
.form-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:18px;
}
.registration-form label{
  display:flex;
  flex-direction:column;
  gap:8px;
  color:var(--navy);
  font-weight:900;
}
.registration-form input,
.registration-form select{
  border:1px solid var(--border);
  border-radius:12px;
  padding:12px 14px;
  color:var(--text);
  background:#ffffff;
}

.participant-save-actions{
  margin-top:20px;
  display:flex;
  align-items:center;
  gap:14px;
  flex-wrap:wrap;
}
.participant-save-message{
  margin:0;
  color:var(--muted);
  font-weight:700;
}

.participant-form-error{
  margin:0;
  padding:10px 14px;
  border:1px solid #f0b4b4;
  border-radius:12px;
  background:#fff5f5;
  color:#b42318;
  font-weight:800;
}
.registration-form .field-error{
  border-color:#dc2626 !important;
  background:#fff1f2 !important;
}
.registration-table-wrapper{
  margin-bottom:30px;
}
.registration-table td{
  vertical-align:top;
}
.registration-addons{
  margin:30px 0;
}
.addon-grid{
  display:grid;
  grid-template-columns:repeat(2,1fr);
  gap:22px;
}
.addon-card,
.method-card{
  background:#ffffff;
  border:1px solid var(--border);
  border-radius:22px;
  box-shadow:var(--shadow);
  padding:24px;
}
.addon-card h3,
.method-card h3{
  color:var(--navy);
  margin-top:0;
}
.addon-card p,
.method-card p{
  color:var(--muted);
}
.addon-card strong{
  display:block;
  margin:12px 0;
  color:var(--blue);
  font-size:20px;
}
.payment-methods{
  margin:30px 0;
}

.method-card{
  display:flex;
  flex-direction:column;
}
.method-card .btn{
  margin-top:auto;
  align-self:flex-start;
}
.method-grid{
  display:grid;
  grid-template-columns:repeat(3,1fr);
  gap:18px;
}
.terms-card{
  background:#eefaf0 !important;
  border-color:#d8ecd9 !important;
}
.terms-card li{
  color:var(--muted);
  margin-bottom:8px;
}
@media(max-width:980px){
  .registration-steps,
  .form-grid,
  .addon-grid,
  .method-grid{
    grid-template-columns:1fr;
  }
}


/* Organizing Committee list */
.organizing-committee-section{
  background:#ffffff;
}
.organizing-list{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:12px;
  margin-top:22px;
}
.organizing-member{
  background:#eefaf0;
  border:1px solid #d8ecd9;
  color:var(--navy);
  border-radius:14px;
  padding:14px 12px;
  font-weight:900;
  text-align:center;
  box-shadow:0 8px 18px rgba(8,52,95,.06);
}
@media(max-width:1100px){
  .organizing-list{
    grid-template-columns:repeat(2, 1fr);
  }
}
@media(max-width:640px){
  .organizing-list{
    grid-template-columns:1fr;
  }
}


/* Junior Committee clean list style */
.junior-committee-section{
  background:#ffffff;
}
.committee-name-list{
  list-style:none;
  padding:0;
  margin:24px 0 0;
  columns:2;
  column-gap:52px;
}
.committee-name-list li{
  break-inside:avoid;
  padding:10px 0;
  border-bottom:1px solid #d8ecd9;
  color:var(--navy);
  font-weight:850;
  font-size:17px;
  letter-spacing:.2px;
}
@media(max-width:760px){
  .committee-name-list{
    columns:1;
  }
}


/* Junior Committee simple list */
.junior-simple-list{
  margin:22px 0 0;
  padding-left:24px;
  columns:1;
}
.junior-simple-list li{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #d8ecd9;
  color:var(--muted);
  line-height:1.55;
}
.junior-simple-list strong{
  color:var(--navy);
  font-weight:900;
}


/* Organizing Committee simple list */
.committee-simple-list{
  margin:22px 0 0;
  padding-left:24px;
  columns:1;
}
.committee-simple-list li{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #d8ecd9;
  color:var(--muted);
  line-height:1.55;
}
.committee-simple-list strong{
  color:var(--navy);
  font-weight:900;
}



/* Scientific Committee long simple list */
.scientific-committee-section{
  background:#ffffff;
}
.scientific-simple-list{
  margin:22px 0 0;
  padding-left:24px;
  columns:2;
  column-gap:50px;
}
.scientific-simple-list li{
  break-inside:avoid;
  margin-bottom:10px;
  padding-bottom:8px;
  border-bottom:1px solid #d8ecd9;
  color:var(--muted);
  line-height:1.5;
  font-size:15px;
}
@media(max-width:980px){
  .scientific-simple-list{
    columns:1;
  }
}



/* Lighter blue vertical countdown */
.side-count-item{
  background:#1e88d1 !important;
  color:#ffffff !important;
  border:1px solid rgba(255,255,255,.25) !important;
  box-shadow:0 10px 24px rgba(30,136,209,.22) !important;
}
.side-count-item small{
  color:#eaf7ff !important;
}

/* Keynote Speakers section */
.keynote-speakers-section{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}
.keynote-speakers-list{
  margin:22px 0 0;
  padding-left:24px;
  columns:1;
}
.keynote-speakers-list li{
  margin-bottom:12px;
  padding-bottom:10px;
  border-bottom:1px solid #d8ecd9;
  color:var(--muted);
  line-height:1.55;
  font-size:16px;
}



/* Committee top menu with light green gradient */
.committee-top-menu-section{
  position:sticky;
  top:72px;
  z-index:15;
  background:linear-gradient(90deg, #f4fff5 0%, #e8f8e8 45%, #dff5e2 100%);
  border-bottom:1px solid #d8ecd9;
  box-shadow:0 8px 20px rgba(8,52,95,.05);
}
.committee-top-menu{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:12px;
  flex-wrap:wrap;
  padding:14px 0;
}
.committee-top-menu a{
  text-decoration:none;
  color:var(--navy);
  font-weight:900;
  font-size:14px;
  background:linear-gradient(135deg, #ffffff 0%, #eefaf0 100%);
  border:1px solid #d8ecd9;
  border-radius:999px;
  padding:10px 16px;
  box-shadow:0 8px 18px rgba(8,52,95,.06);
  transition:transform .2s ease, box-shadow .2s ease, background .2s ease;
}
.committee-top-menu a:hover{
  transform:translateY(-2px);
  background:linear-gradient(135deg, #e8f8e8 0%, #dff5e2 100%);
  box-shadow:0 12px 24px rgba(8,52,95,.10);
  color:var(--blue);
}
#accepted-papers,
#conference-schedule,
#general-chairs,
#keynote-speakers,
#organizing-committee,
#scientific-committee,
#junior-committee{
  scroll-margin-top:150px;
}
@media(max-width:1100px){
  .committee-top-menu-section{
    position:static;
  }
  .committee-top-menu{
    justify-content:flex-start;
    overflow-x:auto;
    flex-wrap:nowrap;
    padding:12px 0;
  }
  .committee-top-menu a{
    flex:0 0 auto;
    font-size:13px;
  }
}



/* Hide old useless empty committee button/menu containers if any remain */
.committee-placeholder,
.committee-cards-old,
.old-committee-menu,
.empty-committee-buttons{
  display:none !important;
}

/* Restored General Chairs section marker */


/* Conference logo added to homepage and header */
.conference-logo-hero{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:18px 0 22px;
}
.conference-logo-hero img{
  max-width:260px;
  width:100%;
  height:auto;
  object-fit:contain;
  filter:drop-shadow(0 12px 24px rgba(8,52,95,.12));
}
.conference-logo-header img{
  max-height:70px !important;
  object-fit:contain;
}

/* Home quick buttons moved to page bottom */
.quick-info-bottom{
  margin-top:44px;
  padding-top:36px;
  padding-bottom:44px;
  background:linear-gradient(180deg, rgba(238,250,240,.15), rgba(238,250,240,.75));
}
.quick-info-bottom .quick-grid{
  margin-top:0;
}
.quick-info-bottom .quick-card{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}
@media(max-width:760px){
  .conference-logo-hero img{
    max-width:210px;
  }
}



/* Final correction: home quick cards appear only once at the bottom */
.quick-info-bottom{
  margin-top:48px;
  padding-top:38px;
  padding-bottom:48px;
  background:linear-gradient(180deg, rgba(238,250,240,.18), rgba(238,250,240,.82));
}
.quick-info-bottom .quick-grid{
  margin-top:0;
}
.quick-info-bottom .quick-card{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}
.quick-number{
  display:block;
  color:var(--blue);
  font-weight:900;
  font-size:18px;
  margin-bottom:8px;
}



/* Conference logo placed under ICASDAI’26 title/subtitle */
.logo-under-title{
  justify-content:flex-start;
  margin:18px 0 22px;
}
.logo-under-title img{
  max-width:240px;
  width:100%;
  height:auto;
}
@media(max-width:760px){
  .logo-under-title{
    justify-content:center;
  }
  .logo-under-title img{
    max-width:210px;
  }
}



/* Final header adjustments: smaller conference logo + bigger left-aligned menu */
.logo-under-title img,
.conference-logo-hero img{
  max-width:120px !important;
}

/* Put the main navigation under the ICASDAI’26 logo/title area and align it left */
.nav-inner{
  max-width:1380px;
  margin:auto;
  padding:12px 18px 16px !important;
  display:grid !important;
  grid-template-columns:1fr !important;
  grid-template-rows:auto auto !important;
  align-items:start !important;
  gap:10px !important;
}
.logo{
  grid-column:1 !important;
  grid-row:1 !important;
  align-items:flex-start !important;
}
.nav-menu{
  grid-column:1 !important;
  grid-row:2 !important;
  justify-content:flex-start !important;
  align-items:center !important;
  gap:14px !important;
  flex-wrap:wrap !important;
  overflow:visible !important;
  white-space:normal !important;
  font-size:16px !important;
  font-weight:900 !important;
  padding-top:4px !important;
}
.nav-menu a{
  font-size:16px !important;
  font-weight:900 !important;
  padding:8px 0 !important;
}
.lang-btn{
  font-size:14px !important;
  padding:8px 14px !important;
}
.mobile-toggle{
  grid-column:1 !important;
  grid-row:1 !important;
  justify-self:end !important;
}

@media(max-width:1100px){
  .nav-inner{
    display:flex !important;
    justify-content:space-between !important;
    align-items:flex-start !important;
  }
  .nav-menu{
    display:none;
    position:absolute;
    left:24px;
    right:24px;
    top:92px;
    background:white;
    border:1px solid var(--border);
    border-radius:18px;
    box-shadow:var(--shadow);
    padding:20px;
    flex-direction:column;
    align-items:flex-start !important;
    white-space:normal !important;
    overflow:visible !important;
    font-size:16px !important;
  }
  .nav-menu.active{
    display:flex !important;
  }
}



/* Keep indexing boxes same size, but double the indexing logo image size */
.logos-grid .logo-item,
.index-logos .logo-item,
.indexing-logos .logo-item{
  min-height:68px !important;
  padding:8px 10px !important;
}
.logos-grid .logo-item img,
.index-logos .logo-item img,
.indexing-logos .logo-item img{
  max-height:100px !important;
  max-width:200% !important;
  transform:scale(2);
  transform-origin:center;
  object-fit:contain;
}
.logos-grid,
.index-logos,
.indexing-logos{
  overflow:hidden;
}
.logo-item{
  overflow:hidden;
}



/* AMD role section in About page */
.amd-role-section{
  padding-top:20px;
}
.amd-role-card{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
}
.amd-role-card h2{
  color:var(--navy);
}
.amd-role-card p{
  color:var(--muted);
  line-height:1.75;
}



/* Correction: indexing logo boxes unchanged, logo images reduced to 2/3 of previous enlarged size */
.logos-grid .logo-item,
.index-logos .logo-item,
.indexing-logos .logo-item{
  min-height:68px !important;
  padding:8px 10px !important;
  overflow:hidden !important;
}
.logos-grid .logo-item img,
.index-logos .logo-item img,
.indexing-logos .logo-item img{
  max-height:67px !important;
  max-width:133% !important;
  transform:scale(1.33) !important;
  transform-origin:center !important;
  object-fit:contain !important;
}



/* Keep conference logo visible */
.conference-logo-hero{
  display:flex;
  justify-content:flex-start;
  align-items:center;
  margin:18px 0 22px;
}
.conference-logo-hero img{
  max-width:120px !important;
  width:100%;
  height:auto;
  object-fit:contain;
}
.conference-logo-header img{
  max-height:70px !important;
  object-fit:contain;
}
@media(max-width:760px){
  .conference-logo-hero{
    justify-content:center;
  }
}



/* Keynote Speakers with photos below names */
.keynote-speakers-grid{
  display:grid;
  grid-template-columns:repeat(2, 1fr);
  gap:24px;
  margin-top:24px;
}
.keynote-speaker-card{
  background:#ffffff;
  border:1px solid #d8ecd9;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(8,52,95,.08);
  padding:24px;
}
.keynote-speaker-card h3{
  margin:0 0 16px;
  color:var(--navy);
  font-size:22px;
}
.keynote-photo{
  width:100%;
  max-width:260px;
  margin:0 auto 16px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#f8fafc;
}
.keynote-photo img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
.keynote-speaker-card p{
  margin:0;
  color:var(--muted);
  line-height:1.55;
  text-align:center;
}
@media(max-width:900px){
  .keynote-speakers-grid{
    grid-template-columns:1fr;
  }
}


/* Themes page: remove big title and add nine scientific subthemes per session */
.themes-page-title h1{
  display:none !important;
}
.subthemes-list{
  margin:14px 0 0;
  padding-left:22px;
  columns:1;
}
.subthemes-list li{
  margin-bottom:8px;
  color:var(--muted);
  line-height:1.5;
}
.scientific-theme-item{
  align-items:start;
}



/* Same list style for Organizing Committee and Scientific Committee + scrollbar */
.committee-simple-list,
.scientific-simple-list{
  margin:22px 0 0 !important;
  padding:18px 24px 18px 42px !important;
  columns:1 !important;
  max-height:520px !important;
  overflow-y:auto !important;
  background:#ffffff !important;
  border:1px solid #d8ecd9 !important;
  border-radius:18px !important;
  box-shadow:0 10px 24px rgba(8,52,95,.06) !important;
  scrollbar-width:thin;
  scrollbar-color:#1e88d1 #eefaf0;
}

.committee-simple-list::-webkit-scrollbar,
.scientific-simple-list::-webkit-scrollbar{
  width:10px;
}

.committee-simple-list::-webkit-scrollbar-track,
.scientific-simple-list::-webkit-scrollbar-track{
  background:#eefaf0;
  border-radius:12px;
}

.committee-simple-list::-webkit-scrollbar-thumb,
.scientific-simple-list::-webkit-scrollbar-thumb{
  background:#1e88d1;
  border-radius:12px;
}

.committee-simple-list li,
.scientific-simple-list li{
  break-inside:avoid !important;
  margin-bottom:10px !important;
  padding-bottom:10px !important;
  border-bottom:1px solid #d8ecd9 !important;
  color:var(--muted) !important;
  line-height:1.55 !important;
  font-size:15px !important;
}

.committee-simple-list strong,
.scientific-simple-list strong{
  color:var(--navy) !important;
  font-weight:900 !important;
}



/* Remove scrollbar from Organizing Committee only */
.committee-simple-list{
  max-height:none !important;
  overflow:visible !important;
  overflow-y:visible !important;
  overflow-x:visible !important;
}


/* Scientific Committee: bold names, normal affiliations */
.scientific-simple-list strong{
  color:var(--navy) !important;
  font-weight:900 !important;
}
.scientific-simple-list li{
  color:var(--muted) !important;
}


/* Sponsors page */
.sponsors-intro{
  background:#eefaf0 !important;
  border:1px solid #d8ecd9 !important;
  margin-bottom:28px;
}
.sponsors-grid{
  display:grid;
  grid-template-columns:repeat(4, 1fr);
  gap:22px;
}
.sponsor-card{
  background:#ffffff;
  border:1px solid #d8ecd9;
  border-radius:22px;
  box-shadow:0 10px 24px rgba(8,52,95,.08);
  padding:24px;
  text-align:center;
}
.sponsor-logo-placeholder{
  width:96px;
  height:96px;
  border-radius:22px;
  margin:0 auto 16px;
  background:linear-gradient(135deg, #eefaf0, #dff5e2);
  border:1px solid #d8ecd9;
  display:flex;
  align-items:center;
  justify-content:center;
  color:var(--blue);
  font-size:28px;
  font-weight:900;
}
.sponsor-card h3{
  color:var(--navy);
  margin:0 0 10px;
  font-size:20px;
}
.sponsor-card p{
  color:var(--muted);
  margin:0;
  line-height:1.55;
}
.add-sponsor-card{
  margin-top:28px;
}
@media(max-width:980px){
  .sponsors-grid{
    grid-template-columns:repeat(2, 1fr);
  }
}
@media(max-width:640px){
  .sponsors-grid{
    grid-template-columns:1fr;
  }
}


/* Registration price columns */
.registration-table th:nth-child(2),
.registration-table th:nth-child(3),
.registration-table td:nth-child(2),
.registration-table td:nth-child(3){
  text-align:center;
  font-weight:800;
}


/* General Chairs photo for chair cards */
.chair-photo{
  width:100%;
  max-width:260px;
  margin:0 auto 16px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#f8fafc;
}
.chair-photo img{
  width:100%;
  height:260px;
  object-fit:cover;
  display:block;
}
.chair-card{
  text-align:center;
}


/* Harmonized committee page photos */
.chair-card,
.keynote-speaker-card{
  text-align:center;
}

.chair-photo,
.keynote-photo{
  width:100%;
  max-width:260px;
  margin:0 auto 16px;
  border-radius:18px;
  overflow:hidden;
  border:1px solid var(--border);
  background:#f8fafc;
  aspect-ratio:1 / 1;
}

.chair-photo img,
.keynote-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  object-position:center top;
  display:block;
}

.chair-card h3,
.keynote-speaker-card h3{
  text-align:center;
}

.chair-card p,
.keynote-speaker-card p{
  text-align:center;
}


/* Clickable quick cards on homepage bottom */
.quick-card-link{
  display:block;
  text-decoration:none;
  color:inherit;
  cursor:pointer;
}
.quick-card-link:hover{
  transform:translateY(-4px);
  border-color:var(--sky) !important;
}


/* Programme page */
.programme-table td[colspan]{
  text-align:center;
  font-weight:800;
  color:var(--muted);
}


/* Footer QR code */
.footer-qr-block{
  text-align:center;
  margin:18px auto 8px;
}
.footer-qr-block h3{
  margin:0 0 10px;
  color:#ffffff;
}
.footer-qr-block img{
  width:132px;
  height:132px;
  background:#ffffff;
  padding:8px;
  border-radius:12px;
  display:block;
  margin:0 auto 10px;
}
.footer-qr-block p{
  margin:0;
  color:#dff5ff;
  font-size:14px;
}

/* Honorary Chairs section */
.honorary-chairs-grid{
  grid-template-columns:repeat(3, 1fr);
}
@media(max-width:900px){
  .honorary-chairs-grid{
    grid-template-columns:1fr;
  }
}


/* Uniform institutional partner logos */
.topbar-logos{
  display:grid;
  grid-template-columns:repeat(8, minmax(0,1fr));
  gap:12px;
  align-items:stretch;
}
.topbar-logo-link{
  display:block;
  text-decoration:none;
  color:inherit;
}
.topbar-logo-link:hover .topbar-logo-item,
.topbar-logo-link:focus-visible .topbar-logo-item{
  border-color:#c9f1ff;
  transform:translateY(-2px);
}
.topbar-logo-item,
.estl-logo-item{
  height:96px;
  padding:10px 14px;
}
.topbar-logo-item img,
.estl-logo-item img{
  width:100%;
  height:58px;
  object-fit:contain;
  display:block;
}
@media(max-width:980px){
  .topbar-logos{grid-template-columns:repeat(3, minmax(0,1fr));}
  .topbar-logo-item,.estl-logo-item{height:96px;padding:10px 14px;}
  .topbar-logo-item img,.estl-logo-item img{height:58px;}
}
@media(max-width:560px){
  .topbar-logos{grid-template-columns:repeat(2, minmax(0,1fr));}
  .estl-logo-item{grid-column:auto;height:96px;padding:10px 14px;}
  .estl-logo-item img{height:58px;}
}


/* Final ESTL logo adjustment: larger background/card, same icon size */
.estl-logo-item{
  height:120px !important;
  padding:20px 14px !important;
}
.estl-logo-item img{
  width:100% !important;
  height:58px !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:980px){
  .estl-logo-item{
    height:120px !important;
    padding:20px 14px !important;
  }
  .estl-logo-item img{
    height:58px !important;
  }
}
@media(max-width:560px){
  .estl-logo-item{
    height:120px !important;
    padding:20px 14px !important;
    grid-column:auto !important;
  }
  .estl-logo-item img{
    height:58px !important;
  }
}


/* Final ESTL logo override: same visual size as other partner logos */
.estl-logo-item{
  height:96px !important;
  padding:10px 14px !important;
  grid-column:auto !important;
}
.estl-logo-item img{
  width:100% !important;
  height:58px !important;
  object-fit:contain !important;
  display:block !important;
}
@media(max-width:980px){
  .estl-logo-item{
    height:96px !important;
    padding:10px 14px !important;
  }
  .estl-logo-item img{
    height:58px !important;
  }
}
@media(max-width:560px){
  .estl-logo-item{
    height:96px !important;
    padding:10px 14px !important;
    grid-column:auto !important;
  }
  .estl-logo-item img{
    height:58px !important;
  }
}


/* ESTL logo: uniform size with other institutional logos */
.estl-logo-item{
  height:96px !important;
  padding:10px 14px !important;
  grid-column:auto !important;
}
.estl-logo-item img{
  width:100% !important;
  height:58px !important;
  object-fit:contain !important;
  display:block !important;
}


/* Accepted papers organised by scientific session */
.accepted-papers-sessions{
  margin-top:22px;
}
.session-filter-bar{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  margin:0 0 20px;
}
.session-filter-btn{
  border:1px solid var(--border);
  border-radius:999px;
  padding:10px 16px;
  background:#fff;
  color:var(--navy);
  font:inherit;
  font-weight:800;
  cursor:pointer;
  transition:all .2s ease;
}
.session-filter-btn:hover,
.session-filter-btn:focus-visible{
  border-color:var(--blue);
  color:var(--blue);
  outline:none;
}
.session-filter-btn.active{
  border-color:var(--blue);
  background:var(--blue);
  color:#fff;
}
.accepted-session-panel{
  display:none;
  padding:20px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#fbfdff;
}
.accepted-session-panel.active{
  display:block;
}
.accepted-session-panel h3{
  margin:0 0 16px;
  color:var(--navy);
  font-size:1.06rem;
}
@media(max-width:640px){
  .session-filter-bar{
    display:grid;
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .session-filter-btn{
    width:100%;
    text-align:center;
  }
  .accepted-session-panel{
    padding:14px;
  }
}



/* Circular indexing notice */
.indexing-notice-wrap{
  display:flex;
  justify-content:center;
  align-items:center;
  margin:0 0 18px;
}
.indexing-notice-circle{
  width:230px;
  height:230px;
  display:flex;
  align-items:center;
  justify-content:center;
}
.indexing-notice-svg{
  width:100%;
  height:100%;
  overflow:visible;
  animation:indexingCircularRotation 16s linear infinite;
}
.indexing-notice-ring{
  fill:rgba(255,255,255,.96);
  stroke:#d40000;
  stroke-width:3;
}
.indexing-notice-text-svg{
  fill:#d40000;
  font-weight:900;
  font-size:13px;
  letter-spacing:1.1px;
  text-transform:uppercase;
}
@keyframes indexingCircularRotation{
  from{transform:rotate(0deg);transform-origin:center;}
  to{transform:rotate(360deg);transform-origin:center;}
}
@media(max-width:640px){
  .indexing-notice-circle{width:185px;height:185px;}
  .indexing-notice-text-svg{font-size:11px;letter-spacing:.8px;}
}


/* Horizontal scrolling indexing notice */
.indexing-notice-wrap{
  width:100%;
  overflow:hidden;
  margin:0 0 14px;
  padding:7px 0;
  border:0;
  background:transparent;
}
.indexing-notice-track{
  width:max-content;
  white-space:nowrap;
  animation:indexingHorizontalScroll 12s linear infinite;
}
.indexing-notice-circle{
  display:none !important;
}
.indexing-notice-text{
  display:inline-block;
  max-width:none;
  color:#d40000;
  font-weight:900;
  font-size:1.05rem;
  letter-spacing:.2px;
  line-height:1.35;
  animation:none !important;
  transform:none !important;
  padding-left:100%;
}
@keyframes indexingHorizontalScroll{
  from{transform:translateX(0);}
  to{transform:translateX(-100%);}
}
@media(max-width:640px){
  .indexing-notice-text{font-size:.95rem;}
}


/* Final correction: notice starts at left and moves to the right */
.indexing-notice-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
}
.indexing-notice-text{
  display:inline-block;
  will-change:transform;
  animation:indexingMarquee 12s linear infinite !important;
}
@keyframes indexingMarquee{
  from{transform:translateX(0);}
  to{transform:translateX(calc(100vw - 100%));}
}


/* Final marquee direction: right to left */
.indexing-notice-wrap{
  width:100%;
  overflow:hidden;
}
.indexing-notice-marquee{
  position:relative;
  width:100%;
  overflow:hidden;
  white-space:nowrap;
}
.indexing-notice-text{
  display:inline-block;
  white-space:nowrap;
  will-change:transform;
  animation:indexingMarqueeRightToLeft 12s linear infinite !important;
}
@keyframes indexingMarqueeRightToLeft{
  from{transform:translateX(100vw);}
  to{transform:translateX(-100%);}
}


/* Honorary Chairs: display 4 people on the same row */
.honorary-chairs-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  align-items:stretch;
}
.honorary-chairs-grid .chair-card{
  padding:20px;
}
.honorary-chairs-grid .chair-card h3{
  font-size:20px;
  line-height:1.25;
}
.honorary-chairs-grid .chair-card p{
  font-size:15px;
  line-height:1.45;
}
.honorary-chairs-grid .chair-photo{
  max-width:220px;
}
@media(max-width:1100px){
  .honorary-chairs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width:760px){
  .honorary-chairs-grid{
    grid-template-columns:1fr !important;
  }
}


/* Force all four Honorary Chairs to remain on one row */
.honorary-chairs-grid{
  grid-template-columns:repeat(4, minmax(0,1fr)) !important;
  gap:14px !important;
}
.honorary-chairs-grid .chair-card{
  min-width:0;
  padding:16px !important;
}
.honorary-chairs-grid .chair-card h3{
  font-size:18px !important;
}
.honorary-chairs-grid .chair-card p{
  font-size:14px !important;
}
.honorary-chairs-grid .chair-photo{
  max-width:180px !important;
}
@media(max-width:760px){
  .honorary-chairs-grid{
    grid-template-columns:repeat(2, minmax(0,1fr)) !important;
  }
}
@media(max-width:460px){
  .honorary-chairs-grid{
    grid-template-columns:1fr !important;
  }
}


/* Sponsorship proposal form */
.add-sponsor-card{margin-top:30px;}
.sponsor-form-toggle{margin-top:8px;}
.sponsor-proposal-form{
  margin-top:24px;
  padding:24px;
  border:1px solid var(--border);
  border-radius:18px;
  background:#f8fbff;
}
.sponsor-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.sponsor-proposal-form label{display:flex;flex-direction:column;gap:8px;color:var(--navy);font-weight:800;}
.sponsor-proposal-form input,
.sponsor-proposal-form select,
.sponsor-proposal-form textarea{
  width:100%;
  box-sizing:border-box;
  border:1px solid var(--border);
  border-radius:10px;
  padding:12px 13px;
  background:#fff;
  color:var(--ink);
  font:inherit;
}
.sponsor-proposal-form textarea{resize:vertical;}
.sponsor-proposal-form input:focus,
.sponsor-proposal-form select:focus,
.sponsor-proposal-form textarea:focus{outline:2px solid rgba(20,119,196,.22);border-color:var(--blue);}
.sponsor-form-full{margin-top:16px;}
.sponsor-consent{flex-direction:row !important;align-items:flex-start;margin-top:18px;font-size:14px;line-height:1.45;}
.sponsor-consent input{width:auto !important;margin-top:3px;}
.sponsor-form-actions{display:flex;gap:12px;flex-wrap:wrap;margin-top:20px;}
.sponsor-form-note{margin:14px 0 0;font-size:14px;color:var(--muted);}
@media(max-width:720px){.sponsor-form-grid{grid-template-columns:1fr;}.sponsor-proposal-form{padding:18px;}}


/* Springer template page */
.template-intro-card{margin-bottom:24px;}
.template-steps-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px;margin:24px 0;}
.template-step-card{background:#fff;border:1px solid var(--border);border-radius:18px;box-shadow:0 10px 24px rgba(8,52,95,.08);padding:24px;}
.template-step-card span{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border-radius:50%;background:var(--blue);color:#fff;font-weight:900;margin-bottom:14px;}
.template-step-card h3{margin:0 0 10px;color:var(--navy);font-size:20px;}
.template-step-card p{margin:0;color:var(--muted);line-height:1.6;}
.template-checklist ul{margin:16px 0 0;padding-left:22px;}
.template-checklist li{margin:10px 0;color:var(--muted);}
.template-action{text-align:center;margin-top:28px;}
@media(max-width:900px){.template-steps-grid{grid-template-columns:1fr;}}


/* Springer template download buttons */
.template-download-card{
  display:flex;
  flex-direction:column;
}
.template-download-buttons{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:auto;
  padding-top:18px;
}
.template-download-btn{
  min-width:112px;
  justify-content:center;
  text-align:center;
}
@media(max-width:560px){
  .template-download-buttons{
    flex-direction:column;
  }
  .template-download-btn{
    width:100%;
  }
}


/* Template page: four sections on one row */
.template-steps-grid{
  grid-template-columns:repeat(4, minmax(0, 1fr)) !important;
  align-items:stretch;
}
.template-steps-grid .template-step-card{
  padding:20px;
}
.template-steps-grid .template-step-card h3{
  font-size:18px;
  line-height:1.3;
}
.template-steps-grid .template-step-card p{
  font-size:14px;
}
@media(max-width:1100px){
  .template-steps-grid{
    grid-template-columns:repeat(2, minmax(0, 1fr)) !important;
  }
}
@media(max-width:680px){
  .template-steps-grid{
    grid-template-columns:1fr !important;
  }
}


/* Template page: justified descriptive text in the four sections */
.template-steps-grid .template-step-card p{
  text-align:justify;
  text-justify:inter-word;
}


/* Template page refinements */
.template-steps-grid .template-step-card h3{
  color:#86bF7c !important;
}
.template-steps-grid .template-download-btn{
  background:#e7e7e7 !important;
  border-color:#d4d4d4 !important;
  color:#333 !important;
  box-shadow:none !important;
}
.template-steps-grid .template-download-btn:hover,
.template-steps-grid .template-download-btn:focus-visible{
  background:#d8d8d8 !important;
  border-color:#bfbfbf !important;
  color:#1e1e1e !important;
}


/* Template page buttons: white background and dark blue text */
.template-step-card .btn,
.template-download-btn,
.template-submit-btn{
  background:#ffffff !important;
  color:#08345f !important;
  border:1px solid #08345f !important;
}
.template-step-card .btn:hover,
.template-step-card .btn:focus-visible,
.template-download-btn:hover,
.template-download-btn:focus-visible,
.template-submit-btn:hover,
.template-submit-btn:focus-visible{
  background:#f3f8fc !important;
  color:#08345f !important;
  border-color:#08345f !important;
}


/* Template page: borderless white buttons with light-blue text */
.template-step-card .btn,
.template-checklist .btn,
.template-download-btn{
  background:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  color:#4aa3c8 !important;
}
.template-step-card .btn:hover,
.template-step-card .btn:focus-visible,
.template-checklist .btn:hover,
.template-checklist .btn:focus-visible,
.template-download-btn:hover,
.template-download-btn:focus-visible{
  background:#ffffff !important;
  border:none !important;
  box-shadow:none !important;
  color:#1f86ad !important;
  text-decoration:underline;
}


/* Template page: download buttons */
.template-download-buttons .btn,
.template-step-card .btn{
  color:#176b3a !important;
}
.template-download-buttons .btn:hover,
.template-step-card .btn:hover,
.template-download-buttons .btn:focus-visible,
.template-step-card .btn:focus-visible{
  color:#0f542d !important;
}


/* Keep LaTeX and Word download buttons on one line */
.template-download-buttons{
  display:flex !important;
  flex-direction:row !important;
  flex-wrap:nowrap !important;
  align-items:center;
  justify-content:center;
  gap:10px;
}
.template-download-buttons .template-download-btn{
  flex:1 1 0;
  min-width:0;
  text-align:center;
  white-space:nowrap;
}
@media(max-width:480px){
  .template-download-buttons{
    gap:6px;
  }
  .template-download-buttons .template-download-btn{
    padding-left:10px;
    padding-right:10px;
  }
}

/* Align abstract template download buttons with the other template cards */
.template-abstract-card .template-download-buttons{
  margin-top:20px;
}


/* Navigation adjustment: keep all desktop links on one line without changing text size */
@media (min-width:981px){
  .nav-inner{
    padding-left:14px !important;
    padding-right:14px !important;
  }
  .nav-menu{
    gap:9px !important;
    flex-wrap:nowrap !important;
    white-space:nowrap;
  }
  .nav-menu a,
  .nav-menu .lang-btn{
    margin:0 !important;
  }
}


/* Language switch placed directly below Home */
.home-lang-wrap{
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:5px;
  flex:0 0 auto;
}
.home-lang-wrap .lang-btn{
  padding:6px 11px;
  font-size:12px;
  line-height:1;
  white-space:nowrap;
}
@media(max-width:980px){
  .home-lang-wrap{
    align-items:flex-start;
    gap:8px;
  }
}


/* Language button below Home without moving the desktop navigation line */
@media(min-width:981px){
  .nav-menu{
    align-items:center !important;
    position:relative;
  }
  .home-lang-wrap{
    display:block !important;
    position:relative;
    align-self:center;
    height:auto;
  }
  .home-lang-wrap > a{
    display:inline-block;
  }
  .home-lang-wrap .lang-btn{
    position:absolute;
    top:38px;
    left:50%;
    transform:translateX(-50%);
    z-index:3;
    margin:0 !important;
  }
}
@media(max-width:980px){
  .home-lang-wrap{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
  }
  .home-lang-wrap .lang-btn{
    position:static;
    transform:none;
    margin-top:14px !important;
  }
}


/* Final positioning: language button lower below Home; Home stays in navigation row */
@media(min-width:981px){
  .home-lang-wrap .lang-btn{
    top:58px !important;
  }
}


/* Final position of the language switch: directly below Home */
@media (min-width:981px){
  .nav-menu{
    position:relative;
    align-items:center !important;
    overflow:visible !important;
  }
  .home-lang-wrap{
    position:relative !important;
    display:block !important;
    flex:0 0 auto;
    align-self:center !important;
    height:34px;
  }
  .home-lang-wrap > a{
    display:inline-block;
  }
  .home-lang-wrap .lang-btn{
    position:absolute !important;
    top:38px !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    z-index:20;
    margin:0 !important;
  }
}
@media (max-width:980px){
  .home-lang-wrap{
    display:flex !important;
    flex-direction:column;
    align-items:flex-start;
    gap:9px;
  }
  .home-lang-wrap .lang-btn{
    position:static !important;
    transform:none !important;
    margin:5px 0 0 !important;
  }
}


/* Keep Home exactly aligned with the main navigation row */
@media (min-width:981px){
  .nav-menu{
    display:flex !important;
    align-items:center !important;
  }
  .home-lang-wrap{
    position:relative !important;
    display:flex !important;
    align-items:center !important;
    align-self:center !important;
    height:auto !important;
    line-height:normal !important;
    margin:0 !important;
    padding:0 !important;
  }
  .home-lang-wrap > a{
    display:flex !important;
    align-items:center !important;
    height:auto !important;
    margin:0 !important;
  }
  .home-lang-wrap .lang-btn{
    position:absolute !important;
    top:calc(100% + 12px) !important;
    left:50% !important;
    transform:translateX(-50%) !important;
    white-space:nowrap;
  }
}


/* Independent sponsor logo band above the contact information section */
.footer{
  background:#08345f;
  color:#ffffff;
  padding:0;
  margin-top:40px;
}
.footer-sponsors-section{
  background:#f5f6f7;
  padding:18px 24px;
}
.footer-contact-section{
  padding:30px 24px 0;
}
.footer-grid{
  display:grid;
  grid-template-columns:1fr;
  gap:0;
  align-items:start;
}
.footer-sponsors-logos{
  display:grid;
  grid-template-columns:repeat(8, minmax(0,1fr));
  gap:16px;
  align-items:center;
}
.footer-sponsors-logos img{
  display:block;
  width:100%;
  max-width:130px;
  height:58px;
  margin:auto;
  object-fit:contain;
}
.footer-copy{
  margin:24px 24px 0;
  padding:18px 0 20px;
}
@media(max-width:980px){
  .footer-sponsors-logos{grid-template-columns:repeat(4, minmax(0,1fr));}
}
@media(max-width:560px){
  .footer-sponsors-section{padding:14px 12px;}
  .footer-contact-section{padding:28px 18px 0;}
  .footer-sponsors-logos{grid-template-columns:repeat(2, minmax(0,1fr));gap:12px;}
  .footer-sponsors-logos img{height:50px;}
  .footer-copy{margin:22px 18px 0;padding-bottom:18px;}
}


/* General Chairs: smaller typography for long institutional affiliations */
#general-chairs .chair-card h3{
  font-size:20px;
  line-height:1.28;
}
#general-chairs .chair-card p{
  font-size:14px;
  line-height:1.45;
}


/* Homepage: hybrid conference notice below the indexing / academic partners section */
.hybrid-conference-notice{
  margin:14px 0 0;
  text-align:center;
  color:#9b78b9;
  font-size:16px;
  font-weight:800;
  line-height:1.45;
  letter-spacing:.1px;
  animation:hybridNoticeColorPulse 3s ease-in-out infinite alternate;
}

@keyframes hybridNoticeColorPulse{
  from{ color:#9b78b9; }
  to{ color:#5d2e69; }
}
@media(max-width:640px){
  .hybrid-conference-notice{
    font-size:15px;
    padding:0 8px;
  }
}

/* Sitewide: linked Fès tourism notice */
.fes-tourism-notice{
  margin:13px 0 0;
  padding:0 8px;
  text-align:center;
  line-height:1.45;
}
.fes-tourism-notice a{
  display:inline-block;
  color:#1aa35b;
  font-size:18px;
  font-weight:900;
  letter-spacing:.15px;
  text-decoration:none;
  text-shadow:1px 1px 0 #0c5a31, 2px 2px 0 rgba(12,90,49,.42), 3px 3px 3px rgba(7,56,31,.22);
  -webkit-text-stroke:.15px rgba(10,91,49,.55);
}
.fes-tourism-notice a:hover,
.fes-tourism-notice a:focus-visible{
  color:#158c4d;
  text-decoration:underline;
  outline:none;
}
@media(max-width:640px){
  .fes-tourism-notice a{font-size:16px;}
}

/* Sitewide: Fès tourism notice placed below the organizers / institutional partners logos and above the main navigation */
.topbar .fes-tourism-header-notice{
  margin:16px 0 0;
  padding:12px 16px 2px;
  text-align:center;
  border-top:1px solid rgba(255,255,255,.18);
}
.topbar .fes-tourism-header-notice a{
  color:#39b86f;
  font-size:clamp(16px,1.7vw,20px);
  font-weight:900;
  line-height:1.35;
  text-decoration:none;
  text-shadow:1px 1px 0 #0c5a31, 2px 2px 0 rgba(12,90,49,.48), 3px 3px 3px rgba(7,56,31,.28);
  -webkit-text-stroke:.15px rgba(10,91,49,.65);
}
.topbar .fes-tourism-header-notice a:hover,
.topbar .fes-tourism-header-notice a:focus-visible{
  color:#66d797;
  text-decoration:underline;
  outline:none;
}
@media(max-width:640px){
  .topbar .fes-tourism-header-notice{margin-top:12px;padding:10px 10px 0;}
  .topbar .fes-tourism-header-notice a{font-size:16px;}
}
/* Uniform title size for sponsor names. */
.sponsors-grid .sponsor-card h3{
  font-size:15px;
  line-height:1.3;
}
.sponsors-grid .sponsor-card h3.amd-sponsor-title{
  letter-spacing:-0.25px;
  white-space:nowrap;
}


/* Programme PDF download actions */
.programme-download-actions{
  margin:0 0 18px;
}
.programme-download-actions-main{
  margin:8px 0 22px;
}
.programme-download-btn{
  display:inline-flex;
  align-items:center;
  gap:8px;
  background:#edf8cf;
  color:#3c5c1c;
  box-shadow:0 10px 24px rgba(154,190,72,.20);
}
.programme-download-btn::before{
  content:"PDF";
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:30px;
  height:20px;
  padding:0 5px;
  border-radius:4px;
  background:rgba(255,255,255,.2);
  font-size:.68rem;
  letter-spacing:.03em;
  font-weight:900;
}
.programme-download-btn:hover,
.programme-download-btn:focus-visible{
  background:#dcefb1;
  color:#2f4b14;
}
@media(max-width:640px){
  .programme-download-btn{
    width:100%;
    justify-content:center;
  }
}

/* Clickable sponsor names */
.sponsor-name-link{display:inline-block;text-decoration:none;}
.sponsor-name-link:hover h3,.sponsor-name-link:focus-visible h3{text-decoration:underline;}


/* Compact training-workshop choices */
.training-workshops .activities-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
  gap:12px;
  max-width:1040px;
  margin:0 auto;
}
.training-workshops .activity-card{
  background:#ffffff;
  border:1px solid #e2ccef;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(112,72,142,.08);
  grid-template-columns:42px 1fr;
  gap:10px;
  padding:12px 14px;
  align-items:center;
}
.training-workshops .activity-icon{
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eee0f7;
  border:1px solid #ddc5eb;
  font-size:19px;
}
.training-workshops .activity-content h3{
  margin:0;
  color:var(--navy);
  font-size:15px;
  line-height:1.3;
}

/* Training workshop title: very light green */
.training-workshops .activities-intro > h2{
  display:inline-block;
  margin:0;
  padding:8px 12px;
  background:#effaf1;
  border:1px solid #cfead6;
  border-radius:12px;
  font-size:20px;
  line-height:1.2;
  white-space:nowrap;
}

@media(max-width:850px){
  .training-workshops .activities-grid{
    grid-template-columns:1fr;
    max-width:680px;
  }
}


/* Detailed training workshop information */
.training-workshops .activities-intro{
  max-width:1040px;
  margin:0 auto 18px;
}
.training-info-box{
  margin:16px 0 0;
  padding:12px 15px;
  background:#ffffff;
  border:1px solid #e2ccef;
  border-radius:12px;
}
.training-meta{
  margin:0;
  padding:0;
  list-style:none;
  display:grid;
  gap:6px;
}
.training-meta li{
  color:var(--muted);
  font-size:14px;
  line-height:1.45;
}
.training-meta li > span:first-child{
  color:#72488e;
  font-weight:700;
  margin-right:4px;
}
.training-workshops .activity-card{
  align-items:start;
}
.training-workshops .activity-content{
  min-width:0;
  height:100%;
  display:flex;
  flex-direction:column;
}
.training-workshops .activity-content h3{
  margin:0 0 10px;
}
.training-workshops .workshop-description{
  background:#ffffff;
  border:1px solid rgba(112,72,142,.14);
  border-radius:10px;
  padding:10px 11px;
}
.training-workshops .workshop-description p{
  margin:0 0 9px;
  color:var(--muted);
  font-size:12.5px;
  line-height:1.48;
  text-align:justify;
}
.training-workshops .workshop-description p:last-child{
  margin-bottom:0;
}
@media(max-width:850px){
  .training-meta{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
  }
}


/* Optional activities styled like training workshops */
.optional-activities .activities-intro{
  max-width:1040px;
  margin:0 auto 18px;
}
.optional-activities .activities-intro > h2{
  display:inline-block;
  margin:0;
  padding:8px 12px;
  background:#effaf1;
  border:1px solid #cfead6;
  border-radius:12px;
  font-size:20px;
  line-height:1.2;
  white-space:nowrap;
}
.optional-activities .activities-grid{
  grid-template-columns:repeat(2, minmax(0, 1fr));
  gap:12px;
  max-width:1040px;
  margin:0 auto;
}
.optional-activities .activity-card{
  display:grid;
  grid-template-columns:42px 1fr;
  background:#ffffff;
  border:1px solid #e2ccef;
  border-radius:14px;
  box-shadow:0 4px 12px rgba(112,72,142,.08);
  gap:10px;
  padding:12px 14px;
  align-items:start;
}
.optional-activities .activity-icon{
  width:38px;
  height:38px;
  border-radius:10px;
  background:#eee0f7;
  border:1px solid #ddc5eb;
  font-size:19px;
}
.optional-activities .activity-content{
  min-width:0;
  display:flex;
  flex-direction:column;
  height:100%;
}
.optional-activities .activity-content h3{
  margin:0 0 10px;
  color:var(--navy);
  font-size:15px;
  line-height:1.3;
}
.optional-activities .activity-content p,
.optional-activities .activity-content li{
  color:var(--muted);
  font-size:12.5px;
  line-height:1.48;
}
.optional-activities .activity-content p{
  text-align:justify;
}
.optional-activities .activity-content ul{
  margin:10px 0 12px;
  padding-left:18px;
}
.optional-activities .btn{
  padding:8px 10px;
  font-size:12px;
  border-radius:10px;
  margin-top:auto;
  align-self:flex-start;
}
.optional-activities .activity-note{
  max-width:1040px;
  margin:18px auto 0;
}
.optional-activities .activity-note p{
  text-align:justify;
}
@media(max-width:850px){
  .optional-activities .activities-grid{
    grid-template-columns:1fr;
    max-width:680px;
  }
}



@media(max-width:560px){
  .training-workshops .activities-intro > h2,
  .optional-activities .activities-intro > h2{
    font-size:17px;
    white-space:normal;
  }
}

/* Reservation buttons for optional training workshops */
.training-workshops .workshop-reserve-btn{
  margin-top:auto;
  padding:9px 13px;
  font-size:12px;
  border-radius:9px;
  align-self:flex-start;
}
.training-registration{
  scroll-margin-top:110px;
}
.training-registration .note{
  margin:0 0 18px;
}
.workshop-choice-error{
  margin:0 0 18px;
  padding:10px 14px;
  border:1px solid #f0b4b4;
  border-radius:12px;
  background:#fff5f5;
  color:#b42318;
  font-weight:800;
}
.workshop-addon-grid{
  grid-template-columns:repeat(3, minmax(0, 1fr));
}
.workshop-addon-grid .addon-card{
  display:flex;
  flex-direction:column;
  height:100%;
}
.workshop-addon-grid .addon-card .btn{
  margin-top:auto;
  align-self:flex-start;
}
.workshop-addon-grid .atelier3-registration-card strong{
  margin-top:auto;
  margin-bottom:10px;
}

.workshop-addon-grid .atelier3-registration-card .atelier3-date-one-line{
  margin-top:2.4em;
}
.workshop-addon-grid .atelier3-registration-card .btn{
  margin-top:0;
}
@media(max-width:980px){
  .workshop-addon-grid{
    grid-template-columns:1fr;
  }
}



/* Registration payment redirection helpers */
.payment-focus-target{
  outline:3px solid rgba(37, 99, 235, 0.35);
  outline-offset:4px;
}
.workshop-payment-message{
  margin:0 0 18px;
  padding:10px 14px;
  border:1px solid #f0b4b4;
  border-radius:12px;
  background:#fff5f5;
  color:#b42318;
  font-weight:800;
}
#activites-optionnelles-inscription,
#methodes-paiement{
  scroll-margin-top:110px;
}

/* Participant payment status */
#payment-amount.payment-status-paid{
  border-color:#16a34a !important;
  background:#ecfdf3 !important;
  color:#14532d !important;
  box-shadow:0 0 0 3px rgba(22, 163, 74, .14);
}
#payment-amount.payment-status-unpaid{
  border-color:#dc2626 !important;
  background:#fff1f2 !important;
  color:#7f1d1d !important;
  box-shadow:0 0 0 3px rgba(220, 38, 38, .12);
}
#saveParticipantBtn:disabled,
#saveParticipantBtn[aria-disabled="true"]{
  opacity:.55;
  cursor:not-allowed;
  box-shadow:none;
}
#saveParticipantBtn:disabled:hover,
#saveParticipantBtn[aria-disabled="true"]:hover{
  transform:none;
}
/* Specific shrink rule for Scopus only */
.logos-grid .logo-item img.scopus-custom {
  transform: scale(1.0) !important; /* Adjust down to 0.9 or 0.85 if you want it even smaller */
}
/* Specific shrink rule for springer only */
.logos-grid .logo-item img.springer-custom {
  transform: scale(0.80) !important; /* Adjust down to 0.9 or 0.85 if you want it even smaller */
}
/* Disabled workshop reservation buttons */
#ateliers-formation-optionnels .workshop-reservation-disabled,
#ateliers-formation-optionnels .workshop-reservation-disabled:hover,
#ateliers-formation-optionnels .workshop-reservation-disabled:focus {
  opacity: .5;
  cursor: not-allowed;
  pointer-events: none;
  box-shadow: none;
  transform: none;
  filter: grayscale(45%);
}

/* Workshop selection and payment flow */
#atelier1-registration-card,
#atelier2-registration-card,
#atelier3-registration-card{
  scroll-margin-top:110px;
}
.atelier-payment-required-message{
  margin:12px 0;
  padding:10px 14px;
  border:1px solid #ef4444;
  border-radius:12px;
  background:#fff1f2;
  color:#991b1b;
  font-weight:800;
}
#ateliers-formation-optionnels #reserve-atelier1-btn.atelier-payment-pending,
#ateliers-formation-optionnels #reserve-atelier1-btn.atelier-payment-pending:hover,
#ateliers-formation-optionnels #reserve-atelier1-btn.atelier-payment-pending:focus,
#ateliers-formation-optionnels #reserve-atelier2-btn.atelier-payment-pending,
#ateliers-formation-optionnels #reserve-atelier2-btn.atelier-payment-pending:hover,
#ateliers-formation-optionnels #reserve-atelier2-btn.atelier-payment-pending:focus,
#ateliers-formation-optionnels #reserve-atelier3-btn.atelier-payment-pending,
#ateliers-formation-optionnels #reserve-atelier3-btn.atelier-payment-pending:hover,
#ateliers-formation-optionnels #reserve-atelier3-btn.atelier-payment-pending:focus{
  background:#dc2626 !important;
  background-color:#dc2626 !important;
  border-color:#b91c1c !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(220, 38, 38, .22);
}


/* Protected payment CSV access */
.payment-confirmation-message{
  margin:0;
  padding:10px 14px;
  border:1px solid #86d39b;
  border-radius:12px;
  background:#ecfdf3;
  color:#14532d;
  font-weight:900;
}
.payment-csv-access-panel,
.payment-csv-viewer{
  flex:1 0 100%;
  width:100%;
  margin-top:8px;
  padding:18px;
  border:1px solid var(--border);
  border-radius:16px;
  background:#f8fafc;
}
.payment-csv-access-panel label{
  max-width:420px;
  margin-bottom:12px;
}
.payment-csv-access-panel .btn{
  margin-right:10px;
}
.payment-csv-viewer-header{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:16px;
  flex-wrap:wrap;
  margin-bottom:14px;
}
.payment-csv-viewer-header h3{
  margin:0;
  color:var(--navy);
}
.payment-csv-table{
  min-width:1050px;
}
.payment-csv-table th,
.payment-csv-table td{
  white-space:nowrap;
}


/* Protected workshop CSV viewers */
.workshop-csv-description{
  margin:0 0 14px;
  color:var(--muted);
  font-weight:700;
}
.workshop-csv-table{
  min-width:760px;
}
.workshop-csv-empty{
  text-align:center;
  color:var(--muted);
  font-style:italic;
  padding:18px !important;
}


/* Pending payment colors for registration categories and optional activities */
.registration-table .pay-link.payment-link-pending,
.registration-table .pay-link.payment-link-pending:hover,
.registration-table .pay-link.payment-link-pending:focus{
  color:#dc2626;
  text-decoration:underline;
}

#activites-optionnelles-inscription .optional-activity-pay.activity-payment-pending,
#activites-optionnelles-inscription .optional-activity-pay.activity-payment-pending:hover,
#activites-optionnelles-inscription .optional-activity-pay.activity-payment-pending:focus{
  background:#dc2626 !important;
  background-color:#dc2626 !important;
  border-color:#b91c1c !important;
  color:#fff !important;
  box-shadow:0 14px 30px rgba(220, 38, 38, .22);
}

/* Activités — alignement symétrique des trois ateliers */
.training-workshops .activities-grid{
  width:100%;
  max-width:1040px;
  margin-left:auto;
  margin-right:auto;
  padding-left:0;
  padding-right:0;
  grid-template-columns:repeat(3, minmax(0, 1fr));
  column-gap:18px;
  row-gap:18px;
}
.training-workshops .activity-card,
.training-workshops .activity-card:first-child,
.training-workshops .activity-card:last-child{
  width:100%;
  min-width:0;
  margin-left:0;
  margin-right:0;
  padding-left:16px;
  padding-right:16px;
}
@media(max-width:850px){
  .training-workshops .activities-grid{
    width:100%;
    max-width:680px;
    margin-left:auto;
    margin-right:auto;
    grid-template-columns:1fr;
  }
}

/* Activités — cadre du texte centré dans chacune des trois cartes d’atelier */
.training-workshops .workshop-description{
  box-sizing:border-box;
  width:calc(100% + 52px);
  margin-left:-52px;
  margin-right:0;
}

/* Activités — aligner verticalement le texte de l’Atelier 3 avec les autres ateliers */
.training-workshops .activity-card:nth-child(3) .workshop-description{
  margin-top:18px;
}


/* ICASDAI payment checkout — inspired by a summary + choose-payment flow */
.payment-checkout{
  margin:36px 0 30px;
  padding:30px;
  border:1px solid #d8e5ef;
  border-radius:26px;
  background:linear-gradient(145deg,#f8fbff 0%,#ffffff 55%,#f0fbf8 100%);
  box-shadow:0 18px 44px rgba(8,52,95,.10);
}
.payment-checkout-heading{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:24px;
  margin-bottom:24px;
}
.payment-checkout-heading h2{margin:4px 0 8px;color:var(--navy);font-size:clamp(26px,3vw,38px)}
.payment-checkout-heading p{margin:0;max-width:760px;color:var(--muted)}
.payment-checkout-kicker,
.payment-choice-step{
  display:inline-flex;
  align-items:center;
  gap:8px;
  color:#087f8c;
  font-size:13px;
  font-weight:900;
  letter-spacing:.08em;
  text-transform:uppercase;
}
.payment-secure-badge{
  display:flex;
  align-items:center;
  gap:9px;
  flex:0 0 auto;
  padding:10px 14px;
  border:1px solid #b9e3d8;
  border-radius:999px;
  background:#ecfdf7;
  color:#166b5b;
  font-weight:900;
  font-size:13px;
}
.payment-secure-badge svg{width:20px;height:20px;fill:currentColor}
.payment-checkout-layout{
  display:grid;
  grid-template-columns:minmax(270px,.78fr) minmax(0,1.45fr);
  gap:22px;
  align-items:start;
}
.payment-summary-card,
.payment-choice-panel{
  border:1px solid #dbe5ee;
  border-radius:22px;
  background:#fff;
  box-shadow:0 12px 28px rgba(8,52,95,.07);
}
.payment-summary-card{padding:22px;position:sticky;top:110px}
.payment-summary-title-row,
.payment-choice-title-row{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:12px;
}
.payment-summary-title-row h3,
.payment-choice-title-row h3{margin:0;color:var(--navy)}
.payment-summary-title-row>span{
  padding:6px 10px;
  border-radius:999px;
  background:#eef7ff;
  color:#145c91;
  font-size:12px;
  font-weight:900;
}
.payment-summary-items{display:grid;gap:0;margin-top:18px}
.payment-summary-item{
  display:grid;
  grid-template-columns:minmax(0,1fr) auto;
  gap:12px;
  padding:13px 0;
  border-bottom:1px dashed #d6e0e9;
}
.payment-summary-item span{color:var(--muted);font-size:13px;font-weight:800}
.payment-summary-item strong{color:var(--navy);font-size:14px;text-align:right;max-width:175px}
.payment-summary-empty{
  margin-top:18px;
  padding:15px;
  border-radius:14px;
  background:#f7fafc;
  color:var(--muted);
  font-size:14px;
  line-height:1.5;
}
.payment-summary-total{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:14px;
  margin-top:18px;
  padding-top:18px;
  border-top:2px solid #dbe5ee;
}
.payment-summary-total span{color:var(--navy);font-weight:900}
.payment-summary-total strong{color:#087f8c;font-size:24px}
.payment-choice-panel{padding:24px}
.payment-choice-title-row{margin-bottom:18px}
.payment-choice-required{
  padding:6px 10px;
  border-radius:999px;
  background:#fff4e8;
  color:#b45309;
  font-size:12px;
  font-weight:900;
}
.payment-choice-grid{display:grid;gap:12px}
.payment-choice-option{
  position:relative;
  display:grid;
  grid-template-columns:54px minmax(0,1fr) 24px;
  align-items:center;
  gap:14px;
  padding:16px;
  border:2px solid #dbe5ee;
  border-radius:18px;
  background:#fff;
  cursor:pointer;
  transition:border-color .2s ease,box-shadow .2s ease,transform .2s ease,background .2s ease;
}
.payment-choice-option:hover{border-color:#8fc6d0;box-shadow:0 10px 22px rgba(8,52,95,.08);transform:translateY(-1px)}
.payment-choice-option:has(input:checked){border-color:#0794a5;background:#f0fcfd;box-shadow:0 0 0 4px rgba(7,148,165,.10)}
.payment-choice-option:has(input:disabled){opacity:.5;cursor:not-allowed;background:#f5f7f9;transform:none;box-shadow:none}
.payment-choice-option input{position:absolute;opacity:0;pointer-events:none}
.payment-choice-icon{
  width:54px;height:54px;
  display:grid;place-items:center;
  border-radius:16px;
  background:#e9f8f8;
  color:#087f8c;
}
.payment-choice-icon svg{width:29px;height:29px;fill:currentColor}
.payment-choice-icon-paypal{background:#eaf2ff;color:#145da0}
.payment-choice-icon-cmi{background:#fff3e5;color:#d97706}
.payment-choice-copy{display:grid;gap:3px;min-width:0}
.payment-choice-copy strong{color:var(--navy);font-size:17px}
.payment-choice-copy small{color:var(--muted);font-size:13px}
.payment-choice-copy em{color:#087f8c;font-size:12px;font-style:normal;font-weight:800}
.payment-choice-check{
  width:22px;height:22px;
  border:2px solid #b6c4cf;
  border-radius:50%;
  position:relative;
}
.payment-choice-option:has(input:checked) .payment-choice-check{border-color:#0794a5;background:#0794a5}
.payment-choice-option:has(input:checked) .payment-choice-check::after{
  content:"";position:absolute;left:6px;top:3px;width:6px;height:10px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)
}
.payment-terms-acceptance{
  display:grid;
  grid-template-columns:24px minmax(0,1fr);
  gap:12px;
  align-items:start;
  margin-top:18px;
  padding:15px 16px;
  border:1px solid #dbe5ee;
  border-radius:15px;
  background:#f8fafc;
  color:var(--navy);
  font-weight:800;
  cursor:pointer;
}
.payment-terms-acceptance input{position:absolute;opacity:0;pointer-events:none}
.payment-terms-box{width:22px;height:22px;border:2px solid #aebdca;border-radius:6px;background:#fff;position:relative}
.payment-terms-acceptance:has(input:checked) .payment-terms-box{border-color:#0794a5;background:#0794a5}
.payment-terms-acceptance:has(input:checked) .payment-terms-box::after{content:"";position:absolute;left:6px;top:2px;width:6px;height:11px;border:solid #fff;border-width:0 2px 2px 0;transform:rotate(45deg)}
.payment-checkout-error{margin:14px 0 0;padding:11px 13px;border:1px solid #f1b4b4;border-radius:12px;background:#fff4f4;color:#b42318;font-weight:900}
.payment-checkout-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:18px}
.payment-continue-btn{min-width:245px;justify-content:center}
.payment-continue-btn:disabled{opacity:.5;cursor:not-allowed;transform:none;box-shadow:none}
.payment-action-note{color:var(--muted);font-size:12px;font-weight:700}
.payment-final-confirmation{
  display:grid;
  grid-template-columns:42px minmax(0,1fr) auto;
  gap:14px;
  align-items:center;
  margin-top:18px;
  padding:16px;
  border:1px solid #a8ddc6;
  border-radius:17px;
  background:#f0fdf7;
}
.payment-final-confirmation-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:50%;background:#16a36a;color:#fff;font-size:22px;font-weight:900}
.payment-final-confirmation strong{color:#14532d}
.payment-final-confirmation p{margin:4px 0 0;color:#3f6b5b;font-size:13px}
.payment-final-confirmation .btn{white-space:nowrap}
@media(max-width:980px){
  .payment-checkout{padding:22px}
  .payment-checkout-layout{grid-template-columns:1fr}
  .payment-summary-card{position:static}
}
@media(max-width:640px){
  .payment-checkout{padding:17px;border-radius:20px}
  .payment-checkout-heading{display:grid}
  .payment-secure-badge{justify-self:start}
  .payment-choice-panel,.payment-summary-card{padding:17px}
  .payment-choice-option{grid-template-columns:46px minmax(0,1fr) 22px;padding:14px;gap:11px}
  .payment-choice-icon{width:46px;height:46px;border-radius:13px}
  .payment-final-confirmation{grid-template-columns:38px minmax(0,1fr)}
  .payment-final-confirmation .btn{grid-column:1/-1;width:100%;justify-content:center}
  .payment-continue-btn{width:100%;min-width:0}
}


/* Sponsor logos */
.sponsor-logo-link{
  display:inline-block;
  text-decoration:none;
}
.sponsor-logo-image{
  width:112px;
  height:112px;
  border-radius:22px;
  margin:0 auto 16px;
  background:#ffffff;
  border:1px solid #d8ecd9;
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
  padding:6px;
  box-sizing:border-box;
}
.sponsor-logo-image img{
  width:100%;
  height:100%;
  object-fit:contain;
  display:block;
}
.footer-sponsors-logos a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-width:0;
}

/* Sponsor-card text alignment */
.sponsors-grid .sponsor-card{
  display:flex;
  flex-direction:column;
  align-items:center;
}
.sponsors-grid .sponsor-logo-link{
  display:block;
}
.sponsors-grid .sponsor-name-link{
  display:flex;
  align-items:flex-start;
  justify-content:center;
  width:100%;
  min-height:42px;
  margin-top:0;
  text-decoration:none;
}
.sponsors-grid .sponsor-name-link h3{
  margin:0 0 8px;
  text-align:center;
}
.sponsors-grid .sponsor-card > p{
  text-align:center;
}


/* ICASDAI’26 Industry–Research Meeting */
.industry-research-meeting{
  padding-top:10px;
}
.industry-research-card{
  max-width:1040px;
  margin:0 auto;
  border:1px solid #cfead6;
  background:linear-gradient(135deg, #f7fcf8 0%, #ffffff 62%, #f3f8ff 100%);
}
.industry-research-card h2{
  display:inline-block;
  margin:0 0 18px;
  padding:8px 12px;
  border-radius:12px;
  border:1px solid #b9dfc4;
  background:#eaf8ee;
  color:var(--navy);
  font-size:20px;
  line-height:1.2;
  white-space:nowrap;
}
.industry-research-card p{
  margin:0 0 14px;
  color:var(--muted);
  line-height:1.75;
  text-align:justify;
}
.industry-research-actions{
  margin-top:22px;
  display:flex;
  justify-content:flex-start;
}
.industry-research-programme-btn{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  min-width:230px;
}
@media(max-width:640px){
  .industry-research-card h2{
    display:block;
    font-size:17px;
    white-space:normal;
  }
  .industry-research-card p{
    text-align:left;
  }
  .industry-research-programme-btn{
    width:100%;
  }
}

/* Industry–Research activity registration */
.industry-research-actions{
  gap:12px;
  flex-wrap:wrap;
}
.industry-research-register-btn,
.industry-research-programme-btn{
  min-width:230px;
}
.industry-research-registration-panel{
  margin-top:24px;
  padding:24px;
  border:1px solid #c8d9ed;
  border-radius:18px;
  background:#fff;
  box-shadow:0 14px 30px rgba(20,48,84,.08);
}
.industry-research-registration-panel[hidden]{
  display:none;
}
.industry-research-registration-panel h3{
  margin:0 0 8px;
  color:var(--navy);
  font-size:22px;
}
.industry-research-form-note{
  margin-bottom:18px !important;
  text-align:left !important;
}
.industry-research-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:16px;
}
.industry-research-form-grid label{
  display:flex;
  flex-direction:column;
  gap:7px;
  color:var(--navy);
  font-weight:800;
}
.industry-research-form-grid input{
  width:100%;
  min-height:46px;
  padding:10px 12px;
  border:1px solid #b8cbe0;
  border-radius:11px;
  background:#fff;
  color:#14213d;
  font:inherit;
}
.industry-research-form-grid input:focus{
  outline:3px solid rgba(31,132,255,.18);
  border-color:var(--blue);
}
.industry-research-occupation-field{
  grid-column:1 / -1;
}
.industry-research-form-actions{
  display:flex;
  gap:12px;
  flex-wrap:wrap;
  margin-top:20px;
}
.industry-research-form-message{
  margin:16px 0 0 !important;
  padding:12px 14px;
  border-radius:10px;
  text-align:left !important;
  font-weight:800;
}
.industry-research-form-message.is-success{
  color:#166534;
  background:#ecfdf3;
  border:1px solid #bbf7d0;
}
.industry-research-form-message.is-error{
  color:#991b1b;
  background:#fff1f2;
  border:1px solid #fecdd3;
}
.industry-research-honeypot{
  position:absolute !important;
  left:-10000px !important;
  width:1px !important;
  height:1px !important;
  overflow:hidden !important;
}
@media(max-width:640px){
  .industry-research-register-btn,
  .industry-research-programme-btn{
    width:100%;
  }
  .industry-research-registration-panel{
    padding:18px;
  }
  .industry-research-form-grid{
    grid-template-columns:1fr;
  }
  .industry-research-occupation-field{
    grid-column:auto;
  }
  .industry-research-form-actions .btn{
    width:100%;
  }
}
