/* Footer Component Styles */

.budi-footer {
   padding-block: 48px;
   background-color: var(--blue-800);
   color: var(--light);
}

.budi-footer__top {
   border-radius: 8px;
   border: 1px solid #64638e;
   padding: 40px;
}

.budi-footer__wrapper {
   padding-block: 56px;
}

.budi-footer__logo-img {
   width: 127px;
}

.budi-footer__widget-title {
   font-size: 16px;
   line-height: 1.5;
}

.budi-footer__links {
   gap: 12px;
}

.budi-footer__link-item {
   display: flex;
}

.budi-footer__link {
   color: var(--light);
}

.budi-footer__link-icon {
   width: 20px;
}

.budi-footer__link:hover {
   color: var(--blue-300);
}

.budi-footer__link:hover .budi-footer__link-icon {
   filter: invert(15%) sepia(12%) saturate(2571%) hue-rotate(193deg)
      brightness(100%) contrast(105%);
}

.budi-footer__link:hover .budi-footer__link-text {
   text-decoration: underline;
}

.budi-social {
   gap: 32px;
}

.budi-social__icon {
   color: var(--light);
   font-size: 32px;
   line-height: 1;
}

.budi-social__icon:hover {
   color: var(--primary);
}

.budi-footer__bottom {
   padding-top: 56px;
   margin-top: 56px;
   border-top: 1px solid rgb(248 248 255 / 40%);
}

.budi-footer__payment-icons {
   height: 44px;
   width: auto;
   max-width: 100%;
}

.budi-footer__bottom-left {
   gap: 24px;
   align-self: flex-start;
}

.budi-footer__bankid-logo img {
   width: 39px;
}

/* Footer-specific Google Rating positioning */
.budi-footer__google-rating {
   margin-left: 32px;
}

.budi-footer__google-rating .budi-google-rating {
   width: 94px;
}

.budi-footer__bottom-right {
   gap: 40px;
}

.budi-footer__legal-links {
   gap: 40px;
}

/* Footer Responsive Styles */

@media (max-width: 1199px) {
   .budi-footer__payment-icons {
      height: 38px;
   }
   
   .budi-footer__bottom-right {
      gap: 32px;
   }
   
   .budi-footer__legal-links {
      gap: 32px;
   }
}

@media (max-width: 991px) {
   .budi-footer {
      padding-block: 32px;
   }
   
   .budi-footer__top {
      padding: 16px;
   }
   
   .budi-footer__wrapper {
      padding-block: 32px 24px;
   }
   
   .budi-footer__bottom {
      padding-top: 32px;
      margin-top: 32px;
      gap: 32px;
   }
   
   .budi-footer__wrapper .row {
      --bs-gutter-y: 32px;
   }
   
   .budi-footer__widget {
      border-bottom: 1px solid rgb(248 248 255 / 40%);
   }
   
   .budi-footer__widget-title button {
      color: #fff;
      font-weight: 700;
      border: 0;
      padding: 24px 8px 24px 0;
   }

   .budi-footer__widget-title-icon {
      width: 16px;
      height: 16px;
      transition: all 0.3s;
   }

   .budi-footer__widget-title
      button[aria-expanded="true"]
      .budi-footer__widget-title-icon {
      transform: rotate(180deg);
   }
   
   .budi-footer__links.d-grid {
      grid-template-columns: 1fr 1fr;
   }
}

@media (max-width: 767px) {
   .budi-footer__legal-links {
      gap: 12px;
   }
   
   .budi-footer__bottom-right {
      gap: 40px;
   }
   
   .budi-footer__payment-icons {
      height: 44px;
      display: block;
      margin: 0 auto;
   }
} 