/* =========== 全域樣式 =========== */
.clinic-filter-wrapper {
    width: 100%;
    margin: 0 auto;
    box-sizing: border-box;
    font-family: -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;
    line-height: 1.5;
    color: #212529;
}

/* =========================================================
   篩選下拉選單樣式
   ========================================================= */
#clinic-region {
    font-size: 16px;
    line-height: 16px;
    padding-top: 5px;
    padding-bottom: 5px;
}

#clinic-product-category {
    padding-top: 5px;
    padding-bottom: 5px;
}

/* =========================================================
   Clinic Result Table Layout（最終強化版）
   ========================================================= */
.clinic-result-table {
    width: 100%;
    display: flex;
    flex-direction: column;
    font-family: "Noto Sans TC", sans-serif;
    letter-spacing: 1.2px;
    color: #333;
    margin-top: 20px;
}

/* 整列設定：一列一條底線 */
.clinic-table-row {
    display: grid;
    grid-template-columns: 240px 200px 1fr 240px;
    align-items: center;
    padding: 20px 0;
    border-bottom: 1px solid #9F9F9F;
    background-color: #FFF;
    transition: background-color 0.2s ease-in-out;
}

/* 表頭樣式 */
.clinic-table-header {
    background-color: #F5F5F5;
    font-size: 16px;
    font-weight: 500;
    border-bottom: 2px solid #000;
}

/* 資料列文字樣式 */
.clinic-table-row:not(.clinic-table-header) {
    font-weight: 400;
}

/* 欄位設定 */
.clinic-table-row .col {
    padding: 0 10px;
    display: flex;
    align-items: center;
    gap: 10px;
    font-size: 16px;
    line-height: 1.6;
    color: #333;
}

/* icon 設定 */
.clinic-table-row .col .icon {
    width: 20px;
    height: 20px;
    flex-shrink: 0;
}

/* 各欄對齊方式 */
.clinic-table-row .col.name {
    justify-content: flex-start;
}
.clinic-table-row .col.phone {
    justify-content: flex-start;
}
.clinic-table-row .col.address {
    justify-content: flex-start;
}
.clinic-table-row .col.product {
    justify-content: center;
    text-align: center;
}

/* =========================================================
   Hover 效果設定
   ========================================================= */

/* 整列 hover 變色 */
.clinic-table-row:not(.clinic-table-header):hover {
    background-color: #F2EFEA;
}

/* hover 狀態下所有文字保持 #333，不變色、不加底線 */
.clinic-table-row:hover .col,
.clinic-table-row:hover .col span,
.clinic-table-row:hover .col a,
.clinic-table-row:hover .col div {
    color: #333 !important;
    text-decoration: none !important;
}

/* 禁止 a hover 變色或加底線 */
.clinic-table-row a {
    color: inherit;
    text-decoration: none;
}
.clinic-table-row a:hover {
    color: inherit;
    text-decoration: none;
}

/* 空結果樣式 */
.clinic-no-results {
    padding: 40px 20px;
    text-align: center;
    color: #6c757d;
    font-size: 16px;
    border-bottom: 1px solid #9F9F9F;
}

/* =========================================================
   響應式調整
   ========================================================= */
@media (max-width: 768px) {
    .clinic-table-row {
        grid-template-columns: 1fr;
        padding: 12px 0;
    }
    .clinic-table-header {
        display: none;
    }
    .clinic-table-row .col {
        justify-content: flex-start;
    }
    /* 產品分類在手機版置左 */
    .clinic-table-row .col.product {
        justify-content: flex-start;
        text-align: left;
    }
}

/* =========== 篩選表單 =========== */
.clinic-filter-container {
    margin-bottom: 30px;
    padding: 20px;
    background-color: #f8f9fa;
    border-radius: 8px;
    box-shadow: 0 2px 4px rgba(0, 0, 0, 0.05);
}

/* 表單行佈局 */
.clinic-filter-container .row {
    display: flex;
    flex-wrap: nowrap;
    width: 100%;
   
    margin-bottom: 15px;
    align-items: center;
}

/* 表單項目 */
.clinic-filter-container .row > div {
    flex: 1;
    min-width: 150px;
}

/* 篩選表單網格佈局 */
#clinic-filter-form {
    display: grid;
    grid-template-columns: 14% 34% 25% 25%;
    grid-template-rows: 1fr;
    column-gap: 8px;
    width: 100%;
}

/* 重設篩選按鈕 */
#reset-filters {
    font-weight: 400;
    color: #000;
    background-color: #d3cabb;
    font-size: 16px;
    width: 100% !important;
    height: 38px;
    border: 1px solid #d3cabb;
    border-radius: 4px;
    cursor: pointer;
}

/* 搜尋欄位 */
#clinic-keyword {
    font-size: 16px;
    width: 100% !important;
    height: 38px;
    padding: 6px 12px;
    border: 1px solid #ced4da;
    border-radius: 4px;
}

/* 下拉選單 */
.clinic-filter-container select {
    height: 38px;
    border-radius: 4px;
    border: 1px solid #ced4da;
    font-size: 16px;
    padding: 6px 12px;
    width: 100%;
}

/* 診所列表容器 */
#clinic-list-container .clinic-list {
    margin-top: 12px;
}

.clinic-filter-container{
	padding-bottom:0px;
	padding-top:0px;
	padding-right:0px;
	padding-left:0px;
	background-color:#FFFFFF00;
	
}

/* =========== 診所項目 =========== */
.clinic-item {
    display: flex;
    align-items: center;
    padding: 15px;
    position: relative;
    border-bottom: 1px solid #000;
    
}

.clinic-item:hover {
    background-color: #f2efea;
}

/* 子分類標籤 */
.s-item-city {
    display: inline-block;
    padding: 0.2rem 0.5rem;
    margin-right: 0.5rem;
    vertical-align: middle;
    text-align: center;
    white-space: nowrap;
    line-height: 1.2;
    font-family: var(--s-font-title, -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif);
    font-size: 0.85rem;
    color: #fff;
    background-color: #d3cabb;
    border-radius: 0.2rem;
}

/* 診所資訊 */
.clinic-info {
    display: flex;
    flex-direction: row;
    gap: 1rem;
    align-items: center;
    width: 100%;
    justify-content: space-between;
}

/* 左側區塊 */
.clinic-left {
    display: flex;
    align-items: center;
    flex: 1;
}

/* 右側區塊 */
.clinic-right {
    display: flex;
    align-items: center;
    gap: 1rem;
}

/* 地址和電話 */
.clinic-address,
.clinic-phone {
    margin: 0;
    padding: 0;
    font-size: 16px;
}

/* 連結樣式 */
.clinic-item-link {
    display: block;
    text-decoration: none;
    color: #333;
    transition: all 0.2s ease;
}

/* =========== 響應式設計 =========== */
/* 平板和較小桌面 */
@media (max-width: 1023.98px) {
    #clinic-filter-form {
        grid-template-rows: 1fr 1fr;
        grid-template-columns: 1fr 1fr;
        gap: 15px;
    }
    
    .clinic-filter-container .row {
        flex-wrap: wrap;
        gap: 15px;
    }
    
    .clinic-filter-container .btn-all-clinics,
    .clinic-filter-container .search-box,
    .clinic-filter-container .area-selector,
    .clinic-filter-container .city-selector {
        flex: 1 1 100% !important;
        max-width: 100%;
        min-width: 100%;
        margin-bottom: 10px;
    }
    
    .clinic-info {
        flex-direction: column;
        align-items: flex-start;
        gap: 0.5rem;
    }
}

/* 手機版 */
@media (max-width: 767.98px) {
    .clinic-item {
        flex-wrap: wrap;
        padding: 15px 10px;
    }
    
    .clinic-info {
        flex-direction: row;
        margin-top: 10px;
        padding-left: 55px;
        width: 100%;
    }
    
    .clinic-right {
        width: 100%;
        justify-content: space-between;
    }
}

/* 右側區塊 */
.clinic-right {
    display: flex;
    align-items: center;
    justify-content: flex-end;
    flex: 1;
}

/* 類別樣式 */
.clinic-category {
    position: relative;
    margin-right: 15px;
}

.clinic-category span {
    display: inline-block;
    padding: 0.3rem;
    vertical-align: baseline;
    text-align: center;
    white-space: nowrap;
    line-height: 1;
    font-family: var(--s-font-title, inherit);
    font-size: 0.9rem;
    color: rgba(var(--bs-white-rgb), 1);
    background-color: rgba(var(--bs-primary-rgb), 1);
    border-radius: 0.2rem;
}

/* 診所名稱樣式 */
.clinic-name {
    font-family: var(--s-font-title, inherit);
    letter-spacing: var(--s-font-title-spacing, normal);
    font-size: 1.2rem;
    color: rgba(var(--bs-black-rgb), 1);
    margin-right: 20px;
}

/* 地址和電話容器 */
.clinic-info {
    display: flex;
    align-items: center;
}

/* 地址和電話共用樣式 */
.clinic-address,
.clinic-phone {
    position: relative;
    margin-left: 0.75rem;
    font-size: 1rem;
    line-height: 1.25;
    opacity: 1;
    display: inline-block;
}

/* 響應式設計 */
/* 1439px 以下裝置 */
@media (max-width: 1439px) {
    .clinic-list .clinic-item-link .clinic-item {
        border-bottom-color: #000;
    }
}

/* 平板和手機版 */
@media (max-width: 768px) {
    .clinic-item {
        flex-wrap: wrap;
        padding: 15px 10px;
    }
    
    /* 767px 以下裝置 */
    @media (max-width: 767px) {
        /* 診所名稱 */
        .clinic-list .clinic-item .clinic-name {
            font-weight: 500;
        }
        
        /* 診所資訊 */
        .clinic-list .clinic-item .clinic-info {
            flex-direction: row;
        }
        
        /* 右側資訊區塊 */
        .clinic-list .clinic-item .clinic-right {
            padding-left: 0;
            padding-top: 0;
            margin-top: 0;
        }
        
        /* 右側資訊區塊 */
        .clinic-list .clinic-item .clinic-right {
            border-top-width: 0;
            justify-content: flex-start;
            padding-left: 55px;
            display: block;
            width: 100%;
        }
    }
    
    .clinic-left,
    .clinic-right {
        width: 100%;
        flex: none;
    }
    
    .clinic-right {
        margin-top: 10px;
        padding-top: 10px;
        
    }
    
    .clinic-category,
    .clinic-name,
    .clinic-address,
    .clinic-phone {
        width: 100% !important;
        padding: 3px 0;
        margin: 0;
        text-align: left;
    }
    
    .clinic-category {
        margin-bottom: 5px;
    }
    
    .clinic-address::after {
        display: none;
    }
    
    .clinic-phone {
        margin-left: 0;
    }
    
    .clinic-info {
        flex-direction: column;
        align-items: flex-start;
    }
    
    .clinic-address,
    .clinic-phone {
        margin-left: 0;
    }
}

/* =========================================================
   Pagination
   ========================================================= */

.clinic-pagination-container {
  display: flex;
  justify-content: center;
  align-items: center;
  margin-top: 40px;
}

.clinic-pagination-frame {
  display: inline-flex;
  justify-content: center;
  align-items: center;
  gap: 32px;
}

/* 箭頭按鈕 */
.clinic-pagination-prev,
.clinic-pagination-next {
  cursor: pointer;
  display: flex;
  justify-content: center;
  align-items: center;
  transition: opacity 0.2s ease-in-out;
}

.clinic-pagination-prev:hover,
.clinic-pagination-next:hover {
  opacity: 0.8;
}

/* 頁碼群組 */
.clinic-pagination-numbers {
  display: flex;
  gap: 16px;
  align-items: center;
  justify-content: center;
}

/* 單一頁碼 */
.clinic-page-num {
  width: 24px;
  height: 24px;
  text-align: center;
  color: #9F9F9F;
  font-size: 16px;
  font-family: "Noto Sans TC", sans-serif;
  cursor: pointer;
  line-height: 24px;
  transition: color 0.2s ease-in-out;
}

/* 當前頁 */
.clinic-page-num.active {
  color: #000;
}

/* Hover 頁碼 */
.clinic-page-num:hover {
  color: #333;
}

/* 禁止底線與變色 */
.clinic-pagination-frame a {
  color: inherit;
  text-decoration: none;
}
.clinic-pagination-frame a:hover {
  color: inherit;
  text-decoration: none;
}

