/* 商品頁加購選項（2026-11-08，取代 YITH WAPO 的 yith-wapo.css）。
 * class 名沿用舊外掛（ywapo_*），站上原本的自訂 CSS（選中標籤粉紅底等）照樣套得上。 */
.npao { margin: 0 0 16px; clear: both; }
.npao .ywapo_group_container { margin: 0 0 18px; padding: 0; }
.npao .ywapo_group_container h3 { font-size: 16px; margin: 0 0 6px; line-height: 1.4; }
.npao abbr.required { color: #a41103; text-decoration: none; border: 0; margin-left: 2px; }
.npao .ywapo_product_option_image img { max-width: 100%; height: auto; margin: 0 0 6px; }
.npao .ywapo_product_option_description { font-size: 13px; color: #555; margin: 0 0 6px; }
.npao .ywapo_product_option_description p { margin: 0 0 4px; }
.npao .ywapo_conditional_hidden { display: none !important; }

/* 一般輸入 */
.npao .ywapo_input_container { margin: 0 0 8px; }
.npao .ywapo_input_container_radio,
.npao .ywapo_input_container_checkbox { display: flex; align-items: center; flex-wrap: wrap; gap: 4px 6px; }
.npao .ywapo_input_container_text label,
.npao .ywapo_input_container_textarea label,
.npao .ywapo_input_container_number label,
.npao .ywapo_input_container_date label,
.npao .ywapo_input_container_color label,
.npao .ywapo_input_container_file label { display: inline-block; margin: 0 4px 4px 0; }
.npao input[type="text"].npao-in,
.npao input[type="number"].npao-in,
.npao input[type="date"].npao-in,
.npao textarea.npao-in,
.npao select.npao-in { width: 100%; max-width: 100%; box-sizing: border-box; }
.npao .ywapo_label { cursor: pointer; }
.npao label > img,
.npao .ywapo_single_option_image { width: 50px; height: auto; margin-right: 10px; vertical-align: middle; }
.npao .ywapo_label_price { white-space: nowrap; }
/* 真人走查 #16（11/8）：「-」「+」號跟金額一樣大、一樣深，折價不會看成加價 */
.npao .ywapo_price_sign { font-size: inherit; font-weight: bold; color: inherit; opacity: 1; }

/* 標籤（可點方塊），同舊外掛 */
.npao .ywapo_input_container_labels {
	padding: 5px;
	border: 1px solid #d6d3d3;
	display: inline-block;
	margin: 10px 10px 0 0;
	cursor: pointer;
	vertical-align: top;
	user-select: none;
	-webkit-tap-highlight-color: transparent;
	max-width: 100%;
	box-sizing: border-box;
}
.npao .ywapo_input_container_labels .ywapo_label { cursor: pointer; margin: 0; }
.npao .ywapo_input_container_labels:focus-visible { outline: 2px solid #f19c9c; outline-offset: 2px; }
.npao .ywapo_input_container_labels.ywapo_selected { background: #f19c9c; border-color: #d6d3d3; }
.npao .ywapo_input_container_labels.ywapo_selected label,
.npao .ywapo_input_container_labels.ywapo_selected .ywapo_option_label { color: #fff; font-weight: bold; }
.npao .ywapo_input_container_labels.ywapo_selected span.amount,
.npao .ywapo_input_container_labels.ywapo_selected .ywapo_price_sign { color: #fff; }

/* 說明問號（滑過或點一下顯示，黑底白字） */
.npao-tip { position: relative; display: inline-block; margin-left: 4px; vertical-align: middle; cursor: help; outline: none; }
.npao-tip-i { display: inline-block; width: 16px; height: 16px; line-height: 16px; border-radius: 50%; background: #999; color: #fff; font-size: 11px; text-align: center; font-weight: bold; }
.npao-tip-box {
	display: none; position: absolute; z-index: 20; bottom: calc(100% + 6px); left: 50%; transform: translateX(-50%);
	width: max-content; max-width: min(240px, 80vw); padding: 6px 8px; border-radius: 4px;
	background: #111; color: #fff; font-size: 12px; font-weight: normal; line-height: 1.5; white-space: normal; text-align: left;
}
.npao-tip:hover .npao-tip-box,
.npao-tip:focus .npao-tip-box,
.npao-tip:focus-within .npao-tip-box { display: block; }

/* 顏色、檔案 */
.npao .npao-color { width: 44px; height: 32px; padding: 0; border: 1px solid #ccc; vertical-align: middle; cursor: pointer; }
.npao .npao-color-val { font-size: 13px; color: #555; margin-left: 6px; }
.npao .npao-clear { font-size: 12px; padding: 1px 8px; margin-left: 4px; cursor: pointer; }
.npao .npao-file { max-width: 100%; font-size: 13px; }
.npao .npao-file-st { display: block; font-size: 13px; color: #2e7d32; margin-top: 4px; word-break: break-all; }
.npao .npao-file-st.npao-bad { color: #a41103; }

/* 必填沒填 */
.npao .ywapo_miss_required { border: 2px solid #a41103; padding: 6px; border-radius: 4px; }
.npao .npao-err { color: #a41103; font-size: 13px; margin: 6px 0 0; }

/* 加購小計／總計 */
.npao .npao-total { margin: 10px 0 0; }
.npao .npao-total table { margin: 0 0 0 auto; width: auto; border: 0; }
.npao .npao-total td { padding: 2px 0 2px 12px; border: 0; text-align: right; background: none; }
.npao .npao-total tr.ywapo_tr_order_totals td { font-weight: bold; }

@media (max-width: 480px) {
	.npao .ywapo_input_container_labels { margin: 8px 8px 0 0; }
	.npao .npao-total table { width: 100%; }
}
