/* Shared JAINA Convention 2027 header and footer.
   Markup is generated centrally by assets/js/site-shell.js. */
.site-shell-header.site-header{background:rgba(255,255,255,.96);border-bottom:1px solid rgba(196,137,15,.22);box-shadow:0 10px 30px rgba(0,37,90,.08)}
.site-shell-header .navbar{padding-top:.45rem;padding-bottom:.45rem}
.site-shell-header .navbar-brand{gap:16px;min-width:280px}
.site-shell-header .brand-logo-card{width:108px;height:102px;border-radius:20px;padding:7px;background:#fff}
.site-shell-header .brand-title{font-family:Georgia,'Times New Roman',serif;font-size:1.1rem;font-weight:700!important;letter-spacing:.005em}
.site-shell-header .brand-subtitle{font-size:.75rem;font-weight:600;letter-spacing:.13em}
.site-shell-header .nav-link{font-family:Arial,Helvetica,sans-serif;font-weight:560!important;font-size:.93rem;letter-spacing:.005em;padding:.65rem .7rem!important}
.site-shell-header .nav-link.active{color:var(--navy)!important;background:rgba(229,160,36,.12)}
.site-shell-header .nav-cta{font-weight:650!important;padding-inline:1.05rem!important}
.site-shell-header .dropdown-menu{min-width:220px;border:1px solid rgba(10,42,94,.12);border-radius:15px;padding:.5rem;box-shadow:0 16px 38px rgba(8,31,72,.14)}
.site-shell-header .dropdown-item{font-family:Arial,Helvetica,sans-serif;font-size:.9rem;font-weight:600;color:var(--navy-2);border-radius:10px;padding:.58rem .72rem}
.site-shell-header .dropdown-item:hover,.site-shell-header .dropdown-item:focus{background:#f7f2e6;color:var(--navy)}
.site-shell-footer.site-footer{background:var(--navy-2);color:rgba(255,255,255,.72);padding:56px 0 30px}
.site-shell-footer h4{font-family:Georgia,'Times New Roman',serif!important;font-weight:400!important;color:#fff;font-size:1.1rem;margin-bottom:16px}
.site-shell-footer p{color:rgba(255,255,255,.72)}
.site-shell-footer .footer-logo-group{display:flex;align-items:center;gap:20px;flex-wrap:wrap}
.site-shell-footer .footer-logo-white,.site-shell-footer .footer-logo-official{width:150px;height:150px;object-fit:contain;display:block}
.site-shell-footer .footer-logo-official{background:transparent;border-radius:0;padding:0;box-shadow:none}
.site-shell-footer .footer-event-title{color:rgba(255,255,255,.9);font-size:1.05rem;line-height:1.45;margin:0 0 18px}
.site-shell-footer .footer-event-title span{color:rgba(255,255,255,.78)}
.site-shell-footer .footer-links{list-style:none;padding:0;margin:0}
.site-shell-footer .footer-links li{margin-bottom:8px}
.site-shell-footer .footer-links a{font-family:Arial,Helvetica,sans-serif;display:inline;color:rgba(255,255,255,.76);margin:0;font-size:.95rem}
.site-shell-footer .footer-links a:hover{color:var(--gold-2)}
.site-shell-footer .footer-bottom{border-top:1px solid rgba(255,255,255,.12);margin-top:34px;padding-top:22px;font-size:.92rem}
@media(max-width:1199.98px){.site-shell-header .brand-logo-card{width:90px;height:86px}.site-shell-header .navbar-brand{min-width:0}}
@media(max-width:767.98px){.site-shell-header .brand-logo-card{width:78px;height:74px;border-radius:16px}.site-shell-header .brand-title{font-size:1.08rem}.site-shell-header .brand-subtitle{font-size:.68rem;letter-spacing:.1em}.site-shell-footer .footer-logo-white,.site-shell-footer .footer-logo-official{width:125px;height:125px}}


/* Cookie consent */
.footer-legal-links{display:inline-flex;align-items:center;gap:9px}
.site-shell-footer .footer-legal-links a,.cookie-preferences-link{font:inherit;color:rgba(255,255,255,.78);text-decoration:none}
.cookie-preferences-link{appearance:none;background:none;border:0;padding:0;cursor:pointer}
.site-shell-footer .footer-legal-links a:hover,.cookie-preferences-link:hover{color:var(--gold-2);text-decoration:underline}
.cookie-banner[hidden],.cookie-modal[hidden]{display:none!important}
.cookie-banner{position:fixed;z-index:1085;left:24px;right:24px;bottom:24px;max-width:1180px;margin:0 auto;background:#fff;color:#24324a;border:1px solid rgba(10,42,94,.14);border-radius:20px;box-shadow:0 24px 70px rgba(2,19,48,.28);padding:22px 24px;display:grid;grid-template-columns:minmax(0,1fr) auto;gap:26px;align-items:center}
.cookie-banner h2,.cookie-modal h2,.cookie-category h3{font-family:Georgia,'Times New Roman',serif;color:var(--navy-deep,#092b5c)}
.cookie-banner h2{font-size:1.35rem;margin:0 0 6px}.cookie-banner p{margin:0 0 5px;line-height:1.55;color:#4f5b70;font-size:.94rem}.cookie-banner a,.cookie-modal a{color:var(--ultra,#0b56b3);font-weight:700}
.cookie-banner-actions,.cookie-modal-actions{display:flex;gap:10px;align-items:center;flex-wrap:wrap}
.cookie-btn{border-radius:999px;padding:10px 17px;font-weight:800;font-size:.88rem;line-height:1.2;cursor:pointer;transition:transform .15s ease,box-shadow .15s ease,background .15s ease;border:1px solid transparent;white-space:nowrap}
.cookie-btn:hover{transform:translateY(-1px)}.cookie-btn:focus-visible,.cookie-modal-close:focus-visible,.cookie-preferences-link:focus-visible{outline:3px solid rgba(35,112,201,.34);outline-offset:3px}
.cookie-btn-primary{background:var(--green,#177c67);color:#fff;box-shadow:0 8px 20px rgba(23,124,103,.2)}.cookie-btn-primary:hover{background:#106b59}
.cookie-btn-secondary{background:#fff;color:var(--navy-deep,#092b5c);border-color:rgba(9,43,92,.28)}.cookie-btn-secondary:hover{background:#f5f7fa}
.cookie-modal{position:fixed;z-index:1090;inset:0;display:grid;place-items:center;padding:20px}.cookie-modal-backdrop{position:absolute;inset:0;background:rgba(3,18,43,.64);backdrop-filter:blur(3px)}
.cookie-modal-panel{position:relative;width:min(620px,100%);max-height:min(760px,calc(100vh - 40px));overflow:auto;background:#fff;border-radius:22px;padding:30px;box-shadow:0 30px 90px rgba(0,15,40,.42)}
.cookie-modal-close{position:absolute;right:17px;top:13px;width:38px;height:38px;border:0;border-radius:50%;background:#f2f4f7;color:#24324a;font-size:1.55rem;line-height:1;cursor:pointer}.cookie-modal-close:hover{background:#e8ecf2}
.cookie-eyebrow{display:block;color:var(--gold-deep,#96690a);font-size:.72rem;font-weight:900;letter-spacing:.14em;text-transform:uppercase;margin-bottom:7px}.cookie-modal h2{font-size:1.85rem;margin:0 42px 8px 0}.cookie-modal-panel>p{color:#536075;line-height:1.55}
.cookie-category{display:flex;align-items:center;justify-content:space-between;gap:20px;border:1px solid rgba(9,43,92,.13);border-radius:16px;padding:17px 18px;margin-top:13px;background:#fbfcfe}.cookie-category h3{font-size:1.08rem;margin:0 0 3px}.cookie-category p{font-size:.86rem;line-height:1.45;color:#617087;margin:0}.cookie-always-on{color:var(--green,#177c67);font-size:.78rem;font-weight:900;white-space:nowrap}
.cookie-category-toggle{cursor:pointer}.cookie-switch{position:relative;display:inline-flex;flex:0 0 auto}.cookie-switch input{position:absolute;opacity:0;pointer-events:none}.cookie-switch span{width:48px;height:27px;background:#aeb7c4;border-radius:999px;position:relative;transition:.2s}.cookie-switch span:after{content:'';position:absolute;width:21px;height:21px;top:3px;left:3px;background:#fff;border-radius:50%;box-shadow:0 2px 6px rgba(0,0,0,.25);transition:.2s}.cookie-switch input:checked+span{background:var(--green,#177c67)}.cookie-switch input:checked+span:after{transform:translateX(21px)}.cookie-switch input:focus-visible+span{outline:3px solid rgba(35,112,201,.34);outline-offset:3px}
.cookie-modal-actions{margin-top:22px;justify-content:flex-end}.cookie-modal-note{font-size:.8rem!important;margin:18px 0 0!important}.cookie-modal-open{overflow:hidden}
@media(max-width:800px){.cookie-banner{left:12px;right:12px;bottom:12px;grid-template-columns:1fr;padding:19px;gap:16px}.cookie-banner-actions{display:grid;grid-template-columns:1fr 1fr}.cookie-banner-actions .cookie-btn-primary{grid-column:1/3;grid-row:1}.cookie-btn{width:100%}.cookie-modal-panel{padding:25px 20px}.cookie-modal-actions{display:grid;grid-template-columns:1fr 1fr}.site-shell-footer .footer-bottom{align-items:flex-start!important}}
@media(max-width:430px){.cookie-banner-actions,.cookie-modal-actions{grid-template-columns:1fr}.cookie-banner-actions .cookie-btn-primary{grid-column:auto;grid-row:auto}.cookie-category{align-items:flex-start}.footer-legal-links{flex-wrap:wrap}}

/* Ver 43: active dropdown navigation fix.
   Bootstrap uses ::after for the dropdown caret. The page stylesheet also used
   ::after for the active-page underline, which replaced/distorted the caret on
   About and Attend. Keep the caret intact and draw the active underline with
   ::before for every primary navigation item. */
.site-shell-header .nav-link{position:relative}
.site-shell-header .nav-link.active::before{
  content:"";
  position:absolute;
  left:.62rem;
  right:.62rem;
  bottom:.34rem;
  height:2px;
  border-radius:4px;
  background:var(--gold,#d6a327);
}
.site-shell-header .nav-link.active:not(.dropdown-toggle)::after{display:none!important}
.site-shell-header .dropdown-toggle.active::after{
  display:inline-block!important;
  width:0!important;
  height:0!important;
  margin-left:.255em!important;
  vertical-align:.255em!important;
  position:static!important;
  content:""!important;
  background:transparent!important;
  border-top:.3em solid!important;
  border-right:.3em solid transparent!important;
  border-bottom:0!important;
  border-left:.3em solid transparent!important;
}
@media(max-width:1199.98px){
  .site-shell-header .nav-link.active::before{display:none}
}
