:root {

  /* Colors */
  --c_zap_yellow: #FFF806;
  --c_sun_yellow: #fdf74f;
  --c_radient_blue: #0000FF;
  --c_cool_blue: #5555ec;
  --c_sky_blue: #64e2ec;
  --c_radient_red: #FF0000;
  --c_cool_red: #f35a5a;
  --c_radient_pink: #F800FF;
  --c_cool_pink: #e864ec;
  --c_gray_pink: #b17eb3;
  --c_cool_gray: #CECECE;
  --c_charcoal_gray: #3D3D3D;
  --c_radioactive: #19FF00;
  --c_cool_green: #88f07c;

  /* Fonts */
  --jakarta: "Plus Jakarta Sans", sans-serif;
  --klee: "Klee One", cursive;
  --mulish: "Mulish", sans-serif;
  --pop: "Poppins", sans-serif;
  --body: "Chocolate Classical Sans", sans-serif;

  /* Gradients */
  --rainbow: linear-gradient(90deg,rgba(131, 58, 180, 1) 0%, rgba(253, 29, 29, 1) 24%, rgba(69, 90, 252, 1) 43%, rgba(248, 0, 255, 1) 66%, rgba(84, 252, 69, 1) 86%);
  --pink_green: radial-gradient(circle, rgba(25, 255, 0, 1) 0%, rgba(248, 0, 255, 1) 50%, rgba(38, 84, 38, 1) 100%);
  --original: radial-gradient(circle,rgba(122, 149, 255, 1) 0%, rgba(12, 232, 195, 1) 50%, rgba(44, 60, 130, 1) 100%);
  --candy: linear-gradient(101deg,rgba(63, 198, 251, 1) 0%, rgba(248, 0, 255, 1) 47%, rgba(63, 198, 251, 1) 100%);
  --gamma: linear-gradient(90deg,rgba(255, 0, 0, 1) 0%, rgba(85, 85, 236, 1) 100%);
  --chill: linear-gradient(90deg,rgba(177, 126, 179, 1) 0%, rgba(85, 85, 236, 1) 100%);
  --yellow_burst: radial-gradient(circle,rgba(255, 248, 6, 1) 0%, rgba(133, 0, 138, 1) 100%);
}

::selection {
    background-color: var(--c_radioactive);
    color: black;
}

* {
    margin: 0;
    padding: 0;
    box-sizing: border-box;
    transition: all 0.3s ease;
}

body {
  background: var(--c_charcoal_gray);
}

h1 {
  color: var(--c_sky_blue);
}

p {
  color: var(--c_cool_gray);
}

/* Nav Menu Searchbar */

  .search_box,
  .main-menu {
    display: none;
  }

  .mobile-menu-btns {
    display: flex;
    flex-direction: row;
    align-items: center;
    gap: 1.25rem;
  }

  nav {
    display: flex;
    justify-content: space-between;
    align-items: center;
    padding: 0.625rem 1.25rem;
    width: 100%;
    margin: 0 auto;
    background: var(--original);
  }

  nav img {
    width: 8.125rem;
  }

/* Category Buttons */

#category {
  display: flex;
  justify-content: center;
  align-items: center;
  flex-direction: column;
  gap: 0.625rem;
  background: var(--c_charcoal_gray);
  margin-top: 1.25rem;
}

#category button {
  width: 100%;
  max-width: 12.5rem;
  padding: 1.25rem;
  margin: 0;
  background: var(--chill);
  color: white;
  font-family: var(--pop);
  font-size: 1.5em;
  font-weight: 600;
  cursor: pointer;
  border-radius: 1.063rem;
  border: none;
  transition: background 0.3s ease;
}

#category button:hover, 
#category button:first-child {
  background: var(--yellow_burst);
  color: black;
}

/* Category Arrow */

.cat-arrow {
  display: flex;
  justify-content: center;
  margin-right: 0;
  background: var(--c_charcoal_gray);
  width: 100%;
  padding: 0.25rem;
}

#cat-select {
  width: 6.25rem;
  height: auto;
  background: none;
}

#cat-select polygon {
  fill: var(--c_radient_pink); 
}

/* Showcase */

.showcase {
  background: url("../images/gammabg_04.webp") center center / cover no-repeat;
  display: flex;
  justify-content: center;
  flex-direction: column;
  flex-wrap: wrap;
  align-items: center;
  gap: 1.25rem;
  margin-top: -3.375rem;
  padding-bottom: 3.75rem;
}

.showcase h2 {
  font-family: var(--mulish);
  padding: 1.25rem;
  text-decoration: none;
  text-align: center;
  font-size: 1.1em;
  color: white;
  height: 4.688rem;
  max-height: 6.25rem;
  background: black;
}

.showcase h2:hover {
  color: var(--c_zap_yellow);
}

.showcase a {
  text-decoration: none;
}

.card {
  position: relative;
  height: 15.625rem;
  max-width: 15.625rem;
  width: auto;
  flex: 0 0 auto;
  margin: 3.125rem 1.875rem;
  transition: transform 0.3s ease;
}

.card:hover {
  transform: scale(1.08);
  cursor: pointer;
}

.card img {
  width: 100%;
  height: 100%;
  object-fit: cover;
  display: block;
  box-shadow: 0 0.313rem 0.938rem rgba(0, 0, 0, 0.3);
  border-radius: 2.5rem 2.5rem 0 0;
}

/* Brands */

#brands {
  text-align: center;
  margin: 1.375rem;
}

#brands h2 {
  font-size: 2.5em;
  font-family: var(--jakarta);
  margin-bottom: 3.438rem;
  color: var(--c_sky_blue);
}

.underline {
  text-decoration: underline;
  text-decoration-color: var(--c_radioactive);
  text-decoration-thickness: 0.5rem;
}

.brand-lineup {
  display: flex;
  justify-content: center;
  flex-direction: column;
  align-items: center;
  gap: 1.688rem;
}

.brand-lineup img {
  max-width: 7.5rem;
  height: auto;
  border-radius: 3.75rem;
  box-shadow: 0 0.25rem 0.5rem rgb(26 255 0 / 56%);
}

/* Footer */

footer {
  background-color: black;
  display: flex;
  flex-direction: column;
  justify-content: center;
  align-items: center;
  gap: 1.25rem;
  padding: 1.563rem;
}

footer img {
  width: 10rem;
}

.footer-list {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  list-style: none;
}

.footer-list ul {
  list-style: none;
  margin: 0.313rem 0;
}

.footer-list ul a {
  color: var(--c_radioactive);
  text-decoration: none;
  font-family: var(--mulish);
  font-weight: 500;
  font-size: 1.3em;
  transition: color 0.3s ease;
}

.footer-list ul a:hover {
  color: var(--c_radient_red);
}

.footer-list h1 {
  font-family: var(--pop);
  color: white;
  font-weight: 700;
}

/* Disclaimer */

.disclaimer {
  background: var(--pink_green);
  font-family: var(--mulish);
  text-align: center;
  padding: 0.938rem;
}

.disclaimer p {
  color: black;
}

.disclaimer p:first-child {
  font-style: italic;
  margin-bottom: 1.25rem;
}

.disclaimer p:nth-child(2) {
  font-weight: bold;
  font-family: var(--mulish);
  font-size: 0.7em;
}

/* Mobile Menu */

.mobile-menu-btns svg {
  height: 1.563rem;
  fill: black;
}

.overlay {
  position: fixed;
  inset: 0;
  background: rgba(0, 0, 0, 0.6);
  opacity: 0;
  pointer-events: none;
  transition: opacity 0.3s ease;
  z-index: 999;
}

.mobile-slide-menu {
  position: fixed;
  top: 0;
  right: -80%;
  width: 80%;
  height: 100vh;
  background: white;
  display: flex;
  flex-direction: column;
  align-items: center;
  align-items: flex-start;
  z-index: 1000;
  overflow-y: auto;
  transition: right 0.3s ease;
}

#menu-toggle:checked ~ .overlay {
  opacity: 1;
}

#menu-toggle:checked ~ .mobile-slide-menu {
  right: 0;
  background-color: var(--c_cool_pink);
}

.slide-menu-head {
  display: flex;
  flex-direction: row;
  justify-content: space-between;
  align-items: center;
  gap: 6.25rem;
  width: 100%;
  padding: 1.563rem;
}

.slide-menu-head h2 {
  font-size: 2.2em;
  font-family: var(--jakarta);
}

.close-icon {
  width: 1.563rem;
}

.mobile-slide-menu ul {
  list-style: none;
  padding-left: 1.75rem;
}

.mobile-slide-menu li {
  padding-bottom: 1.25rem;
}

.mobile-slide-menu ul a {
  text-decoration: none;
  color: black;
  font-size: 1.5rem;
  font-weight: 700;
  font-family: var(--jakarta);
}

.mobile-menu-icon {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
}

.mobile-menu-icon svg {
  height: 1.563rem;
}

.rainbow-separator {
  width: 100%;
  height: 0.25rem;
  background: var(--rainbow);
  display: block;
}

.rainbow-separator span {
  opacity: 0;
}

.rainbow-separator.mobile {
    margin: 0.6rem 0;
}

.mobile-menu-category,
.mobile-menu-foot {
  display: flex;
  flex-direction: column;
  align-items: flex-start;
  margin-left: 1.25rem;
}

.mobile-menu-category ul {
  padding: 0;
}

.mobile-menu-category h3,
.mobile-menu-foot h3 {
  padding: 0 0 0.625rem;
  font-family: var(--jakarta);
  font-size: 1.6rem;
  font-weight: 700;
  color: white;
}

.mobile-menu-foot a {
    text-decoration: none;
}

.mobile-menu-foot h3:hover {
  color: var(--c_zap_yellow)
}

.mobile-menu-category li {
  padding: 0.25rem 0;
  max-width: 14.375rem;
}

.mobile-menu-category li a {
  font-size: 1.2em;
  font-weight: 400;
  text-decoration: underline;
}

.mobile-menu-category li a:hover {
  color: var(--c_zap_yellow);
}

/* Dropdown Selections */

.product-pick button,
.dropdown select {
  width: 15.625rem;
}

.dropdown select {
  font-size: 1rem;
  font-family: var(--jakarta);
  font-weight: 700;
  text-align: center;
  background: var(--chill);
  color: black;
  border-radius: 0.5rem;
  padding: 1.25rem;
  cursor: pointer;
  margin: 0.625rem 0;
  transition: all 0.3s ease;
}

.dropdown select:hover {
  border: 0.188rem solid var(--c_zap_yellow);
  
}

.dropdown select:focus {
  outline: none;
  border-color: var(--c_radioactive);
  box-shadow: 0 0 0.375rem var(--c_radioactive);
}

.dropdown option {
    background-color: var(--c_cool_gray);
    color: black;
}

.product-pick h2 {
    font-family: var(--jakarta);
    margin: 1.25rem 0;
    color: var(--c_cool_green);
}

.product-pick button {
    font-size: 1.3rem;
    color: white;
    font-family: var(--jakarta);
    font-weight: 700;
    text-align: center;
    padding: 1.25rem;
    border: none;
    border-radius: 0.5rem;
    background: var(--candy);
    cursor: pointer;
}

.product-pick button:hover {
    background: var(--yellow_burst);
    color: black;
}

/* Product Details */

.the-details {
    max-width: 43.75rem;
}

#product-details {
  background: var(--chill);
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  padding: 1.875rem;
}

#product-details h3 {
    font-family: var(--pop);
    font-size: 1.5em;
}

#product-details h4 {
    font-family: var(--pop);
    margin-top: 1.25rem;
    font-size: 0.9em;
}

#product-details p,
#product-details li {
    font-family: var(--body);
    font-size: 0.8em;
    font-weight: 400;
}

#product-details p {
    color: black;
    padding: 0.5rem 0;
}

.specifications {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.bold-first {
    font-family: var(--pop);
    font-weight: 600;
}

.slogan {
    font-family: var(--klee);
    font-size: 2em;
    font-weight: 600;
}

/* Extra Styles for extra pages */

.category-continued .showcase {
    margin-top: 0;
}

.category-continued h2 {
    color: var(--c_sky_blue);
    font-family:var(--jakarta);
}

.page-history {
    padding: 1.25rem;
}

.page-history span {
    color: var(--c_radient_red);
}

.page-history ul {
    display: flex;
    flex-direction: row;
    justify-content: center;
    gap: 0.625rem;
    list-style: none;
    font-family: var(--jakarta);
    font-size: 0.9em;
    font-weight: 400;
}

.page-history a {
    text-decoration: none;
    color: var(--c_sky_blue);
}

.page-history a:hover {
    color: var(--c_radioactive);
}

.current {
    color: var(--c_cool_gray);
}

.page-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 1.25rem;
}

.page-title h1 {
    font-family: var(--pop);
    font-size: 3em;
    line-height: 2.6rem;
}

.page-title p {
    max-width: 36.563rem;
    font-family: var(--body);
}

/* Contact */

#contact-showcase {
    background: var(--chill);
    display: flex;
    justify-content: center;
    flex-direction: column;
    flex-wrap: wrap;
    gap: 3.125rem;
    padding: 3.75rem 0;
    align-items: center;;
    align-content: space-around;
}

.contact-info {
    max-width: 12.5rem;
}

.contact-info h2,
.contact-info p {
    font-family: var(--jakarta);
    margin-top: 0.313rem;
    color: black;
}

.contact-info h2 {
    font-size: 2em;
    color: var(--c_sky_blue);
}

.contact-info p {
    font-size: 1.4em;
}

.contact-info a {
    font-family: var(--jakarta);
    font-size: 1.5em;
    display: flex;
    flex-direction: column;
    margin: 1.25rem 0;
    text-decoration: none;
    color: black;
    font-weight: 600;
}

.contact-info a:hover {
    color: var(--c_sun_yellow);
}

.contact-info button {
    background-color: var(--c_cool_green);
    color: black;
    border: 0.125rem solid var(--c_radioactive);
    border-radius: 1.25rem;
    padding: 0.625rem;
    font-size: 1.2rem;
    font-weight: 500;
    font-family: var(--pop);
    cursor: pointer;
    transition: all 0.3s ease;
    margin-top: 0.625rem;
}

.contact-info button:hover {
    background-color: var(--c_shamrock);
}

/* Product Page */

.product-title {
    display: flex;
    flex-direction: column;
    align-items: center;
    padding: 0.313rem 1.25rem;
}

.product-title h1 {
    font-family: var(--pop);
    line-height: 2rem;
}

.product-title p {
    max-width: 36.563rem;
    font-family: var(--mulish);
    font-style: italic;
    line-height: 1.25rem;
    font-weight: 400;
    margin: 0.625rem 0;
}

.product-title h1,
.product-title p {
    text-align: left;
    width: 100%;
    max-width: 36.563rem;
}

/* Product Images & Selection */

.featured-image {
    display: flex;
    justify-content: center;
}

.featured-image img {
    width: 80%;
    height: auto;
    border-radius: 1.875rem;
}

.image-lineup {
    display: flex;
    flex-direction: row;
    justify-content: space-around;
    margin-top: 0.625rem;
    padding: 0 1.25rem;
}

.image-lineup img {
    width: 4.375rem;
    height: auto;
    border-radius: 0.938rem;
    transition: border 0.1s ease;
}

.image-lineup img:hover {
    border: solid 0.25rem var(--c_radient_red);
    cursor: pointer;
}

#product-select {
    display: flex;
    flex-direction: column;
    justify-content: center;
    align-items: center;
    margin: 2.5rem 0;
    gap: 1.875rem;
}

.product-pick {
    display: flex;
    flex-direction: column;
    align-items: center;
    margin: 1.25rem 0;
}

.product-pick h2 {
    font-family: var(--jakarta);
    margin-bottom: 0.625rem;
    font-size: 1.7em;
}

/* Dropdown Selections */

.product-pick button,
.dropdown select {
  width: 15.625rem;
}

.dropdown select {
  font-size: 1rem;
  font-family: var(--jakarta);
  font-weight: 700;
  text-align: center;
  background: var(--chill);
  color: black;
  border-radius: 0.5rem;
  padding: 1.25rem;
  cursor: pointer;
  margin: 0.625rem 0;
  transition: all 0.3s ease;
}

.dropdown select:hover {
  border: 0.188rem solid var(--c_zap_yellow);
  
}

.dropdown select:focus {
  outline: none;
  border-color: var(--c_radioactive);
  box-shadow: 0 0 0.375rem var(--c_radioactive);
}

.dropdown option {
    background-color: var(--c_cool_gray);
    color: black;
}

.product-pick h2 {
    font-family: var(--jakarta);
    margin: 1.25rem 0;
    color: var(--c_cool_green);
}

.product-pick button {
    font-size: 1.3rem;
    color: white;
    font-family: var(--jakarta);
    font-weight: 700;
    text-align: center;
    padding: 1.25rem;
    border: none;
    border-radius: 0.5rem;
    background: var(--candy);
    cursor: pointer;
}

.product-pick button:hover {
    background: var(--yellow_burst);
    color: black;
}

/* Product Details */

.the-details {
    max-width: 43.75rem;
}

#product-details {
  background: var(--chill);
  display: flex;
  justify-content: space-around;
  flex-direction: column;
  align-items: center;
  flex-wrap: wrap;
  gap: 1.25rem;
  padding: 1.875rem;
}

#product-details h3 {
    font-family: var(--pop);
    font-size: 1.5em;
}

#product-details h4 {
    font-family: var(--pop);
    margin-top: 1.25rem;
    font-size: 0.9em;
}

#product-details p,
#product-details li {
    font-family: var(--body);
    font-size: 0.8em;
    font-weight: 400;
}

#product-details p {
    color: black;
    padding: 0.5rem 0;
}

.specifications {
    display: flex;
    flex-direction: column;
    align-items: flex-end;
}

.bold-first {
    font-family: var(--pop);
    font-weight: 600;
}

.slogan {
    font-family: var(--klee);
    font-size: 2em;
    font-weight: 600;
}

/* Tablet Responsive */

@media (min-width: 48.75rem) {

    #brands {
      margin: 2rem;
    }
    .brand-lineup {
      flex-direction: row;
    }

    .brand-lineup img {
        width: 70px;
    }

    nav img {
      width: 10rem;
    }

    .page-history ul {
      font-size: 1em;
      justify-content: flex-start;
    }

    .featured-image img {
      width: 60%;
    }

    .image-lineup {
      padding: 0 8.25rem;
    }

    #category {
      flex-direction: row;
      margin: 1rem 2rem;
    }
}

/* Desktop Responsive */

@media (min-width: 69.438rem) {

  /* Nav */
  .search_box,
  .main-menu {
    display: block;
  }

  .mobile-menu-btns {
    display: none;
  }

  nav {
    padding: 1rem 7rem;
    justify-content: space-between;
  }

  nav img {
    width: 14.375rem;
  }

  .main-menu {
    display: flex;
    align-items: center;
    list-style: none;
    gap: 2rem;
  }

  .main-menu li a {
    text-decoration: none;
    font-family: var(--jakarta);
    color: black;
    font-size: 1.5em;
    font-weight: 800;
    transition: color 0.3s ease;
  }

  .main-menu li a:hover {
    color: var(--c_zap_yellow);
  }

  .cart svg {
    width: 2.5rem;
  }

.cart svg .cls-1 {
    fill: black; 
    transition: fill 0.3s ease;
  }

.cart a:hover svg .cls-1 {
  fill: var(--c_zap_yellow);
}

.search_box {
  display: block;
  position: relative;
  width: 50%;
  margin: 0 2.5rem;
}

.search_box input {
    width: 100%;
    padding: 0.938rem 3.75rem 0.938rem 1.25rem;
    background: var(--c_charcoal_gray);
    border: none;
    border-radius: 1.875rem;
    font-family: var(--pop);
    font-size: 1.3em;
    color: var(--c_cool_gray);
  }

.search_box input:focus {
    outline: none;
  }

.search_box .search-icon {
    position: absolute;
    top: 50%;
    right: 0.938rem;
    transform: translateY(-50%);
    width: 1.563rem;
    fill: var(--c_cool_gray);
    cursor: pointer;
    transition: fill 0.3s ease;
  }

.search_box:hover .search-icon {
    fill: var(--c_sun_yellow);
  }

.search-icon2:hover,
.menu-icon:hover {
    fill: var(--c_zap_yellow);
  }

/* Showcase */

.showcase {
    flex-direction: row;
    gap: 5.625rem;
}

/* Category Buttons */

#category {
    align-items: center;
    flex-direction: row;
    margin-top: 0.25rem;
  }

#category button {
    margin: 1.875rem;
  }

/* Category Arrow */

.cat-arrow {
    margin-right: 49.375rem;
  }

/* Brands */

#brands {
    margin: 5.625rem;
  }

.brand-lineup {
    flex-direction: row;
  }

.brand-lineup img {
  width: 7.5rem;
}

/* Footer */

footer {
    flex-direction: row;
    justify-content: center;
    gap: 16.25rem;
    padding: 2.5rem 0 4.375rem;
  }

/* Disclaimer */

.disclaimer p:first-child {
    margin-bottom: 0;
  }

  /* Breadcrumbs - Page History */
    .page-history ul {
        font-size: 1.2em;
}

/* Project Title */
    .product-title {
        padding: 1.25rem 4.375rem;
    }

    .product-title h1 {
        font-size: 2em;
    }

    .product-title p {
        margin: 0.313rem 0;
    }

/* Product Details */
    #product-details {
        flex-direction: row;
        gap: 5.625rem;
    }

    #product-select {
        flex-direction: row;
        gap: 11.25rem;
    }
/* Product Images & Selection */
    .featured-image img {
        width: 25rem;
    }

    .image-lineup {
        padding: 0;
    }

    .image-lineup img {
        width: 5rem;
    }

    .product-pick button,
    .dropdown select {
        width: 18.75rem;
    }

/* Contact Page */
    #contact-showcase {
        align-items: flex-start;
    }

    .contact-info {
        max-width: 100%;
    }
}