select {
   border: none;
   border-radius: 5px;
   height: 40px;
   line-height: 40px;
   padding: 10px;
   font-size: 14px;
   font-weight: 500;
   background: none;
   background-color: #eee;
   color: #333;
   min-width: 145px;
}
input[type='text'] {
   border: none;
   border-radius: 5px;
   height: 40px;
   line-height: 40px;
   padding: 10px;
   font-size: 14px;
   font-weight: 500;
   background: none;
   background-color: #eee;
   color: #333;
   min-width: 250px;
}
input[type='text']::placeholder {
   color: #888;
}
input[type='text']:focus {
   border: 2px solid #000;
   box-shadow: 0 0 5px rgba(0, 0, 0, 0.1);
}
input[type='checkbox'] {
   width: 16px;
   height: 16px;
   cursor: pointer;
   vertical-align: middle;
   accent-color: #333;
   font-weight: 600;
}
input[type='checkbox']:checked {
   accent-color: #333;
}
.newboard {
   border-radius: 5px;
   background-color: #f9f9f9;
   scrollbar-color: #c9c9c9 #f9f9f9;
   box-sizing: border-box;
   width: 100%;
   height: 82vh;
}
.newboard_top {
   font-size: 14px;
   font-weight: bold;
   color: #333;
   display: flex;
   flex-direction: column;
   align-items: center;
   justify-content: space-between;
   padding: 1%;
   gap: 15px;
}
.newboard_title {
   font-size: 24px;
   font-weight: bold;
   color: #222;
}
.newboard_notice {
   font-size: 15px;
   color: #555;
   font-weight: 400;
   text-align: center;
   line-height: 1;
}
.newboard_top form {
   display: flex;
   align-items: center;
   justify-content: space-between;
   width: 50%;
}
.newboard_category {
   display: flex;
   flex-wrap: wrap;
   justify-content: right;
   align-items: center;
   gap: 0 12px;
   background: #f9fafb;
   padding: 0 5px;
   width: 50%;
}
.newboard_category input[type='radio'] {
   position: absolute;
   opacity: 0;
   pointer-events: none;
}
.newboard_search {
   display: inline-block;
   width: 50%;
   text-align: left;
   padding: 0 5px;
}
.newboard_search form {
   display: flex;
   align-items: center;
   gap: 5px;
}
.newboard_search input[type='text'] {
   width: 70% !important;
   max-width: 250px;
}
.newboard_search button {
   border: none;
   background: none;
   cursor: pointer;
   padding: 5px 10px;
   font-size: 16px;
   color: #333;
}
.newboard_search button svg {
   width: 25px;
   height: 25px;
   vertical-align: middle;
}
.newboard_total {
   font-size: 12px;
   color: #999;
}
.newboard_total span {
   margin-left: 10px;
}
.newboard_total strong {
   color: #333;
   font-size: 14px;
}

.partner-list {
   display: flex;
   justify-content: space-between;
   flex-wrap: wrap;
   align-items: center;
}
.partner-card {
   width: 23%;
   background: #fff;
   border-radius: 12px;
   box-shadow: 0 4px 18px rgba(0, 0, 0, 0.05);
   overflow: hidden;
   transition: transform 0.2s ease, box-shadow 0.2s ease;
   margin-bottom: 20px;
}
.partner-card:hover {
   transform: translateY(-5px);
   box-shadow: 0 4px 18px rgba(0, 0, 0, 0.15);
}
.card-header {
   background: #fff;
   border-bottom: solid 1px #eee;
   color: #000;
   padding: 13px;
   font-weight: bold;
   font-size: 22px;
   text-align: center;
}
.card-body {
   padding: 13px 20px;
   font-size: 16px;
   color: #333;
}
.card-body p {
   margin: 8px 0;
   display: flex;
   align-items: center;
   justify-content: space-between;
}
.card-body span:first-child {
   color: #999;
   font-size: 13px;
}
.card-body span.ellipsis {
   white-space: nowrap;
   overflow: hidden;
   text-overflow: ellipsis;
   flex: 1;
   margin-left: 10px;
   display: block;
   max-width: 100%;
   text-align: right;
}
.card-footer {
   padding: 13px 20px;
   text-align: center;
   border-top: 1px solid #eee;
   display: flex;
   justify-content: space-between;
   align-items: center;
}
.card-footer a {
   display: inline-block;
   padding: 10px 16px;
   border-radius: 6px;
   text-decoration: none;
   transition: background 0.2s ease;
   width: 48%;
   font-size: 16px;
   font-weight: bold;
}
.card-footer .map-btn {
   background: #23abff;
   color: #fff;
   text-shadow: 0px 0px 2px hsla(0, 0%, 0%, 0.2);
}
.card-footer .tel-btn {
   background: #00cbe6;
   color: #fff;
   text-shadow: 0px 0px 2px hsla(0, 0%, 0%, 0.2);
}
.tel-btn:hover {
   background: #0094b5;
}
.map-btn:hover {
   background: #107df2;
}
.pg_wrap {
   margin-top: 0;
   margin-bottom: 10px;
}

@media (max-width: 768px) {
   .select {
      min-width: 70px;
   }

   .newboard {
      height: calc(var(--vh, 1vh) * 82);
   }
   .newboard_top {
      padding: 2% 0;
   }
   .newboard_notice {
      line-height: 1.4;
   }
   .newboard_top form {
      flex-direction: column;
      align-items: flex-start;
   }
   .newboard_category {
      gap: 10px;
      width: 100%;
      padding-bottom: 10px;
      justify-content: center;
   }
   .newboard_search {
      width: 100%;
      text-align: center;
      min-width: 100%;
   }

   .partner-list {
        flex-direction: column;
        align-items: center;
   }
   .partner-card {
      width: 90%;
   }
   .card-header {
      padding: 16px;
      font-size: 20px;
   }
   .card-body {
      padding: 16px;
      font-size: 14px;
   }
   .card-body p {
      margin: 6px 0;
   }
   .card-footer {
      padding: 16px;
      font-size: 14px;
   }
}
