*{
    margin: 0;
    padding: 0;
    box-sizing: border-box;
}
body{
    font-family: "Futura";
    src: url("./fonts/Futura-Regular.woff2") format("woff2"),
        url("./fonts/Futura-Regular.woff") format("woff"),
        url("./fonts/Futura-Regular.ttf") format("truetype");
    font-display: swap;
}
/* Default (light mode) is already your current design */

/* Dark mode overrides */
/*body.dark-mode {
  background-color: #121212;
  color: #eaeaea;
}

body.dark-mode .container,
body.dark-mode section,
body.dark-mode header {
  background-color: #1e1e1e;
}

body.dark-mode p,
body.dark-mode h1,
body.dark-mode h2,
body.dark-mode h5,
body.dark-mode span,
body.dark-mode a {
  color: #eaeaea !important;
}

body.dark-mode .service-card {
  background-color: #2a2a2a;
  color: #eaeaea;
}

body.dark-mode .service-card.highlighted {
  background-color: #F24F13; 
  color: white;
}

body.dark-mode .btn-outline-custom {
  border-color: #F24F13;
  color: #eaeaea;
}

body.dark-mode .skills-section {
  background-color: #1e1e1e;
}

body.dark-mode .tech-badge {
  background-color: #333;
  color: #f1f1f1;
}
body.dark-mode .tech-badge:hover {
  background-color: #F24F13;
  color: white;
}*/
.nav-desktop a{
  color:#031326;
   transition: color 0.3s ease, text-decoration 0.3s ease, transform 0.2s ease;
}
.nav-desktop a:hover{
  color:#F24F13;
  transform: translateY(-2px);
}
.nav-desktop a.active {
  color: #F24F13;
  transform: scale(0.96);
  transition: transform 0.1s ease, color 0.1s ease;
}
.nav-desktop button{
  box-shadow: 0 4px 12px rgba(0, 0, 0, 0.2); 
  transition: transform 0.2s ease, box-shadow 0.2s ease;
}
.mobileNav a{
  color:#031326;
   transition: color 0.3s ease, text-decoration 0.3s ease, transform 0.2s ease;
}
.mobileNav a:hover{
  color:#F24F13;
  transform: translateY(-2px);
}
.mobileNav a.active {
  color: #F24F13;
  transform: scale(0.96);
  transition: transform 0.1s ease, color 0.1s ease;
}
/* Overlay effect when mobile menu is open */
#overlay.show {
  display: block;
  opacity: 1;
  transition: opacity 0.3s;
}
.social-sidebar {
    top: 50%;
    left: 20px;
    transform: translateY(-50%);
}
.social-sidebar a img {
    transition: transform 0.3s ease;
}
.social-sidebar a img:hover {
    transform: scale(1.2);
}
#header h1{
    color: #031326;
}
.portfolio-image {
  max-width: 90%;      /* set width */
  height: auto;     /* set height (same as width for perfect circle) */

  object-fit: cover; /* ensures the image scales/crops nicely */
}

.service-card {
    background: #fff;
    box-shadow: 0 4px 15px rgba(0,0,0,0.08);
    transition: all 0.3s ease;
    border-radius: 25px;
}
.service-card h5{
    color:#031326;
}
.service-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 8px 25px rgba(0,0,0,0.1);
}

.service-card.highlighted {
    background: #031326;
   color: #fff;
}

.service-card.highlighted a {
    color: #fff;
}
  
.service-card .icon {
    line-height: 0;
}

/* Divider line under titles */
.service-card .divider {
   border: none; 
   border-top: 3px solid #F24F13;
   margin: 0.75rem 0 1 rem;
}

.service-card.highlighted .divider {
    border-top: 3px solid #F24F13;
}
.skills-section {
    background: #fce9e9;
    padding: 50px 0;
}
.skills-section div > div:last-child {
  display: flex;
  flex-wrap: wrap;
  gap: 10px; 
}
.section-subtitle {
    color: #F24F13;
    font-size: 18px;
}
.section-title {
    color:#031326;
}
.tech-section {
    text-align: center;
    padding: 50px 20px;
}
.tech-badge {
    background-color: #F24F13;
    color: white;
    border-radius: 50px;
    padding: 10px 20px;
    margin: 8px;
    display: inline-block;
    font-weight: 500;
    transition: 0.3s;
    white-space: nowrap;
}
.tech-badge:hover {
    background-color: #031326;
    transform: scale(1.05);
}
.card .badge{
  background-color: rgb(244, 240, 240);
  border-radius: 50px;
}
.card h5{
  color: #031326;
}
.card .live-demo{
    background-color: #F24F13;
    color: white;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: background-color 0.3s ease;
}
.card .live-demo:hover {
    background-color: #031326;
    color: white;
}
.card .view-code{
    background-color: transparent;
    color: #031326;
    border: 2px solid #F24F13;
    border-radius: 8px;
    padding: 0.5rem 1rem;
    transition: all 0.3s ease;
}
.features-list {
  list-style: none; /* remove default bullets */
  padding: 0;
  margin: 0;
}

.features-list li {
  display: flex;
  align-items: flex-start;
  gap: 10px; /* spacing between icon and text */
  margin-bottom: 12px;
  font-size: 16px;
  color: #6c757d; /* muted text */
}

.features-list li img {
  width: 20px; /* smaller icon */
  height: 20px;
  margin-top: 2px; /* vertically center with text */
}
.project-images {
    display: flex;
    gap: 20px; /* space between images */
    align-items: center;
    justify-content: center;
    overflow: hidden;
    position: relative;
}

.project-img {
    width: 300px; 
    max-width: 100%;
    height: auto;
    border-radius: 8px; 
    box-shadow: 0 4px 8px rgba(0,0,0,0.1); 
    transition: transform 0.3s ease;
}

.project-img:hover {
    transform: scale(1.05); /* subtle zoom effect on hover */
}
@media (max-width: 768px) {
  #Portfolio .row.g-4 {
    flex-direction: column !important; /* stack image & description cards */
  }

  #Portfolio .project-images {
    display: flex;
    flex-wrap: wrap;          /* allow images to wrap */
    justify-content: center;  /* center them */
    gap: 1rem;
  }

  #Portfolio .project-images img {
    flex: 1 1 100%;    /* each image takes full width */
    max-width: 90%;    /* prevent touching edges */
    height: auto;      /* keep aspect ratio */
    border-radius: 8px;
  }
}
.contact-section {
    background: #fff;
    min-height: 70vh;
}
        
.contact-info h1 {
    font-weight: bold;
    color: #031326;
    margin-bottom: 1.5rem;
}
.contact-info span{
    color: #F24F13;
    font-size: 18px;
}  
.contact-item {
    display: flex;
    align-items: center;
    margin-bottom: 1.5rem;
}
        
.contact-icon {
    display: flex;
    align-items: center;
    justify-content: center;
    margin-right: 1rem;
    color: #F24F13;
}
        
.contact-text {
    color: #333;
    font-size: 1rem;
    margin: 0;
} 
.form-section {
    padding: 2rem;
}
.form-control {
    border: 1px solid #e0e0e0;
    border-radius: 8px;
    padding: 0.75rem 1rem;
    font-size: 1rem;
    background-color: #fafafa;
}
        
.form-control:focus {
    border-color: #ff6b35;
    box-shadow: 0 0 0 0.2rem rgba(255, 107, 53, 0.25);
    background-color: white;
}
.form-label {
    color: #666;
    font-weight: 500;
    margin-bottom: 0.5rem;
}
.submit-btn {
    background: #F24F13;
    border: none;
    border-radius: 8px;
    padding: 0.75rem 2rem;
    font-size: 1rem;
    font-weight: 500;
    color: white;
    width: 100%;
    transition: transform 0.2s;
}
        
.submit-btn:hover {
    transform: translateY(-1px);
    background: #031326;        
}
.form-message {
  position: relative;
  padding: 10px 20px;
  margin-top: 15px;
  margin-bottom: 15px;
  border-radius: 5px;
  font-weight: bold;
  text-align: center;
  opacity: 0;
  transform: translateY(-20px);
  transition: all 0.5s ease;
}

.form-message.show {
  opacity: 1;
  transform: translateY(0);
}

.form-message.success {
  background-color: #d4edda;
  color: #155724;
  border: 1px solid #c3e6cb;
}

.form-message.error {
  background-color: #f8d7da;
  color: #721c24;
  border: 1px solid #f5c6cb;
}


/* BASE DARK MODE */
/*
body.dark-mode {
  background-color: #161b22; 
  color: #e6edf3; 
}

body.dark-mode a {
  color: #58a6ff;
}

body.dark-mode a:hover {
  color: #1f6feb;
}

/*  NAVBAR & HEADER  */
/*
body.dark-mode nav ul li a {
  color: #e6edf3;
}

body.dark-mode nav ul li a:hover {
  color: #F24F13;
}

body.dark-mode header {
  background-color: #161b22;
  color: #e6edf3;
}

body.dark-mode header p {
  color: #8b949e;
}

/* BUTTONS  */
/*
body.dark-mode .btn-outline-custom {
  border-color: #F24F13 !important;
  color: #e6edf3 !important;
}

body.dark-mode .btn-outline-custom:hover {
  background-color: #F24F13 !important;
  color: #fff !important;
}

/* Dark mode toggle button *//*
body.dark-mode #darkModeToggle {
  background-color: #21262d;
  border: 1px solid #30363d;
  color: #e6edf3;
}
body.dark-mode #darkModeToggle:hover {
  background-color: #30363d;
}

/*  SERVICE CARDS  *//*
body.dark-mode .service-card {
  background-color: #161b22;
  border-radius: 1rem;
  color: #e6edf3;
}

body.dark-mode .service-card p {
  color: #8b949e;
}

body.dark-mode .service-card.highlighted {
  background-color: #F24F13;
  color: #fff;
}

/*  SKILLS BADGES  *//*
body.dark-mode .tech-badge {
  background-color: #21262d;
  color: #e6edf3;
  padding: 0.4rem 0.8rem;
  border-radius: 1rem;
  font-size: 0.9rem;
  margin: 0.2rem;
  display: inline-block;
}

/* PORTFOLIO CARDS  *//*
body.dark-mode .card {
  background-color: #161b22;
  border: none;
  color: #e6edf3;
}

body.dark-mode .card .card-text {
  color: #8b949e;
}

body.dark-mode .badge {
  background-color: #21262d;
  color: #e6edf3;
}

/*  FOOTER  *//*
body.dark-mode footer {
  background-color: #161b22 !important;
  color: #e6edf3;
}

body.dark-mode footer .text-muted,
body.dark-mode .contact-text {
  color: #8b949e !important;
}

body.dark-mode .form-control {
  background-color: #0d1117;
  border: 1px solid #30363d;
  color: #e6edf3;
}

body.dark-mode .form-control:focus {
  background-color: #161b22;
  border-color: #58a6ff;
  box-shadow: none;
  color: #e6edf3;
}

/* Submit button *//*
body.dark-mode .submit-btn {
  background-color: #F24F13;
  color: #fff;
  border: none;
  padding: 0.7rem 1.5rem;
  border-radius: 1.5rem;
  font-weight: bold;
}
body.dark-mode .submit-btn:hover {
  background-color: #d7420f;
}
