/* Modais públicos */
.modal.show{display:flex!important;align-items:center;justify-content:center;padding:24px!important}
.modal-backdrop.show{opacity:.72;background:#071426}
.public-modal .modal-dialog,.modal[id^="dynamicTeam"] .modal-dialog{position:relative;top:0!important;bottom:auto!important;display:flex!important;align-items:center!important;width:min(880px,100%);max-width:880px;min-height:0!important;max-height:70vh;margin:0 auto!important;overflow:visible;transform:none!important}
.public-modal .modal-dialog-centered::before,.modal[id^="dynamicTeam"] .modal-dialog-centered::before{display:none!important}
.gallery-modal .modal-dialog{width:min(1120px,100%);max-width:1120px}
.public-modal .modal-content,.modal[id^="dynamicTeam"] .modal-content{display:flex;max-height:70vh;overflow:hidden;border:0;border-radius:20px;background:#fff;box-shadow:0 28px 90px rgba(3,15,32,.34)}
.public-modal .modal-header,.modal[id^="dynamicTeam"] .modal-header{position:relative;display:flex;align-items:center;justify-content:space-between;flex:0 0 auto;min-height:92px;padding:22px 76px 20px 28px;border:0;border-bottom:1px solid #e9edf3;background:linear-gradient(135deg,#f8fbfe 0%,#fff 60%)}
.public-modal .modal-title,.modal[id^="dynamicTeam"] .modal-title{margin:2px 0 0;color:#172033;font-size:25px;line-height:1.2;font-weight:800}
.modal-eyebrow{display:block;color:#087bc1;font-size:11px;line-height:1.2;font-weight:800;letter-spacing:.12em;text-transform:uppercase}
.public-modal .modal-header .close,.modal[id^="dynamicTeam"] .modal-header .close{position:absolute;top:50%;right:24px;display:grid;place-items:center;width:42px;height:42px;margin:0;padding:0;transform:translateY(-50%);border:0;border-radius:50%;background:#edf4f8;color:#087bc1;font-size:17px;line-height:1;opacity:1;transition:.2s}
.public-modal .modal-header .close:hover,.public-modal .modal-header .close:focus,.modal[id^="dynamicTeam"] .modal-header .close:hover,.modal[id^="dynamicTeam"] .modal-header .close:focus{background:#087bc1;color:#fff;outline:0;transform:translateY(-50%) rotate(90deg)}
.public-modal .modal-body,.modal[id^="dynamicTeam"] .modal-body{flex:0 1 auto;height:auto;min-height:0;max-height:calc(70vh - 92px);padding:28px!important;overflow-y:auto;overscroll-behavior:contain;color:#455066;scrollbar-width:thin;scrollbar-color:#9fc9e2 transparent}
.team-modal .modal-body h6,.modal[id^="dynamicTeam"] .modal-body h6{margin:0 0 20px;padding:13px 16px;border-left:4px solid #ec217c;border-radius:0 9px 9px 0;background:#fff1f7;color:#9f174e!important;font-size:15px;line-height:1.55!important}
.team-bio{margin:0;white-space:normal;color:#3e495d;font-size:16px;line-height:1.7!important;text-align:left!important}.team-bio br{display:block;content:"";margin-top:.28em;line-height:.28em}
.dynamic-gallery{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}
.dynamic-gallery a{display:block;overflow:hidden;border-radius:12px;background:#edf2f6;box-shadow:0 4px 14px rgba(7,20,38,.08)}
.dynamic-gallery img{display:block;width:100%;height:210px;object-fit:cover;transition:transform .3s}
.dynamic-gallery a:hover img{transform:scale(1.04)}
.gallery-empty{grid-column:1/-1;display:flex;min-height:280px;flex-direction:column;align-items:center;justify-content:center;gap:8px;padding:35px;text-align:center;color:#6b7280;background:#f7f9fc;border:1px dashed #ccd7e1;border-radius:14px}
.gallery-empty i{margin-bottom:6px;color:#087bc1;font-size:42px}.gallery-empty strong{color:#172033;font-size:20px}.gallery-empty span{font-size:14px}

/* Conteúdo dinâmico da home */
.footer-main-sec{background:linear-gradient(135deg,#ec217c 0%,#087bc1 100%)!important}
.event-past{opacity:.8 !important}.event-past .generic-button a{background:#087bc1!important;border-color:#087bc1!important}.event-past .generic-button a:hover{background:#05649d!important}
.sponsers-images .partner-item{display:flex;align-items:stretch;justify-content:center}.sponsers-images .partner-item img{display:block;width:100%;height:auto}
.blog-main-sec .blog-img img{width:100%;height:250px;object-fit:cover}
.contact-feedback{padding:12px;margin-bottom:15px;border-radius:8px;background:#e6f7ef;color:#17663b}.contact-feedback.error{background:#ffe8ee;color:#a31240}

@media(max-width:700px){
  .modal.show{align-items:center;padding:10px!important}
  .public-modal .modal-dialog,.modal[id^="dynamicTeam"] .modal-dialog{width:100%;margin:0!important}
  .public-modal .modal-content,.modal[id^="dynamicTeam"] .modal-content{max-height:70vh;border-radius:18px}
  .public-modal .modal-header,.modal[id^="dynamicTeam"] .modal-header{min-height:78px;padding:18px 66px 16px 20px}
  .public-modal .modal-title,.modal[id^="dynamicTeam"] .modal-title{font-size:21px}
  .public-modal .modal-header .close,.modal[id^="dynamicTeam"] .modal-header .close{right:16px;width:38px;height:38px}
  .public-modal .modal-body,.modal[id^="dynamicTeam"] .modal-body{padding:20px!important}
  .dynamic-gallery{grid-template-columns:1fr 1fr;gap:9px}.dynamic-gallery img{height:145px}
  .gallery-empty{min-height:220px}.team-bio{font-size:15px;line-height:1.7!important}
}

/* Menu lateral mobile */
.mobile-menu-close,.mobile-menu-overlay{display:none}
@media(max-width:991px){
  body.mobile-menu-open{overflow:hidden}
  body.mobile-menu-open .header-con{z-index:1200;background:transparent;border-color:transparent;box-shadow:none}
  body.mobile-menu-open .navbar-brand,body.mobile-menu-open .navbar-toggler{visibility:hidden}
  .mobile-menu-overlay{position:fixed;inset:0;z-index:1190;display:block;width:100%;height:100%;padding:0;border:0;background:rgba(4,13,25,.76);opacity:0;visibility:hidden;cursor:pointer;transition:opacity .3s ease,visibility .3s ease}
  body.mobile-menu-open .mobile-menu-overlay{opacity:1;visibility:visible}
  #navbarSupportedContent.navbar-collapse{position:fixed;top:0;right:0;z-index:1210;display:flex!important;width:min(86vw,380px);height:100vh;height:100dvh;margin:0;padding:78px 28px 30px;flex-direction:column;align-items:stretch;background:#fff;border-radius:18px 0 0 18px;box-shadow:-18px 0 55px rgba(0,0,0,.28);overflow-y:auto;text-align:left;visibility:visible!important;transform:translateX(105%);transition:transform .34s cubic-bezier(.22,.61,.36,1)}
  body.mobile-menu-open #navbarSupportedContent{transform:translateX(0)}
  #navbarSupportedContent .mobile-menu-close{position:absolute;top:18px;right:18px;display:grid;width:44px;height:44px;padding:0;place-items:center;border:0;border-radius:50%;background:#edf4f8;color:#143653;font-size:20px;cursor:pointer}
  #navbarSupportedContent .mobile-menu-close:hover,#navbarSupportedContent .mobile-menu-close:focus{background:#143653;color:#fff;outline:0}
  #navbarSupportedContent .navbar-nav{width:100%;margin:0!important;padding:0!important}
  #navbarSupportedContent .navbar-nav .nav-item{margin:0;padding:0;border-bottom:1px solid #e7edf2}
  #navbarSupportedContent .navbar-nav .nav-item .nav-link{display:block;width:100%;padding:17px 4px!important;color:#143653!important;font-size:18px;line-height:24px;font-weight:700;text-align:left}
  #navbarSupportedContent .navbar-nav .nav-item.active .nav-link,#navbarSupportedContent .navbar-nav .nav-item .nav-link:hover{color:#087bc1!important}
  #navbarSupportedContent .navbar-btn{display:block!important;width:100%;margin:26px 0 0}
  #navbarSupportedContent .navbar-btn a{display:block;width:100%;padding:15px 18px;border-radius:28px;background:#ec217c;color:#fff!important;text-align:center}
}
