body{
    /* background: #f5f9ff !important; */
    font-family: Poppins !important;
}

.heading{
    font-size: 80px !important;
    /* line-height: 110% !important; */
    font-weight: 700 !important;
    font-family: inherit;
    text-align: center;
}

.heading2{
    font-size: 60px !important;
    line-height: 110% !important;
    font-weight: 700 !important;
    font-family: inherit;
    text-align: center;
}

.heading3{
    font-size: 40px !important;
    line-height: 110% !important;
    font-weight: 700 !important;
    font-family: inherit;
    text-align: center;
}

.heading4{
    font-size: 30px !important;
    line-height: 110% !important;
    font-weight: 700 !important;
    font-family: inherit;
    text-align: center;
}

.heading5{
    font-size: 26px !important;
    line-height: 110% !important;
    font-weight: 700 !important;
    font-family: inherit;
}

.chapter{
    font-size: 30px !important;
    line-height: 110% !important;
    font-weight: 600 !important;
    font-family: inherit;
}

.values-section {
    background-color: #fff !important;
    margin: 200px 0 !important;
    padding: 80px 0;
}

.white-bg {
    background-color: #fff !important;
    padding-top: 10px;
    padding-bottom: 2px;
}

.services-list-section {
    background-color: #fff !important;
    padding: 80px 0;
}


.exce-card {
    background-image: linear-gradient(rgba(211, 229, 255, 1), rgba(211, 229, 255, 0));
    border: 0 !important;
    text-align: left !important;
    border-radius: 16px !important;
}

.inno-card {
    background-image: linear-gradient(rgba(255, 245, 206, 1), rgba(255, 245, 206, 0));
    border: 0 !important;
    text-align: center;
    border-radius: 16px !important;
}

.inte-card {
    background-image: linear-gradient(rgba(218, 242, 221, 1), rgba(218, 242, 221, 0));
    border: 0 !important;
    text-align: center;
    border-radius: 16px !important;
}

.empo-card {
    background-image: linear-gradient(rgba(249, 202, 227, 1), rgba(249, 202, 227, 0));
    border: 0 !important;
    text-align: center;
    border-radius: 16px !important;
}



.values-title {
    font-weight: bolder;
    font-size: 24px;
    margin: 20px 0 !important;
}

.values-body {
    font-size: 14px !important;
    font-weight: 500;
}


.loc-style {
    font-weight: bold;
}

.loc-body {
    margin: 0;
    margin-bottom: 8px;
}

.luz-loc, .vi-loc, .min-loc {
    margin-bottom: 32px !important;
}

.luz-loc .btn-link, .vi-loc .btn-link, .min-loc .btn-link {
    text-decoration: none !important;
    padding: 12px 0 !important;
}



.container#about-section {
    display: flex;
    flex-direction: column;
}

.container#values-section {
    display: flex;
    flex-direction: column;
}

.container#loc-section {
    display: flex;
    flex-direction: column;
}

.container#services-section {
    display: flex;
    flex-direction: column;
}


.req {
    color: red;
}

.terms-btn {
    padding: 0 !important;
    color: #000 !important;
    border: none !important;
}

.contact-info {
    padding: 0 !important;
}

.email-btn {
    padding: 0 !important;
    text-decoration: none !important;
    border: none !important;
    margin: 8px;
}

.phone-btn, .loc-btn {
    padding: 0 !important;
    text-decoration: none !important;
    color: #000 !important;
    border: none !important;
    margin: 8px;
}



::placeholder {
  color: #a6abbd !important;
  font-size: 1rem !important;
  opacity: 1; /* Firefox */
}

::-ms-input-placeholder { /* Edge 12-18 */
  font-size: 1rem !important;
  color: #a6abbd !important;
}

.contact-info {
    list-style-type: none;
}

#faq-question {
    font-weight: bold !important;
    box-shadow: inset 0 calc(-1* var(--bs-accordion-border-width)) 0 var(--bs-accordion-border-color);
    background-color: #f5f9ff;
}

.accordion {
    accordion-bg: var(--#{$prefix}body-bg);
}

.accordion-item {
    border: none !important;
}

.accordion-body {
    background-color: #f5f9ff;
}

.accordion-button:not(.collapsed){
    background-color: #f5f9ff  !important;
}

/* Extra small devices (phones, 600px and down) */
@media only screen and (max-width: 600px) {
   .vibal-px20 {
    padding: 0px;
   }

   .vibal-mx {
    margin: 0;
   }

   .vibal-text-align {
    text-align: center;
   }

   .heading, .heading2{
    font-size: 50px !important;
   }

    .about-img {
        padding: 0 10px;
    }

    h1.vibal-header {
        font-weight: 700 !important;
        font-size: 2.5rem !important;
    }

    .services-tab-label {
        font-weight: bold;
        text-align: center;
    }

    button.vibal-services-btn {
        background-color: none !important;
        color: #000 !important;
        width: 100%;
        text-align: center;
    }

    button.vibal-services-btn.active {
        background-color: #eef5ff !important;
        color: #4d96ff !important;
        font-weight: bold;
        width: 100%;
        text-align: center;
    }
}


/* Small devices (portrait tablets and large phones, 600px and up) */
@media only screen and (min-width: 600px) {
   .vibal-px {
    padding: 0 16px;
   }

   .vibal-mx {
    margin: 0 16px;
   }

    .about-img {
        padding: 0 20px;
    }

    .values-card {
        padding: 16px 16px !important;
    }

    h1.vibal-header {
        font-weight: 700 !important;
        font-size: 3rem !important;
    }

    .services-tab-label {
        font-weight: bold;
        text-align: left;
    }

    button.vibal-services-btn {
        background-color: none !important;
        color: #000 !important;
        width: 210px;
        text-align: left;
    }

    button.vibal-services-btn.active {
        background-color: #eef5ff !important;
        color: #4d96ff !important;
        font-weight: bold;
        width: 210px;
        text-align: left;
    }
}

/* Medium devices (landscape tablets, 768px and up) */
@media only screen and (min-width: 768px) {
   .vibal-px {
    padding: 0 20px;
   }

   .vibal-mx {
    margin: 0 20px;
   }

   .vibal-text-align {
    text-align: left;
   }

   .vibal-width{
    width: 90% !important;
   }

    .about-img {
        padding: 0 40px;
    }

    .values-card {
        padding: 16px 24px !important;
    }

    h1.vibal-header {
        font-weight: 700 !important;
        font-size: 3rem !important;
    }

    .services-tab-label {
        font-weight: bold;
        text-align: left;
    }

    button.vibal-services-btn {
        background-color: none !important;
        color: #000 !important;
        width: 210px;
        text-align: left;
    }

    button.vibal-services-btn.active {
        background-color: #eef5ff !important;
        color: #4d96ff !important;
        font-weight: bold;
        width: 210px;
        text-align: left;
    }
}

/* Large devices (laptops/desktops, 992px and up) */
@media only screen and (min-width: 992px) {
   .vibal-px {
    padding: 0 50px;
   }

   .vibal-mx {
    margin: 0 20px;
   }

   .vibal-text-align {
    text-align: left;
   }

   .vibal-width{
    width: 85% !important;
   }

    .about-img {
        padding: 0 80px;
    }

    .about-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .values-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .loc-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .values-card {
        padding: 16px 32px !important;
    }

    .services-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    h1.vibal-header {
        font-weight: 700 !important;
        font-size: 3rem !important;
    }

    .services-tab-label {
        font-weight: bold;
        text-align: left;
    }

    button.vibal-services-btn {
        background-color: none !important;
        color: #000 !important;
        width: 210px;
        text-align: left;
    }

    button.vibal-services-btn.active {
        background-color: #eef5ff !important;
        color: #4d96ff !important;
        font-weight: bold;
        width: 210px;
        text-align: left;
    }
}

/* Extra large devices (large laptops and desktops, 1200px and up) */
@media only screen and (min-width: 1200px) {
   .vibal-px {
    padding: 0 150px;
   }

   .vibal-mx {
    margin: 0 100px;
   } 

   .vibal-text-align {
    text-align: left;
   }

   .vibal-width{
    width: 75% !important;
   }

    .about-img {
        padding: 0 160px;
    }

    .about-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .values-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .loc-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    .values-card {
        padding: 16px 48px !important;
    }

    .services-container {
        padding: 80px 0 !important;
        width: 700px !important;
        align-self: center;
    }

    h1.vibal-header {
        font-weight: 700 !important;
        font-size: 3rem !important;
    }

    button.vibal-services-btn {
        background-color: none !important;
        color: #000 !important;
        width: 210px;
        text-align: left;
    }

    button.vibal-services-btn.active {
        background-color: #eef5ff !important;
        color: #4d96ff !important;
        font-weight: bold;
        width: 210px;
        text-align: left;
    }

    div#contact-us-section {
        margin-top: 100px !important;
    }
}


p.vibal-style{
    text-align: center;
}


.vibal-footerNav a{
    font-size: 15px;
    font-weight: 500;
    color: #0b0a33 !important;
}

.vibal-footerNav a:hover {
    text-decoration: none;
    color: #0E547E !important;
}





/* Vibal Video Styles */
#video_box{
    position:relative;
}
#video_overlays {
    position:absolute;
    z-index:-300000;
    text-align:center;
}



.vibal-bold{
    font-weight: 700;
}

.vibal-italic{
    font-style: italic;
}



.vibal-text-left{
    text-align: left;
}

.vibal-text-right{
    text-align: right;
}

.vibal-text-center{
    text-align: center;
}



.vibal-mt10{
    margin-top: 10px;
}

.vibal-mt20{
    margin-top: 20px;
}

.vibal-mt30{
    margin-top: 30px;
}

.vibal-mt40{
    margin-top: 40px;
}

.vibal-mt50{
    margin-top: 50px;
}

.vibal-mt60{
    margin-top: 60px;
}

.vibal-mt70{
    margin-top: 70px;
}

.vibal-mt80{
    margin-top: 80px;
}

.vibal-mt90{
    margin-top: 90px;
}

.vibal-mt100{
    margin-top: 100px;
}

.vibal-mx10{
    margin: 0 10px;
}

.vibal-mx20{
    margin: 0 20px;
}

.vibal-mx30{
    margin: 0 30px;
}

.vibal-mx40{
    margin: 0 40px;
}

.vibal-mx50{
    margin: 0 50px;
}

.vibal-mx60{
    margin: 0 60px;
}

.vibal-mx70{
    margin: 0 70px;
}

.vibal-mx80{
    margin: 0 80px;
}

.vibal-mx90{
    margin: 0 90px;
}

.vibal-mx100{
    margin: 0 100px;
}

.vibal-my10{
    margin: 10px 0;
}

.vibal-my20{
    margin: 20px 0;
}

.vibal-my30{
    margin: 30px 0;
}

.vibal-my40{
    margin: 40px 0;
}

.vibal-my50{
    margin: 50px 0;
}

.vibal-my60{
    margin: 60px 0;
}

.vibal-my70{
    margin: 70px 0;
}

.vibal-my80{
    margin: 80px 0;
}

.vibal-my90{
    margin: 90px 0;
}

.vibal-my100{
    margin: 100px 0;
}

.vibal-ml10{
    margin-left: 10px;
}

.vibal-ml20{
    margin-left: 20px;
}

.vibal-ml30{
    margin-left: 30px;
}

.vibal-ml40{
    margin-left: 40px;
}

.vibal-ml50{
    margin-left: 50px;
}

.vibal-ml60{
    margin-left: 60px;
}

.vibal-ml70{
    margin-left: 70px;
}

.vibal-ml80{
    margin-left: 80px;
}

.vibal-ml90{
    margin-left: 90px;
}

.vibal-ml100{
    margin-left: 100px;
}



.vibal-mr10{
    margin-right: 10px;
}

.vibal-mr20{
    margin-right: 20px;
}

.vibal-mr30{
    margin-right: 30px;
}

.vibal-mr40{
    margin-right: 40px;
}

.vibal-mr50{
    margin-right: 50px;
}

.vibal-mr60{
    margin-right: 60px;
}

.vibal-mr70{
    margin-right: 70px;
}

.vibal-mr80{
    margin-right: 80px;
}

.vibal-mr90{
    margin-right: 90px;
}

.vibal-mr100{
    margin-right: 100px;
}



.vibal-py10{
    padding: 10px 0;
}

.vibal-py20{
    padding: 20px 0;
}

.vibal-py30{
    padding: 30px 0;
}

.vibal-py40{
    padding: 40px 0;
}

.vibal-py50{
    padding: 50px 0;
}

.vibal-py60{
    padding: 60px 0;
}

.vibal-py70{
    padding: 70px 0;
}

.vibal-py80{
    padding: 80px 0;
}

.vibal-py90{
    padding: 90px 0;
}

.vibal-py100{
    padding: 100px 0;
}




.vibal-px10{
    padding: 0 10px;
}

.vibal-px20{
    padding: 0 20px;
}

.vibal-px30{
    padding: 0 30px;
}

.vibal-px40{
    padding: 0 40px;
}

.vibal-px50{
    padding: 0 50px;
}

.vibal-px60{
    padding: 0 60px;
}

.vibal-px70{
    padding: 0 70px;
}

.vibal-px80{
    padding: 0 80px;
}

.vibal-px90{
    padding: 0 90px;
}

.vibal-px100{
    padding: 0 100px;
}



.vibal-pt10{
    padding-top: 10px;
}

.vibal-pt20{
    padding-top: 20px;
}

.vibal-pt30{
    padding-top: 30px;
}

.vibal-pt40{
    padding-top: 40px;
}

.vibal-pt50{
    padding-top: 50px;
}

.vibal-pt60{
    padding-top: 60px;
}

.vibal-pt70{
    padding-top: 70px;
}

.vibal-pt80{
    padding-top: 80px;
}

.vibal-pt90{
    padding-top: 90px;
}

.vibal-pt100{
    padding-top: 100px;
}

.row.g-5 {
  --bs-gutter-x: 48px; /* horizontal gap */
  --bs-gutter-y: 48px; /* vertical gap */
}

.icon-card-link {
  text-decoration: none;  /* Remove underline */
  color: #0B0A33;           /* Always black text */
}

.icon-card-link:hover {
  color: #0B0A33;           /* Keep black on hover */
}

.icon-card {
  border: 1px solid #ddd;      
  border-radius: 12px;         
  transition: all 0.3s ease;   
  background: #fff;            
}

.icon-card:hover {
  border-color: #4381C1;          
  box-shadow: 0 4px 12px rgba(0,0,0,0.1);
  transform: translateY(-4px);
  cursor: pointer;             
}

.vibal-padding-bottom {
    padding-bottom: 60px;
    /* padding-top: 20px; */
}

.see-all-card {
  margin-bottom: 24px;
}

.see-all-link {
  display: flex;
  align-items: center;
  justify-content: center;
  width: 100%;
  aspect-ratio: 1/1;
  border: 1px solid #1a1a3c;
  border-radius: 16px;
  font-weight: 600;
  text-decoration: none;
  color: #1a1a3c;
  transition: all 0.3s ease;
}

.see-all-link:hover {
  border-color: #4381C1;
  background-color: #e8f1fb; /* lighter version of #4381C1 */
  color: #1a1a3c; /* keep text dark */
}

.book-section {
  background: linear-gradient(to bottom, 
  #ffffff 0%,       /* white at the top */
  #4A90E2 50%,      /* blue in the middle */
  #ffffff 100%      /* white at the bottom */
);
  width: 100%;
}

.book-card {
  transition: all 0.3s ease;
  width: 100%;
  margin: 0 auto;
  display: flex;
  justify-content: center;
  align-items: center; /* if you want to center its content vertically too */
}



.book-card:hover {
  transform: translateY(-8px);
  box-shadow: 0 8px 24px rgba(0, 0, 0, 0.15);
}

/* Add margin on small screens so the card doesn't touch edges */
@media (max-width: 576px) {
  .book-section {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.chapter-details {
    text-align: left;
}

/* Add margin on small screens so the card doesn't touch edges */
@media (max-width: 576px) {
  .chapter-details {
    padding-left: 1rem;
    padding-right: 1rem;
  }
}

.book-cover {
  aspect-ratio: 3 / 4;         /* Maintain 3:4 ratio */
  overflow: hidden;            /* Hide overflow */
  border-radius: 0.75rem;      /* Match rounded-3 look */
}

.book-cover img {
  width: 100%;
  height: 100%;
  object-fit: cover;           /* Crop while preserving ratio */
  display: block;
}

.video-style {
    border-radius: 20px;
    overflow: hidden;
    box-shadow: 0 24px 44px rgba(12,126,244,0.20);
}

.video-player {
    width:100%;
    height:100%;
    object-fit:cover;
    border-radius:20px;
}

.ratio-4-3 {
  position: relative;
  width: 100%;
  padding-top: 75%; /* (3/4)*100% for 4:3 ratio */
  overflow: hidden;
}

.ratio-4-3 img {
  position: absolute;
  top: 0;
  left: 0;
  width: 100%;
  height: 100%;
  object-fit: cover; /* fills container without distortion */
}

.two-line-ellipsis {
  display: -webkit-box !important;
  -webkit-line-clamp: 2; /* limit to 2 lines */
  -webkit-box-orient: vertical;
  overflow: hidden;
  text-overflow: ellipsis;
}

.text-left {
    text-align: left;
}


/* ✅ Default - mobile view */
.navbar-collapse {
  display: none;   /* nakatago sa simula */
  width: 100%;
}

.navbar-collapse.show {
  display: block;  /* lalabas pag may .show */
}

.navbar-nav {
  flex-direction: column;
  gap: 10px;
  padding-left: 0;
  margin-bottom: 0;
  list-style: none;
}

/* ✅ Desktop view (≥992px) */
@media (min-width: 992px) {
  .navbar-collapse {
    display: flex !important;   /* laging visible */
    justify-content: flex-end;
  }

  .navbar-nav {
    flex-direction: row;  /* horizontal */
    gap: 20px;
  }
}

.facebook-share-btn {
  display: block;              /* full width */
  width: 100%;                 
  padding: 12px 0;             /* top & bottom padding */
  background-color: #1877f2;   /* FB blue */
  color: #fff;                 
  text-align: center;          /* center the label */
  text-decoration: none;
  font-size: 16px;
  font-weight: 600;
  transition: background 0.3s;
}

.facebook-share-btn:hover {
  background-color: #145dbf;   /* darker blue on hover */
}

.floating-fb-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  width: 60px;
  height: 60px;
  background-color: #1877f2;
  color: #fff;
  border-radius: 50%;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 28px;
  text-decoration: none;
  box-shadow: 0 4px 6px rgba(0,0,0,0.2);
  transition: opacity 0.3s, transform 0.3s;
  z-index: 9999;
}
.floating-fb-btn:hover {
  background-color: #145dbf;
  transform: scale(1.1);
  color: #fff;
}
.floating-fb-btn.hidden {
  opacity: 0;
  pointer-events: none;
}

.hover-checkout:hover {
  border-color: #007bff; /* blue outline */
}

.pagination .page-item .page-link {
  color: #007bff;
  border: none; /* Remove border from inactive pages */
  border-radius: 0.375rem;
  transition: all 0.2s ease-in-out;
  background-color: transparent;
}

.pagination .page-item.active .page-link {
  background-color: #007bff;
  color: #fff;
  border: 1px solid #007bff; /* Only active has border */
}

.pagination .page-item .page-link:hover {
  background-color: #e9f3ff;
  color: #007bff;
  border: none; /* Keep hover clean with no border */
}

.pagination .page-item.disabled .page-link {
  color: #aaa;
  background-color: transparent;
  border: none;
}

.breadcrumb {
  font-size: 14px;
  color: #555;
}
.breadcrumb a {
  color: #007bff;
  text-decoration: none;
}
.breadcrumb a:hover {
  text-decoration: underline;
}

.breadcrumb span[property="name"] {
    display: inline-block;
    padding: 0;
    margin-top: -3px;
    vertical-align: middle;
    max-width: 30ch; /* ✅ roughly 30 characters */
    white-space: nowrap;
    overflow: hidden;
    text-overflow: ellipsis;
}


/* Search container */
.search-container {
  max-width: 700px;
  margin: 2rem 0; /* ← replaces auto (centered) margin */
  text-align: left;
}

/* Modern search bar */
#live-search {
  border: 1px solid #bcc6cf;
  border-radius: 50px;
  padding: 14px 20px;
  font-size: 16px;
  background: #ecf3fb;
  box-shadow: 0 4px 10px rgba(0, 0, 0, 0.05);
  transition: all 0.3s ease;
  color: #333;
}

/* Focus effect */
#live-search:focus {
  border-color: #4A90E2;
  box-shadow: 0 0 0 4px rgba(74, 144, 226, 0.15);
  outline: none;
}

/* Placeholder styling */
#live-search::placeholder {
  color: #3e4145;
  /* font-style: italic; */
}

/* Search results dropdown */
#live-search-results {
  margin-top: 10px;
  border-radius: 12px;
  background: #ecf3fb;
  box-shadow: 0 8px 16px rgba(0, 0, 0, 0.08);
  overflow: hidden;
  max-height: 350px;
  overflow-y: auto;
  transition: all 0.3s ease;
}

/* Search result items */
#live-search-results .list-group-item {
  border: none;
  border-bottom: 1px solid #f1f5f9;
  padding: 12px 18px;
  transition: all 0.2s ease;
  cursor: pointer;
}

#live-search-results .list-group-item:hover {
  background-color: #f7fafe;
  color: #4A90E2;
}

/* Optional subtle hover lift */
#live-search:hover {
  transform: translateY(-1px);
  box-shadow: 0 6px 12px rgba(0, 0, 0, 0.08);
}

#live-search-form {
  position: relative;
}

#live-search-form .fa-search {
  pointer-events: none; /* makes icon not clickable */
  font-size: 1rem;
}

.shop-link {
  transition: color 0.3s ease;
}

.shop-link:hover {
  color: #007bff;
}

.shop-link:hover i {
  transform: translateX(5px);
  transition: transform 0.3s ease;
}

.category-card {
  position: relative;
  background: var(--card-bg);
  border-radius: 1.5rem;
  height: 230px;
  display: flex;
  align-items: center;
  justify-content: center;
  overflow: hidden;
  transition: all 0.4s ease;
  padding: 10px;
  z-index: 1;
}

/* animated outline (color matches button) */
.category-card::before {
  content: "";
  position: absolute;
  inset: 0;
  border-radius: inherit;
  padding: 2px;
  background: linear-gradient(120deg,
    var(--stroke-color),
    color-mix(in srgb, var(--stroke-color), white 40%),
    var(--stroke-color)
  );
  background-size: 300% 300%;
  -webkit-mask:
    linear-gradient(#fff 0 0) content-box,
    linear-gradient(#fff 0 0);
  -webkit-mask-composite: xor;
  mask-composite: exclude;
  animation: borderGradient 6s linear infinite;
  opacity: 0;
  transition: opacity 0.4s ease;
  z-index: 0;
}

.category-card:hover::before {
  opacity: 1;
}

@keyframes borderGradient {
  0% { background-position: 0% 50%; }
  50% { background-position: 100% 50%; }
  100% { background-position: 0% 50%; }
}

.category-card:hover {
  transform: translateY(-6px);
  box-shadow: 0 14px 34px rgba(34, 135, 242, 0.15);
}

.category-inner {
  position: relative;
  text-align: center;
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: 1.5rem;
  z-index: 1;
}

.category-inner h3 {
  font-size: 1.4rem;
  font-weight: 700;
  color: #1b1b1b;
  margin: 0;
  text-transform: capitalize;
}

.icon-circle {
  width: 3rem;
  height: 3rem;
  background: var(--btn-bg);
  border-radius: 50%;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: all 0.3s ease;
}

.category-card:hover .icon-circle {
  transform: scale(1.1) translateY(-3px);
  background: var(--btn-bg);
}

.icon-circle span {
  color: #fff;
  font-size: 1.6rem;
}

.category-card-link {
  text-decoration: none;
  display: block;
}