/* ===== Checkout Card ===== */
#ecpay-cvs-memory-box.ecpay-card{border:1.5px solid #2ecc71;background:#fff;border-radius:16px;padding:6px 16px 12px;margin:14px 0;box-shadow:0 4px 16px rgba(0,0,0,.06);position:relative}
/* 我們的卡片是選擇器，RY Tools 的欄位是顯示欄位，兩者共存不衝突 */
#ecpay-cvs-memory-box .ecpay-head{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}
#ecpay-cvs-memory-box .brand{display:flex;align-items:center;gap:10px}
#ecpay-cvs-memory-box .brand-badge{width:28px;height:28px;border-radius:8px;display:inline-block}
#ecpay-cvs-memory-box[data-carrier="SEVEN"] .brand-badge{background:#0b7a33}
#ecpay-cvs-memory-box[data-carrier="FAMI"] .brand-badge{background:#00a0e9}
#ecpay-cvs-memory-box .brand-name{font-weight:700;color:#1e1e1e}
#ecpay-cvs-memory-box .ecpay-label{font-size:.9rem;color:#666;display:block;margin:8px 0 6px}
#ecpay-cvs-memory-box .ecpay-cvs-select{width:100%;padding:6px 12px;border:1px solid #e5e7eb;border-radius:10px;background:#fafafa;transition:.2s}
#ecpay-cvs-memory-box .ecpay-cvs-select:focus{outline:2px solid #c7e6ff;border-color:#c7e6ff;background:#fff}
#ecpay-cvs-memory-box .ecpay-preview{margin-top:12px;border:1.5px dashed #a5d6a7;border-radius:12px;padding:14px;background:#f6fff8;position:relative;min-height:56px}
#ecpay-cvs-memory-box .ecpay-preview .tick{position:absolute;right:12px;bottom:12px;width:28px;height:28px;border-radius:50%;background:#2ecc71;box-shadow:0 2px 6px rgba(0,0,0,.1)}
#ecpay-cvs-memory-box .ecpay-preview .tick:after{content:'';position:absolute;left:8px;top:6px;width:9px;height:14px;border-right:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(45deg)}
#ecpay-cvs-memory-box .pv-name{font-weight:700;color:#1c7d3a;margin-bottom:2px}
#ecpay-cvs-memory-box .pv-addr,#ecpay-cvs-memory-box .pv-tel{color:#333;font-size:.95rem}
tr.ecpay-cvs-row-holder > td{padding:0;border:none}
.ecpay-hidden{display:none!important}

/* ===== Account - Empty ===== */
.ecpay-empty-card{border:2px dashed #d1d5db;background:linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);padding:32px 24px;border-radius:16px;color:#6b7280;text-align:center;font-size:.95rem}

/* ===== Account - Store Grid ===== */
.ecpay-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:20px;margin-top:24px}

/* ===== Account - Carrier Sections ===== */
.ecpay-carrier-section{margin-bottom:32px;padding:24px;background:#fff;border:1.5px solid #e5e7eb;border-radius:16px;box-shadow:0 2px 8px rgba(0,0,0,.04)}
.ecpay-carrier-section--SEVEN{border-left:5px solid #0b7a33}
.ecpay-carrier-section--FAMI{border-left:5px solid #00a0e9}
.ecpay-carrier-section__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px;padding-bottom:16px;border-bottom:2px solid #f3f4f6}
.ecpay-carrier-section__title{display:flex;align-items:center;gap:12px;margin:0;font-size:1.3rem;font-weight:700;color:#111827}
.ecpay-carrier-section__icon{width:24px;height:24px;border-radius:6px;display:inline-block}
.ecpay-carrier-section--SEVEN .ecpay-carrier-section__icon{background:#0b7a33}
.ecpay-carrier-section--FAMI .ecpay-carrier-section__icon{background:#00a0e9}
.ecpay-carrier-section__count{color:#6b7280;font-size:.9rem;font-weight:500}
.ecpay-carrier-section__grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:16px}
.ecpay-store-card{border:1.5px solid #e5e7eb;background:#fff;border-radius:16px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.06), 0 1px 3px rgba(0,0,0,.1);position:relative;transition:all .3s cubic-bezier(.4,0,.2,1);overflow:hidden}
.ecpay-store-card:hover{transform:translateY(-4px);box-shadow:0 12px 24px rgba(0,0,0,.12), 0 4px 8px rgba(0,0,0,.08);border-color:#cbd5e1}
.ecpay-store-card:before{content:'';position:absolute;left:0;top:0;bottom:0;width:5px;border-radius:16px 0 0 16px;background:linear-gradient(180deg, #cbd5e1 0%, #94a3b8 100%)}
.ecpay-store-card--SEVEN:before{background:linear-gradient(180deg, #0b7a33 0%, #065a25 100%)}
.ecpay-store-card--FAMI:before{background:linear-gradient(180deg, #00a0e9 0%, #0077b3 100%)}
.ecpay-store-card__brand{display:flex;align-items:center;gap:10px;font-weight:700;margin-bottom:12px;font-size:1rem}
.ecpay-store-card__brand .dot{width:12px;height:12px;border-radius:50%;background:#cbd5e1;box-shadow:0 0 0 3px rgba(203,213,225,.2)}
.ecpay-store-card--SEVEN .dot{background:#0b7a33;box-shadow:0 0 0 3px rgba(11,122,51,.2)}
.ecpay-store-card--FAMI  .dot{background:#00a0e9;box-shadow:0 0 0 3px rgba(0,160,233,.2)}
.ecpay-store-card__default-badge{position:absolute;top:12px;right:12px;background:linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);color:#065f46;border:1.5px solid #6ee7b7;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px rgba(16,185,129,.15);z-index:1}
.ecpay-store-card__brand .badge{background:linear-gradient(135deg, #d1fae5 0%, #a7f3d0 100%);color:#065f46;border:1.5px solid #6ee7b7;border-radius:999px;padding:4px 12px;font-size:11px;font-weight:700;margin-left:auto;text-transform:uppercase;letter-spacing:.5px;box-shadow:0 2px 4px rgba(16,185,129,.15)}
.ecpay-store-card__title{font-weight:700;margin-bottom:8px;font-size:1.1rem;color:#111827;line-height:1.4}
.ecpay-store-card__addr{color:#4b5563;font-size:.95rem;line-height:1.6;margin-bottom:6px;padding-left:2px}
.ecpay-store-card__tel{color:#6b7280;font-size:.9rem;line-height:1.5;padding-left:2px}
.ecpay-store-card__actions{display:flex;gap:10px;margin-top:16px;padding-top:16px;border-top:1px solid #f3f4f6}
.ecpay-btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:none;border-radius:10px;padding:10px 16px;font-weight:600;font-size:.9rem;color:#fff;cursor:pointer;background:#4b5563;box-shadow:0 2px 4px rgba(0,0,0,.1);transition:all .2s ease;position:relative;overflow:hidden}
.ecpay-btn:before{content:'';position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:rgba(255,255,255,.2);transform:translate(-50%,-50%);transition:width .3s,height .3s}
.ecpay-btn:hover:before{width:300px;height:300px}
.ecpay-btn:hover{transform:translateY(-1px);box-shadow:0 4px 8px rgba(0,0,0,.15)}
.ecpay-btn:active{transform:translateY(0);box-shadow:0 1px 2px rgba(0,0,0,.1)}
.ecpay-btn--primary{background:linear-gradient(135deg, #16a34a 0%, #15803d 100%);box-shadow:0 2px 6px rgba(22,163,74,.3)}
.ecpay-btn--primary:hover{box-shadow:0 4px 12px rgba(22,163,74,.4)}
.ecpay-btn--ghost{background:linear-gradient(135deg, #64748b 0%, #475569 100%);box-shadow:0 2px 4px rgba(100,116,139,.2)}
.ecpay-btn--ghost:hover{box-shadow:0 4px 8px rgba(100,116,139,.3)}
.ecpay-btn--outline{background:transparent;border:2px solid #16a34a;color:#16a34a;box-shadow:none}
.ecpay-btn--outline:hover{background:linear-gradient(135deg, #16a34a 0%, #15803d 100%);color:#fff;border-color:#16a34a;box-shadow:0 4px 8px rgba(22,163,74,.2)}

/* ===== Account Page Selector ===== */
.ecpay-account-selector{border:1.5px solid #e5e7eb;background:linear-gradient(135deg, #ffffff 0%, #f9fafb 100%);border-radius:20px;padding:28px;margin-bottom:32px;box-shadow:0 4px 16px rgba(0,0,0,.06), 0 2px 4px rgba(0,0,0,.04);position:relative;overflow:hidden}
.ecpay-account-selector:before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg, #16a34a 0%, #0d9488 50%, #16a34a 100%);opacity:.6}
.ecpay-account-selector__header{margin-bottom:24px;padding-bottom:20px;border-bottom:2px solid #f3f4f6}
.ecpay-account-selector__header h4{margin:0 0 10px;font-size:1.4rem;color:#111827;font-weight:700;letter-spacing:-.5px}
.ecpay-account-selector__header .description{color:#6b7280;font-size:.95rem;margin:0;line-height:1.6}
.ecpay-account-selector__carrier{margin-bottom:20px}
.ecpay-account-selector__carrier label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.95rem}
.ecpay-carrier-select{width:100%;padding:12px 16px;border:1.5px solid #d1d5db;border-radius:12px;background:#fff;font-size:1rem;transition:all .2s ease;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23374151' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 16px center;padding-right:40px;cursor:pointer;font-family:inherit;color:#111827;line-height:1.5;position:relative;z-index:10}
.ecpay-carrier-select:hover{border-color:#9ca3af;box-shadow:0 0 0 3px rgba(59,130,246,.1)}
.ecpay-carrier-select:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.15);background-color:#f8fafc;z-index:100}
.ecpay-carrier-select option{padding:8px;color:#111827;background:#fff}
.ecpay-account-cvs-box{margin-top:24px;padding-top:24px;border-top:2px solid #f3f4f6}
.ecpay-account-cvs-box__new{margin-bottom:20px}
.ecpay-account-cvs-box__new label{display:block;margin-bottom:8px;font-weight:600;color:#374151;font-size:.95rem}
.ecpay-account-preview{border:2px dashed #86efac;border-radius:16px;padding:20px;background:linear-gradient(135deg, #f0fdf4 0%, #dcfce7 100%);margin-top:20px;box-shadow:0 2px 8px rgba(34,197,94,.1)}
.ecpay-account-preview__content .pv-name{font-weight:700;color:#166534;margin-bottom:6px;font-size:1.1rem}
.ecpay-account-preview__content .pv-addr,.ecpay-account-preview__content .pv-tel{color:#374151;font-size:.95rem;margin-bottom:4px;line-height:1.6}
.ecpay-account-preview #ecpay-account-save-store{margin-top:16px;width:100%;padding:12px}
.ecpay-manual-form{background:linear-gradient(135deg, #f9fafb 0%, #f3f4f6 100%);border:1.5px solid #e5e7eb;border-radius:12px;padding:20px;margin-top:16px}
.ecpay-manual-form input{font-size:.95rem;padding:10px 14px;border:1.5px solid #d1d5db;border-radius:10px;transition:all .2s ease;width:100%}
.ecpay-manual-form input:focus{outline:none;border-color:#3b82f6;box-shadow:0 0 0 3px rgba(59,130,246,.1);background:#fff}
.ecpay-manual-form label{color:#374151;font-weight:600;font-size:.9rem;margin-bottom:6px;display:block}

/* ===== Responsive Design ===== */
@media (max-width: 768px) {
	.ecpay-grid{grid-template-columns:1fr;gap:16px}
	.ecpay-account-selector{padding:20px;border-radius:16px}
	.ecpay-account-selector__header h4{font-size:1.2rem}
	.ecpay-store-card{padding:16px}
	.ecpay-store-card__actions{flex-direction:column}
	.ecpay-store-card__actions .ecpay-btn{width:100%}
	.ecpay-account-cvs-box__new > div[style*="display:flex"]{flex-direction:column}
	.ecpay-account-cvs-box__new .ecpay-btn--outline{width:100%}
	.ecpay-carrier-section{padding:16px;margin-bottom:24px}
	.ecpay-carrier-section__header{flex-direction:column;align-items:flex-start;gap:8px}
	.ecpay-carrier-section__title{font-size:1.1rem}
	.ecpay-carrier-section__grid{grid-template-columns:1fr;gap:12px}
	.ecpay-carrier-select{z-index:1000!important;position:relative}
	.ecpay-account-selector{position:relative;z-index:1}
}

/* ===== Animation Enhancements ===== */
@keyframes fadeInUp {
	from {
		opacity: 0;
		transform: translateY(10px);
	}
	to {
		opacity: 1;
		transform: translateY(0);
	}
}

.ecpay-store-card {
	animation: fadeInUp .4s ease-out;
}

.ecpay-store-card:nth-child(1) { animation-delay: .05s; }
.ecpay-store-card:nth-child(2) { animation-delay: .1s; }
.ecpay-store-card:nth-child(3) { animation-delay: .15s; }
.ecpay-store-card:nth-child(4) { animation-delay: .2s; }
.ecpay-store-card:nth-child(5) { animation-delay: .25s; }
.ecpay-store-card:nth-child(6) { animation-delay: .3s; }

/* ===== Additional Polish ===== */
.ecpay-account-section h3 {
	position: relative;
	padding-bottom: 12px;
}

.ecpay-account-section h3:after {
	content: '';
	position: absolute;
	bottom: 0;
	left: 0;
	width: 60px;
	height: 3px;
	background: linear-gradient(90deg, #16a34a 0%, #0d9488 100%);
	border-radius: 2px;
}
