/* Can I Bring It? park & cruise bag checker (/can-i-bring, bag.js). Builds on styles.css tokens + ships.css (sp-seg) + deals.css (lead form). Mobile first. */
.cb-load{min-height:520px}
.cb-tool{display:grid;gap:18px;margin:0 0 24px}
.cb-panel{background:var(--card);border:var(--bw,1px) solid var(--rule);border-radius:var(--r);box-shadow:var(--sh-sm);padding:16px;min-width:0}
.cb-panel h2{margin:0 0 10px;font-size:20px}
.cb-lab{display:block;font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:var(--muted);margin:12px 0 6px}
.cb-lab:first-child{margin-top:0}
#cbDest{display:flex;flex-wrap:wrap;gap:6px}
.cb-chips{display:flex;flex-wrap:wrap;gap:6px}
#cbDest button,.cb-chips button{font:inherit;font-size:14px;min-height:40px;padding:6px 12px;border:1px solid var(--rule);border-radius:999px;background:#fff;color:var(--ink);cursor:pointer}
#cbDest button[aria-pressed=true],.cb-chips button[aria-pressed=true]{background:var(--ink);color:#fff;border-color:var(--ink)}
#cbDest button:focus-visible,.cb-chips button:focus-visible,.cb-add:focus-visible,.cb-panel .btn:focus-visible{outline:2px solid var(--ink);outline-offset:2px}
.cb-search{position:relative}
.cb-search input{font:inherit;font-size:17px;width:100%;box-sizing:border-box;min-height:52px;padding:10px 14px 10px 44px;border:2px solid var(--ink);border-radius:999px;background:#fff;color:var(--ink)}
.cb-search input:focus-visible{outline:3px solid var(--sun);outline-offset:1px}
.cb-search::before{content:'';position:absolute;left:16px;top:50%;width:14px;height:14px;border:3px solid var(--ink);border-radius:50%;transform:translateY(-62%)}
.cb-search::after{content:'';position:absolute;left:30px;top:50%;width:3px;height:9px;background:var(--ink);transform:translateY(20%) rotate(-45deg);border-radius:2px}
.cb-count{margin:4px 0 10px;font-size:15px}
.cb-count b{font:700 22px/1.1 var(--display)}
#cbList{list-style:none;margin:0;padding:0;display:grid;gap:12px}
.cb-item{background:#fff;border:1px solid var(--rule);border-radius:14px;padding:12px 14px;min-width:0}
.cb-item.in-bag{border:2px solid var(--purple);box-shadow:var(--sh-sm)}
.cb-ih{display:flex;gap:10px;align-items:flex-start;justify-content:space-between}
.cb-ih h3{margin:0;font-size:18px;line-height:1.25}
.cb-ih h3 small{display:block;font:500 12px/1.4 var(--text);color:var(--muted);text-transform:uppercase;letter-spacing:.04em}
.cb-add{flex:0 0 auto;font:inherit;font-size:13px;font-weight:700;min-height:40px;padding:6px 12px;border:2px solid var(--ink);border-radius:999px;background:var(--sun);color:var(--ink);cursor:pointer;white-space:nowrap}
.cb-add[aria-pressed=true]{background:var(--purple);color:#fff;border-color:var(--purple)}
.cb-vs{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,220px),1fr));gap:8px;margin:10px 0 0}
.cb-v{border-radius:12px;padding:8px 10px;border:1px solid var(--rule);background:var(--paper);min-width:0}
.cb-v p{margin:4px 0 0;font-size:14px;line-height:1.4;overflow-wrap:anywhere}
.cb-v a{font-size:13px;font-weight:600}
.cb-d{display:flex;align-items:center;justify-content:space-between;gap:6px;flex-wrap:wrap}
.cb-d b{font-size:13px}
.cb-pill{display:inline-flex;align-items:center;gap:5px;font-size:12px;font-weight:700;border:2px solid var(--ink);border-radius:999px;padding:2px 9px 2px 3px;background:#fff;white-space:nowrap}
.cb-pill i{font-style:normal;width:18px;height:18px;border-radius:50%;display:grid;place-items:center;font-size:11px;background:var(--ink);color:#fff}
.v-yes{background:#f2fbe9}.v-yes .cb-pill i{background:#498500}
.v-limits{background:#fff8e1}.v-limits .cb-pill i{background:#a86b00}
.v-no{background:#ffece5}.v-no .cb-pill i{background:#c2401a}
.v-ask{background:#f3ecfe}.v-ask .cb-pill i{background:var(--purple)}
.v-unlisted{background:#fff}.v-unlisted .cb-pill i{background:var(--muted)}
.v-na{background:#fff;opacity:.85}.v-na .cb-pill{border-style:dashed}.v-na .cb-pill i{background:#8a948f}
.cb-tip{margin:10px 0 0;font-size:14px;padding:8px 10px;border-left:4px solid var(--cyan);background:#effbf9;border-radius:0 10px 10px 0}
.cb-tip a{font-weight:700}
.cb-empty{padding:16px;border:2px dashed var(--rule);border-radius:14px;text-align:center}
.cb-more{margin:12px 0 0}
/* bag */
.cb-bag h2{display:flex;align-items:center;gap:8px}
.cb-bag h2 span{font:700 14px/1 var(--text);background:var(--purple);color:#fff;border-radius:999px;padding:4px 10px}
.cb-sum{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px}
.cb-sum li{display:flex;align-items:center;justify-content:space-between;gap:8px;border:1px solid var(--rule);border-radius:10px;padding:6px 10px;background:#fff;font-size:14px}
.cb-sum li b{font-weight:700}
.cb-sum .ok{color:#2f6a00}.cb-sum .bad{color:#a8320f}
.cb-sum em{font-style:normal;font-size:12px;color:var(--muted)}
.cb-fl{list-style:none;margin:0 0 10px;padding:0;display:grid;gap:6px;font-size:14px}
.cb-fl li{padding:6px 0;border-bottom:1px dashed var(--rule)}
.cb-fl li:last-child{border-bottom:0}
.cb-fl small{display:block;color:var(--muted)}
.cb-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center}
.cb-actions .btn{min-height:44px}
.cb-swaps{margin:12px 0 0;font-size:14px}
.cb-swaps ul{margin:6px 0 0;padding-left:18px}
.cb-all{margin:28px 0}
.cb-all table{width:100%;border-collapse:collapse;font-size:14px;background:#fff;border:1px solid var(--rule);border-radius:12px;overflow:hidden;display:block;overflow-x:auto}
.cb-all th,.cb-all td{text-align:left;padding:8px 10px;border-bottom:1px solid #e6e2d6;vertical-align:top;min-width:120px}
.cb-all th:first-child,.cb-all td:first-child{min-width:150px}
.cb-all thead th{background:var(--paper)}
.cb-all .sv{font-weight:700;white-space:nowrap}
.cb-src{columns:2 260px;font-size:14px}
.cb-tips{display:grid;gap:12px;margin:0 0 24px}
.cb-tips>div{background:var(--card);border:1px solid var(--rule);border-radius:var(--r);padding:12px 14px}
.cb-tips h3{margin:0 0 6px;font-size:17px}
.cb-tips p{margin:0;font-size:14px}
.cb-scoop{display:flex;gap:8px;align-items:flex-start;font-size:14px;margin:8px 0}
.cb-scoop input{width:20px;height:20px;margin-top:2px;flex:0 0 auto}
@media (min-width:700px){.cb-tips{grid-template-columns:repeat(3,1fr)}}
@media (min-width:980px){
  .cb-tool{grid-template-columns:minmax(0,1fr) 340px;align-items:start}
  .cb-ctrl{grid-column:1 / -1}
  .cb-bag{position:sticky;top:12px;grid-column:2;grid-row:2}
  .cb-main{grid-column:1;grid-row:2}
}
@media print{
  .topnav,.foot,.cb-ctrl,.df-lead,.ll-sub,.cb-add,.cb-actions,.ll-how,.cb-all,.cb-tips,.page-hero .prose,.share{display:none!important}
  .cb-tool{display:block}.cb-panel{box-shadow:none;border:1px solid #999}
  .cb-item{break-inside:avoid}
}
.cb-all .cb-cat{background:var(--ink);color:#fff;font-size:13px;text-transform:uppercase;letter-spacing:.05em}
.cb-jump{position:fixed;right:14px;bottom:14px;z-index:30;display:inline-flex;align-items:center;gap:6px;min-height:48px;padding:0 16px;border:2px solid var(--ink);border-radius:999px;background:var(--purple);color:#fff;font-weight:700;text-decoration:none;box-shadow:var(--sh)}
.cb-jump:focus-visible{outline:3px solid var(--sun);outline-offset:2px}
@media (max-width:699px){.cb-chips.cb-scroll{flex-wrap:nowrap;overflow-x:auto;padding-bottom:4px;scrollbar-width:thin;-webkit-overflow-scrolling:touch}.cb-chips.cb-scroll button{flex:0 0 auto}}
@media (min-width:980px){.cb-jump{display:none}}
@media print{.cb-jump{display:none!important}}
