.datepicker  table{
	width: auto!important;
}

[v-cloak] { display: none !important; }

input.input-error { background-color: #fff3f3; }



.donate-choose-list {
	white-space: nowrap;
}

.donate-choose-list .list-item {
	text-align: center;
	border: 2px solid #2bc8c8;
	border-radius: 5px;
}

.form-receiveaddress {
	width: calc(100% - 1em) !important;
}

.gift-section-row .gift-swiper {
	width: 90%;
}

.gift-card {
	flex: 0 0 180px;
	border: 2px solid #ddd;
	border-radius: 8px;
	padding: 8px;
	cursor: pointer;
	position: relative;
	transition: border-color 0.2s;
	text-align: center;
	background: #fff;
}

.gift-card:hover:not(.soldout) {
	border-color: #2bc8c8;
}

.gift-card.selected {
	border-color: #2bc8c8;
	background: #e8fafa;
}

.gift-card.soldout {
	cursor: default;
	opacity: 0.6;
}

.gift-card img {
	width: 100%;
	height: 100px;
	object-fit: cover;
	border-radius: 4px;
}

.gift-card-check {
	display: none;
	position: absolute;
	top: 4px;
	right: 6px;
	color: #2bc8c8;
	font-weight: bold;
	font-size: 1.1rem;
}

.gift-card.selected .gift-card-check {
	display: block;
}

.gift-card-name {
	font-weight: bold;
	margin-top: 4px;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gift-card-desc {
	font-size: 0.8rem;
	color: #888;
	white-space: nowrap;
	overflow: hidden;
	text-overflow: ellipsis;
}

.gift-card-amount {
	font-size: 0.85rem;
	color: #2bc8c8;
	margin-top: 4px;
}

.gift-soldout-mask {
	position: absolute;
	top: 0;
	left: 0;
	right: 0;
	bottom: 0;
	background: rgba(0, 0, 0, 0.35);
	color: #fff;
	display: flex;
	align-items: center;
	justify-content: center;
	border-radius: 6px;
	font-size: 0.9rem;
}

.warn {
	margin-left: 1rem;
}

/* radio 選項按鈕邊角與快選金額一致 */
.radioLabel {
	border-radius: 5px;
}

/* 統一所有文字輸入框與下拉選單行高（參照一般 text input × 1.25） */
.form [type=text]:not(.form-paytotal),
.form [type=tel],
.form select.form-control, .form .customInput {
	line-height: 1.875;
}

/* 收件資訊：上排姓名＋電話並排，下排地址全寬 */
.receive-info-row {
	display: block;
}
.receive-top-row {
	display: flex;
	gap: 1em;
	margin-bottom: 1em;
}
.receive-top-row > .fieldset {
	flex: 1;
	min-width: 0;
}
.receive-addr-row {
	display: block;
	width: 100%;
	min-width: 0;
	box-sizing: border-box;
}

.hidden {
	display: none;
}

/* 縣市選擇器並排容器 */
.city-sel-row {
	display: flex;
	gap: 0.5em;
	width: 100%;
	box-sizing: border-box;
}

#anonymousCity{
	margin: 0 1em;
}

.city-sel-row select.city-sel {
	flex: 1;
	width: auto;
	min-width: 0;
	margin: 0 0 1em 0;

}

/* select.form-control (0,1,1) 特異性高於 .hidden (0,1,0)，需明確覆蓋 */
.city-sel-row select.hidden {
	display: none;
}

/* Selectize 主題：與表單風格一致 */
.city-sel-row .selectize-control,
.receive-address .selectize-control {
	flex: 1;
	min-width: 0;
}

.selectize-input {
	border: 2px solid #2bc8c8 !important;
	border-radius: 5px !important;
	box-shadow: none !important;
	padding: .125rem .5em .25rem .5em !important;
	line-height: 1.875 !important;
	min-height: unset !important;
}

.selectize-input.focus,
.selectize-input.dropdown-active {
	border-color: #2bc8c8 !important;
	box-shadow: none !important;
	border-radius: 5px 5px 0 0 !important;
}

.selectize-dropdown {
	border: 2px solid #2bc8c8 !important;
	border-top: none !important;
	border-radius: 0 0 5px 5px !important;
	margin-top: -2px;
}

/* 限制約 6 行高（每行約 30px） */
.selectize-dropdown-content {
	max-height: 180px;
}

.selectize-dropdown .option.active {
	background: #2bc8c8 !important;
	color: #fff !important;
}

.checkInput:checked+.radioBtn::before {
	background-color: #2bc8c8;
}

.checkInput:checked+.radioLabel {
	background-color: #2bc8c8;
	color: #fff;
}

select.form-control {
	display: block;
	width: calc(100% - 2em);
	margin-left: 1em;
	margin-right: 1em;
	padding: .125rem 1em .25rem .5em;
	line-height: 1.875;
	border: 2px solid #2bc8c8;
	border-radius: 5px;
	box-sizing: border-box;
}

@media ( min-width : 992px) {
	.tag {
		margin: 5px .5em;
	}
	.intro {
		padding-top: 32px;
		padding-bottom: 32px;
	}
	.beforeAction {
		padding-bottom: 32px;
	}
	#anonymousSection, #groupSection, #personSection {
		padding-bottom: 0rem;
	}
	.article, .section {
		padding: 36px 24px;
	}
}

@media ( min-width : 1200px) {
	.alignCenter {
		margin-top: 2rem;
	}
}

@media ( max-width : 991px) {
	.article, .section {
		width: 100%;
		padding: 24px 0px 0px 0px;;
	}
}

@media ( max-width : 768px) {
	.triangle {
		background-color: #f0f0f0;
		border-color: #f0f0f0;
	}
	#donateNotice {
		display: none;
	}
	.gift-card {
		flex: 0 0 140px;
	}
}

.pay {
	display: flex;
}

@media ( max-width : 540px) {
	.alignCenter>div.noad {
		text-align: center;
	}
	.pay {
		display: grid;
	}
	.gift-card {
		flex: 0 0 120px;
	}
}

.text-left {
	text-align: left;
}

.checkSection {
	padding-bottom: 2rem;
}

.customInput {
	margin-left: 0rem;
}

#anonymousSection, #groupSection, #personSection {
	margin-bottom: 0px;
}

.noad {
	padding-bottom: 16px;
}