html {
  font-size: 14px;
}

@media (min-width: 768px) {
  html {
    font-size: 16px;
  }
}

.btn:focus, .btn:active:focus, .btn-link.nav-link:focus, .form-control:focus, .form-check-input:focus {
  box-shadow: 0 0 0 0.1rem white, 0 0 0 0.25rem #258cfb;
}

html {
  position: relative;
}


a {
    color: white; /* 讓連結顏色與標題一致 */
    /*text-decoration: none; /* 預設不顯示底線 */
    border-bottom: 2px solid rgba(255, 255, 255, 0.5); /* 底線顏色半透明 */
    transition: all 0.3s ease-in-out; /* 平滑過渡效果 */
    
}  




/*index*/
/*body {
    margin-bottom: 60px;
    overflow: hidden;*/ /* 防止 body 自身出現捲軸 */
/*}*/

body {
    margin-bottom: 60px;
    font-family: 'Arial', sans-serif;
    background-color: #f8f9fa;
    text-align: center;
    color: #2c3e50;
}
 
.main-content {
    flex: 1;
    overflow-y: auto;
    padding-bottom: 80px; /* 為避免 footer 壓住內容（如付款按鈕） */
}

.page-wrapper {
    display: flex;
    flex-direction: column;
    height: 100%;
}

.header {
    background-color: #2c3e50;
    color: white;
    padding: 20px;
}

.header img {
    max-width: 100%;
    height: auto;
}

.container {
    margin-top: 20px;
    display: flex;
    flex-direction: column;
    height: 100%;
}

.btn-custom {
    width: 80%;
    margin: 10px auto;
    display: block;
    padding: 15px;
    font-size: 18px;
    text-align: left;
    background-color: white;
    /*background-image: url('/img/btnbg.png');*/    
    border: 1px solid #2c3e50;
    color: #2c3e50;
    border-radius: 10px;
}

.btn-custom:hover {
    background-color: #2c3e50;
    color: white;
}

.info {
    margin-top: 20px;
    text-align: left;
    padding: 15px;
    font-size: 16px;
}

/*inputcarno*/

.progress-bar-container {
    text-align: center;
    margin-bottom: 20px;
}

.progress-bar-container img {
    width: 80%;
    max-width: 600px;
}

.form-group {
    margin-bottom: 20px;
}

.custom-input {
    width: 100%; /* 讓輸入框佔滿父容器 */
    max-width: 600px; /* 設定最大寬度，確保不會太長 */
    height: 50px; /* 增加高度，讓輸入框更顯眼 */
    font-size: 18px; /* 調整字體大小 */
    padding: 10px; /* 增加內邊距，提升輸入框的舒適度 */
    border-radius: 5px; /* 圓角讓外觀更美觀 */
}

.btn-custom2 {
    background-color: #007bff;
    color: white;
    padding: 15px 30px;
    font-size: 18px;
    border: none;
    border-radius: 5px;
}

.btn-custom2:hover {
    background-color: #0056b3;
}

/*ParkingInfo*/
.info-box {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 90%;
    max-width: 500px;
    margin: 0 auto;
    text-align: center; /* 讓內容置中 */
}

.btn-custom3 {
    background: linear-gradient(to bottom, #ff7f00, #cc5500);
    color: white;
    padding: 15px 30px;
    font-size: 20px;
    border: none;
    border-radius: 5px;
    width: 80%;
    max-width: 400px;
    margin-top: 20px;
}

.btn-custom3:hover {
    background: linear-gradient(to bottom, #e67300, #aa4400);
}

.date-text {
    font-size: 22px;
    font-weight: bold;
}
.time-text {
    font-size: 24px;
    font-weight: bold;
    color: #b38e22;
}

.time-block {
    flex: 1;
}
.text-left {
    text-align: left; /* 確保文字靠左對齊 */
    flex: 1; /* 讓兩側時間區塊平均分配空間 */
    text-align: center; /* 讓文字置中顯示 */
}

.text-right {
    text-align: right; /* 確保文字靠右對齊 */
    flex: 1; /* 讓兩側時間區塊平均分配空間 */
    text-align: center; /* 讓文字置中顯示 */
}
.arrow {
    font-size: 24px;
    font-weight: bold;
    color: #2c3e50;
    text-align: center;
    display: inline-block; 
    text-align: center;
}

.amount {
    font-size: 24px;
    font-weight: bold;
    text-align: right;
}

.car-number {
    font-size: 18px;
    font-weight: bold;
    text-align: left;
}

/*setInvoice*/

.form-group {
    margin-bottom: 20px;
}

.input-group-text {
    background-color: #d9d9d9;
    font-weight: bold;
    font-size:24px;
}

.form24 {
    font-size: 24px;
}
.form-control::placeholder {
    color: #b0b0b0;
    font-style: italic;
}

.custom-select {
    width: 100%; /* 讓輸入框佔滿父容器 */
    height: 50px; /* 增加高度，讓輸入框更顯眼 */
    font-size: 18px; /* 調整字體大小 */
    max-width: 600px; /* 設定最大寬度，確保不會太長 */
}

/* 發票設定表單對齊樣式 */
.d-flex.align-items-center.w-75 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.input-group.w-75 {
    width: 75% !important;
    max-width: 400px;
}
.d-flex.align-items-center.w-85 {
    display: flex;
    align-items: center;
    justify-content: flex-start;
}

.input-group.w-85 {
    width: 85% !important;
    max-width: 600px;
}
/* 調整搜尋列容器，使其與上方 select 同寬度對齊 */
.search-container {
    display: flex;
    width: 100%;
    max-width: 600px; /* 必須與 select 的 max-width 相同 */
    margin-top: 10px;
}

#searchDonate {
    flex: 1; /* 佔據按鈕以外的所有空間 */
    height: 50px;
}

/*choosePayType*/

.payment-box {
    background: white;
    padding: 20px;
    border-radius: 10px;
    box-shadow: 0 2px 10px rgba(0, 0, 0, 0.1);
    width: 80%;
    max-width: 400px;
    margin: 0 auto;
    text-align: left;
}

.payment-methods {
    display: flex;
    justify-content: center;
    gap: 15px;
    margin-top: 20px;
}

.payment-method img {
    width: 180px;
    border-radius: 10px;
    cursor: pointer;
    transition: transform 0.2s;
    border: none;
    display: block;
    margin: 0 auto;
}

.payment-method img:hover {
    transform: scale(1.05);
}

.payment-title {
    font-size: 22px;
    font-weight: bold;
    margin-top: 20px;
}

/*payResult*/

.exit-time {
    background-color: #333;
    background-image: url('/img/pay/bar.png');
    color: white;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    border-radius: 5px;
    display: inline-block;
    margin-bottom: 10px;
}
.info-header {
    background-color: #2c3e50;
    color: white;
    padding: 10px;
    font-size: 18px;
    font-weight: bold;
    border-top-left-radius: 10px;
    border-top-right-radius: 10px;
}
 

.footer-text {
    margin-top: 30px;
    font-size: 18px;
    color: #2c3e50;
}

.success-icon {
    width: 120px;
    height: auto;
    margin: 20px auto;
}

.success-text {
    font-size: 24px;
    font-weight: bold;
    margin-bottom: 20px;
}

/*pay cancel*/
.error-text {
    font-size: 24px;
    font-weight: bold;
    color: #2d4c65;
    margin-top: 10px;
}

.retry-text {
    font-size: 16px;
    color: #666;
}

.thank-you {
    font-size: 18px;
    color: #888;
    margin-top: 10px;
}

.btn-confirm {
    display: inline-block;
    padding: 10px 20px;
    font-size: 18px;
    color: white;
    background-color: #2d4c65;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 20px;
}

.btn-confirm:hover {
    background-color: #1b3a4f;
}

/*error*/

.error-icon {
    font-size: 50px;
    color: #e74c3c;
}

.error-title {
    font-size: 24px;
    font-weight: bold;
    color: #333;
    margin-top: 10px;
}

.error-message {
    font-size: 16px;
    color: #666;
    margin-top: 10px;
}

.btn-home {
    display: inline-block;
    padding: 10px 20px;
    font-size: 18px;
    color: white;
    background-color: #2d4c65;
    border-radius: 5px;
    text-decoration: none;
    margin-top: 20px;
}

.btn-home:hover {
    background-color: #1b3a4f;
}