/* Pro look v2: thumbs down reasons and the "Not for me" group (ws10-thumbs-keep). Its own file so the picker and consent styles stay untouched. */
.why-reasons { border: 0; margin: 14px 0 4px; padding: 0; min-width: 0; }
.why-reasons legend { display: block; font-weight: 800; font-size: 16px; padding: 0; margin: 0 0 2px; }
.why-pick { display: block; font-size: 13.5px; color: var(--ink-2); margin: 0 0 8px; }
.rchips { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 8px; }
.rchip { min-height: 44px; padding: 8px 14px; border-radius: 999px; border: 1.5px solid var(--line-2); background: #fff; color: var(--ink); font: 600 14.5px/1.2 var(--font); cursor: pointer; text-align: left; }
.rchip[aria-pressed="true"] { background: var(--navy); border-color: var(--navy); color: #fff; }
.rchip:focus-visible { outline: 3px solid var(--gold, #C99A2E); outline-offset: 2px; }
.sheet .why-reasons legend, .vw-sheet .why-reasons legend { font-size: 15px; }
/* Bottom sheets with a text box (ws10-sheet-keyboard): the title and the action bar stay put, only .sheet-body scrolls, and the sheet sits above the keyboard.
   ss-keyboard.js sets --kb (keyboard height in px) from visualViewport resize events. */
body.sheet-open .sheet { display: flex; flex-direction: column; }
.sheet, .vw-m .vw-sheet { bottom: var(--kb, 0px); }
.sheet, .vw-sheet { max-height: calc(100dvh - 16px - var(--kb, 0px)); overflow: hidden; overscroll-behavior: contain; }
.vw-sheet { display: flex; flex-direction: column; }
.sheet .sheet-body, .vw-sheet .sheet-body { flex: 1 1 auto; min-height: 0; overflow-y: auto; overscroll-behavior: contain; -webkit-overflow-scrolling: touch; }
.sheet .acts, .vw-sheet .acts { flex: none; position: sticky; bottom: 0; background: #fff; padding-top: 10px; }
.sheet .acts .btn, .vw-sheet .acts .btn { min-height: 48px; }
.sheet textarea, .vw-sheet textarea { scroll-margin-bottom: 16px; }

.toast.has-act { pointer-events: auto; display: flex; width: max-content; align-items: center; gap: 14px; border-radius: 18px; text-align: left; }
.toast-act { flex: none; min-height: 44px; padding: 0 14px; border-radius: 999px; border: 1.5px solid rgba(255,255,255,.6); background: transparent; color: #fff; font: 700 15px/1 var(--font); cursor: pointer; }

.nfm { margin: 40px 0 8px; border-top: 1px solid var(--line); padding-top: 14px; }
.nfm-sum { cursor: pointer; font-weight: 800; font-size: 17px; min-height: 44px; display: flex; align-items: center; gap: 6px; list-style: none; }
.nfm-sum::-webkit-details-marker { display: none; }
.nfm-sum::after { content: ""; width: 9px; height: 9px; margin-left: 6px; border-right: 2px solid currentColor; border-bottom: 2px solid currentColor; transform: rotate(45deg) translateY(-2px); transition: transform .2s; }
.nfm[open] > .nfm-sum::after { transform: rotate(-135deg) translateY(-2px); }
.nfm-sum .nfm-n { color: var(--ink-2); font-weight: 700; }
.nfm-note { margin: 4px 0 14px; color: var(--ink-2); font-size: 14.5px; }
.nfm-grid { display: grid; gap: 14px; grid-template-columns: repeat(auto-fill, minmax(190px, 1fr)); }
.nfm-card { background: #fff; border: 1px solid var(--line); border-radius: 16px; overflow: hidden; display: flex; flex-direction: column; }
.nfm-ph { aspect-ratio: 4 / 5; background: #EEE8DA; }
.nfm-ph img { width: 100%; height: 100%; object-fit: cover; display: block; opacity: .85; }
.nfm-cap { padding: 10px 12px 4px; display: grid; gap: 2px; }
.nfm-cap small { color: var(--ink-2); font-size: 13px; }
.nfm-back { margin: 8px 12px 12px; min-height: 44px; }
.nfm-m .nfm-grid { grid-template-columns: repeat(2, 1fr); gap: 10px; }
