:root{
  --jade:#E54746;
  --jade-light:#FDE2E2;
  --jade-mid:#C93635;
  --gold:#E54746;
  --ink:#1A1A1A;
  --muted:#5A5A5A;
  --border:#E0E0DA;
  --white:#FFFFFF;
}

*{
  margin:0;
  padding:0;
  box-sizing:border-box;
}

body{
  font-family:'Open Sans',sans-serif;
  background:#fff;
  color:var(--ink);
  line-height:1.6;
}

/* ==========================
   NAVBAR
========================== */

nav{
  position:fixed;
  top:0;
  left:0;
  width:100%;
  height:70px;
  background:#fff;
  border-bottom:1px solid var(--border);
  display:flex;
  justify-content:space-between;
  align-items:center;
  padding:0 40px;
  z-index:1000;
}

.nav-logo{
  font-family:'Open Sans',serif;
  font-size:28px;
  font-weight:700;
  color:var(--jade);
}

.nav-logo span{
  display:block;
  font-size:11px;
  color:var(--muted);
  letter-spacing:2px;
  text-transform:uppercase;
}

.nav-links{
  list-style:none;
  display:flex;
  gap:25px;
}

.nav-links a{
  text-decoration:none;
  color:var(--muted);
  font-size:14px;
  font-weight:600;
  transition:.3s;
}

.nav-links a:hover{
  color:var(--jade);
}

.nav-cta{
  background:var(--jade);
  color:#fff !important;
  padding:10px 18px;
  border-radius:5px;
}

.site-footer a{font-family:'Open Sans',sans-serif}
nav, nav .nav-logo, nav .nav-links, nav .nav-links a, nav .nav-cta{font-family:'Open Sans',sans-serif !important}
nav .nav-links a{font-size:14px !important}

/* ==========================
   HERO
========================== */

.hero{
  min-height:100vh;
  background-color:#062a1c;background-image:url('../uploads/site/bangkok-conference.png');background-size:cover;background-position:center;
  padding:120px 60px 60px;
  display:flex;
  align-items:center;
}

.hero-content{
  width:100%;
  max-width:1200px;
  margin:auto;
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:50px;
  align-items:center;
}

.hero-badge{
  display:inline-block;
  background:rgba(255,255,255,.1);
  color:#fff;
  padding:8px 14px;
  border-radius:5px;
  margin-bottom:20px;
  font-size:13px;
  letter-spacing:1px;
}

.hero h1{
  font-family:'Open Sans',serif;
  font-size:60px;
  color:#fff;
  line-height:1.1;
  margin-bottom:20px;
}

.hero-theme{
  color:rgba(255,255,255,.85);
  font-size:18px;
  margin-bottom:35px;
}

/* ==========================
   HERO BUTTONS
========================== */

.hero-btns{
  display:flex;
  gap:15px;
  flex-wrap:wrap;
  align-items:center;
}

.btn-primary,
.btn-secondary,
.btn-outline{
  display:inline-block;
  padding:14px 30px;
  text-decoration:none;
  font-size:15px;
  font-weight:600;
  border-radius:6px;
  transition:all .3s ease;
}

/* Register */

.btn-primary{
  background:var(--gold);
  border:1px solid var(--gold);
  color:#fff;
}

.btn-primary:hover{
  background:#a97821;
  border-color:#a97821;
}

/* Submit Abstract */

.btn-secondary{
  background:transparent;
  border:1px solid #fff;
  color:#fff;
}

.btn-secondary:hover{
  background:#fff;
  color:var(--jade);
}

/* Download Brochure */

.btn-outline{
  background:transparent;
  border:1px solid rgba(255,255,255,.5);
  color:#fff;
}

.btn-outline:hover{
  background:rgba(255,255,255,.12);
  border-color:#fff;
}

/* ==========================
   HERO INFO
========================== */

.hero-info{
  display:flex;
  flex-direction:column;
  gap:25px;
}

.countdown-box{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:10px;
  padding:30px;
  backdrop-filter:blur(10px);
}

.countdown-label{
  color:rgba(255,255,255,.7);
  font-size:14px;
  text-transform:uppercase;
  letter-spacing:1px;
  margin-bottom:20px;
}

.countdown-grid{
  display:grid;
  grid-template-columns:repeat(4,1fr);
  gap:20px;
}

.countdown-unit{
  text-align:center;
}

.countdown-num{
  display:block;
  font-size:40px;
  font-weight:700;
  color:#fff;
  font-family:'Open Sans',serif;
}

.countdown-sub{
  display:block;
  margin-top:5px;
  color:rgba(255,255,255,.65);
  font-size:12px;
  text-transform:uppercase;
}

.info-cards{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:15px;
}

.info-card{
  background:rgba(255,255,255,.08);
  border:1px solid rgba(255,255,255,.12);
  border-radius:8px;
  padding:20px;
}

.info-card-icon{
  display:block;
  font-size:24px;
  margin-bottom:10px;
}

.info-card-label{
  color:rgba(255,255,255,.65);
  font-size:12px;
  text-transform:uppercase;
  margin-bottom:5px;
}

.info-card-value{
  color:#fff;
  font-size:16px;
  font-weight:600;
}

/* ==========================
   FOOTER
========================== */

footer{
  background-color:#041b12;
  background-image:url('../uploads/site/bangkok-conference.png');
  background-size:cover;
  background-position:center;
  color:rgba(255,255,255,.7);
  padding:25px 40px;
}

.footer-bottom{
  max-width:1200px;
  margin:auto;
  display:flex;
  justify-content:space-between;
  align-items:center;
  font-size:14px;
}

/* ==========================
   MOBILE
========================== */

@media(max-width:900px){

  nav{
    flex-direction:column;
    height:auto;
    padding:20px;
    gap:15px;
  }

  .nav-links{
    flex-wrap:wrap;
    justify-content:center;
  }

  .hero{
    padding:160px 25px 60px;
  }

  .hero-content{
    grid-template-columns:1fr;
  }

  .hero h1{
    font-size:42px;
  }

  .hero-btns{
    flex-direction:column;
    align-items:flex-start;
  }

  .hero-btns a{
    width:100%;
    text-align:center;
  }

  .countdown-grid{
    grid-template-columns:repeat(2,1fr);
  }

  .info-cards{
    grid-template-columns:1fr;
  }

  .footer-bottom{
    flex-direction:column;
    text-align:center;
    gap:10px;
  }

}

/* Shared footer used consistently across public pages */
.site-footer{background-color:#E54746;background-image:none;color:#000;padding:25px 40px;}
.site-footer .footer-grid{max-width:1200px;margin:0 auto 28px;display:grid;grid-template-columns:1.35fr 1fr 1fr 1fr;gap:48px;}
.site-footer .footer-brand{font-size:24px;font-weight:700;color:#000;margin-bottom:14px;}
.site-footer .footer-desc{font-size:14px;line-height:1.75;max-width:360px;margin:0;}
.site-footer .footer-col-title{color:#000;text-transform:uppercase;letter-spacing:.12em;font-size:13px;font-weight:700;margin-bottom:16px;}
.site-footer .footer-links,.site-footer .footer-contact{list-style:none;padding:0;margin:0;}
.site-footer .footer-links li,.site-footer .footer-contact li{margin:0 0 10px;}
.site-footer a{color:#000;text-decoration:none;}
.site-footer a:hover{color:#000;opacity:.75;}
.site-footer .footer-contact strong{color:#000;font-weight:600;}
.site-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.12);padding-top:24px;}
@media(max-width:900px){.site-footer{padding:30px 20px}.site-footer .footer-grid{grid-template-columns:1fr;gap:25px}}

/* Home page: three side-by-side scrolling content panels */
.home-three-panels{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;align-items:stretch}
.home-content-panel{background:#fff;border:1px solid var(--border);padding:1.15rem 1.25rem;border-radius:0;min-width:0}
.home-content-panel .section-title{margin-bottom:.8rem}
.scroll-content-list{height:390px;overflow-y:auto;overflow-x:hidden;padding-right:.45rem;scrollbar-width:auto}
.scroll-content-row{display:flex;align-items:flex-start;gap:.7rem;padding:.72rem .15rem;border-bottom:1px solid #e6e6e6;color:#17354f;font-size:14px;line-height:1.45}
.scroll-content-row::before{content:'✓';flex:0 0 24px;width:24px;height:24px;border:1px solid #222;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:14px;line-height:24px;color:#17354f}
.home-abstract-cta{text-align:center;margin-top:1.6rem}
.home-abstract-cta .btn-primary{background:var(--jade);border-color:var(--jade);color:#fff}
.home-abstract-cta .btn-primary:hover{background:var(--jade-mid);border-color:var(--jade-mid)}
@media(max-width:1000px){.home-three-panels{grid-template-columns:1fr 1fr}.home-content-panel:last-child{grid-column:1 / -1}}
@media(max-width:700px){.home-three-panels{grid-template-columns:1fr}.home-content-panel:last-child{grid-column:auto}.scroll-content-list{height:320px}}

/* Requested home CTA visual: use the supplied HEALTH image as the button surface. */
.home-action-buttons{display:flex;justify-content:center;align-items:stretch;gap:16px;flex-wrap:wrap;}
.home-image-action{
  position:relative;
  isolation:isolate;
  overflow:hidden;
  min-width:220px;
  min-height:58px;
  padding:14px 24px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  border:1px solid var(--jade);
  border-radius:8px;
  background:var(--jade);
  color:#fff;
  text-decoration:none;
  font-size:15px;
  font-weight:700;
  letter-spacing:.01em;
  text-shadow:0 1px 3px rgba(0,0,0,.55);
  box-shadow:0 5px 16px rgba(6,42,28,.12);
  transition:transform .2s ease,box-shadow .2s ease,filter .2s ease;
}
.home-image-action:hover{transform:translateY(-2px);background:var(--jade-mid);border-color:var(--jade-mid);box-shadow:0 8px 22px rgba(6,42,28,.18);color:#fff;}
.home-image-action:focus-visible{outline:3px solid rgba(196,144,42,.55);outline-offset:3px;}
@media(max-width:600px){.home-action-buttons{flex-direction:column;align-items:stretch;}.home-image-action{width:100%;min-width:0;}}

/* Requested home hero positioning only: keep the countdown/info above the HEALTH image text and the action buttons below it. */
.hero-content{grid-template-columns:1fr;grid-template-rows:auto auto;gap:0;align-items:start;}
.hero-info{grid-row:1;order:1;width:100%;max-width:1100px;margin:0 auto;}
.hero-content > div:first-child{grid-row:2;order:2;width:100%;max-width:900px;margin:18px auto 0;}
.hero-content > div:first-child .hero-btns{margin-top:18px;justify-content:center;}
@media(max-width:900px){.hero-content > div:first-child{max-width:100%;margin-top:18px;}.hero-info{max-width:100%;}}

/* Final home hero alignment: positioning only. Keep all existing visual styling unchanged. */
@media(min-width:901px){
  .hero{align-items:stretch;}
  .hero-content{
    position:relative;
    display:block;
    max-width:1200px;
    min-height:calc(100vh - 180px);
  }
  .hero-content > div:first-child{
    position:relative;
    width:52%;
    max-width:none;
    margin:0;
    z-index:2;
  }
  .hero-info{
    position:absolute;
    top:0;
    right:0;
    width:48%;
    max-width:600px;
    margin:0;
    z-index:2;
  }
  .hero-content > div:first-child .hero-btns{
    position:absolute;
    left:0;
    bottom:-58px;
    margin:0;
    justify-content:flex-start;
    width:max-content;
  }
}
@media(max-width:900px){
  .hero-content{display:flex;flex-direction:column;position:relative;min-height:0;}
  .hero-info{order:1;position:relative;top:auto;right:auto;width:100%;}
  .hero-content > div:first-child{order:2;position:relative;width:100%;max-width:100%;margin:18px auto 0;}
  .hero-content > div:first-child .hero-btns{position:relative;left:auto;bottom:auto;margin-top:18px;justify-content:center;}
}

/* Requested image/card consistency: border highlighting only. */
.countdown-box{border-color:#c4902a;}
.info-card:nth-child(2){border-color:#1d9e75;}

/* Conference logo shared by the public footer. */
.footer-brand{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.footer-brand-logo{max-width:105px;max-height:58px;width:auto;height:auto;object-fit:contain;display:block}

/* ICAP 2027 uniform red theme */
:root{--jade:#E54746;--jade-light:#FDE2E2;--jade-mid:#C93635;--gold:#E54746;}
.nav-cta,.btn-primary,.home-abstract-cta .btn-primary,.home-image-action{background:#E54746!important;border-color:#E54746!important;color:#fff!important}
.nav-cta:hover,.btn-primary:hover,.home-abstract-cta .btn-primary:hover,.home-image-action:hover{background:#C93635!important;border-color:#C93635!important;color:#fff!important}
.section-divider{background:#E54746!important}


/* ICAP 2027 shared footer: high-contrast red treatment */
.site-footer{
  background:#c8102e !important;
  background-image:none !important;
  color:#fff !important;
}
.site-footer .footer-brand,
.site-footer .footer-col-title,
.site-footer .footer-desc,
.site-footer .footer-contact,
.site-footer .footer-contact li,
.site-footer .footer-bottom,
.site-footer .footer-bottom span,
.site-footer a,
.site-footer .footer-links a{
  color:#fff !important;
}
.site-footer a:hover{color:#ffe5e9 !important;text-decoration:underline}
.site-footer .footer-bottom{border-color:rgba(255,255,255,.3)!important}
.site-footer .footer-brand-logo{max-width:100%;height:auto}
