/* JapanWheels — Phase D: auction access plans, entitlement & deposit UI */
:root{
	--jwp-navy:#0b1d2d; --jwp-green:#1f9d5c; --jwp-green-dk:#157a46;
	--jwp-green-lt:#e8f5ee; --jwp-muted:#5b6b78; --jwp-line:#e3e8ec;
	--jwp-bg:#f8faf9; --jwp-r:12px;
}

.jw-plan-notice{ padding:12px 16px;border-radius:8px;margin-bottom:20px;font-weight:600 }
.jw-plan-notice.is-ok{ background:var(--jwp-green-lt);color:var(--jwp-green-dk) }
.jw-plan-notice.is-error{ background:#fdecea;color:#c0392b }
.jw-plan-empty{ padding:32px;text-align:center;border:1px dashed var(--jwp-line);border-radius:var(--jwp-r);color:var(--jwp-muted) }

/* Pricing cards */
.jw-plan-grid{ display:grid;grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:22px;align-items:stretch }
.jw-plan-card{
	position:relative;display:flex;flex-direction:column;gap:12px;
	background:#fff;border:1px solid var(--jwp-line);border-radius:var(--jwp-r);
	padding:26px 22px;box-shadow:0 4px 20px rgba(11,29,45,.06);
}
.jw-plan-card.is-featured{ border:2px solid var(--jwp-green);box-shadow:0 12px 34px rgba(31,157,92,.16) }
.jw-plan-card.is-current{ background:var(--jwp-green-lt) }
.jw-plan-flag{
	position:absolute;top:-11px;left:22px;background:var(--jwp-green);color:#fff;
	font-size:.68rem;font-weight:800;text-transform:uppercase;letter-spacing:.05em;
	padding:4px 12px;border-radius:99px;
}
.jw-plan-name{ margin:0;font-size:1.15rem;color:var(--jwp-navy) }
.jw-plan-type{ margin:0;font-size:.76rem;text-transform:uppercase;letter-spacing:.05em;color:var(--jwp-muted);font-weight:700 }
.jw-plan-price{ padding:10px 0;border-bottom:1px solid var(--jwp-line) }
.jw-plan-amount{ font-size:2rem;font-weight:900;color:var(--jwp-navy);letter-spacing:-.02em }
.jw-plan-amount.jw-plan-poa{ font-size:1.15rem;color:var(--jwp-muted) }
.jw-plan-per{ font-size:.85rem;color:var(--jwp-muted);margin-left:4px }
.jw-plan-facts{ list-style:none;margin:0;padding:0;display:grid;gap:7px;font-size:.88rem;color:var(--jwp-navy) }
.jw-plan-facts strong{ color:var(--jwp-green-dk) }
.jw-plan-rule{ color:var(--jwp-muted);font-size:.8rem;line-height:1.5 }
.jw-plan-desc{ font-size:.86rem;color:var(--jwp-muted);line-height:1.6 }
.jw-plan-desc p{ margin:0 0 .5em }
.jw-plan-btn{
	display:inline-flex;align-items:center;justify-content:center;width:100%;
	margin-top:auto;padding:12px 20px;border:2px solid var(--jwp-green);border-radius:9px;
	background:var(--jwp-green);color:#fff!important;font-weight:700;font-size:.92rem;
	text-decoration:none;cursor:pointer;transition:background .15s,transform .1s;
}
.jw-plan-btn:hover{ background:var(--jwp-green-dk);border-color:var(--jwp-green-dk);transform:translateY(-1px) }
.jw-plan-btn.is-current-btn{ background:transparent;color:var(--jwp-green-dk)!important;cursor:default }
.jw-plan-btn.is-current-btn:hover{ transform:none;background:transparent }
.jw-plan-footnote{ margin-top:18px;font-size:.84rem;color:var(--jwp-muted);text-align:center }

/* Entitlement / gate checklist */
.jw-entitlement,.jw-deposit{ max-width:760px }
.jw-gate-list{ list-style:none;margin:0 0 22px;padding:0;display:grid;gap:8px }
.jw-gate-list li{ padding:11px 15px;border-radius:9px;font-size:.9rem;font-weight:600 }
.jw-gate-list li.is-done{ background:var(--jwp-green-lt);color:var(--jwp-green-dk) }
.jw-gate-list li.is-todo{ background:var(--jwp-bg);color:var(--jwp-muted);border:1px dashed var(--jwp-line) }

.jw-ent-active{ background:var(--jwp-bg);border:1px solid var(--jwp-line);border-radius:var(--jwp-r);padding:16px 20px;margin-bottom:22px }
.jw-ent-row{ display:flex;justify-content:space-between;gap:16px;padding:7px 0;border-bottom:1px solid var(--jwp-line) }
.jw-ent-row:last-child{ border-bottom:0 }
.jw-ent-row span{ color:var(--jwp-muted);font-size:.87rem }
.jw-ent-row strong{ color:var(--jwp-navy) }
.jw-ent-none{ padding:18px;background:var(--jwp-bg);border-radius:var(--jwp-r);color:var(--jwp-muted) }

.jw-ent-table{ width:100%;border-collapse:collapse;margin-top:10px;font-size:.87rem }
.jw-ent-table th,.jw-ent-table td{ text-align:left;padding:9px 11px;border-bottom:1px solid var(--jwp-line) }
.jw-ent-table th{ color:var(--jwp-muted);text-transform:uppercase;font-size:.72rem;letter-spacing:.04em }

/* Deposit */
.jw-dep-amount{ font-size:1.05rem }
.jw-dep-amount strong{ font-size:1.5rem;color:var(--jwp-navy) }
.jw-dep-instructions{ background:var(--jwp-bg);border-left:4px solid var(--jwp-green);border-radius:0 8px 8px 0;padding:14px 18px;margin:14px 0;font-size:.9rem }
.jw-dep-terms{ margin:14px 0;font-size:.87rem }
.jw-dep-terms summary{ cursor:pointer;font-weight:700;color:var(--jwp-navy) }
.jw-dep-note{ padding:16px;background:var(--jwp-bg);border-radius:var(--jwp-r);color:var(--jwp-muted) }
.jw-dep-form{ background:#fff;border:1px solid var(--jwp-line);border-radius:var(--jwp-r);padding:20px;margin-top:18px }
.jw-dep-form label{ font-size:.8rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--jwp-muted) }
.jw-dep-form input,.jw-dep-form textarea{
	width:100%;max-width:420px;border:1px solid var(--jwp-line);border-radius:8px;
	padding:9px 12px;font-size:.92rem;font-family:inherit;margin-top:4px;
}
.jw-dep-form input:focus,.jw-dep-form textarea:focus{ outline:2px solid var(--jwp-green);border-color:transparent }
.jw-dep-status{ display:inline-block;padding:3px 9px;border-radius:99px;font-size:.7rem;font-weight:800;text-transform:uppercase }
.jw-dep-status--pending{ background:#fef3c7;color:#92400e }
.jw-dep-status--verified{ background:var(--jwp-green-lt);color:var(--jwp-green-dk) }
.jw-dep-status--required{ background:#e5e7eb;color:#374151 }
.jw-dep-status--refunded{ background:#dbeafe;color:#1e40af }
.jw-dep-status--forfeited{ background:#fde8e8;color:#b32d2e }
.jw-dep-status--offset{ background:#f3e8ff;color:#6b21a8 }

@media(max-width:640px){
	.jw-plan-grid{ grid-template-columns:1fr }
	.jw-ent-table{ font-size:.8rem }
}

/* Card payment on the deposit page */
.jw-dep-pay{ margin:16px 0 6px; }
.jw-dep-or{
	margin:10px 0 0; font-size:.82rem; color:var(--jwp-muted);
	text-align:center; position:relative;
}
.jw-dep-or::before,.jw-dep-or::after{
	content:""; position:absolute; top:50%; width:22%; height:1px; background:var(--jwp-line);
}
.jw-dep-or::before{ left:0; } .jw-dep-or::after{ right:0; }
