/* PSP Network — order / checkout page (static example mock). Colors & fonts match register-psp. */
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(order-psp-fonts/figtree-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Figtree';font-style:normal;font-weight:400 700;font-display:swap;src:url(order-psp-fonts/figtree-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url(order-psp-fonts/fraunces-latin-ext.woff2) format('woff2');unicode-range:U+0100-02BA,U+02BD-02C5,U+02C7-02CC,U+02CE-02D7,U+02DD-02FF,U+0304,U+0308,U+0329,U+1D00-1DBF,U+1E00-1E9F,U+1EF2-1EFF,U+2020,U+20A0-20AB,U+20AD-20C4,U+2113,U+2C60-2C7F,U+A720-A7FF}
@font-face{font-family:'Fraunces';font-style:normal;font-weight:500 700;font-display:swap;src:url(order-psp-fonts/fraunces-latin.woff2) format('woff2');unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
:root{--brand:#0b1f3a;--brand-dark:#071422;--brand-light:#e7eaf1;--accent:#d4a017;--accent-soft:#f7ecd0;--ink:#0f1f1a;--ink-soft:#24352e;--muted:#5c6b64;--line:#d5ddd8;--mist:#eef2f0;--paper:#f8faf9;--ok:#1a7f4b;--ok-soft:#e8f6ef;--danger:#b42318;
--sans:"Figtree",ui-sans-serif,system-ui,sans-serif;--display:"Fraunces","Times New Roman",Times,serif}
*,*::before,*::after{box-sizing:border-box}
[hidden]{display:none!important}
html,body{width:100%;max-width:none;margin:0;padding:0}
body{font-family:var(--sans);color:var(--ink);background:var(--mist);font-size:15px;line-height:1.5;-webkit-font-smoothing:antialiased}
a{color:var(--brand)}
button,input,select{font:inherit;color:inherit}
.op-banner{display:flex;align-items:center;justify-content:center;gap:8px;background:var(--accent-soft);color:#6b4e00;border-bottom:1px solid #ecd9a3;padding:7px 16px;font-size:13px;font-weight:600;text-align:center}
.op-banner svg{width:16px;height:16px;flex:none}
.op-header{background:var(--paper);border-bottom:1px solid var(--line)}
.op-header-in{display:flex;align-items:center;justify-content:space-between;height:72px;padding:0 32px;width:100%}
.op-brand{display:flex;align-items:center;gap:12px;text-decoration:none;min-width:0}
.op-brand img{width:44px;height:44px;border-radius:8px;object-fit:contain;flex:none}
.op-brand-name{display:block;font-family:var(--display);font-weight:600;font-size:24px;letter-spacing:-.01em;color:var(--ink);line-height:1.15}
.op-brand-sub{display:block;font-size:11px;color:var(--muted)}
.op-secure{display:flex;align-items:center;gap:6px;font-size:13px;color:var(--muted);font-weight:500}
.op-secure svg{width:16px;height:16px}
/* step bar */
.op-steps{background:var(--paper);border-bottom:1px solid var(--line)}
.op-steps ol{list-style:none;margin:0;padding:14px 32px;display:flex;align-items:center;gap:0;width:100%}
.op-step{display:flex;align-items:center;gap:10px;font-size:14px;font-weight:600;color:var(--muted);white-space:nowrap}
.op-step-num{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:999px;border:1.5px solid var(--line);background:#fff;font-size:13px;font-weight:700}
.op-step.is-done{color:var(--ink)}
.op-step.is-done .op-step-num{background:var(--ok);border-color:var(--ok);color:#fff}
.op-step.is-active{color:var(--brand)}
.op-step.is-active .op-step-num{background:var(--brand);border-color:var(--brand);color:#fff}
.op-step-sep{flex:1;height:2px;background:var(--line);margin:0 16px;min-width:24px;border-radius:2px}
.op-step-sep.is-done{background:var(--ok)}
/* main grid — full width, no centered max-width container */
.op-main{width:100%;padding:32px 32px 48px;background:linear-gradient(to bottom,rgba(238,242,240,.4),var(--paper))}
.op-title{font-family:var(--display);font-weight:700;font-size:32px;letter-spacing:-.015em;margin:0 0 4px;line-height:1.2}
.op-lede{margin:0 0 24px;color:var(--muted)}
.op-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(380px,34%);gap:32px;align-items:start;width:100%}
.op-col{display:flex;flex-direction:column;gap:24px;min-width:0}
.op-card{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 1px 2px rgba(15,31,26,.04)}
.op-card-hd{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 24px;border-bottom:1px solid var(--line)}
.op-card-hd h2{margin:0;font-size:18px;font-weight:700}
.op-card-bd{padding:20px 24px}
.op-link{background:none;border:0;padding:0;color:var(--brand);font-weight:600;font-size:14px;cursor:pointer;text-decoration:underline;text-underline-offset:2px}
.op-link:hover{opacity:.75}
/* billing */
.op-bill-view{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:16px}
.op-bill-view dt{font-size:12px;font-weight:600;color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.op-bill-view dd{margin:2px 0 0;font-weight:600}
.op-bill-edit{display:none;grid-template-columns:repeat(6,minmax(0,1fr));gap:16px}
.op-bill-edit.is-open{display:grid}
.op-bill-view.is-hidden{display:none}
.op-f{display:flex;flex-direction:column;gap:6px;min-width:0}
.op-f.span2{grid-column:span 2}.op-f.span3{grid-column:span 3}.op-f.span4{grid-column:span 4}.op-f.span6{grid-column:span 6}
.op-f label,.op-f .op-lbl{font-size:13px;font-weight:600;color:var(--ink-soft)}
.op-in{height:46px;padding:0 14px;border:1px solid var(--line);border-radius:10px;background:#fff;outline:none;transition:border-color .15s,box-shadow .15s;width:100%}
.op-in:focus{border-color:var(--brand);box-shadow:0 0 0 3px rgba(11,31,58,.12)}
.op-in-wrap{position:relative}
.op-in-wrap .op-in{padding-right:44px}
.op-in-wrap svg{position:absolute;right:14px;top:50%;transform:translateY(-50%);width:20px;height:20px;color:var(--muted);pointer-events:none}
.op-actions{grid-column:span 6;display:flex;gap:12px;justify-content:flex-end}
/* payment options */
.op-pay-opt{border:1px solid var(--line);border-radius:12px;margin-bottom:12px;overflow:hidden}
.op-pay-opt.is-selected{border-color:var(--brand);box-shadow:0 0 0 1px var(--brand)}
.op-pay-head{display:flex;align-items:center;gap:12px;padding:14px 18px;cursor:pointer;background:var(--paper)}
.op-pay-head input{width:18px;height:18px;accent-color:var(--brand);margin:0}
.op-pay-head strong{font-size:15px}
.op-pay-head .op-tag{margin-left:auto}
.op-card-logos{display:flex;gap:6px;margin-left:auto}
.op-card-logos span{display:inline-flex;align-items:center;justify-content:center;height:24px;padding:0 8px;border:1px solid var(--line);border-radius:5px;background:#fff;font-size:11px;font-weight:700;color:var(--ink-soft);letter-spacing:.02em}
.op-pay-body{padding:18px;border-top:1px solid var(--line);display:none}
.op-pay-opt.is-selected .op-pay-body{display:block}
.op-card-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px}
.op-check{display:flex;align-items:center;gap:10px;font-size:14px;cursor:pointer;user-select:none}
.op-check input{width:18px;height:18px;accent-color:var(--brand);margin:0;flex:none}
.op-note{font-size:13px;color:var(--muted);margin:12px 0 0;display:flex;gap:8px;align-items:flex-start}
.op-note svg{width:16px;height:16px;flex:none;margin-top:2px}
.op-tag{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;padding:3px 8px;border-radius:999px;background:var(--accent-soft);color:#6b4e00}
/* add-ons */
.op-addon{display:flex;align-items:center;gap:14px;padding:14px 16px;border:1px solid var(--line);border-radius:12px;cursor:pointer;margin-bottom:12px;transition:border-color .15s,background .15s}
.op-addon:last-child{margin-bottom:0}
.op-addon:hover{background:var(--paper)}
.op-addon.is-on{border-color:var(--brand);background:var(--brand-light)}
.op-addon input{width:20px;height:20px;accent-color:var(--brand);margin:0;flex:none}
.op-addon-txt{flex:1;min-width:0}
.op-addon-txt strong{display:block;font-size:15px}
.op-addon-txt span{font-size:13px;color:var(--muted)}
.op-addon-price{font-weight:700;white-space:nowrap}
/* summary */
.op-summary{position:sticky;top:20px}
.op-svc{display:flex;gap:14px;padding:20px 24px;border-bottom:1px solid var(--line)}
.op-svc img{width:112px;height:84px;border-radius:10px;object-fit:cover;flex:none}
.op-svc h3{margin:0 0 6px;font-size:16px;line-height:1.35;font-weight:700}
.op-psp{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:13px;color:var(--muted)}
.op-psp b{color:var(--ink);font-weight:600}
.op-badge{display:inline-flex;align-items:center;gap:4px;font-size:11px;font-weight:700;padding:3px 8px;border-radius:999px;background:var(--ok-soft);color:var(--ok);border:1px solid #bfe3cf}
.op-badge svg{width:12px;height:12px}
.op-sec{padding:18px 24px;border-bottom:1px solid var(--line)}
.op-pkgs{display:grid;grid-template-columns:repeat(3,1fr);gap:0;border:1px solid var(--line);border-radius:10px;overflow:hidden;margin-bottom:12px}
.op-pkgs button{border:0;border-right:1px solid var(--line);background:#fff;padding:10px 6px;font-weight:600;font-size:14px;cursor:pointer;color:var(--muted)}
.op-pkgs button:last-child{border-right:0}
.op-pkgs button[aria-pressed="true"]{background:var(--brand);color:#fff}
.op-pkg-row{display:flex;justify-content:space-between;align-items:baseline;gap:12px}
.op-pkg-name{font-weight:700;font-size:15px}
.op-pkg-price{font-weight:700;font-size:18px}
.op-pkg-desc{color:var(--muted);font-size:14px;margin:6px 0 12px}
.op-meta{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:6px;font-size:14px}
.op-meta li{display:flex;align-items:center;gap:8px}
.op-meta svg{width:16px;height:16px;color:var(--ok);flex:none}
.op-qty-row{display:flex;align-items:center;justify-content:space-between}
.op-qty{display:inline-flex;align-items:center;border:1px solid var(--line);border-radius:10px;overflow:hidden}
.op-qty button{width:38px;height:38px;border:0;background:var(--paper);font-size:18px;font-weight:700;cursor:pointer}
.op-qty button:disabled{opacity:.35;cursor:not-allowed}
.op-qty output{min-width:44px;text-align:center;font-weight:700}
.op-lines{display:flex;flex-direction:column;gap:8px;font-size:14px}
.op-line{display:flex;justify-content:space-between;gap:12px}
.op-line span:first-child{color:var(--muted)}
.op-line .op-info{display:inline-flex;align-items:center;gap:4px}
.op-total{display:flex;justify-content:space-between;align-items:baseline;padding-top:12px;margin-top:4px;border-top:1px dashed var(--line);font-size:18px;font-weight:700}
.op-total small{display:block;font-size:12px;font-weight:500;color:var(--muted)}
.op-cta{padding:20px 24px}
.op-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:50px;padding:0 22px;border-radius:10px;border:0;background:var(--brand);color:#fff;font-weight:700;font-size:16px;cursor:pointer;transition:background .15s}
.op-btn:hover{background:var(--brand-dark)}
.op-btn.block{width:100%}
.op-btn.ghost{background:#fff;color:var(--brand);border:1px solid var(--line);height:42px;font-size:14px}
.op-btn.ghost:hover{background:var(--paper)}
.op-btn.sm{height:42px;font-size:14px}
.op-charge{text-align:center;font-size:13px;color:var(--muted);margin:10px 0 0}
.op-protect{display:flex;gap:10px;align-items:flex-start;margin-top:16px;padding:12px 14px;border-radius:10px;background:var(--ok-soft);color:#14532d;font-size:13px}
.op-protect svg{width:20px;height:20px;flex:none;color:var(--ok)}
.op-example{font-size:11px;color:var(--muted);text-align:center;margin:12px 0 0}
/* notice */
.op-notice{position:fixed;inset:0;display:none;align-items:center;justify-content:center;background:rgba(7,20,34,.45);z-index:50;padding:20px}
.op-notice.is-open{display:flex}
.op-notice-box{background:#fff;border-radius:16px;max-width:460px;width:100%;padding:28px;text-align:center;box-shadow:0 20px 60px rgba(0,0,0,.3)}
.op-notice-box .ico{width:56px;height:56px;border-radius:999px;background:var(--accent-soft);color:#8a6300;display:inline-flex;align-items:center;justify-content:center;margin-bottom:12px}
.op-notice-box .ico svg{width:28px;height:28px}
.op-notice-box h2{font-family:var(--display);margin:0 0 8px;font-size:24px}
.op-notice-box p{margin:0 0 20px;color:var(--muted)}
/* footer */
.op-footer{background:var(--paper);border-top:1px solid var(--line);padding:20px 32px;display:flex;justify-content:space-between;align-items:center;gap:16px;font-size:13px;color:var(--muted);width:100%}
.op-footer nav{display:flex;gap:20px}
.op-footer a{color:var(--ink-soft);text-decoration:none;font-weight:600}
.op-footer a:hover{text-decoration:underline}
@media (max-width:1023px){.op-grid{grid-template-columns:1fr}.op-summary{position:static}.op-bill-view{grid-template-columns:repeat(2,1fr)}}
@media (max-width:640px){.op-main,.op-header-in,.op-steps ol,.op-footer{padding-left:16px;padding-right:16px}.op-step-label{display:none}.op-card-grid,.op-bill-edit{grid-template-columns:1fr}.op-f.span2,.op-f.span3,.op-f.span4,.op-f.span6,.op-actions{grid-column:span 1}.op-footer{flex-direction:column}}
