/* ---- Product page: how would you like to get it? ---- */
.cb-mode-picker { flex: 1 1 100%; margin: 0 0 12px; padding: 0; border: 0; }
.cb-mode-picker legend { padding: 0; margin: 0 0 8px; font-weight: 700; font-size: 14px; }
.cb-mode-picker { display: grid; grid-template-columns: repeat(auto-fit, minmax(180px, 1fr)); gap: 10px; }
.cb-mode-picker legend { grid-column: 1 / -1; }
.cb-mode { position: relative; display: block; cursor: pointer; }
.cb-mode input { position: absolute; opacity: 0; pointer-events: none; }
.cb-mode > span { display: grid; grid-template-columns: 28px 1fr; column-gap: 10px; align-items: center; height: 100%; box-sizing: border-box; padding: 11px 13px; border: 1px solid #dbe3ee; border-radius: 12px; background: #fff; transition: border-color .18s, box-shadow .18s, transform .18s, background .18s; }
.cb-mode svg { grid-row: 1 / span 2; width: 26px; height: 26px; color: #64748b; transition: transform .25s cubic-bezier(.3, 1.5, .5, 1), color .18s; }
.cb-mode strong { font-size: 14px; }
.cb-mode small { color: #64748b; font-size: 12px; line-height: 1.3; }
.cb-mode:hover > span { transform: translateY(-2px); border-color: #93c5fd; }
.cb-mode:hover svg { transform: scale(1.1) rotate(-5deg); }
.cb-mode input:checked + span { border-color: #2563eb; background: #eff6ff; box-shadow: 0 0 0 2px rgba(37, 99, 235, .18); }
.cb-mode input:checked + span svg { color: #2563eb; }
.cb-mode input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.cb-mode-single { flex: 1 1 100%; display: flex; align-items: center; gap: 8px; margin: 0 0 10px; padding: 8px 12px; border-radius: 10px; background: #f0fdfa; border: 1px solid #99f6e4; color: #0f766e; font-size: 14px; }
.cb-mode-single svg { width: 20px; height: 20px; flex: none; }
.cb-mode-single span { color: #64748b; font-size: 13px; }

/* ---- Checkout notes ---- */
.cb-ck-digital-note { display: flex; align-items: center; gap: 10px; margin: 0 0 14px; padding: 12px 14px; border-radius: 12px; background: #f0fdfa; border: 1px solid #99f6e4; color: #0f766e; font-size: 14px; }
.cb-ck-digital-note svg { width: 24px; height: 24px; flex: none; }
.cb-ck-gate { padding: 26px 24px; border: 1px solid #e5e7eb; border-radius: 16px; background: #fff; }
.cb-ck-gate h3 { margin: 0 0 8px; }
.cb-ck-service input:disabled + span { opacity: .45; cursor: not-allowed; }

/* ---- Buyer's downloads ---- */
.cb-dl-account { margin-top: 12px; }
.cb-dlitem { margin: 0 0 14px; padding: 16px 18px; background: #fff; border: 1px solid #e5e7eb; border-radius: 16px; transition: box-shadow .2s, transform .2s; animation: cb-ac-in .35s ease both; }
.cb-dlitem:hover { box-shadow: 0 12px 26px rgba(15, 23, 42, .08); transform: translateY(-2px); }
.cb-dlitem.is-off { opacity: .85; background: #f8fafc; }
.cb-dlitem-head { display: flex; align-items: center; gap: 14px; flex-wrap: wrap; }
.cb-dlitem-head > div:nth-child(2) { flex: 1 1 200px; min-width: 0; }
.cb-dlitem-icon { display: inline-flex; align-items: center; justify-content: center; width: 46px; height: 46px; border-radius: 14px; background: #ccfbf1; color: #0f766e; }
.cb-dlitem-icon svg { width: 24px; height: 24px; }
.cb-dlitem-ver { font-size: 12px; font-weight: 700; padding: 1px 8px; border-radius: 999px; background: #e0e7ff; color: #3730a3; }
.cb-dlitem-note { color: #92400e; font-size: 13px; max-width: 320px; display: inline-block; }
.cb-dl-btn { display: inline-flex; align-items: center; gap: 8px; width: auto; }
.cb-dl-btn svg { width: 18px; height: 18px; transition: transform .25s ease; }
.cb-dl-btn:hover svg { transform: translateY(3px); }
.cb-dlitem-facts { display: flex; flex-wrap: wrap; gap: 6px 18px; margin: 10px 0 0; padding: 0; list-style: none; font-size: 13px; color: #64748b; }
.cb-dlitem-sha { margin: 8px 0 0; word-break: break-all; }
.cb-dlitem-sha code { font-size: 11px; }
.cb-dlitem-keys { margin-top: 12px; padding: 10px 12px; border-radius: 12px; background: #fffbeb; border: 1px dashed #fcd34d; }
.cb-key { display: flex; align-items: center; gap: 10px; margin-top: 6px; }
.cb-key code { flex: 1; padding: 6px 10px; background: #fff; border: 1px solid #fde68a; border-radius: 8px; font-size: 14px; letter-spacing: .06em; overflow-wrap: anywhere; }
.cb-dlitem-notes { margin-top: 10px; font-size: 13px; color: #475569; }
.cb-dlitem-notes p { margin: 4px 0 0; }

/* ---- Seller / admin product form ---- */
.cb-dl-fields { margin: 18px 0; }
.cb-dl-modes { display: grid; grid-template-columns: repeat(auto-fit, minmax(210px, 1fr)); gap: 10px; }
.cb-dl-mode { position: relative; display: block; cursor: pointer; }
.cb-dl-mode input { position: absolute; opacity: 0; pointer-events: none; }
.cb-dl-mode > span { display: flex; flex-direction: column; gap: 2px; height: 100%; box-sizing: border-box; padding: 12px 14px; border: 1px solid #cbd5e1; border-radius: 12px; background: #fff; transition: border-color .18s, box-shadow .18s, background .18s; }
.cb-dl-mode small { color: #64748b; font-size: 12px; }
.cb-dl-mode input:checked + span { border-color: #2563eb; background: #eff6ff; box-shadow: 0 0 0 2px rgba(37, 99, 235, .18); }
.cb-dl-mode input:focus-visible + span { outline: 2px solid #2563eb; outline-offset: 2px; }
.cb-dl-box { margin-top: 14px; padding: 14px 16px; border: 1px solid #99f6e4; border-radius: 14px; background: #f0fdfa; animation: cb-ac-in .3s ease both; }
.cb-dl-box[hidden] { display: none; }
.cb-dl-box h4 { margin: 0 0 8px; }
.cb-dl-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; }
.cb-dl-grid label { display: flex; flex-direction: column; gap: 4px; font-size: 13px; }
.cb-dl-grid select, .cb-dl-grid input[type="text"], .cb-dl-grid input[type="url"], .cb-dl-grid input[type="number"], .cb-dl-grid textarea { width: 100%; box-sizing: border-box; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; }
.cb-dl-wide { grid-column: 1 / -1; }
.cb-dl-check { flex-direction: row !important; align-items: center; gap: 8px !important; }
.cb-dl-current { margin: 0 0 10px; padding: 8px 12px; background: #fff; border: 1px solid #ccfbf1; border-radius: 10px; font-size: 13px; }
.cb-dl-current code { word-break: break-all; font-size: 11px; }
@media (max-width: 700px) { .cb-dl-grid { grid-template-columns: 1fr; } }
@media (prefers-reduced-motion: reduce) { .cb-mode > span, .cb-mode svg, .cb-dlitem, .cb-dl-btn svg, .cb-dl-box { animation: none !important; transition: none !important; } }

/* ---- Licence keys, years, versions ---- */
.cb-lic-options { flex: 1 1 100%; margin: 0 0 12px; padding: 12px 14px; border: 1px dashed #93c5fd; border-radius: 12px; background: #f8fbff; }
.cb-lic-options[hidden] { display: none; }
.cb-lic-field { display: flex; flex-direction: column; gap: 4px; font-size: 13px; font-weight: 600; margin-bottom: 8px; }
.cb-lic-field select, .cb-lic-field input { padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; font-weight: 400; font-size: 14px; background: #fff; }
.cb-lic-total { margin: 0 0 6px; font-weight: 700; color: #1d4ed8; }
.cb-req { color: #dc2626; font-style: normal; }
.cb-lic-config { margin-top: 18px; padding-top: 14px; border-top: 1px solid #99f6e4; }
.cb-lic-config h4 { margin: 0 0 8px; }
.cb-lic-config [hidden] { display: none !important; }
.cb-lic-facts { display: flex; flex-wrap: wrap; gap: 4px 16px; margin: 6px 0 0; padding: 0; list-style: none; font-size: 13px; color: #475569; }
.cb-lic-bad { color: #b91c1c; font-weight: 700; }
.cb-lic-change { margin-top: 8px; font-size: 13px; }
.cb-lic-change summary { cursor: pointer; color: #1d4ed8; }
.cb-lic-change form { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; align-items: center; }
.cb-lic-change input[type="text"] { padding: 6px 10px; border: 1px solid #cbd5e1; border-radius: 8px; }
.cb-dl-versions { margin-top: 14px; }
.cb-dl-versions table { width: 100%; border-collapse: collapse; font-size: 13px; background: #fff; border: 1px solid #ccfbf1; border-radius: 10px; }
.cb-dl-versions th, .cb-dl-versions td { padding: 6px 10px; text-align: left; border-bottom: 1px solid #e2e8f0; }
.cb-dl-history { margin-top: 10px; font-size: 13px; }
.cb-dl-history summary { cursor: pointer; color: #1d4ed8; }
.cb-dl-history ul { margin: 8px 0 0; padding-left: 18px; }
.cb-dl-history li { margin-bottom: 6px; }
.cb-lic-issue { display: flex; flex-wrap: wrap; align-items: center; gap: 10px; margin: 0 0 10px; padding: 10px 12px; border: 1px solid #fde68a; border-radius: 12px; background: #fffbeb; }
.cb-lic-issue > div { flex: 1 1 260px; }
.cb-lic-issue input[type="text"] { flex: 1 1 220px; padding: 8px 10px; border: 1px solid #cbd5e1; border-radius: 8px; }
.cb-dl-grid .cb-help-text { display: block; }

.cb-bulk-was { color: #94a3b8; }
.cb-bulk-note { margin-top: 2px; font-size: 12px; font-weight: 600; color: #166534; }
.cb-bulk-row { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 6px 0; }

.cb-lic-renew { display: flex; flex-wrap: wrap; align-items: center; gap: 8px; margin: 8px 0 0; padding: 8px 10px; border-radius: 10px; background: #fef2f2; font-size: 13px; }
.cb-lic-renew select { padding: 5px 8px; border: 1px solid #cbd5e1; border-radius: 8px; }
