/* checkout */
.wco{background:#F5F7FB;padding-bottom:70px}
.wco *{box-sizing:border-box}
.wco-hero{background:linear-gradient(135deg,#071A40,#0B2559 60%,#163a7d);color:#fff;padding:56px 20px 110px;text-align:center}
.wco-hero__in{max-width:900px;margin:0 auto}
.wco-hero h1{color:#fff;font:800 40px/1.15 Montserrat,sans-serif;margin:18px 0 8px;letter-spacing:-.4px}
.wco-hero p{color:#C9D3E6;font-size:16px;margin:0}
.wco-steps{list-style:none;margin:0 auto;padding:0;display:flex;justify-content:center;gap:10px;max-width:560px}
.wco-steps li{flex:1;display:flex;align-items:center;gap:10px;color:#9FB0CF;font:600 14px Montserrat,sans-serif;position:relative}
.wco-steps li:not(:last-child):after{content:'';flex:1;height:2px;background:rgba(255,255,255,.18);border-radius:2px}
.wco-steps li span{flex:0 0 30px;width:30px;height:30px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;border:2px solid rgba(255,255,255,.3);font-size:13px}
.wco-steps li.is-on{color:#fff}
.wco-steps li.is-on span{background:#F7941D;border-color:#F7941D;color:#fff}
.wco-steps li.is-done{color:#fff}
.wco-steps li.is-done span{background:#fff;border-color:#fff;color:#0B2559}
.wco-steps li.is-done:after{background:#F7941D}
.wco-wrap{max-width:1180px;margin:-70px auto 0;padding:0 20px;position:relative}
.wco-grid{display:grid;grid-template-columns:minmax(0,1.6fr) minmax(0,1fr);gap:26px;align-items:start}
.wco-card{background:#fff;border-radius:20px;padding:28px;box-shadow:0 14px 40px rgba(11,37,89,.08);margin-bottom:20px}
.wco-card h2{color:#0B2559;font:700 21px Montserrat,sans-serif;margin:0 0 16px}
.wco-card--flush{padding:0;overflow:hidden}
.wco-pad{padding:22px 24px 24px}
.wco-center{text-align:center}
.wco-row{display:flex;gap:12px;justify-content:center;flex-wrap:wrap;margin-top:18px}
.wco-summary{position:sticky;top:110px}
.wco-tourimg{position:relative;aspect-ratio:16/9;background:#0B2559 center/cover no-repeat}
.wco-ref{position:absolute;left:14px;bottom:14px;background:rgba(7,26,64,.85);color:#fff;font:700 13px Montserrat,sans-serif;letter-spacing:1px;padding:6px 12px;border-radius:30px}
.wco-summary h3{color:#0B2559;font:700 20px/1.3 Montserrat,sans-serif;margin:0 0 12px}
.wco-meta{list-style:none;margin:0 0 16px;padding:0}
.wco-meta li{display:flex;gap:10px;align-items:center;color:#434A59;font-size:15px;padding:5px 0}
.wco-meta svg{color:#F7941D;flex:0 0 18px}
.wco-lines{border-top:1px dashed #D5DCE8;padding-top:12px}
.wco-lines>div{display:flex;justify-content:space-between;padding:6px 0;color:#434A59;font-size:15px}
.wco-lines .wco-total{font-weight:700;color:#0B2559;border-top:1px solid #E3E8F0;margin-top:6px;padding-top:10px}
.wco-lines .wco-bal{font:800 17px Montserrat,sans-serif;color:#0B2559}
.wco-green{color:#067647;font-weight:700}
.wco-progress{height:8px;border-radius:8px;background:#E8EDF5;overflow:hidden;margin-top:14px}
.wco-progress span{display:block;height:100%;background:linear-gradient(90deg,#F7941D,#ffb357);border-radius:8px}
.wco-progress__lbl{margin:6px 0 0;font-size:13px;color:#6b7280}
.wco-help{margin:16px 0 0;font-size:14px;color:#6b7280}
.wco-help a{color:#1DA851;font-weight:700}
.wco-amounts{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.wco-amounts a{display:flex;gap:12px;align-items:flex-start;padding:18px;border:2px solid #E3E8F0;border-radius:16px;text-decoration:none!important;color:#434A59;transition:border-color .2s,background .2s}
.wco-amounts a:hover{border-color:#F7941D}
.wco-amounts a.is-on{border-color:#F7941D;background:#FFF8EF}
.wco-amounts small{display:block;font:600 13px Montserrat,sans-serif;color:#6b7280;text-transform:uppercase;letter-spacing:1px}
.wco-amounts strong{display:block;font:800 24px Montserrat,sans-serif;color:#0B2559;margin:2px 0}
.wco-amounts em{font-style:normal;font-size:13px;color:#6b7280}
.wco-radio{flex:0 0 20px;width:20px;height:20px;border-radius:50%;border:2px solid #C3CCDB;margin-top:2px;position:relative}
.is-on .wco-radio{border-color:#F7941D}
.is-on .wco-radio:after{content:'';position:absolute;inset:3px;border-radius:50%;background:#F7941D}
.wco-due{font-size:16px;color:#434A59;margin:0}
.wco-due strong{display:block;font:800 30px Montserrat,sans-serif;color:#0B2559}
.wco-tabs{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:18px}
.wco-tabs button{flex:1;min-width:150px;display:flex;align-items:center;justify-content:center;gap:8px;padding:14px;border:2px solid #E3E8F0;border-radius:14px;background:#fff;color:#0B2559;font:700 14px Montserrat,sans-serif;cursor:pointer;transition:all .2s}
.wco-tabs button svg{color:#F7941D}
.wco-tabs button.is-on{border-color:#0B2559;background:#0B2559;color:#fff}
.wco-tabs button.is-on svg{color:#F7941D}
.wco-panel p{color:#434A59;line-height:1.65}
.wco-instr{background:#F5F7FB;border-radius:14px;padding:16px 18px;color:#0B2559;line-height:1.7;margin-bottom:12px;font-size:15px}
.wco-copy{display:flex;justify-content:space-between;align-items:center;gap:12px;border:1px solid #E3E8F0;border-radius:12px;padding:12px 14px;margin-bottom:10px}
.wco-copy small{display:block;font-size:12px;color:#6b7280;text-transform:uppercase;letter-spacing:1px}
.wco-copy strong{font:800 18px Montserrat,sans-serif;color:#0B2559;letter-spacing:.5px}
.wco-copy button{display:inline-flex;align-items:center;gap:6px;border:0;background:#FFF4E6;color:#b25e00;font:700 13px Montserrat,sans-serif;padding:9px 14px;border-radius:30px;cursor:pointer}
.wco-copy button em{font-style:normal}
.wco-copy button.is-done{background:#ECFDF3;color:#067647}
.wco-confirm{margin-top:18px;border-top:1px solid #E3E8F0;padding-top:14px}
.wco-confirm summary{cursor:pointer;font:700 15px Montserrat,sans-serif;color:#0B2559;list-style:none;padding:6px 0}
.wco-confirm summary:before{content:'+';display:inline-block;width:22px;color:#F7941D;font-size:18px}
.wco-confirm[open] summary:before{content:'\2212'}
.wco-confirm form{margin-top:12px}
.wco-pending{display:flex;gap:16px;align-items:flex-start;background:#FFF8EF;border:1px solid #FBD9AE;border-radius:16px;padding:20px}
.wco-pending h3{margin:0 0 6px;color:#0B2559;font:700 18px Montserrat,sans-serif}
.wco-pending p{margin:0 0 14px;color:#434A59;line-height:1.6}
.wco-badge{flex:0 0 46px;width:46px;height:46px;border-radius:50%;background:#1DA851;color:#fff;display:inline-flex;align-items:center;justify-content:center}
.wco-badge svg{width:24px;height:24px}
.wco-badge--muted{background:#9aa4b5}
.wco-done .wco-badge{width:72px;height:72px;margin:6px auto 14px}
.wco-done .wco-badge svg{width:36px;height:36px}
.wco-done h2{font-size:26px}
.wco-terms{font-size:13px;color:#6b7280;margin:16px 0 0;line-height:1.6}
.wco-trust{list-style:none;margin:0;padding:0;display:flex;justify-content:center;gap:24px;flex-wrap:wrap}
.wco-trust li{display:flex;align-items:center;gap:8px;color:#6b7280;font-size:14px}
.wco-trust svg{color:#0B2559}
.wco .wst-btn svg{width:16px;height:16px}
@media (max-width:1024px){.wco-grid{grid-template-columns:1fr}.wco-summary{position:static;order:-1}}
@media (max-width:767px){.wco-hero{padding:40px 16px 90px}.wco-hero h1{font-size:28px}.wco-steps li{font-size:0;gap:6px}.wco-steps li span{font-size:13px}.wco-wrap{padding:0 12px}.wco-card{padding:20px 16px;border-radius:16px}.wco-amounts{grid-template-columns:1fr}.wco-tabs button{min-width:100%}.wco-copy strong{font-size:16px}.wco-pending{flex-direction:column}}
.wco-wait{display:flex;gap:16px;align-items:flex-start;background:#F5F7FB;border:1px solid #FBD9AE;border-left:4px solid #F7941D;border-radius:14px;padding:16px 18px;margin-bottom:16px}
.wco-wait strong{color:#0B2559;font:700 16px Montserrat,sans-serif}
.wco-wait p{margin:4px 0 0;font-size:14px}
.wco-wait.is-err{border-left-color:#B42318}
.wco-wait__err{color:#B42318!important;font-weight:600}
.wco-spin{flex:0 0 28px;width:28px;height:28px;border-radius:50%;border:3px solid #E3E8F0;border-top-color:#F7941D;animation:wcoSpin .9s linear infinite}
.wco-wait.is-err .wco-spin{animation:none;border-top-color:#B42318}
@keyframes wcoSpin{to{transform:rotate(360deg)}}
.wco-stk label{max-width:360px}
.wco-mpesa-btn{background:#1DA851!important;border-color:#1DA851!important}
.wco-mpesa-btn:hover{background:#0B2559!important;border-color:#0B2559!important}
.wco-invoice{display:flex;align-items:center;justify-content:center;gap:8px;margin-top:14px;padding:11px;border:1.5px dashed #C3CCDB;border-radius:12px;color:#0B2559!important;font:700 14px Montserrat,sans-serif;text-decoration:none!important}
.wco-invoice:hover{border-color:#F7941D;background:#FFF8EF}

/* coming-soon payment options */
.wco-off{opacity:.5;pointer-events:none;user-select:none}
.wco-soon{margin-top:16px;padding:16px 18px;border-radius:14px;background:#FFF4E6;border:1px dashed #F7941D}
.wco-soon strong{display:block;color:#0B2559;font:700 15px Montserrat,sans-serif;margin-bottom:4px}
.wco-soon p{margin:0 0 12px;font-size:14px;color:#434A59}
