/* Import Google Fonts */  
@import url('https://fonts.googleapis.com/css2?family=Montserrat:wght@400;600&family=Roboto:wght@400;500&display=swap');  
  
:root {  
  --green: #3cb14a;  
  --blue: #0069a7;  
  --grey: #768d99;  
  --navy: #3c4a62;  
  --orange: #f57f29;  
  --light-bg: #f9f9f9;  
  --card-shadow: rgba(0, 0, 0, 0.1);  
  --transition-speed: 0.3s;  
  --max-product-image-height: 160px;  
}  
  
* {  
  box-sizing: border-box;  
}  
  
body {  
  font-family: 'Roboto', sans-serif;  
  margin: 0;  
  padding: 0;  
  background: var(--light-bg);  
  color: #333;  
  scroll-behavior: smooth;  
  /* Optional: Add top padding to prevent content from being hidden behind the navbar */  
  padding-top: 60px; /* Adjust based on navbar height */  
}  
  
/* Navbar */  
.navbar {  
  position: fixed;  
  top: 0;  
  left: 0;  
  width: 100%;  
  background-color: #0069a7; /* Adjust as needed */  
  box-shadow: 0 2px 4px rgba(0, 0, 0, 0.1); /* Optional: Adds a subtle shadow */  
  z-index: 1000; /* Ensures the navbar stays above other elements */  
}   
.navbar-container {  
  max-width: 1200px;  
  margin: 0 auto;  
  padding: 0 15px;  
  display: flex;  
  align-items: center;  
  justify-content: space-between;  
  height: 55px;  
}  
.navbar-logo img {  
  height: 35px;  
  width: auto;  
}  
.navbar-menu {  
  list-style: none;  
  display: flex;  
  gap: 25px;  
  margin: 0;  
  padding: 0;  
}  
.navbar-menu li a {  
  text-decoration: none;  
  color: #fff;  
  font-weight: 500;  
  transition: color var(--transition-speed) ease;  
  position: relative;  
  font-size: 1rem;  
}  
.navbar-menu li a::after {  
  content: '';  
  display: block;  
  width: 0;  
  height: 2px;  
  background: #fff;  
  transition: width var(--transition-speed) ease;  
  position: absolute;  
  bottom: -4px;  
  left: 0;  
}  
.navbar-menu li a:hover {  
  color: #f1f1f1;  
}  
.navbar-menu li a:hover::after {  
  width: 100%;  
}  
.navbar-icons a {  
  color: #fff;  
  margin-left: 10px;  
  font-size: 1rem;  
  transition: color var(--transition-speed) ease;  
}  
.navbar-icons a:hover {  
  color: #f1f1f1;  
}  
  
/* Header Section */  
.header-section {  
  background: linear-gradient(135deg, var(--blue), var(--green));  
  color: #fff;  
  padding: 60px 15px;  
  box-shadow: 0 4px 6px var(--card-shadow);  
  margin-bottom: 30px;  
  border-radius: 10px;  
  text-align: center;  
}  
.header-title {  
  font-family: 'Montserrat', sans-serif;  
  font-size: 2.5rem;  
  margin: 0 auto 15px;  
  font-weight: 600;  
}  
.header-subtitle {  
  font-size: 1.2rem;  
  margin-top: 5px;  
  font-weight: 500;  
}  
  
/* Section Titles */  
.section-title {  
  text-align: center;  
  font-family: 'Montserrat', sans-serif;  
  font-size: 1.8rem;  
  color: var(--navy);  
  margin: 40px 20px 20px;  
}  
  
/* Products Container for other sections */  
.products-container {  
  display: grid;  
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));  
  gap: 20px;  
  max-width: 1200px;  
  align-items: center;  
  margin: 0 auto 40px;  
  padding: 0 15px;  
  justify-items: center;  
}  
.centered-section .products-container {  
  grid-template-columns: repeat(auto-fit, minmax(300px, 1fr));  
  justify-content: center;  
}  
  
/* Remove Scroll Container for v1 Release and use products-container instead */  
.v1-release-container {  
  display: grid;  
  grid-template-columns: repeat(auto-fill, minmax(300px, 1fr));  
  gap: 20px;  
  max-width: 1200px;  
  align-items: center;  
  margin: 0 auto 40px;  
  padding: 0 15px;  
  justify-items: center;  
}  
  
/* Product Card */  
.product-card {  
  background: white;  
  border-radius: 12px;  
  padding: 15px;  
  box-shadow: 0 8px 16px var(--card-shadow);  
  transition: transform var(--transition-speed) ease, box-shadow var(--transition-speed) ease;  
  position: relative;  
  display: flex;  
  flex-direction: column;  
  justify-content: space-between;  
  width: 100%;  
  max-width: 350px;  
  animation: cardEntrance 0.5s ease forwards;  
  opacity: 0;  
}  
.product-card.visible {  
  opacity: 1;  
  transform: translateY(0);  
}  
.product-card:hover {  
  transform: translateY(-5px);  
  box-shadow: 0 12px 24px var(--card-shadow);  
}  
.status-badge {  
  position: absolute;  
  top: 10px;  
  left: 15px;  
  padding: 4px 10px;  
  border-radius: 18px;  
  color: #fff;  
  font-size: 0.7em;  
  text-transform: uppercase;  
  font-weight: 600;  
  z-index: 2; /* Increased z-index to ensure it's on top */  
}  
.status-badge.live { background: var(--green); animation: pulse 2s infinite; }  
.status-badge.comming-soon { background: var(--orange); animation: pulse 2s infinite; }  
.status-badge.expired { background: var(--grey); animation: pulse 2s infinite; }  
.status-badge.in-development { background: var(--blue); animation: pulse 2s infinite; }  
.status-badge.legacy { background: var(--blue); animation: pulse 2s infinite; } 
.status-badge.new { background: #2f00ff; animation: pulse 2s infinite; }  
  
@keyframes pulse {  
  0% { transform: scale(1); opacity: 1; }  
  50% { transform: scale(1.05); opacity: 0.7; }  
  100% { transform: scale(1); opacity: 1; }  
}  
  
.card-content { text-align: center; z-index: 1; position: relative; }  
.product-image {  
  width: 100%;  
  height: var(--max-product-image-height);  
  object-fit: contain;  
  margin-bottom: 10px;  
}  
.product-card h3 {  
  font-family: 'Montserrat', sans-serif;  
  font-size: 1.3rem;  
  color: var(--navy);  
  margin: 8px 0;  
}  
.product-card p {  
  font-size: 0.9rem;  
  color: var(--grey);  
  flex-grow: 1;  
}  
.access-btn {  
  display: inline-block;  
  padding: 8px 20px;  
  background: var(--blue);  
  color: white;  
  text-decoration: none;  
  border-radius: 20px;  
  transition: background var(--transition-speed) ease,  
    transform var(--transition-speed) ease;  
  margin-top: 10px;  
  font-size: 0.9rem;  
  position: relative; /* Added to support pseudo-elements */  
}  
.access-btn:hover {  
  background: var(--navy);  
  transform: translateY(-1px);  
}  
  
/* Fixed Buttons (Feedback and Get Help) */  
.fixed-buttons {  
  position: fixed;  
  bottom: 25px;  
  right: 25px;  
  display: flex;  
  flex-direction: column;  
  gap: 15px;  
  z-index: 1001;  
}  
.contact-btn {  
  padding: 12px 20px;  
  background: var(--orange);  
  color: white;  
  text-decoration: none;  
  border-radius: 25px;  
  box-shadow: 0 4px 12px rgba(245, 127, 41, 0.3);  
  font-family: 'Montserrat', sans-serif;  
  font-weight: 600;  
  transition: background var(--transition-speed) ease,  
    transform var(--transition-speed) ease;  
  font-size: 0.95rem;  
  cursor: pointer;  
}  
.contact-btn:hover {  
  background: #e67e22;  
  transform: scale(1.04);  
}  
.feedback-btn {  
  padding: 12px 20px;  
  background: var(--blue);  
  color: white;  
  border: none;  
  border-radius: 25px;  
  box-shadow: 0 4px 12px rgba(0, 105, 167, 0.3);  
  font-family: 'Montserrat', sans-serif;  
  font-weight: 600;  
  cursor: pointer;  
  transition: background var(--transition-speed) ease,  
    transform var(--transition-speed) ease;  
  font-size: 0.95rem;  
}  
.feedback-btn:hover {  
  background: #005f8a;  
  transform: scale(1.04);  
}  
  
/* Fixed Buttons on the Left Side */  
.fixed-buttons-left {  
  position: fixed;  
  bottom: 25px;  
  left: 25px;  
  display: flex;  
  flex-direction: column;  
  gap: 15px;  
  z-index: 1001;  
}  
.submit-concept-btn {  
  padding: 12px 20px;  
  background: linear-gradient(45deg, #4CAF50, #81C784);  
  color: white;  
  border: none;  
  border-radius: 25px;  
  box-shadow: 0 4px 12px rgba(76, 175, 80, 0.3);  
  font-family: 'Montserrat', sans-serif;  
  font-weight: 600;  
  cursor: pointer;  
  transition: background 0.3s ease, transform 0.3s ease;  
  font-size: 0.95rem;  
  display: flex;  
  align-items: center;  
  gap: 8px;  
}  
.submit-concept-btn:hover {  
  background: #388E3C;  
  transform: scale(1.04);  
}  
  
/* Feedback Panel */  
.feedback-panel {  
  position: fixed;  
  bottom: 120px;  
  right: 25px;  
  width: 600px;  
  max-width: 95%;  
  background: white;  
  border-radius: 12px;  
  box-shadow: 0 8px 16px var(--card-shadow);  
  overflow: hidden;  
  transform: translateY(100%);  
  transition: transform var(--transition-speed) ease;  
  z-index: 1000;  
  visibility: hidden;  
}  
.feedback-panel.active {  
  transform: translateY(0);  
  visibility: visible;  
}  
.feedback-header {  
  display: flex;  
  justify-content: space-between;  
  align-items: center;  
  background: var(--blue);  
  color: white;  
  padding: 10px 15px;  
}  
.feedback-header h2 { font-size: 1.2rem; margin: 0; }  
.close-feedback {  
  background: transparent;  
  border: none;  
  color: white;  
  font-size: 1.2rem;  
  cursor: pointer;  
}  
.feedback-content {  
  padding: 15px;  
  max-height: 400px;  
  overflow-y: auto;  
}  
  
/* Submit Concept Modal */  
.modal {  
  position: fixed;  
  top: 0;  
  left: 0;  
  width: 100%;  
  height: 100%;  
  background-color: rgba(0,0,0,0.6);  
  display: none;  
  align-items: center;  
  justify-content: center;  
  z-index: 1003; /* Increased z-index to ensure it's above other elements */  
  padding: 20px;  
}  
.modal.active {  
  display: flex;  
}  
.modal-content {  
  background: white;  
  border-radius: 12px;  
  padding: 30px;  
  width: 100%;  
  max-width: 600px; /* Increased from 500px to 600px for wider form */  
  position: relative;  
  box-shadow: 0 8px 16px var(--card-shadow);  
}  
.close-modal {  
  position: absolute;  
  top: 15px;  
  right: 20px;  
  font-size: 1.5rem;  
  color: #aaa;  
  cursor: pointer;  
}  
.close-modal:hover {  
  color: #000;  
}  
.modal-content h2 {  
  text-align: center;  
  margin-bottom: 20px;  
  font-family: 'Montserrat', sans-serif;  
  color: var(--navy);  
}  
.form-group {  
  display: flex;  
  flex-direction: column;  
  margin-bottom: 15px;  
}  
.form-group label {  
  font-weight: 500;  
  margin-bottom: 5px;  
  color: var(--navy);  
}  
.form-group .required {  
  color: red;  
  margin-left: 2px;  
}  
.form-group input[type="text"],  
.form-group textarea {  
  padding: 10px 15px;  
  border: 1px solid var(--grey);  
  border-radius: 8px;  
  font-size: 1rem;  
  transition: border-color var(--transition-speed) ease;  
}  
.form-group input[type="text"]:focus,  
.form-group textarea:focus {  
  border-color: var(--blue);  
  outline: none;  
}  
.submit-btn {  
  display: block;  
  width: 100%;  
  padding: 12px 0;  
  background: var(--green);  
  color: white;  
  border: none;  
  border-radius: 25px;  
  font-family: 'Montserrat', sans-serif;  
  font-weight: 600;  
  cursor: pointer;  
  transition: background var(--transition-speed) ease,  
    transform var(--transition-speed) ease;  
  font-size: 1rem;  
  margin-top: 10px;  
}  
.submit-btn:hover {  
  background: #2e8b3e;  
  transform: translateY(-2px);  
}  
.form-message {  
  margin-top: 15px;  
  text-align: center;  
  font-weight: 600;  
}  
  
/* Feature Inputs */  
.feature-input {  
  display: flex;  
  align-items: center;  
  margin-bottom: 10px;  
}  
.feature-input input[type="text"] {  
  flex: 1;  
}  
.remove-feature-btn {  
  background: transparent;  
  border: none;  
  color: #c0392b;  
  cursor: pointer;  
  margin-left: 10px;  
  font-size: 1.2rem;  
}  
.add-feature-btn {  
  background: var(--blue);  
  color: white;  
  border: none;  
  padding: 8px 12px;  
  border-radius: 8px;  
  cursor: pointer;  
  font-size: 0.9rem;  
  display: flex;  
  align-items: center;  
  gap: 5px;  
  transition: background var(--transition-speed) ease;  
}  
.add-feature-btn:hover {  
  background: #005f8a;  
}  
  
/* Premium Card Border */  
.product-card.premium-card {  
  position: relative;  
  overflow: hidden;  
}  
.product-card.premium-card::before {  
  content: "";  
  position: absolute;  
  top: -2px;  
  left: -2px;  
  right: -2px;  
  bottom: -2px;  
  background: linear-gradient(45deg, #ffd700, #ffec8b, #ffd700);  
  z-index: 0;  
  border-radius: 14px;  
  animation: premium-glow 3s ease-in-out infinite;  
}  
  
.card-content {  
  position: relative;  
  z-index: 1;  
  background: white;  
  border-radius: 12px;  
  height: 100%;  
}  
  
/* Premium Button Styling */  
.access-btn.premium-access {  
  background: linear-gradient(45deg, #ffd700, #daa520);  
  color: #2c2c2c;  
  font-weight: 600;  
  position: relative;  
  overflow: hidden;  
  padding-right: 40px;  
}  
.access-btn.premium-access::after {  
  content: "\f005"; /* Font Awesome star icon */  
  font-family: "Font Awesome 5 Free";  
  font-weight: 900;  
  position: absolute;  
  right: 12px;  
  top: 50%;  
  transform: translateY(-50%);  
}  
.access-btn.premium-access::before {  
  content: "";  
  position: absolute;  
  top: -50%;  
  left: -50%;  
  width: 200%;  
  height: 200%;  
  background: linear-gradient(  
    45deg,  
    transparent,  
    rgba(255,255,255,0.3),  
    transparent  
  );  
  animation: premium-shine 3s infinite;  
}  
  
@keyframes premium-glow {  
  0% { opacity: 0.8; }  
  50% { opacity: 1; }  
  100% { opacity: 0.8; }  
}  
  
@keyframes premium-shine {  
  0% { transform: rotate(45deg) translate(-25%, -25%); }  
  100% { transform: rotate(45deg) translate(75%, 75%); }  
}  
  
/* Silver Border with Glow Effect for Non-Premium Product Cards */  
.product-card:not(.premium-card) {  
  position: relative; /* Ensure pseudo-element is positioned correctly */  
  overflow: hidden; /* Hide any overflow from the pseudo-element */  
  border-radius: 12px; /* Match the existing border radius */  
  border: 2px solid silver; /* Simple silver border */  
}  
.product-card:not(.premium-card)::before {  
  content: "";  
  position: absolute;  
  top: -2px;  
  left: -2px;  
  right: -2px;  
  bottom: -2px;  
  background: linear-gradient(45deg, #c0c0c0, #e0e0e0, #c0c0c0);  
  z-index: 0;  
  border-radius: 14px; /* Slightly larger to accommodate the pseudo border */  
  animation: silver-glow 3s ease-in-out infinite;  
}  
.product-card:not(.premium-card) .card-content {  
  position: relative; /* Ensure content is above the pseudo-element */  
  z-index: 1;  
}  
  
@keyframes silver-glow {  
  0% { opacity: 0.8; }  
  50% { opacity: 1; }  
  100% { opacity: 0.8; }  
}  
  
/* Fade-In Animations */  
@keyframes cardEntrance {  
  from { opacity: 0; transform: translateY(20px); }  
  to { opacity: 1; transform: translateY(0); }  
}  
.fade-in-element {  
  opacity: 0;  
  transform: translateY(20px);  
  transition: opacity 0.6s ease-out, transform 0.6s ease-out;  
}  
.fade-in-element.visible {  
  opacity: 1;  
  transform: translateY(0);  
}  
  
/* ======= Notification Toast Styles ======= */  
  
/* Notification Toast */  
#notification {  
  position: fixed;  
  top: 20px;  
  right: 20px;  
  /* Optional: Adjust for higher z-index to appear above navbar (z-index:1000) and fixed buttons (z-index:1001) */  
  z-index: 1004;  
  background-color: #4CAF50; /* Default to green for success */  
  color: white;  
  padding: 15px 20px;  
  border-radius: 5px;  
  box-shadow: 0 2px 8px rgba(0, 0, 0, 0.2);  
  opacity: 0;  
  visibility: hidden;  
  transition: opacity 0.5s, visibility 0.5s;  
}  
  
/* Show notification */  
#notification.show {  
  opacity: 1;  
  visibility: visible;  
}  
  
/* Success Notification */  
#notification.success {  
  background-color: #4CAF50; /* Green */  
}  
  
/* Error Notification */  
#notification.error {  
  background-color: #f44336; /* Red */  
}  
  
/* Responsive Notification */  
@media (max-width: 768px) {  
  #notification {  
    width: 90%;  
    right: 5%;  
    left: 5%;  
    top: 10px;  
  }  
}  
  
/* Admin Page Styles */  
.admin-container {  
  max-width: 800px;  
  margin: 40px auto;  
  padding: 20px;  
  background: white;  
  border-radius: 12px;  
  box-shadow: 0 8px 16px var(--card-shadow);  
}  
.admin-container h1 {  
  text-align: center;  
  font-family: 'Montserrat', sans-serif;  
  color: var(--navy);  
  margin-bottom: 30px;  
}  
.form-section {  
  margin-bottom: 40px;  
}  
.form-section h2 {  
  font-family: 'Montserrat', sans-serif;  
  color: var(--blue);  
  margin-bottom: 20px;  
  border-bottom: 2px solid var(--grey);  
  padding-bottom: 10px;  
}  
.form-group {  
  display: flex;  
  flex-direction: column;  
  margin-bottom: 15px;  
}  
.form-group label {  
  font-weight: 500;  
  margin-bottom: 5px;  
  color: var(--navy);  
}  
.form-group input[type="text"],  
.form-group input[type="url"],  
.form-group select,  
.form-group textarea,  
.form-group input[type="file"] {  
  padding: 10px 15px;  
  border: 1px solid var(--grey);  
  border-radius: 8px;  
  font-size: 1rem;  
  transition: border-color var(--transition-speed) ease;  
}  
.form-group input[type="text"]:focus,  
.form-group input[type="url"]:focus,  
.form-group select:focus,  
.form-group textarea:focus,  
.form-group input[type="file"]:focus {  
  border-color: var(--blue);  
  outline: none;  
}  
.submit-btn {  
  display: inline-block;  
  padding: 12px 25px;  
  background: var(--green);  
  color: white;  
  border: none;  
  border-radius: 25px;  
  font-family: 'Montserrat', sans-serif;  
  font-weight: 600;  
  cursor: pointer;  
  transition: background var(--transition-speed) ease, transform var(--transition-speed) ease;  
  font-size: 1rem;  
}  
.submit-btn:hover {  
  background: #2e8b3e;  
  transform: translateY(-2px);  
}  
.flash-messages {  
  margin-bottom: 20px;  
}  
.flash {  
  padding: 10px 15px;  
  border-radius: 8px;  
  margin-bottom: 10px;  
  font-family: 'Roboto', sans-serif;  
}  
.flash.success {  
  background-color: #d4edda;  
  color: #155724;  
  border: 1px solid #c3e6cb;  
}  
.flash.error {  
  background-color: #f8d7da;  
  color: #721c24;  
  border: 1px solid #f5c6cb;  
}  
  
@media (max-width: 768px) {  
  .admin-container {  
      padding: 15px;  
  }  
  
  .submit-btn {  
      width: 100%;  
  }  
}  