@import url('https://fonts.googleapis.com/css2?family=Noto+Sans:ital,wght@0,100..900;1,100..900&display=swap');
/* Weights: 400, 500, 700 */

:root {
    --Neutral-900: hsl(227, 75%, 14%); /* 11244c */
    --Neutral-800: hsl(226, 25%, 17%); /* 212636 */
    --Neutral-700: hsl(225, 23%, 24%); /* 2f364b */
    --Neutral-600: hsl(226, 11%, 37%); /* 545969 */
    --Neutral-300: hsl(0, 0%, 78%); /* c7c7c7 */
    --Neutral-200: hsl(217, 61%, 90%); /* d6e2f5 */
    --Neutral-100: hsl(0, 0%, 93%); /* ededed */
    --Neutral-0: hsl(200, 60%, 99%); /* fbfdfe */ 

    --Red-400: hsl(3, 86%, 64%); /* f25c54 */
    --Red-500: hsl(3, 71%, 56%); /* de473f */
    --Red-700: hsl(3, 77%, 44%); /* c7221a */

    --Light-Gradient: linear-gradient(180deg, #EBF2FC 0%, #EEF8F9 100%);
    --Dark-Gradient: linear-gradient(180deg, #040918 0%, #091540 100%);
}

body {
    margin: 0px;
    padding: 0px;
    box-sizing: border-box;
    background-image: var(--Dark-Gradient);
    background-repeat: no-repeat;
    background-position: center;
    background-color: var(--Neutral-900);
    font-family: "Noto Sans", sans-serif;
}

/* Day theme */
.day {
    background-image: var(--Light-Gradient);
    background-color: var(--Neutral-0);
}

.content {
    margin: 2rem 5rem;
}

.header {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    background-color: var(--Neutral-300);
    overflow: hidden;
    padding: 10px;
    border-radius: 10px;
}
.themeSwitch {
    background-color: var(--Neutral-600);
    padding: 10px;
    border-radius: 10px;
    cursor: pointer;
}

/* Active Btn */
.activeBtn {
    background-color: var(--Red-400) !important;
    color: var(--Neutral-900) !important;
}

.filterSec {
    display: flex;
    flex-direction: row;
    align-items: center;
    justify-content: space-between;
    margin-top: 1rem;
}
.filterSec h1 {
    color: var(--Neutral-0);
    font-weight: 700;
    font-size: 1.5rem;
}
.filterSec .filter {
    background-color: var(--Neutral-700);
    border: none;
    border-radius: 50px;
    padding: 5px 10px;
    font-size: 1rem;
    font-weight: 400;
    color: var(--Neutral-0);
    cursor: pointer;
    margin-right: 5px;
    transition: ease-in .3s;
}
.filterSec .filter:hover {
    background-color: var(--Neutral-600);
    transition: ease-out .3s;
}

/* Extension Cards */

.cardsContainer {
    display: grid;
    grid-template-columns: repeat(3, 1fr); /* 3 equal columns */
    gap: 12px; /* spacing between cards */
    padding: 0px;
    margin-top: 10px;
}

.card {
    display: flex;
    flex-direction: column;
    justify-content: space-between;

    background-color: var(--Neutral-800);
    border-radius: 15px;
    border: 1px solid #fbfdfe50;
    padding: 15px;
}

.secInfo {
    display: flex;
    flex-direction: row;
    align-items: self-start;
    justify-content: flex-start;
    gap: 15px;
}
.secTxt {
    margin: 0px;
    padding: 0px;
    text-align: start;
}
.txtH2 {
    margin: 0px;
    padding: 0px;
    color: var(--Neutral-0);
    font-size: 1.2rem;
    font-weight: 700;
}
.txtH3 {
    margin-top: 10px;
    padding: 0px;
    color: var(--Neutral-300);
    font-size: .8rem;
    font-weight: 500;
}

.secBtns {
    display: flex;
    flex-direction: row;
    justify-content: space-between;
    align-items: center;
    margin-top: 2rem;
}
.btnRemove {
    font-weight: 600;
    background-color: transparent;
    border: 1px solid #fbfdfe50;
    border-radius: 5rem;
    padding: 8px 15px;
    color: var(--Neutral-0);
    cursor: pointer;
    transition: ease-in .5s;
}
.btnRemove:hover {
    background-color: var(--Red-500);
    transition: ease-out .5s;
}
.btnRemove:focus {
    border: 1px solid var(--Red-500);
    transition: ease-out .5s;
}

.switch {
  position: relative;
  display: inline-block;
  width: 48px;
  height: 25px;
}

.switch input {
  opacity: 0;
  width: 0;
  height: 0;
}

.slider {
  position: absolute;
  cursor: pointer;
  background-color: var(--Neutral-600);
  border-radius: 34px;
  top: 0;
  left: 0;
  right: 0;
  bottom: 0;
  transition: 0.4s;
}

.slider:before {
  content: "";
  position: absolute;
  height: 17px;
  width: 17px;
  left: 4px;
  bottom: 4px;
  background-color: var(--Neutral-0);
  border-radius: 50%;
  transition: 0.4s;
}

input:checked + .slider {
  background-color: var(--Red-500);
}

input:checked + .slider:before {
  transform: translateX(22px);
}

/* Rounded sliders */
.slider.round {
  border-radius: 34px;
}

.slider.round:before {
  border-radius: 50%;
}


/* Footer */
footer > .attribution {
    font-weight: 500;
    font-family: inherit;
    text-align: center;
    padding: 2rem 0;
    color: var(--Neutral-300);
}

.attribution > a {
    text-decoration: none;
    color: var(--Red-500);
    font-weight: 700;
}
