@import url("https://fonts.googleapis.com/css2?family=Goldman:wght@400;700&family=Roboto:ital,wght@0,100..900;1,100..900&display=swap");
.ais-InstantSearch {
  max-width: 960px;
  margin: 0 auto;
  position: relative;
}

.ais-SearchBox {
  margin: 1em 0;
  position: relative;
  z-index: 50;
}

.ais-SearchBox-form {
  background-color: transparent !important;
}

.ais-SearchBox-input {
  border-radius: 50px !important;
}

.ais-Pagination {
  margin-top: 1em;
}

.ais-Hits {
  display: none;
  position: absolute;
  top: 100%;
  left: 0;
  right: 0;
  background: white;
  border-radius: 0.5rem;
  box-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.1);
  z-index: 40;
  max-height: 80vh;
  overflow-y: auto;
}
.ais-Hits-list {
  display: grid;
  grid-template-columns: repeat(2, 1fr);
  gap: 1em;
  padding: 1rem;
}
.ais-Hits-item img {
  margin-right: 1em;
}

.hit-name {
  margin-bottom: 0.5em;
}
.hit-description {
  color: #888;
  font-size: 14px;
  margin-bottom: 0.5em;
}

#hits .ais-Hits {
  transition: opacity 0.3s ease;
}

.ais-SearchBox--hasQuery .ais-Hits,
.ais-SearchBox-input:focus + .ais-Hits {
  display: block;
}

@media (max-width: 768px) {
  .ais-Hits-list {
    grid-template-columns: 1fr;
  }
}
.swiper-container {
  position: relative;
}
.swiper-container .pagination-wrapper {
  position: absolute;
  bottom: -3rem;
  left: 30%;
  transform: translateX(7%);
  width: 640px;
  display: flex;
  justify-content: center;
  z-index: 50;
}
.swiper-container .pagination-wrapper .swiper-pagination {
  display: flex;
  gap: 8px;
}
.swiper-container .pagination-wrapper .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  background: #CBD5E0;
  border-radius: 50%;
  border: 2px solid #000;
  transition: all 0.3s ease;
  opacity: 0.7;
}
.swiper-container .pagination-wrapper .swiper-pagination .swiper-pagination-bullet-active {
  background: #4F299E;
  transform: scale(1.2);
  width: 25px;
  border-radius: 9999px;
  opacity: 1;
}

.jornada .card-body {
  height: 246px;
}
.jornada-navigation .swiper-button-prev-jornada,
.jornada-navigation .swiper-button-next-jornada {
  position: static;
  width: 50px;
  height: 50px;
  margin: 0;
}
.jornada-navigation .swiper-button-prev-jornada::after,
.jornada-navigation .swiper-button-next-jornada::after {
  display: none;
}
.jornada-navigation .swiper-button-prev-jornada img,
.jornada-navigation .swiper-button-next-jornada img {
  width: 100%;
  height: 100%;
  -o-object-fit: cover;
     object-fit: cover;
  border-radius: 4px;
  transition: opacity 0.3s ease;
}
.jornada-navigation .swiper-button-disabled {
  opacity: 0.5;
  cursor: not-allowed;
}
.jornada-navigation .swiper-button-disabled img {
  opacity: 0.5;
}

.hub-swiper-wrapper {
  width: 100%;
  overflow: hidden;
}

.hub-swiper-container {
  width: 100%;
  height: 400px;
  position: relative;
}
.hub-swiper-container .swiper-pagination {
  position: absolute;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.hub-swiper-container .swiper-pagination .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  background: #CBD5E0;
  border-radius: 50%;
  border: 2px solid #222d39;
  transition: all 0.3s ease;
  opacity: 0.7;
}
.hub-swiper-container .swiper-pagination .swiper-pagination-bullet-active {
  background: #9F7AEA;
  transform: scale(1.2);
  opacity: 1;
}
.hub-swiper-container .swiper-wrapper {
  height: 100%;
}
.hub-swiper-container .swiper-slide {
  width: 100% !important;
  opacity: 0;
  transition: opacity 0.3s ease;
}
.hub-swiper-container .swiper-slide-active {
  opacity: 1;
}
.hub-swiper-container .hub-card {
  height: 100%;
  width: 100%;
}
.hub-swiper-container .hub-card .card-body {
  padding: 1rem;
  height: 100%;
}
.hub-swiper-container .hub-card figure {
  height: 100%;
}
.hub-swiper-container .hub-card figure img {
  transition: transform 0.3s ease;
}
.hub-swiper-container .hub-card figure img:hover {
  transform: scale(1.05);
}

.hub-pagination-wrapper {
  position: absolute;
  bottom: -2rem;
  left: 50%;
  transform: translateX(-50%);
  width: 100%;
  display: flex;
  justify-content: center;
}
.hub-pagination-wrapper .swiper-pagination {
  position: static;
  display: flex;
  gap: 8px;
  justify-content: center;
}
.hub-pagination-wrapper .swiper-pagination-bullet {
  width: 12px;
  height: 12px;
  margin: 0;
  background: #CBD5E0;
  border-radius: 50%;
  border: 2px solid #222d39;
  transition: all 0.3s ease;
  opacity: 0.7;
}
.hub-pagination-wrapper .swiper-pagination-bullet-active {
  background: #9F7AEA;
  transform: scale(1.2);
}

@media (max-width: 767px) {
  .pagination-wrapper {
    bottom: -3.2rem !important;
    width: 100% !important;
    left: 0% !important;
    transform: translateX(0%) !important;
  }
}
@media (min-width: 768px) and (max-width: 1223px) {
  .pagination-wrapper {
    bottom: -3.25rem !important;
    width: 448px !important;
    left: 25% !important;
    transform: translateX(16%) !important;
  }
}
@media (min-width: 1223px) and (max-width: 1439px) {
  .pagination-wrapper {
    bottom: -3.2rem !important;
  }
}
@media (min-width: 1440px) and (max-width: 1500px) {
  .pagination-wrapper {
    bottom: -3.25rem !important;
  }
}
@media (min-width: 2560px) {
  .pagination-wrapper {
    bottom: -3.2rem !important;
  }
}
/* Notification System Styles */
/* Animation for notifications */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(-10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}
.form-notification {
  margin-bottom: 1rem;
}

.form-notification:not(.hidden) {
  animation: fadeIn 0.3s ease-in-out;
}

.notification-success, .notification-error {
  border-radius: 0.25rem;
  box-shadow: 0 1px 3px rgba(0, 0, 0, 0.1);
  position: relative;
}

/* Animated entry when notifications are shown */
.notification-success:not(.hidden), .notification-error:not(.hidden) {
  animation: fadeIn 0.3s ease-in-out;
}

/* Mobile responsive adjustments */
@media (max-width: 640px) {
  .notification-success, .notification-error {
    padding: 0.75rem;
  }
}
/* Focus styles for form inputs */
.input:focus {
  outline: none;
  border-color: #4F299E;
  box-shadow: 0 0 0 2px rgba(79, 41, 158, 0.2);
}

/* Error state for inputs */
.input.error, .input.border-red-500 {
  border-color: #f56565;
}

.input.error:focus, .input.border-red-500:focus {
  box-shadow: 0 0 0 2px rgba(245, 101, 101, 0.2);
}

/* Main container */
.wheel-filter-container {
  font-family: "Arial", sans-serif;
  max-width: 80%;
  padding: 20px;
  position: relative;
  overflow: visible;
}

@media only screen and (max-width: 576px) {
  .wheel-filter-container {
    max-width: 100%;
  }
}
/* Wheel styles */
.wheel {
  position: relative;
  width: 100%;
  max-width: 500px;
  margin: 0 auto 60px;
  border-radius: 50%;
  aspect-ratio: 1/1; /* Maintain perfect circle */
  background-color: #fafafa;
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.1);
  padding: 0; /* Reset inner spacing */
  overflow: visible;
}

.wheel svg {
  width: 100%;
  height: 100%;
  display: block;
  aspect-ratio: 1/1; /* Ensure internal ratio is matched */
}

/* Center circle styles */
.wheel-center {
  position: absolute;
  top: 50%;
  left: 50%;
  transform: translate(-50%, -50%);
  width: clamp(100px, 25%, 160px);
  height: clamp(100px, 25%, 160px);
  background-color: white;
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  z-index: 10;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.12);
  border: 8px solid #f5f5f5;
  transition: all 0.3s ease;
}

.wheel-center:hover {
  box-shadow: 0 6px 16px rgba(0, 0, 0, 0.15);
  transform: translate(-50%, -50%) scale(1.03);
}

.center-content {
  display: flex;
  flex-direction: column;
  align-items: center;
  justify-content: center;
  transform: scale(1);
  text-align: center;
  word-break: break-word;
}

.logo {
  font-weight: bold;
  color: #1a3676;
  font-size: 20px;
  line-height: 1.1;
  margin-bottom: 5px;
}

.logo img {
  max-width: 50px;
  height: auto;
}

.subtitle {
  font-size: 0.75rem;
  font-weight: 600;
  color: #666;
  margin-top: 0.3em;
  text-align: center;
  line-height: 1.2;
}

/* Wheel segment styles */
.wheel-segment {
  cursor: pointer;
  transition: transform 0.2s ease;
}
.wheel-segment:focus {
  outline: none;
}
.wheel-segment:focus .segment-path {
  stroke: none; /* Optional: nice focus color */
  stroke-width: 3px;
}

.segment-path {
  stroke: white;
  stroke-width: 2;
  transition: all 0.3s ease;
}

.segment-hover-path {
  cursor: pointer;
  opacity: 0;
}

/* Improved text styling */
foreignObject div {
  direction: rtl; /* Right-to-left text direction */
  text-align: center;
  color: white;
  font-size: 13px;
  font-family: Arial, sans-serif;
  font-weight: bold;
  text-shadow: 0 1px 2px rgba(0, 0, 0, 0.3);
  word-break: break-word;
  line-height: 1.2;
}

/* Hover and active states */
.wheel-segment:hover .segment-path {
  filter: brightness(0.7);
  transform: translateY(-2px);
}

.wheel-segment.active .segment-path {
  filter: brightness(0.5);
}

/* Filter selections */
.selected-filters-container {
  background-color: #f9f9f9;
  border-radius: 12px;
  padding: 25px;
  margin-bottom: 30px;
  box-shadow: 0 3px 8px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
}

.selected-filters-container:hover {
  box-shadow: 0 5px 15px rgba(0, 0, 0, 0.08);
}

.selected-filters-container h3 {
  margin-top: 0;
  color: #1a3676;
  font-size: 18px;
  margin-bottom: 15px;
  font-weight: 600;
}

.filter-tags {
  display: flex;
  flex-wrap: wrap;
  gap: 12px;
  margin-bottom: 25px;
  min-height: 40px;
}

.filter-tag {
  background-color: #e6f0ff;
  border: 1px solid #ccdcf5;
  border-radius: 20px;
  padding: 8px 16px;
  display: flex;
  align-items: center;
  font-size: 14px;
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
  transition: all 0.2s ease;
}

.filter-tag:hover {
  background-color: #d6e6ff;
  transform: translateY(-2px);
  box-shadow: 0 3px 6px rgba(0, 0, 0, 0.1);
}

.filter-tag .remove-tag {
  margin-left: 8px;
  color: #1a3676;
  cursor: pointer;
  font-weight: bold;
  display: flex;
  align-items: center;
  justify-content: center;
  width: 18px;
  height: 18px;
  border-radius: 50%;
  transition: all 0.2s ease;
}

.filter-tag .remove-tag:hover {
  background-color: #1a3676;
  color: white;
}

.apply-button {
  background-color: #1a3676;
  color: white;
  border: none;
  border-radius: 8px;
  padding: 12px 25px;
  font-size: 16px;
  font-weight: 600;
  cursor: pointer;
  width: 100%;
  transition: all 0.3s ease;
  position: relative;
  overflow: hidden;
  box-shadow: 0 4px 8px rgba(26, 54, 118, 0.2);
}

.apply-button:hover {
  background-color: #0a265a;
  transform: translateY(-2px);
  box-shadow: 0 6px 12px rgba(26, 54, 118, 0.3);
}

.apply-button:active {
  transform: translateY(1px);
  box-shadow: 0 2px 4px rgba(26, 54, 118, 0.2);
}

/* Add a ripple effect for the button */
.apply-button::after {
  content: "";
  position: absolute;
  top: 50%;
  left: 50%;
  width: 5px;
  height: 5px;
  background: rgba(255, 255, 255, 0.5);
  opacity: 0;
  border-radius: 100%;
  transform: scale(1, 1) translate(-50%, -50%);
  transform-origin: 50% 50%;
}

.apply-button:focus:not(:active)::after {
  animation: ripple 1s ease-out;
}

@keyframes ripple {
  0% {
    opacity: 1;
    transform: scale(0, 0);
  }
  20% {
    opacity: 1;
    transform: scale(25, 25);
  }
  100% {
    opacity: 0;
    transform: scale(40, 40);
  }
}
.courses-results {
  min-height: 200px;
  padding: 20px;
  transition: all 0.3s ease;
}

/* Mobile responsive styles */
@media (max-width: 600px) {
  .puc-wheel {
    width: 320px;
    height: 320px;
  }
  .wheel-center {
    width: 100px;
    height: 100px;
  }
  .logo {
    font-size: 16px;
  }
  .subtitle {
    font-size: 10px;
  }
  foreignObject div {
    font-size: 10px;
  }
  .selected-filters-container {
    padding: 15px;
  }
  .filter-tag {
    padding: 6px 12px;
    font-size: 12px;
  }
}
.course-card {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.course-card:hover {
  transform: scale(1.03);
  box-shadow: 0 8px 20px rgba(0, 0, 0, 0.12);
}

* {
  font-family: "Roboto", serif;
}

html {
  background-color: white !important;
  scroll-behavior: smooth;
}

body {
  display: flex;
  flex-direction: column;
  min-height: 100vh;
}
body main {
  flex-grow: 1;
}

.navbar .navbar-start {
  position: relative;
}
.navbar .navbar-start #searchbox, .navbar .navbar-start #hits, .navbar .navbar-start #pagination {
  position: relative;
  z-index: 40;
}

#mobile-menu .menu details > summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
}
#mobile-menu .menu details > summary svg {
  transition: transform 0.3s ease;
}
#mobile-menu .menu details[open] > summary svg {
  transform: rotate(180deg);
}

@media (max-width: 768px) {
  .navbar .navbar-center {
    display: none;
  }
}
.navbar-start {
  justify-content: center !important;
}

.bg-test {
  background: rgb(255, 255, 255);
  background: linear-gradient(0deg, rgb(255, 255, 255) 20%, rgb(79, 41, 158) 20%, rgb(79, 41, 158) 80%, rgb(255, 255, 255) 80%);
  filter: progid:DXImageTransform.Microsoft.gradient(startColorstr="#ffffff",endColorstr="#ffffff",GradientType=1);
}

.bg-gradient {
  background: rgb(0, 121, 106);
  background-image: url("../images/fundo_background_hub_de_conhecimento.png"), linear-gradient(90deg, rgb(0, 121, 106) 25%, rgb(79, 41, 158) 84%);
}

.bg-gradient-diagonal {
  background: rgb(0, 121, 106);
  background: linear-gradient(45deg, rgb(0, 121, 106) 25%, rgb(79, 41, 158) 84%);
}

.bg-gradient-inverted {
  background: rgb(0, 121, 106);
  background-image: url("../images/fundo_background_hub_de_conhecimento.png"), linear-gradient(270deg, rgb(0, 121, 106) 25%, rgb(79, 41, 158) 84%);
}

.bg-gradient-green {
  background: #1CB282;
  background: linear-gradient(90deg, rgb(28, 178, 130) 0%, rgb(1, 174, 214) 60%, rgb(0, 175, 162) 100%);
}

.text-gradient-green {
  background: linear-gradient(90deg, rgb(28, 178, 130) 0%, rgb(1, 174, 214) 60%, rgb(0, 175, 162) 100%);
  -webkit-background-clip: text;
  -webkit-text-fill-color: transparent;
  background-clip: text;
  text-fill-color: transparent;
}

.flow-column {
  flex-flow: column;
}

/* Add this to your CSS */
#cloneNav {
  transition: opacity 0.3s ease;
}

#cloneNav.hidden {
  opacity: 0;
  pointer-events: none;
}

/* Ensure dropdowns in fixed navbar work correctly */
#cloneNav .dropdown-content {
  z-index: 60;
}

/* Additional styling for clone mobile menu */
#cloneMobileMenu {
  transition: opacity 0.3s ease;
}

#cloneMobileMenu.hidden {
  opacity: 0;
  pointer-events: none;
}

.card-hover-zoom:hover {
  transform: scale(1.05);
}

.card:hover figure .card-figure-zoom {
  transform: scale(1.05);
}

.z-60 {
  z-index: 60;
}

.course-card a h3 {
  border-bottom: oklch(86.9% 0.005 56.366deg) solid 2px;
}
.course-card:hover a h3 {
  border-bottom: white solid 2px;
  color: white;
}
.course-card:hover div p {
  color: white;
}

.modal-institucional {
  background-color: oklch(32.166% 0.15275 320.596deg);
}/*# sourceMappingURL=main.css.map */