body {
  font-family: system-ui, arial, sans-serif;
  font-size: 1.3em;
  /* Default size for larger screens */
}

@media (max-width: 768px) {
  body {
    font-size: 16px;
    /* Smaller size for phones */
  }
}
search {
  padding: 0.5rem 0.5rem 0.5rem 0rem;
  position: sticky;
  top: 0;
}
search input {
  box-sizing: border-box;
  width: 100%;
  font-size: 2rem;
  color: #FFFF00;
  padding: 0.5rem;
  background-color: red;
}

#merchant-list li:nth-child(even) {
  background: color-mix(in srgb, currentColor 7%, #0000);
}
#merchant-list li a i {
  display: inline-block;
  background: currentColor;
  width: 1.3ch;
  height: 1.3ch;
  border-radius: 2px;
}

.accordion {
  background-color: #eee;
  color: #444;
  cursor: pointer;
  padding: 18px;
  width: 100%;
  border: none;
  text-align: left;
  outline: none;
  font-size: 1em;
  transition: 0.4s;
}

.active, .accordion:hover {
  background-color: #ccc;
}

.panel {
  padding: 0 18px;
  background-color: white;
  max-height: 0;
  overflow: hidden;
  transition: max-height 0.2s ease-out;
}

/* REGION SELECTOR CSS STARTS */
body:has(input[type=radio][name=region-filter]:checked) ol#merchant-list {
  display: grid;
  list-style-type: none;
  padding: 0;
}

body:has(input[type=radio][name=region-filter]:checked) ol#merchant-list li {
  padding: 0;
  margin: 0;
  max-height: 0;
  transition: 200ms all;
  overflow: hidden;
}

body:has(input[type=radio][name=region-filter][value^=central]:checked) ol#merchant-list li:has([data-zone^=central]) {
  max-height: 2lh;
}

body:has(input[type=radio][name=region-filter][value^=west]:checked) ol#merchant-list li:has([data-zone^=west]) {
  max-height: 2lh;
}

body:has(input[type=radio][name=region-filter][value^=east]:checked) ol#merchant-list li:has([data-zone^=east]) {
  max-height: 2lh;
}

body:has(input[type=radio][name=region-filter][value=ALL]:checked) ol#merchant-list li {
  max-height: 2lh;
}

section.filter {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: 1rem;
  font-weight: 400;
}

section.filter label {
  font-size: 1em;
  border-bottom: 0.3rem solid rgba(0, 0, 0, 0);
  padding: 0 0 0.3rem;
  transition: 300ms all;
}

section.filter label:has(input:checked) {
  font-weight: 800;
  border-bottom: 0.3rem solid currentColor;
}

section.filter label input {
  display: none;
}

aside {
  position: sticky;
  width: clamp(120px,100vw,600px);
  height: 400px;
  bottom: 0;
}

/* REGION SELECTOR CSS ENDS */


/*topnav CSS from W3 schools */

.topnav {
  background-color: #333;
  overflow: hidden;
}

/* Style the links inside the navigation bar */
.topnav a {
  float: left;
  display: block;
  color: #f2f2f2;
  text-align: center;
  padding: 14px 16px;
  text-decoration: none;
  font-size: 17px;
}

/* Change the color of links on hover */
.topnav a:hover {
  background-color: #ddd;
  color: black;
}

/* Add an active class to highlight the current page */
.topnav a.active {
  background-color: #04AA6D;
  color: white;
}

/* Hide the link that should open and close the topnav on small screens */
.topnav .icon {
  display: none;
}

@media screen and (max-width: 600px) {
  .topnav a:not(:first-child) {
    display: none;
  }

  .topnav a.icon {
    float: right;
    display: block;
  }
}
/* The "responsive" class is added to the topnav with JavaScript when the user clicks on the icon. This class makes the topnav look good on small screens (display the links vertically instead of horizontally) */
@media screen and (max-width: 600px) {
  .topnav.responsive {
    position: relative;
  }

  .topnav.responsive a.icon {
    position: absolute;
    right: 0;
    top: 0;
  }

  .topnav.responsive a {
    float: none;
    display: block;
    text-align: left;
  }
}