.suko-ferry-hero{text-align:center;padding:24px 12px 8px;}
.suko-ferry-hero h1{margin:0 0 6px;font-size:24px;color:var(--sb-ink);}
.suko-ferry-hero p{margin:0;font-size:13.5px;color:var(--sb-sub);}
.suko-ferry-empty{max-width:480px;margin:60px auto;text-align:center;font-size:14px;color:var(--sb-sub);background:#fff;border:1px solid var(--sb-line);border-radius:14px;padding:28px;}

.suko-ferry-steps{display:flex;justify-content:center;gap:6px;margin:18px auto 22px;max-width:520px;flex-wrap:wrap;}
.suko-ferry-step{display:flex;align-items:center;gap:6px;font-size:12px;font-weight:600;color:var(--sb-sub);padding:6px 10px;border-radius:999px;background:#f1f5f9;}
.suko-ferry-step span{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;border-radius:50%;background:#e2e8f0;color:var(--sb-sub);font-size:11px;font-weight:700;}
.suko-ferry-step.active{background:var(--sb-brand);color:#fff;}
.suko-ferry-step.active span{background:#fff;color:var(--sb-brand-dark);}
.suko-ferry-step.done{background:#dcfce7;color:var(--sb-ok);}
.suko-ferry-step.done span{background:var(--sb-ok);color:#fff;}

.suko-ferry-back{display:inline-flex;align-items:center;gap:5px;font-size:13px;color:var(--sb-brand-dark);font-weight:600;margin-bottom:12px;cursor:pointer;}

.suko-ferry-route-list{display:flex;flex-direction:column;gap:12px;max-width:720px;margin:0 auto;padding:0 12px 24px;}
.suko-ferry-route-card{background:#fff;border:1px solid var(--sb-line);border-radius:14px;padding:16px 18px;display:flex;justify-content:space-between;align-items:center;gap:16px;box-shadow:0 1px 3px rgba(0,0,0,.06);flex-wrap:wrap;}
.suko-ferry-route-cover{width:96px;height:76px;flex:0 0 auto;border-radius:10px;background-size:cover;background-position:center;background-color:#f1f5f9;}
.suko-ferry-route-main{flex:1;min-width:160px;}
.suko-ferry-route-name{font-size:16px;font-weight:700;color:var(--sb-ink);}
.suko-ferry-route-operator{font-size:12.5px;color:var(--sb-sub);margin:2px 0 8px;}
.suko-ferry-badge{display:inline-block;font-size:11px;font-weight:600;color:#0369a1;background:#e0f2fe;padding:3px 9px;border-radius:999px;}
.suko-ferry-route-price{text-align:right;}
.suko-ferry-price-from{font-size:10.5px;color:var(--sb-sub);}
.suko-ferry-price-amount{font-size:19px;font-weight:800;color:var(--sb-brand-dark);}
.suko-ferry-price-note{font-size:10.5px;color:var(--sb-sub);margin-bottom:8px;}

.suko-ferry-btn{background:#f1f5f9;color:var(--sb-ink);font-weight:700;padding:9px 16px;border:none;border-radius:8px;font-size:13px;cursor:pointer;}
.suko-ferry-btn:hover{background:#e2e8f0;}
.suko-ferry-btn:disabled{opacity:.6;cursor:default;}
.suko-ferry-btn-primary{background:var(--sb-brand);color:#fff;width:100%;padding:12px;font-size:14px;margin-top:6px;}
.suko-ferry-btn-primary:hover{background:var(--sb-brand-dark);}

.suko-ferry-panel{background:#fff;border:1px solid var(--sb-line);border-radius:14px;padding:20px;max-width:640px;margin:0 auto 24px;}
.suko-ferry-panel h2{margin:0 0 4px;font-size:18px;color:var(--sb-ink);}
.suko-ferry-route-note{font-size:12.5px;color:var(--sb-sub);margin:0 0 14px;line-height:1.5;}

.suko-ferry-gallery{margin:0 0 16px;}
.suko-ferry-gallery-main{width:100%;border-radius:12px;background-color:#f1f5f9;text-align:center;overflow:hidden;}
.suko-ferry-gallery-img{width:100%;height:auto;max-height:480px;display:block;margin:0 auto;object-fit:contain;}
.suko-ferry-gallery-thumbs{display:flex;gap:8px;margin-top:8px;overflow-x:auto;padding-bottom:2px;}
.suko-ferry-gallery-thumb{flex:0 0 auto;width:64px;height:50px;border-radius:8px;background-size:cover;background-position:center;background-color:#f1f5f9;cursor:pointer;border:2px solid transparent;opacity:.7;}
.suko-ferry-gallery-thumb:hover{opacity:1;}
.suko-ferry-gallery-thumb.active{border-color:var(--sb-brand);opacity:1;}

.suko-ferry-field{margin-bottom:14px;}
.suko-ferry-field label{display:block;font-size:11px;font-weight:700;color:var(--sb-sub);text-transform:uppercase;letter-spacing:.03em;margin-bottom:5px;}
.suko-ferry-field input,.suko-ferry-field select,.suko-ferry-field textarea{width:100%;box-sizing:border-box;padding:9px 10px;border:1px solid var(--sb-line);border-radius:8px;font-size:13.5px;font-family:inherit;}
.suko-ferry-field-row{display:grid;grid-template-columns:1fr 1fr;gap:12px;}

.suko-ferry-trip-toggle{display:flex;gap:8px;}
.suko-ferry-trip-btn{flex:1;padding:9px;border:1px solid var(--sb-line);border-radius:8px;background:#fff;font-size:13px;font-weight:600;color:var(--sb-sub);cursor:pointer;}
.suko-ferry-trip-btn.active{background:var(--sb-brand);border-color:var(--sb-brand);color:#fff;}

.suko-ferry-open-ticket-field{background:#fef9f0;border:1px solid #fde8c8;border-radius:8px;padding:10px 12px;margin-bottom:12px;}
.suko-ferry-checkbox-label{display:flex;align-items:center;gap:8px;font-size:13.5px;font-weight:700;color:var(--sb-ink);cursor:pointer;}
.suko-ferry-checkbox-label input{width:16px;height:16px;}
.suko-ferry-open-ticket-note{margin:6px 0 0 24px;font-size:11.5px;color:var(--sb-sub);line-height:1.5;}
.suko-ferry-group-note{font-size:11.5px;color:var(--sb-sub);text-align:center;margin:10px 0 0;}
.suko-ferry-group-note a{color:var(--sb-brand-dark);font-weight:700;text-decoration:underline;}

.suko-ferry-error{color:#dc2626;font-size:12.5px;margin:6px 0;min-height:1em;}

.suko-ferry-pax-row{border:1px solid var(--sb-line);border-radius:10px;padding:12px 14px;margin-bottom:12px;}
.suko-ferry-pax-nat-toggle{max-width:220px;margin-bottom:10px;}
.suko-ferry-pax-nat-toggle .suko-ferry-trip-btn{padding:6px;font-size:12px;}
.suko-ferry-pax-head{display:flex;align-items:center;gap:10px;font-size:13px;font-weight:700;color:var(--sb-ink);margin-bottom:10px;}
.suko-ferry-pax-price{font-weight:600;color:var(--sb-brand-dark);font-size:12.5px;}
.suko-ferry-pax-remove{margin-left:auto;background:none;border:none;color:#dc2626;font-size:12px;font-weight:600;cursor:pointer;padding:0;}
.suko-ferry-pax-fields{display:grid;grid-template-columns:1.4fr 1fr 1.2fr;gap:10px;}

.suko-ferry-subtotal-row{display:flex;justify-content:space-between;align-items:center;font-size:13.5px;color:var(--sb-ink);border-top:1px dashed var(--sb-line);padding-top:12px;margin-top:6px;margin-bottom:8px;}

.suko-ferry-promo-row{display:flex;gap:8px;}
.suko-ferry-promo-row input{flex:1;}
.suko-ferry-promo-msg{font-size:12px;margin-top:6px;color:var(--sb-ok);}
.suko-ferry-promo-msg.err{color:#dc2626;}

.suko-ferry-summary{background:#fafafa;border-radius:10px;padding:12px 14px;margin:14px 0;}
.suko-ferry-summary-row{display:flex;justify-content:space-between;font-size:13px;color:var(--sb-sub);padding:3px 0;}
.suko-ferry-summary-total{font-size:15px;font-weight:800;color:var(--sb-ink);border-top:1px dashed var(--sb-line);margin-top:4px;padding-top:8px;}

.suko-ferry-pay-note{font-size:11.5px;color:var(--sb-sub);text-align:center;margin:10px 0 0;line-height:1.5;}

.suko-ferry-confirm-box{max-width:440px;margin:40px auto;background:#fff;border:1px solid var(--sb-line);border-radius:16px;padding:32px 24px;text-align:center;}
.suko-ferry-check-circle{width:56px;height:56px;border-radius:50%;background:#dcfce7;color:var(--sb-ok);font-size:28px;display:flex;align-items:center;justify-content:center;margin:0 auto 14px;}
.suko-ferry-confirm-box h2{margin:0 0 6px;font-size:19px;color:var(--sb-ink);}
.suko-ferry-confirm-box p{margin:0 0 14px;font-size:13.5px;color:var(--sb-sub);}
.suko-ferry-code-box{font-size:20px;font-weight:800;letter-spacing:.03em;color:var(--sb-brand-dark);background:#fef2f2;border-radius:10px;padding:12px;margin-bottom:16px;}
.suko-ferry-notice{background:#f0f9ff;border:1px solid #bae6fd;border-radius:10px;padding:12px 14px;font-size:12.5px;color:#075985;text-align:left;line-height:1.6;margin-bottom:18px;}

@media (max-width:640px){
	.suko-ferry-route-card{flex-direction:column;align-items:stretch;}
	.suko-ferry-route-cover{width:100%;height:140px;}
	.suko-ferry-route-price{text-align:left;}
	.suko-ferry-field-row{grid-template-columns:1fr;}
	.suko-ferry-pax-fields{grid-template-columns:1fr;}
	.suko-ferry-gallery-img{max-height:320px;}
}
