.searchCompanionOverlay{align-items:center;animation:searchCompanionOverlayIn .35s cubic-bezier(.4,0,.2,1) forwards;background:#0000;display:flex;inset:0;justify-content:center;padding:20px;position:fixed;z-index:10000}@keyframes searchCompanionOverlayIn{to{background:#00000073}}.searchCompanion{animation:searchCompanionModalIn .4s cubic-bezier(.34,1.56,.64,1) forwards;background:#fff;border-radius:16px;box-shadow:0 24px 80px #0000002e,0 0 0 1px #0000000a;display:flex;flex-direction:column;max-height:90vh;max-width:480px;transform-origin:center center;width:100%}@keyframes searchCompanionModalIn{0%{opacity:0;transform:scale(.92) translateY(12px)}to{opacity:1;transform:scale(1) translateY(0)}}.searchCompanionHeader{align-items:center;background:linear-gradient(180deg,#fefefe,#fafafa);border-bottom:1px solid #0000000f;border-radius:16px 16px 0 0;display:flex;justify-content:space-between;padding:22px 24px}.searchCompanionHeaderText{flex:1 1;min-width:0}.searchCompanionHeader h2{color:#1a1a1a;font-size:1.35rem;font-weight:700;letter-spacing:-.02em;margin:0 0 10px}.searchCompanionProgress{align-items:center;display:flex;gap:6px}.searchCompanionDot{background:#e0e0e0;border-radius:50%;height:6px;transition:background .3s ease,transform .25s ease;width:6px}.searchCompanionDot.active{background:#c22928;box-shadow:0 0 0 2px #c2292840;transform:scale(1.35)}.searchCompanionDot.done{background:#c22928;opacity:.6}.searchCompanionClose{align-items:center;background:#0000000d;border:none;border-radius:50%;color:#444;cursor:pointer;display:flex;flex-shrink:0;font-size:22px;height:40px;justify-content:center;line-height:1;margin-left:12px;padding:0;transition:background .25s ease,color .2s ease,transform .2s ease;width:40px}.searchCompanionClose:hover{background:#c229281a;color:#c22928;transform:scale(1.05)}.searchCompanionClose:active{transform:scale(.98)}.searchCompanionBody{flex:1 1;min-height:0;overflow-y:auto;padding:28px 24px}.searchCompanionStepEnter{animation:searchCompanionStepIn .4s cubic-bezier(.4,0,.2,1) forwards}@keyframes searchCompanionStepIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.searchCompanionStep{margin-bottom:0}.searchCompanionCopy{color:#333;font-size:1.05rem;line-height:1.5;margin:0 0 18px}.searchCompanionLead{color:#2a2a2a;font-size:1.1rem}.searchCompanionLabel{color:#555;display:block;font-size:.9rem;font-weight:500;margin-bottom:10px}.searchCompanionInput{border:1.5px solid #e2e2e2;border-radius:10px;box-sizing:border-box;font-family:inherit;font-size:1rem;padding:14px 16px;transition:border-color .25s ease,box-shadow .25s ease;width:100%}.searchCompanionInput:hover{border-color:#ccc}.searchCompanionInput:focus{border-color:#c22928;box-shadow:0 0 0 3px #c229281f;outline:none}.searchCompanionChips{display:flex;flex-wrap:wrap;gap:10px}.searchCompanionChip{background:#fafafa;border:2px solid #e8e8e8;border-radius:10px;color:#444;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:500;padding:12px 18px;transition:all .28s cubic-bezier(.4,0,.2,1)}.searchCompanionChip:hover{background:#fff;border-color:#c2292866;box-shadow:0 4px 12px #0000000f;color:#c22928;transform:translateY(-1px)}.searchCompanionChip:active{transform:translateY(0)}.searchCompanionChip.selected{background:#c2292814;border-color:#c22928;box-shadow:0 0 0 1px #c2292833;color:#c22928}.searchCompanionPriceRow{align-items:center;display:flex;gap:12px}.searchCompanionPriceInput{flex:1 1;min-width:0}.searchCompanionPriceSep{color:#999;font-weight:600}.searchCompanionMuted{color:#666;font-size:.95rem;line-height:1.5;margin:0 0 12px}.searchCompanionLoading{align-items:center;display:flex;flex-direction:column;gap:16px;padding:24px 0}.searchCompanionSpinner{animation:searchCompanionSpin .8s linear infinite;border:3px solid #eee;border-radius:50%;border-top-color:#c22928;height:40px;width:40px}@keyframes searchCompanionSpin{to{transform:rotate(1turn)}}.searchCompanionResults .searchCompanionCopy{margin-bottom:18px}.searchCompanionGrid{grid-gap:14px;display:grid;gap:14px;grid-template-columns:repeat(2,1fr);margin-bottom:18px}.searchCompanionCard{border:1.5px solid #eee;border-radius:12px;color:inherit;display:block;overflow:hidden;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.searchCompanionCard:hover{border-color:#c2292866;box-shadow:0 8px 24px #c229281f;transform:translateY(-2px)}.searchCompanionCard:active{transform:translateY(0)}.searchCompanionCardImgWrap{aspect-ratio:1;background:#f5f5f5}.searchCompanionCardImg{height:100%;object-fit:cover;width:100%}.searchCompanionCardInfo{display:flex;flex-direction:column;gap:4px;padding:12px 14px}.searchCompanionCardName{-webkit-line-clamp:2;-webkit-box-orient:vertical;display:-webkit-box;font-size:.9rem;font-weight:600;line-height:1.35;overflow:hidden;text-transform:capitalize}.searchCompanionCardPrice{color:#c22928;font-size:.85rem;font-weight:600}.searchCompanionLink{color:#c22928;display:inline-block;font-size:.95rem;font-weight:600;margin-top:8px;text-decoration:none;transition:opacity .2s ease,transform .2s ease}.searchCompanionLink:hover{opacity:.9;text-decoration:underline}.searchCompanionFooter{align-items:center;background:#fafafa;border-radius:0 0 16px 16px;border-top:1px solid #0000000f;display:flex;gap:12px;justify-content:space-between;padding:18px 24px}.searchCompanionFooterRight{display:flex;gap:10px;margin-left:auto}.searchCompanionBtn{border:none;border-radius:10px;cursor:pointer;font-family:inherit;font-size:.95rem;font-weight:600;padding:13px 22px;transition:all .28s cubic-bezier(.4,0,.2,1)}.searchCompanionBtn:disabled{cursor:not-allowed;opacity:.55;transform:none}.searchCompanionBtn:not(:disabled):hover{transform:translateY(-1px)}.searchCompanionBtn:not(:disabled):active{transform:translateY(0)}.searchCompanionBtnPrimary{background:#c22928;box-shadow:0 2px 8px #c229284d;color:#fff}.searchCompanionBtnPrimary:hover:not(:disabled){background:#a82222;box-shadow:0 4px 14px #c2292859}.searchCompanionBtnSecondary{background:#fff;border:1.5px solid #e0e0e0;color:#333}.searchCompanionBtnSecondary:hover:not(:disabled){background:#f5f5f5;border-color:#ccc}