:root{
    --pink-50: #fff1f6;
    --pink-100: #ffd7ea;
    --pink-300: #ff9ccf;
    --pink-500: #ff6fa6;
    --pink-700: #e24a85;
    --muted: #6b6b6b; 
    --pink: #ff5fa2;
    --pink-light: #ffe4ef;
    --gray-light: #f9f9f9;
    --dark: #2c2c2c; 

    --card-shadow: 0 8px 15px rgba(198,40,90,0.08);
    font-family: 'Inter', system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial;
}

    body { 
        background: linear-gradient(180deg,var(--pink-50), #fff); 
        color: #111; 
        font-family: 'Poppins', sans-serif;
    }








    /* Navbar brand text */
    .text-pink {
        color: var(--pink);
    }

    /* Navbar link styles */
    .navbar .nav-link {
        color: #444;
        font-weight: 500;
        margin: 0 8px;
        position: relative;
        transition: color 0.3s ease;
    }

    /* Hover underline and color */
    .navbar .nav-link:hover {
        color: var(--pink);
    }

    .navbar .nav-link::after {
        content: "";
        position: absolute;
        left: 0;
        bottom: -4px;
        width: 0%;
        height: 2px;
        background-color: var(--pink);
        transition: width 0.3s ease;
    }

    .navbar .nav-link:hover::after {
        width: 100%;
    }

    /* Active link (highlight) */
    .navbar .nav-link.active {
        color: var(--pink);
        font-weight: 600;
    }

    .navbar .nav-link.active::after {
    width: 100%;
    }

    /* Navbar scroll effect */
    .navbar.scrolled {
        background-color: #fff;
        box-shadow: 0 4px 20px rgba(255, 111, 166, 0.2);
        transition: all 0.3s ease;
    }

    .navbar {
        transition: all 0.3s ease;
    }

    .navbar-brand { font-weight: 800; color: rgb(67, 67, 67); }

    @media (max-width: 991.98px) {
        .navbar-nav .nav-item {
            margin-bottom: 0.75rem; /* or use padding-bottom if you prefer */
            
        }

        /* Optionally center the links for a cleaner mobile view */
        .navbar-nav {
            text-align: center;
        }

        /* Slightly larger touch area for mobile users */
        .navbar-nav .nav-link {
            padding: 0.6rem 1rem;
        }
    }

    .navbar-brand span {
    font-size: 1.25rem; /* default desktop size */
    }

    .hero-banner {
      background-image: url('../img/next-gen-digital-tools-banner.png');
      background-size: cover;
      background-position: center;
      width: 100%;
      /* Desktop Height */
      min-height: 400px; 
      /* Desktop Shadow */
      box-shadow: 0 2px 8px rgba(0, 0, 0, 0.3);
      
      display: flex;
      padding: 2rem;
    }

    /* Mobile View Adjustments (Screens smaller than 768px) */
    @media (max-width: 767px) {
      .hero-banner {
        min-height: 200px; 
        /* padding: 1.5rem 1rem; */
        
        /* Remove the shadow for mobile */
        box-shadow: none; 
        
        /* Optional: If the image looks too small, you can adjust the focus */
        background-position: center center;
      }
    }

    /* When screen is smaller (mobile view) */
    @media (max-width: 768px) {
      .navbar-brand span {
          font-size: .9rem; /* slightly smaller text on mobile */
      }

      /* .hero .lead {
        font-size: .9em;
      } */

      .return-to-products{
        font-size: .8em;
      }
    }





    /* Mobile view */
    @media (max-width: 640px) {
      .order-table {
        width: 100%;
        border-collapse: collapse;
      }

      .order-table tr {
        display: block;
        margin-bottom: 15px;
        border-bottom: 1px solid #ddd;
        padding-bottom: 15px;
      }

      .order-table td {
        display: flex;
        justify-content: space-between;
        width: 100%;
        padding: 6px 0;
      }

      .order-table td::before {
        content: attr(data-label);
        font-weight: 600;
        color: #444;
      }

      /* Hide table headers on mobile */
      .order-table thead {
        display: none;
      }
    }







    /* 🌸 Hero Section Styling */
    /* ✨ Buttons */
    .btn-pink {
        background-color: #fff;
        color: #ff5fa2;
        border: none;
        font-weight: 600;
        padding: 0.75rem 2rem;
        border-radius: 15px;
        transition: all 0.3s ease;
    }

    .btn-pink:hover {
        background-color: #ff5fa2;
        color: #fff;
        box-shadow: 0 0 20px rgba(255, 111, 166, 0.7);
        transform: translateY(-2px);
    }

    .btn-pink-modal {
    background: linear-gradient(135deg, #ff7da5, #ff5f8f);
    color: #fff;
    border: none;
    transition: all 0.3s ease;
    }

    .btn-pink-modal:hover {
    color: #fff;
    background: linear-gradient(135deg, #ff5f8f, #ff3f75);
    transform: scale(1.05);
    box-shadow: 0 0 10px rgba(255, 95, 143, 0.4);
    }

    .custom-outline {
    border: 2px solid #fff;
    color: #fff;
    font-weight: 500;
    padding: 0.75rem 2rem;
    border-radius: 15px;
    transition: all 0.3s ease;
    }

    .custom-outline:hover {
    background-color: #fff;
    color: #ff5fa2;
    box-shadow: 0 0 20px rgba(255, 255, 255, 0.4);
    }

    @keyframes float {
    0%, 100% { transform: translateY(0); }
    50% { transform: translateY(-10px); }
    }









    
    /* 🎀 Inputs + Selects unified design */
    .theme-input,
    .theme-select {
    background: #fff; /* pure white field */
    border: none !important;
    outline: none !important;
    border-radius: 12px;
    padding: 0.75rem 1rem;
    font-size: 0.95rem;
    color: #444;
    height: 48px;
    width: 100%;
    transition: all 0.25s ease-in-out;
    box-shadow: 0 2px 6px rgba(255, 79, 162, 0.08);
    }

    /* ✨ Focus state (bright pink, thin outline) */
    .theme-input:focus,
    .theme-select:focus {
    box-shadow: 0 0 0 2px rgba(255, 79, 162, 0.8);
    background-color: #fff;
    }

    /* 🔍 Search wrapper */
    .search-wrap {
    background: #fff;
    border-radius: 12px;
    height: 48px;
    padding-right: 8px;
    box-shadow: 0 2px 6px rgba(255, 79, 162, 0.08);
    transition: all 0.25s ease-in-out;
    }

    /* Remove Bootstrap inner border/focus */
    .search-wrap .form-control,
    .search-wrap .form-control:focus {
    border: none !important;
    box-shadow: none !important;
    outline: none !important;
    background: transparent;
    }

    /* Focus glow only outside */
    .search-wrap:focus-within {
    box-shadow: 0 0 0 2px rgba(255, 79, 162, 0.8);
    }

    /* 🖤 Reset Button - Dark Theme */
    .btn-reset {
    background: linear-gradient(135deg, #ff8fc8, #ff4fa2);
    color: #fff;
    font-weight: 600;
    border: none;
    border-radius: 12px;
    padding: 0.55rem 1.25rem;
    height: 48px;
    transition: all 0.25s ease-in-out;
    box-shadow: 0 2px 6px rgba(255, 79, 162, 0.3);
    }

    .btn-reset:hover {
    background: linear-gradient(135deg, #ff4fa2, #ff8fc8);
    box-shadow: 0 0 10px rgba(255, 79, 162, 0.5);
    color: #fff;
    transform: translateY(-2px);
    }

    /* Ensure select same height */
    .theme-select {
    line-height: normal;
    }










    #products > h3 {
        color: rgb(67, 67, 67);
    }

    /* .product-card {
      border-radius: 14px; overflow: hidden; transition: transform .15s ease, box-shadow .15s ease;
      box-shadow: var(--card-shadow);
      background: #fff;
    }

    .product-card:hover { transform: translateY(-6px); box-shadow: 0 18px 50px rgba(198,40,90,0.08); } */
    
    /* --- Price --- */
    .text-price {
        color: #6b4e71; /* deep mauve fits pastel pink theme */
        font-size: 1.3rem;
    }

    /* --- Product Card --- */
    .product-card {
    border-radius: 12px;
    transition: all 0.25s ease;
    overflow: hidden;
    background: #fff;
    }

    .product-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 6px 15px rgba(255, 85, 155, 0.2);
    }

    /* --- Pink theme elements --- */
    .text-pink {
    color: #ff3e9e;
    }

    /* --- Buttons --- */
    /* --- View Button --- */
    .btn-view {
    background-color: #6c63ff; /* lavender-blue accent */
    color: #fff;
    border: none;
    transition: 0.3s ease;
    }
    .btn-view:hover {
    background-color: #5a54e5;
    color: #fff;
    transform: translateY(-2px);
    box-shadow: 0 4px 10px rgba(108, 99, 255, 0.3);
    }

    /* --- Buy Button --- */
    .btn-buy {
    background: linear-gradient(135deg, #ff9eb6, #f26d8e);
    color: #fff;
    border: none;
    transition: 0.3s ease;
    }
    .btn-buy:hover {
    background: linear-gradient(135deg, #f26d8e, #e3557e);
    color: #fff;
    transform: translateY(-2px);
    /* box-shadow: 0 4px 10px rgba(242, 109, 142, 0.35); */
    }

    /* --- Icon spacing --- */
    .btn i {
    vertical-align: middle;
    }

    /* --- Responsive look: stack on mobile --- */
    @media (max-width: 576px) {
    .d-flex.justify-content-between.gap-2 {
        flex-direction: column;
    }
    .btn {
        width: 100%;
    }
    }


    /* --- Image clickable style --- */
    .card-img-wrap {
    position: relative;
    cursor: pointer;
    }

    .card-img-wrap img {
    transition: transform 0.25s ease, filter 0.25s ease;
    }

    .card-img-wrap:hover img {
    transform: scale(1.05);
    filter: brightness(1.05);
    }








    /* --- About Section --- */
    .about-section {
    background: #fff;
    padding: 3rem 1rem;
    border-radius: 16px;
    }

    /* --- Logo container --- */
    .logo-container {
        height: 380px;
        display: flex;
        align-items: center;
        justify-content: center;
        background: linear-gradient(135deg, #ffe1f0, #ffd6ec);
        border-radius: 16px;
        overflow: hidden;
        box-shadow: 0 6px 20px rgba(255, 62, 158, 0.15);
        padding: .5rem;
    }

    /* --- Logo image (zoomed to fit nicely) --- */
    #brandLogo {
    width: 100%;
    height: 100%;
    object-fit: cover;       /* fills the container without empty space */
    object-position: center; /* centers the image inside */
    border-radius: 10px;
    transition: transform 0.4s ease;
    }

    /* Optional: subtle hover zoom for nice effect */
    #brandLogo:hover {
        transform: scale(1.1);
    }

    /* --- Text Styling --- */
    .about-section h3 {
    letter-spacing: 1px; 
    color: rgb(67, 67, 67);
    }

    .about-section h6 {
    font-size: 1.5rem;
    color: rgb(67, 67, 67);
    }

    .about-section p {
    line-height: 1.7;
    color: #555;
    }

    /* --- Pink accent reused --- */
    .text-pink {
    color: #ff3e9e;
    }

    /* --- Responsive adjustment --- */
    @media (max-width: 768px) {
    .logo-container {
        height: 200px;
        margin-bottom: 1.5rem;
    }
    }










    /* --- Footer --- */
    .footer-section{
        background: linear-gradient(135deg, #ff6fa5, #d95980);
    }

    .footer-text {
        color: #fff;
        font-size: .85rem;
    }

    /* --- Social Icons --- */
    .footer-social .social-link {
    font-size: 1rem;
    display: inline-flex;
    align-items: center;
    justify-content: center;
    width: 30px;
    height: 30px;
    border-radius: 5px;
    text-decoration: none;
    }

    /* YouTube Original Color */
    .footer-social .youtube {
      background: #FF0000;
      color: #fff;
    }

    /* Facebook Original Color */
    .footer-social .facebook {
    background: #1877f2;
    color: #fff;
    }


    /* TikTok Original Color */
    .footer-social .tiktok {
    background: #000;
    color: #fff;
    position: relative;
    }


    /* Add subtle TikTok dual-tone effect */
    .footer-social .tiktok i {
    background: linear-gradient(135deg, #25f4ee 0%, #fe2c55 100%);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    }

    /* Responsive tweak */
    @media (max-width: 768px) {
        .footer-section .container {
            text-align: center;
        }
    }










    /* Reviews */
    .review-card { border-radius:12px; background: #fff; padding: 1rem; box-shadow: var(--card-shadow); }


    /* Responsive tweaks */
    @media (max-width: 767px){
      /* .hero { padding: 28px 18px; text-align: left; } */
    }


    .navbar-brand img:hover {
        transform: scale(1.05);
        transition: transform 0.3s ease;
    }



    .delete-btn {
  border-color: #ff7da5;
  color: #ff5f8f;
  transition: all 0.3s ease;
}

.delete-btn:hover {
  background: linear-gradient(135deg, #ff7da5, #ff5f8f);
  color: #fff;
  box-shadow: 0 0 8px rgba(255, 95, 143, 0.4);
  border-color: transparent;
}





.bg-pink {
  background: linear-gradient(135deg, #ff7da5, #ff5f8f);
}

.btn-outline-pink {
  border-color: #ff7da5;
  color: #ff5f8f;
  transition: all 0.3s ease;
}
.btn-outline-pink:hover, .payment-btn.active {
  background: linear-gradient(135deg, #ff7da5, #ff5f8f);
  color: #fff;
  border-color: transparent;
}

#filePreview img {
  max-width: 200px;
  border-radius: 10px;
  box-shadow: 0 0 8px rgba(0,0,0,0.1);
}




/* PayMaya (green) */
.btn-paymaya {
  background-color: #000000;
  color: #fff;
  border: none;
}
.btn-paymaya:hover {
  background-color: #000000;
  color: #fff;
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}

/* GCash (blue) */
.btn-gcash {
  background-color: #007dfe;
  color: #fff;
  border: none;
}
.btn-gcash:hover {
  background-color: #007dfe;
  color: #fff;
  transform: scale(1.05); /* zoom effect */
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}

/* Metrobank (deep blue) */
.btn-seabank {
  background-color: #ffffff;
  color: #fff;
  border: none;
}

.btn-seabank:hover {
  background-color: #ffffff;
  color: #fff;
  transform: scale(1.05); /* zoom effect */
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}

/* BDO (gold/blue) */
.btn-bdo {
  background-color: #00448a;
  color: #fff;
  border: none;
}
.btn-bdo:hover {
  background-color: #00376f;
  color: #fff;
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}

/* UnionBank (orange) */
.btn-unionbank {
  background-color: #ff6f00;
  color: #fff;
  border: none;
}
.btn-unionbank:hover {
  background-color: #e65f00;
  color: #fff;
  transform: scale(1.05); /* zoom effect */
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}
.btn-wise {
  background-color: #87ea5c;
  color: #fff;
  border: none;
  height: 100px;
}
.btn-wise:hover {
  background-color: #87ea5c;
  color: #fff;
  transform: scale(1.05); /* zoom effect */
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}

.btn-paypal {
  background-color: #ffffff;
  color: #fff;
  border: none;
  height: 100px;
}
.btn-paypal:hover {
  background-color: #ffffff;
  color: #fff;
  transform: scale(1.05); /* zoom effect */
  transform: scale(1.1); /* zoom effect */
  transition: transform 0.4s ease;
}



.carousel-item img,
.carousel-item video {
  width: 100%;
  object-fit: contain;
  background: #f9f9f9;
}

.carousel-control-prev-icon,
.carousel-control-next-icon {
  padding: 0px;
  width: 10px;
  height: 10px;
}


.carousel-control-prev,
.carousel-control-next {
  position: absolute;
  top: 50%;
  transform: translateY(-50%);
  width: auto;
  height: auto;
  padding: 10px;
  border-radius: 50%;
  background: rgba(255, 95, 143, 0.15); /* soft pink hover zone */
  transition: background 0.3s ease;
  bottom: auto;
}

.carousel-control-prev:hover,
.carousel-control-next:hover {
  background: rgba(255, 95, 143, 0.3);
}

/* change arrow color */
.carousel-control-prev-icon,
.carousel-control-next-icon {
  filter: invert(55%) sepia(75%) saturate(4895%) hue-rotate(315deg) brightness(103%) contrast(101%);
  /* this filter turns white SVGs into #ff5f8f */
  width: 24px;
  height: 24px;
}



.carousel-indicators [data-bs-target] {
  background-color: #ff5f8f; /* your CMS theme color */
}

.carousel-indicators {
  bottom: -30px;
}


/* Default: mobile-friendly (auto height) */
video.d-block.w-100.rounded {
  height: auto;
  max-height: 70vh;
  object-fit: cover;
}

/* For desktop and laptop screens (≥ 992px) */
@media (min-width: 992px) {
  video.d-block.w-100.rounded {
    height: 720px; /* or any height you prefer */
    object-fit: cover;
  }
}





.payment-details-container {
    background: #fff;
    border-radius: 12px;
    box-shadow: 0 2px 10px rgba(0,0,0,0.08);
    padding: 1.5rem;
    transition: all 0.3s ease;
  }

  .payment-details-container h6 {
    color: #2b2d42;
    font-weight: 700;
    border-bottom: 2px solid #f1f1f1;
    padding-bottom: 0.5rem;
    margin-bottom: 1rem;
  }

  .payment-info p {
    margin-bottom: 0.5rem;
    color: #555;
    font-size: 0.95rem;
  }

  .payment-info strong {
    color: #222;
  }

  .qr-section {
    display: flex;
    flex-direction: column;
    align-items: center;
    justify-content: center;
    gap: 0.75rem;
  }

  #qrImage {
    max-width: 250px;
    border-radius: 12px;
    box-shadow: 0 3px 12px rgba(0,0,0,0.1);
  }

  .download-btn {
    background: #ff5f8f;
    color: #fff;
    border: none;
    padding: 0.5rem 1rem;
    border-radius: 8px;
    font-size: 0.9rem;
    font-weight: 600;
    transition: 0.2s;
  }

  .download-btn:hover {
    background: #e84b7a;
  }





  /* 🧭 Position below navbar */
.sale-ticker {
  position: fixed;
  /* top: 70px;  */
  left: 0;
  width: 100%;
  background-color: #001F3F; /* Dark blue pastel tone */
  padding: 8px 0;
  z-index: 1030;
  overflow: hidden;
}

/* ✨ Animation for moving text */
.sale-text {
  display: inline-block;
  white-space: nowrap;
  animation: moveText 15s linear infinite;
}

/* 💨 Keyframes for smooth scrolling effect */
@keyframes moveText {
  0% { transform: translateX(100%); }
  100% { transform: translateX(-100%); }
}




.price-container {
  display: flex;
  flex-direction: column;
  line-height: 1.2;
}
.text-price {
  font-size: 1rem;
}
.discount-label {
  color: #28a745;
}


#home{
  margin-top: 30px;
}



/* 🌸 Floating Info Button */
.info-float-btn {
  position: fixed;
  bottom: 20px;
  right: 20px;
  background-color: #2b4d70; /* dark blue pastel */
  color: white;
  border-radius: 50%;
  width: 50px;
  height: 50px;
  display: flex;
  align-items: center;
  justify-content: center;
  font-size: 26px;
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.25);
  text-decoration: none;
  transition: all 0.3s ease;
  z-index: 9999;
}
.info-float-btn:hover {
  background-color: #1f3a55;
  transform: scale(1.1);
}

/* 🪧 Info Popup */
.info-popup {
  display: none;
  position: fixed;
  bottom: 100px;
  right: 20px;
  background: white;
  border-radius: 16px;
  box-shadow: 0 4px 20px rgba(0, 0, 0, 0.25);
  width: 320px;
  max-width: 90%;
  z-index: 10000;
  padding: 20px;
  animation: fadeIn 0.3s ease;
}
.info-popup-content h4 {
  color: #2b4d70;
  margin-bottom: 10px;
}
.info-popup-content ol {
  font-size: 14px;
  color: #333;
  margin-left: 20px;
}
.info-popup-content button {
  margin-top: 15px;
  background: #2b4d70;
  color: white;
  border: none;
  padding: 8px 16px;
  border-radius: 6px;
  cursor: pointer;
  transition: 0.3s;
}
.info-popup-content button:hover {
  background: #1f3a55;
}

/* Fade Animation */
@keyframes fadeIn {
  from {
    opacity: 0;
    transform: translateY(10px);
  }
  to {
    opacity: 1;
    transform: translateY(0);
  }
}


#infoPopup li {
  font-size: .9rem;
}