/* ICMMAT 2026 — Light, elegant conference theme */
@import url('https://fonts.googleapis.com/css2?family=DM+Sans:wght@400;500;600;700&family=Playfair+Display:wght@600;700;800&display=swap');

:root{
  --bg:#f8faf9;
  --surface:#ffffff;
  --surface-soft:#f3f7f5;
  --text:#17211d;
  --muted:#5f6d66;
  --accent:#1f7a4d;
  --accent-dark:#155b38;
  --line:#dfe8e3;
}

html{scroll-behavior:smooth;background:var(--bg)!important}
body{
  background:var(--bg)!important;
  color:var(--text)!important;
  font-family:'DM Sans','Segoe UI',Arial,sans-serif!important;
}
body:before{display:none!important}
#root{position:relative;z-index:1}
#root .min-h-screen{background:var(--bg)!important;color:var(--text)!important}
#root section{background:var(--bg)!important;color:var(--text)!important;border-top:1px solid var(--line)}
#root section:nth-of-type(even){background:#ffffff!important}

#root h1,#root h2,#root h3,#root h4,#root h5,#root h6{
  font-family:'Playfair Display',Georgia,serif!important;
  color:var(--text)!important;
  letter-spacing:-.025em;
}
#root h1,#root h2{font-weight:800}
#root .uppercase{letter-spacing:.12em}
#root p,#root li{color:var(--muted)!important}
#root .text-slate-900,#root .text-slate-800,#root .text-slate-700{color:var(--text)!important}
#root .text-slate-600,#root .text-slate-500,#root .text-slate-400{color:var(--muted)!important}

/* clean white cards */
#root .glass,#root .bg-white,#root [class*="bg-white/"],#root [class*="bg-slate-"],#root [class*="bg-indigo-50"],#root [class*="bg-purple-50"]{
  background:var(--surface)!important;
  color:var(--text)!important;
  border-color:var(--line)!important;
}
#root .shadow-sm,#root .shadow-md,#root .shadow-lg,#root .shadow-xl{
  box-shadow:0 8px 28px rgba(23,33,29,.07)!important;
}
#root .rounded-2xl,#root .rounded-xl{border-color:var(--line)}

#root .section-container{position:relative}

/* buttons */
#root a[class*="bg-gradient"],#root a[class*="bg-indigo"],#root button[class*="bg-gradient"],#root button[class*="bg-indigo"]{
  background:var(--accent)!important;
  color:#fff!important;
  border:1px solid var(--accent)!important;
  box-shadow:0 5px 16px rgba(31,122,77,.18)!important;
  transition:transform .2s ease,box-shadow .2s ease!important;
}
#root a[class*="bg-gradient"]:hover,#root a[class*="bg-indigo"]:hover,#root button[class*="bg-gradient"]:hover,#root button[class*="bg-indigo"]:hover{
  background:var(--accent-dark)!important;
  box-shadow:0 8px 22px rgba(31,122,77,.24)!important;
  transform:translateY(-1px);
}
#root a[class*="text-indigo"],#root a[class*="text-purple"]{color:var(--accent)!important}

/* navigation */
#root nav{
  background:rgba(255,255,255,.96)!important;
  border-color:var(--line)!important;
  backdrop-filter:blur(12px);
  box-shadow:0 2px 12px rgba(23,33,29,.05)!important;
}
#root nav a{color:var(--text)!important}
#root nav a:hover{color:var(--accent)!important}

/* accent blocks */
#root [class*="from-indigo-600"],#root [class*="from-purple-600"],#root [class*="from-pink-600"],#root [class*="from-emerald"]{
  background:var(--surface-soft)!important;
  border:1px solid #d5e5dc!important;
  color:var(--accent)!important;
}

/* form elements */
#root input,#root textarea,#root select{
  background:#fff!important;color:var(--text)!important;border-color:#cfdcd5!important;
}
#root input::placeholder,#root textarea::placeholder{color:#87948e!important}
#root input:focus,#root textarea:focus,#root select:focus{
  border-color:var(--accent)!important;
  box-shadow:0 0 0 2px rgba(31,122,77,.10)!important;
}

#root footer{
  background:#eef4f0!important;
  border-top:1px solid var(--line)!important;
  color:var(--muted)!important;
}

/* Keynote & Guest Speakers: no circles, larger clean rectangular portraits */
#speakers img{
  width:190px!important;
  height:230px!important;
  min-width:190px!important;
  min-height:230px!important;
  border-radius:12px!important;
  object-fit:cover!important;
  object-position:center top!important;
  border:1px solid #d8e3dd!important;
  box-shadow:0 8px 24px rgba(23,33,29,.10)!important;
}
#speakers .relative.h-56{
  height:280px!important;
  background:linear-gradient(135deg,#ffffff 0%,#f2f7f4 100%)!important;
  border-bottom:1px solid #e0e9e4!important;
}
#speakers .relative.h-56 > div:first-child{opacity:.03!important}

@media(max-width:640px){
  #speakers img{
    width:155px!important;height:190px!important;
    min-width:155px!important;min-height:190px!important;
  }
  #speakers .relative.h-56{height:235px!important}
}

/* Navigation refinement — clean, fully visible menu on desktop and mobile */
#root header{z-index:100!important}
#root header nav{overflow:visible!important}
#root header nav .section-container{min-width:0}
#root header nav a{white-space:nowrap}
#root header button[aria-label="Toggle menu"]{
  border:1px solid var(--line)!important;
  background:#fff!important;
  color:var(--text)!important;
  box-shadow:0 2px 8px rgba(23,33,29,.06)!important;
}
#root header button[aria-label="Toggle menu"]:hover{background:var(--surface-soft)!important}

/* Mobile/tablet menu panel */
#root header > div[class*="xl:hidden"]{
  position:absolute!important;
  left:0!important;
  right:0!important;
  top:100%!important;
  width:100%!important;
  max-height:calc(100vh - 76px)!important;
  overflow-y:auto!important;
  -webkit-overflow-scrolling:touch!important;
  background:#fff!important;
  border-top:1px solid var(--line)!important;
  border-bottom:1px solid var(--line)!important;
  box-shadow:0 14px 30px rgba(23,33,29,.10)!important;
}
#root header > div[class*="xl:hidden"] .section-container{
  padding-top:12px!important;
  padding-bottom:14px!important;
  background:#fff!important;
}
#root header > div[class*="xl:hidden"] a{
  display:flex!important;
  align-items:center!important;
  min-height:44px!important;
  padding:10px 14px!important;
  color:var(--text)!important;
  background:#fff!important;
  border-bottom:1px solid #edf2ef!important;
  border-radius:8px!important;
  font-size:14px!important;
  font-weight:600!important;
}
#root header > div[class*="xl:hidden"] a:hover{
  color:var(--accent)!important;
  background:var(--surface-soft)!important;
}
#root header > div[class*="xl:hidden"] a:last-child{
  margin-top:12px!important;
  justify-content:center!important;
  background:var(--accent)!important;
  color:#fff!important;
  border:0!important;
}

/* Keep the full desktop menu balanced */
@media(min-width:1280px){
  #root nav .section-container{gap:12px!important}
  #root nav .section-container > div[class*="hidden xl:flex"]{gap:0!important; flex:1 1 auto; justify-content:flex-end; min-width:0}
  #root nav .section-container > div[class*="hidden xl:flex"] a{padding-left:7px!important;padding-right:7px!important;font-size:12px!important}
}

/* ICMMAT navigation reliability fixes */
html { scroll-padding-top: 88px; }
body { overflow-x: hidden; }
@media (max-width: 1535px) {
  header nav { min-width: 0; }
}
