/* v45.1 "Add the confirmation" (FE-CAPTURE): the drop card, the done card, the boarding-pass legs, the Passes
   strip and the holder chips. From the Booking-Drop and Booking-Found boards (.drop .done-card .facts .check
   .strip .code-tile .add-tile .who), on theme tokens. Raised means tap it; the code tiles stay white in both
   themes (--tile); one brass region per screen (the Save foot), the "Check this" tag is brass ink on a tint. */

.cap-zone[hidden],.cap-passes[hidden],.cap-legs[hidden],.cap-note[hidden],.cap-l2[hidden]{display:none!important;}
.cap-zone{display:flex;flex-direction:column;}
/* the booking sheet's own form under the card (the fields keep their v45 order) */
.cap-form{display:flex;flex-direction:column;gap:14px;}
.cap-form[hidden]{display:none!important;}

/* the one focal card: the whole card is the button (no inner pill) */
.cap-drop{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;width:100%;min-height:188px;padding:24px 20px;border:0;border-radius:var(--r-lg);background:linear-gradient(145deg,var(--card-a),var(--card-b));box-shadow:var(--e2);color:var(--ink);text-align:center;font:inherit;cursor:pointer;transition:box-shadow 120ms var(--ease);-webkit-tap-highlight-color:transparent;}
.cap-drop:active,.cap-drop.cap-over{box-shadow:var(--in);}
.cap-drop[aria-busy="true"]{cursor:default;}
.cap-drop[aria-busy="true"]:active{box-shadow:var(--e2);}
.cap-drop-ic{display:flex;margin-bottom:10px;color:var(--ink);}
.cap-drop-ic .d-ic{width:36px;height:36px;stroke-width:1.5;}
.cap-compact .cap-drop{min-height:112px;padding:16px 20px;}
.cap-compact .cap-drop-ic{margin-bottom:6px;}
.cap-compact .cap-drop-ic .d-ic{width:28px;height:28px;}
.cap-l1{margin:0;}
/* reading: the icon breathes (1.2 s); nothing moves with reduced motion */
@keyframes cap-pulse{0%,100%{opacity:1;}50%{opacity:.4;}}
.cap-busy .cap-drop-ic,.cap-busy .cap-slim-ic,.cap-add.cap-busy .cap-add-ic{animation:cap-pulse 1.2s ease-in-out infinite;}
.cap-drop.cap-folding{overflow:hidden;transition:min-height 200ms var(--ease),padding 200ms var(--ease);}
.cap-drop.cap-folding>*{opacity:0;transition:opacity 120ms linear;}

/* the quiet divider under the card */
.cap-or{display:flex;align-items:center;gap:12px;margin:18px 0 6px;color:var(--ink-2);font:500 var(--fs-label)/1.4 var(--font);}
.cap-or::before,.cap-or::after{content:"";flex:1;border-top:1px solid var(--line);}

/* after reading: slim, still the one target (tap it to use a different file) */
.cap-done{display:flex;align-items:center;gap:14px;width:100%;min-height:64px;padding:8px 16px 8px 10px;border:0;border-radius:var(--r-md);background:linear-gradient(145deg,var(--card-a),var(--card-b));box-shadow:var(--e1);color:var(--ink);text-align:left;font:inherit;cursor:pointer;transition:box-shadow 120ms var(--ease);-webkit-tap-highlight-color:transparent;}
.cap-done:active{box-shadow:var(--in);}
.cap-thumb{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:48px;border-radius:6px;background:#FFFFFF;box-shadow:inset 0 0 0 1px rgba(31,29,26,.16);overflow:hidden;color:#5F5A52;}
.cap-thumb img{width:100%;height:100%;object-fit:cover;display:block;}
.cap-done-txt{flex:1;min-width:0;font-weight:600;}
.cap-swap{color:var(--ink-2);flex:none;}
.cap-slim-ic{flex:none;display:flex;align-items:center;justify-content:center;width:36px;height:48px;color:var(--ink);}
.cap-slim-ic .d-ic{width:28px;height:28px;stroke-width:1.5;}
.cap-note{margin:10px 0 0;}

/* boarding-pass legs: flush on the sheet, every value is its own quiet edit target */
.cap-legs{display:flex;flex-direction:column;gap:24px;margin-top:10px;}
.cap-leg{display:flex;flex-direction:column;}
.cap-date{display:inline-flex;align-items:center;gap:8px;align-self:flex-start;min-height:var(--tap);padding:0;border:0;background:none;color:inherit;font:inherit;text-align:left;cursor:pointer;}
.cap-route{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;margin-top:2px;}
.cap-stn{display:flex;align-items:center;gap:12px;min-width:0;margin:0;font:600 var(--fs-display)/1.2 var(--font);letter-spacing:-.02em;color:var(--ink);}
.cap-stn>span:first-child{flex:none;}
.cap-hop{flex:1;position:relative;height:22px;display:flex;align-items:center;justify-content:center;color:var(--ink-2);}
.cap-hop::before{content:"";position:absolute;left:0;right:0;top:50%;border-top:1px solid var(--line);}
.cap-hop .d-ic{position:relative;width:18px;height:18px;padding:0 2px;box-sizing:content-box;background:var(--ground);}
.cap-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);column-gap:16px;margin-top:12px;padding-top:4px;border-top:1px solid var(--line);}
.cap-fact{display:flex;flex-direction:column;align-items:flex-start;gap:2px;width:100%;min-height:60px;padding:10px 0 6px;border:0;background:transparent;color:var(--ink);text-align:left;font:inherit;cursor:pointer;}
.cap-fact-k{font:500 var(--fs-label)/1.4 var(--font);color:var(--ink-2);}
.cap-fact-v{display:flex;align-items:center;gap:8px;font:500 var(--fs-body)/1.35 var(--font);white-space:nowrap;}
.cap-pnr{letter-spacing:.04em;}
.cap-edit{min-height:var(--tap);margin:8px 0 6px;}
.cap-facts .cap-edit{width:calc(100% - 4px);}
.cap-saved{margin:10px 0 0;}
.cap-arr{margin-top:2px;}
/* "Check this": brass ink on an 18% brass tint (4.5:1 or better in both themes) */
.cap-check{display:inline-flex;align-items:center;align-self:flex-start;min-height:22px;padding:2px 8px;border-radius:var(--r-pill);background:rgba(201,162,90,.18);color:var(--brass-ink);font:600 var(--fs-micro)/1.2 var(--font);white-space:nowrap;}

/* passes: crisp white code tiles, the holder chip under each, the strip runs off the right edge */
.cap-passes{display:flex;flex-direction:column;}
.cap-lab{margin:0;font:500 var(--fs-label)/1.4 var(--font);color:var(--ink-2);}
.cap-strip{display:flex;gap:14px;overflow-x:auto;overflow-y:hidden;margin:0 calc(-1 * var(--gutter));padding:10px var(--gutter) 12px;scrollbar-width:none;overscroll-behavior-x:contain;}
.cap-strip::-webkit-scrollbar{display:none;}
.cap-pass{flex:none;display:flex;flex-direction:column;align-items:flex-start;gap:12px;max-width:150px;}
.cap-tile{display:block;width:124px;height:124px;padding:12px;border:0;border-radius:var(--r-md);background:var(--tile);box-shadow:var(--e1);cursor:pointer;-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;-webkit-tap-highlight-color:transparent;}
.cap-tile:active{box-shadow:var(--in);}
.cap-code{display:block;width:100px;height:100px;}
.cap-code svg,.cap-code img{display:block;width:100px;height:100px;object-fit:contain;pointer-events:none;}
.cap-add{display:flex;align-items:center;justify-content:center;width:124px;height:124px;padding:0;border:0;border-radius:var(--r-md);background:var(--well);box-shadow:var(--in);color:var(--ink-2);cursor:pointer;}
.cap-add-ic.d-ic{width:26px;height:26px;}
.cap-who{padding:4px 14px 4px 4px;gap:8px;max-width:150px;}
.cap-who .d-av{width:28px;height:28px;box-shadow:none;}
.cap-who-name{overflow:hidden;text-overflow:ellipsis;}
.cap-pass .cap-check{margin-top:-4px;}
.cap-date .cap-check{align-self:center;}

/* "Whose pass is this?" */
.cap-people{display:flex;flex-direction:column;}
.cap-person{display:flex;align-items:center;gap:12px;width:100%;min-height:56px;padding:6px 0;border:0;background:none;color:var(--ink);text-align:left;font:500 var(--fs-body)/1.35 var(--font);cursor:pointer;}
.cap-person:active{opacity:.7;}
.cap-person-name{flex:1;min-width:0;}
.cap-person-on{color:var(--sage-ink);flex:none;}

/* the cropper with no title ("Drag the box over the code."): the caption clears the pinned grabber band */
.cropper-back .modal>.sub:first-child{padding-top:14px;}

/* Save waits until something is filled: flat in a well, not raised, not brass */
.d-btn.cap-save-off,.d-btn.cap-save-off:disabled{background:var(--well);box-shadow:var(--in);color:var(--ink-2);opacity:1;cursor:default;}

@media (prefers-reduced-motion:reduce){
  .cap-busy .cap-drop-ic,.cap-busy .cap-slim-ic,.cap-add.cap-busy .cap-add-ic{animation:none;}
  .cap-drop,.cap-done,.cap-drop.cap-folding,.cap-drop.cap-folding>*{transition:none;}
}
