:root{--checkout-ink:#24312b;--checkout-line:#dce5df;--checkout-soft:#f5f8f6}
.checkout-page{min-height:100vh;background:linear-gradient(180deg,#f8fbf9 0,#fff 45%);color:var(--checkout-ink)}
.checkout-header{max-width:1180px;margin:auto;padding:22px 28px;display:flex;align-items:center;justify-content:space-between}
.checkout-shell{max-width:1180px;margin:auto;padding:52px 28px 100px}
.checkout-intro{max-width:680px;margin-bottom:44px}.checkout-intro h1{font-size:clamp(2.25rem,5vw,4.5rem);line-height:1.07;margin:12px 0 18px;letter-spacing:-.05em}.checkout-intro h1 em{color:#b96653;font-style:normal}.checkout-intro p{font-size:1.06rem;line-height:1.75;color:#66736c}
.checkout-grid{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:28px;align-items:start}.checkout-main{display:grid;gap:18px}
.checkout-card,.order-summary{background:#fff;border:1px solid var(--checkout-line);border-radius:24px;box-shadow:0 18px 55px rgba(45,67,56,.07)}
.checkout-card{padding:28px}.checkout-card-head{display:flex;gap:16px;margin-bottom:24px}.checkout-card-head>span{font-weight:800;color:#b96653}.checkout-card h2{font-size:1.25rem;margin:0 0 4px}.checkout-card p{margin:0;color:#728078;line-height:1.6}
.draft-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.draft-summary div{background:var(--checkout-soft);border-radius:14px;padding:14px}.draft-summary span{display:block;font-size:.78rem;color:#758178;margin-bottom:5px}.draft-summary strong{font-size:.96rem}
#checkoutForm label:not(.checkout-consent):not(.honeypot){display:grid;gap:8px;font-weight:700}#checkoutForm input[type=email]{min-height:52px;border:1px solid #cfdad3;border-radius:13px;padding:0 15px;font:inherit}
.checkout-consent{display:flex;gap:11px;margin-top:18px;align-items:flex-start;color:#5d6962;line-height:1.55;font-size:.92rem}.checkout-consent input{margin-top:4px;width:18px;height:18px}
.policy-links{display:flex;gap:14px;flex-wrap:wrap;margin:14px 0 0!important;font-size:.84rem}.policy-links a{color:#53695c;text-underline-offset:3px}.business-summary{border-top:1px solid var(--checkout-line);margin-top:22px;padding-top:18px;display:grid;gap:4px;color:#7a867f;font-size:.75rem;line-height:1.45}.business-summary strong{color:#55635b}.business-summary[hidden]{display:none}
.order-summary{position:sticky;top:24px;padding:30px}.order-summary h2{font-size:1.7rem;line-height:1.25;margin:12px 0 22px}.order-price{border-top:1px solid var(--checkout-line);padding-top:22px;margin-top:20px;display:flex;align-items:end;justify-content:space-between}.order-price strong{font-size:1.65rem}.order-summary button{width:100%;margin-top:22px}.order-summary small{display:block;margin-top:12px;text-align:center;color:#7a867f;line-height:1.5}
.purchase-guide{border-top:1px solid var(--checkout-line)}.purchase-guide h3{margin:18px 0 6px;font-size:.82rem;color:#6b7971;letter-spacing:.04em}.purchase-guide details{border-bottom:1px solid var(--checkout-line)}.purchase-guide summary{min-height:44px;display:flex;align-items:center;justify-content:space-between;gap:12px;cursor:pointer;font-size:.9rem;font-weight:750;list-style:none}.purchase-guide summary::-webkit-details-marker{display:none}.purchase-guide summary:after{content:'+';flex:0 0 auto;color:#b96653;font-size:1.2rem}.purchase-guide details[open] summary:after{content:'−'}.purchase-guide summary:focus-visible{outline:3px solid rgba(185,102,83,.35);outline-offset:2px;border-radius:6px}.purchase-guide p{margin:0;padding:0 0 14px;color:#66736c;font-size:.82rem;line-height:1.65}.purchase-guide a{color:#53695c;text-underline-offset:3px}
.checkout-alert,.payment-unavailable{border-radius:16px;padding:16px 18px}.checkout-alert{background:#fff4ee;color:#8a4e3e}.payment-unavailable{background:var(--checkout-soft)}.payment-unavailable strong{display:block;margin-bottom:6px}.payment-unavailable-actions{display:flex;align-items:center;gap:14px;flex-wrap:wrap;margin-top:16px}.payment-unavailable-actions .ghost-button{background:#fff}.payment-unavailable-actions [hidden]{display:none}.payment-unavailable-actions a:focus-visible{outline:3px solid rgba(185,102,83,.35);outline-offset:3px}.payment-card{min-height:220px}
.payment-result{max-width:680px;margin:8vh auto;padding:clamp(28px,6vw,58px)}.payment-result h1{font-size:clamp(2rem,5vw,3.5rem);line-height:1.15;margin:14px 0}.payment-result>p{font-size:1rem;line-height:1.7;color:#66736c}.payment-result .draft-summary{margin:28px 0}
.result-links{display:flex;align-items:center;gap:18px;flex-wrap:wrap}.report-status{display:grid;gap:18px}.status-badge{display:inline-flex;width:max-content;padding:8px 12px;border-radius:999px;background:#edf4ef;color:#42604e;font-size:.78rem;font-weight:800}.status-badge[data-tone="waiting"]{background:#fff5e7;color:#875f25}.status-badge[data-tone="error"]{background:#fff0ec;color:#944c3d}.report-scope-note,.report-data-note{margin:0!important;padding:14px 16px;border-radius:14px;font-size:.84rem!important;line-height:1.65!important}.report-scope-note{background:#fff8ed;color:#765f3c!important}.report-data-note{background:#fff3ef;color:#864f42!important}.top-candidates h2{margin:4px 0 5px;font-size:1rem}.candidate-help{margin:0 0 12px!important;color:#6d7972!important;font-size:.82rem!important}.report-candidates{display:grid;gap:10px;padding:0;list-style:none}.report-candidate{padding:0;border:1px solid var(--checkout-line);border-radius:14px;background:var(--checkout-soft);overflow:hidden}.candidate-details>summary{display:grid;grid-template-columns:minmax(0,auto) minmax(150px,1fr) 18px;align-items:center;gap:18px;min-height:58px;padding:14px 16px;cursor:pointer;list-style:none}.candidate-details>summary::-webkit-details-marker{display:none}.candidate-details>summary:after{content:'+';color:#b96653;font-size:1.25rem;font-weight:800;text-align:right}.candidate-details[open]>summary:after{content:'−'}.candidate-details>summary:focus-visible{outline:3px solid rgba(185,102,83,.35);outline-offset:-3px}.candidate-heading{display:flex;align-items:center;gap:9px;min-width:0}.candidate-heading strong{overflow-wrap:anywhere;font-size:1.05rem}.candidate-rank{flex:0 0 auto;display:inline-flex;min-width:34px;justify-content:center;padding:4px 7px;border-radius:999px;background:#dce9e0;color:#42604e!important;font-size:.7rem;font-weight:800}.candidate-impression{color:#6d7972;text-align:right;overflow-wrap:anywhere}.candidate-detail-body{display:grid;grid-template-columns:1fr 1fr;gap:14px 18px;border-top:1px solid var(--checkout-line);padding:16px}.candidate-detail-body section:first-child{grid-column:1/-1}.candidate-detail-body section{min-width:0}.candidate-detail-body h3{margin:0 0 5px;font-size:.82rem;color:#42604e}.candidate-detail-body p,.candidate-detail-body ul{margin:0!important;color:#5f6d65!important;font-size:.82rem!important;line-height:1.65!important;overflow-wrap:anywhere}.candidate-detail-body ul{padding-left:18px}.candidate-detail-empty{font-style:italic}.top-candidates .report-candidate:first-child{border-color:#adc6b5;box-shadow:0 8px 20px rgba(66,96,78,.08)}.remaining-candidates{border:1px solid var(--checkout-line);border-radius:16px;padding:0 16px}.remaining-candidates>summary{min-height:52px;display:flex;align-items:center;justify-content:space-between;cursor:pointer;font-weight:800;list-style:none}.remaining-candidates>summary::-webkit-details-marker{display:none}.remaining-candidates>summary:after{content:'+';color:#b96653;font-size:1.25rem}.remaining-candidates[open]>summary:after{content:'−'}.remaining-candidates>summary:focus-visible{outline:3px solid rgba(185,102,83,.35);outline-offset:2px;border-radius:8px}.remaining-candidates .report-candidates{padding-bottom:16px}.status-meta{font-size:.84rem;color:#7a867f}
@media(max-width:850px){.checkout-grid{grid-template-columns:1fr}.order-summary{position:static;order:-1}.checkout-shell{padding-top:28px}.draft-summary{grid-template-columns:1fr}.checkout-header{padding:18px}.checkout-shell{padding-left:18px;padding-right:18px}.checkout-card,.order-summary{border-radius:20px}.checkout-card{padding:22px}.payment-unavailable-actions{align-items:stretch;flex-direction:column}.payment-unavailable-actions .ghost-button{width:100%}.candidate-details>summary{grid-template-columns:1fr 18px;gap:7px}.candidate-heading,.candidate-impression{grid-column:1}.candidate-impression{text-align:left;padding-left:43px}.candidate-details>summary:after{grid-column:2;grid-row:1/3}.candidate-detail-body{grid-template-columns:1fr}.candidate-detail-body section:first-child{grid-column:auto}.result-links{align-items:stretch;flex-direction:column}.result-links .primary-button{width:100%}}


/* 상품 선택은 홈페이지의 input{width:100%} 규칙을 상속하지 않도록 독립 배치합니다. */
.tier-plan-options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:14px}
.tier-plan-option{display:grid;grid-template-columns:20px minmax(0,1fr);gap:12px;align-items:start;min-width:0;padding:17px 15px;border:1px solid #d9e5d9;border-radius:13px;background:#fbfcfa;cursor:pointer;word-break:keep-all}
.tier-plan-option:has(input:checked){border:2px solid #50745e;background:#f2f8f3;padding:16px 14px}
.tier-plan-option input[type="radio"]{display:block;width:18px;height:18px;min-width:18px;max-width:18px;margin:3px 0 0;padding:0;flex:none;accent-color:#50745e;cursor:pointer;box-shadow:none}
.tier-plan-option>span{display:block;min-width:0;max-width:100%;overflow-wrap:break-word}
.tier-plan-option strong{display:block;font-size:15px;line-height:1.5;color:#354f40;letter-spacing:-.025em}
.tier-plan-option small{display:block;font-size:12px;color:#667d6b;line-height:1.65;margin-top:7px;font-weight:500}
.tier-plan-option:focus-within{outline:3px solid rgba(80,116,94,.22);outline-offset:2px}
.checkout-card .draft-summary.is-empty{display:block}
.checkout-card .draft-summary.is-empty p{padding:17px 18px;background:#f5f8f6;border-radius:12px;color:#556a5a;line-height:1.75}
.checkout-card #restartLink:not([hidden]){margin-top:15px;padding:10px 17px;font-size:13px}
.checkout-card #restartLink[hidden]{display:none}
@media(max-width:690px){.tier-plan-options{grid-template-columns:1fr}}
