@font-face {
  font-family: "Agustina";
  src: url(../fonts/Agustina.woff);
}

html[data-theme="light"] {
  --bg-mybtn: red;
  --bg-nav: black;
  --bg-nav-img: black;
  --bg-footer: #DDE1EC;
  --bg: #ffffff;
  --text: #191919;
  --text-color: #6c757d;
  --col-icon: black;
  --col-bd-radius: rgb(2, 2, 2);
  --col-box-shadow: #000000 2px 2px 4px, #4D4D4D -2px -2px 4px;
  --col-box-shadow-hover: inset #8a7373 2px 2px 4px, inset #4D4D4D -2px -2px 4px;
  --col-bd-icon: transparent;
  --bg-icon: #fff;
  --col-icon-twitter: #1da1f2;
  --col-icon-dribbble: #ea4c89;
  --col-icon-linkedin: #0e76a8;
  --col-icon-kaggle: #41aff3;
  --col-icon-github: #24292e;
  --col-icon-instagram: rgb(201, 94, 174);
  --col-icon-mail: rgb(209, 82, 82);
  --shadow-col: rgba(0, 0, 0, 0.3);
}

html[data-theme="dark"] {
  --bg-mybtn: rgb(230, 109, 129);
  --bg-nav: #6617cb;
  --bg-nav-img: linear-gradient(315deg, #6617cb 0%, #882463 74%);
  --bg-footer: linear-gradient(315deg, #6617cb 0%, #882463 74%);
  --bg: #191919;
  --text: #ffffff;
  --text-color: #fff;
  --bg-txt-img: linear-gradient(315deg, #d5adc8 0%, #ff8489 74%);
  --txt-fill: transparent;
  --col-icon: white;
  --col-bd-radius: black;
  --col-bd-icon: transparent;
  --col-box-shadow: 5px 5px 10px rgba(22, 21, 21, 0.7), -5px -5px 10px rgba(255, 255, 255, 0.1);
  --col-box-shadow-hover: inset rgba(255, 255, 255, 1) 2px 2px 4px, inset rgba(255, 255, 255, 0.5) -2px -2px 4px;
  --col-icon-twitter: #1da1f2;
  --col-icon-dribbble: #ea4c89;
  --col-icon-linkedin: #0e76a8;
  --col-icon-kaggle: #41aff3;
  --col-icon-github: #24292e;
  --col-icon-instagram: rgb(201, 94, 174);
  --col-icon-mail: rgb(209, 82, 82);
  --col-white: #fff;
}

::-webkit-scrollbar { width: 16px; }
::-webkit-scrollbar-track { -webkit-box-shadow: inset 0 0 6px #bb86fc; border-radius: 2px; background: #f1f1f1; }
::-webkit-scrollbar-thumb { border-radius: 2px; -webkit-box-shadow: inset 0 0 6px #bb86fc; background: #bb86fc; transition: 0.3s; }
::-webkit-scrollbar-thumb:hover { background: #ca9eff; }
html { overflow-y: visible; scrollbar-color: #ca9eff #f1f1f1; scrollbar-width: auto; }

body { font-family: "Poppins", sans-serif; background-color: var(--bg); color: var(--text); transition: background-color 0.3s, color 0.3s; }

/* NAVBAR */
.navbar-brand { font-family: "Agustina", cursive; font-size: 1.6rem; color: #fff !important; letter-spacing: 1px; }
.navbar { background: var(--bg-nav-img); padding: 12px 20px; transition: background 0.3s; }
.dark-theme { background: linear-gradient(315deg, #6617cb 0%, #882463 74%) !important; }
.dark-theme .navbar-nav .nav-link, .dark-theme .navbar-brand { color: #fff !important; }
.dark-theme .nav-link:hover { color: #d5adc8 !important; }
html[light-mode="light"] .navbar { background: #000 !important; }
html[light-mode="light"] .nav-link { color: #fff !important; }
html[light-mode="light"] .nav-link:hover { color: #bb86fc !important; }
html[light-mode="light"] .navbar-brand { color: #fff !important; }
html[light-mode="light"] .navbar-brand:hover { color: #bb86fc !important; }

.nav-item-hover { position: relative; }
@media (min-width: 992px) {
  .nav-item-hover::after { content: ''; position: absolute; bottom: 0; left: 50%; width: 0; height: 2px; background: #bb86fc; transition: all 0.3s; transform: translateX(-50%); }
  .nav-item:hover::after { width: 100%; }
  li.nav-item { padding: 0 5px; }
  a.nav-link { font-size: 0.9rem; letter-spacing: 0.5px; }
}

/* Dark mode toggle */
.dark_toggler { cursor: pointer; appearance: none; width: 44px; height: 24px; background: #555; border-radius: 12px; position: relative; transition: background 0.3s; margin: 6px 0 0 10px; }
.dark_toggler:checked { background: #bb86fc; }
.dark_toggler::before { content: ''; position: absolute; width: 20px; height: 20px; background: #fff; border-radius: 50%; top: 2px; left: 2px; transition: transform 0.3s; }
.dark_toggler:checked::before { transform: translateX(20px); }

/* Hamburger */
.hamburger { display: flex; flex-direction: column; gap: 5px; cursor: pointer; padding: 4px; }
.hamburger span { display: block; width: 25px; height: 2px; background: #fff; border-radius: 2px; transition: all 0.3s; }
.hamburger_wrapper { border: none; background: transparent; }
.hamburger_wrapper:focus { outline: none; box-shadow: none; }

/* Navbar toggler */
.navbar-toggler { border: none; }
.navbar-toggler:focus { outline: none; box-shadow: none; }

/* Bike SVG in navbar */
.bike { display: none; }
@media (min-width: 992px) { .bike { display: flex; align-items: center; width: 120px; height: 50px; overflow: hidden; } }

/* FOOTER */
.footer { background: var(--bg-footer) !important; color: #fff; padding: 30px 0 20px; }
.footer-body { display: flex; flex-wrap: wrap; justify-content: space-around; align-items: center; gap: 20px; padding: 0 20px; }
.footer-name { font-family: "Agustina", cursive; font-size: 2rem; color: #fff; text-align: center; }
.footer-icons { display: flex; gap: 14px; justify-content: center; flex-wrap: wrap; }
.footer-social { display: flex; align-items: center; justify-content: center; width: 44px; height: 44px; border-radius: 50%; background: rgba(255,255,255,0.15); transition: transform 0.2s, background 0.2s; text-decoration: none; }
.footer-social:hover { transform: translateY(-4px); background: rgba(255,255,255,0.3); }
.footer-social svg, .footer-social i { width: 22px; height: 22px; font-size: 18px; color: #fff; fill: #fff; }
.footer-copy { text-align: center; color: rgba(255,255,255,0.7); font-size: 0.8rem; margin-top: 20px; }

/* Scroll to top */
#scroll-to-top { position: fixed; bottom: 30px; right: 30px; background: linear-gradient(315deg, #6617cb, #882463); color: #fff; border: none; border-radius: 50%; width: 46px; height: 46px; font-size: 1.2rem; cursor: pointer; display: none; align-items: center; justify-content: center; box-shadow: 0 4px 15px rgba(102,23,203,0.5); transition: transform 0.2s; z-index: 999; }
#scroll-to-top:hover { transform: scale(1.1); }

/* Page main */
.main { min-height: 80vh; }
.main-heading { font-size: 2.4rem; font-weight: 700; color: var(--text); }
html[light-mode="dark"] .main-heading { color: #fff; }
.pre-heading { color: var(--text-color); font-size: 1rem; }

/* Section headings */
.heading1 { font-size: 2rem; font-weight: 700; margin: 40px 0 20px; color: var(--text); }
html[light-mode="dark"] .heading1 { color: #fff; }

/* Colored spans */
.my_experience, .my_projects, .my_education, .my_research, .my_tech { background: var(--bg-txt-img, linear-gradient(315deg, #6617cb 0%, #882463 74%)); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }
html[light-mode="light"] .my_experience, html[light-mode="light"] .my_projects,
html[light-mode="light"] .my_education, html[light-mode="light"] .my_research,
html[light-mode="light"] .my_tech { background: linear-gradient(315deg, #6617cb 0%, #882463 74%); -webkit-background-clip: text; -webkit-text-fill-color: transparent; background-clip: text; }

/* Cards base */
.card { border: none; border-radius: 12px; box-shadow: 0 4px 20px rgba(0,0,0,0.12); transition: transform 0.2s, box-shadow 0.2s; overflow: hidden; }
.card:hover { transform: translateY(-6px); box-shadow: 0 10px 30px rgba(102,23,203,0.25); }
html[light-mode="dark"] .card { background: #2a2a2a; color: #fff; }
html[light-mode="dark"] .card-body { color: #ccc; }
