/** Shopify CDN: Minification failed

Line 498:1 Expected identifier but found whitespace
Line 540:78 Expected identifier but found "6px"
Line 586:1 Expected "}" to go with "{"

**/
.tsv-concierge{--tsv-bg:#0F1720;--tsv-bg-elev:#141B25;--tsv-panel:#1A2230;--tsv-ivory:#F3EEE4;--tsv-ivory-soft:#E5E1D8;--tsv-muted:#8B8578;--tsv-hair:rgba(243,238,228,0.15);--tsv-hair-strong:rgba(243,238,228,0.35);--tsv-accent:#F3EEE4;--tsv-radius-lg:14px;--tsv-radius-md:10px;--tsv-radius-sm:6px;--tsv-shadow:0 20px 60px rgba(0,0,0,0.55),0 0 0 1px rgba(243,238,228,0.15);position:fixed;right:24px;bottom:24px;z-index:9999;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;color:var(--tsv-ivory-soft);}
.tsv-concierge *,.tsv-concierge *::before,.tsv-concierge *::after{box-sizing:border-box;}
.tsv-concierge__bubble{width:68px;height:68px;border-radius:50%;background:var(--tsv-ivory);color:var(--tsv-bg);display:flex;align-items:center;justify-content:center;cursor:pointer;box-shadow:0 12px 28px rgba(0,0,0,0.4),0 3px 8px rgba(0,0,0,0.25);border:3px solid #0F1720;padding:0;opacity:1;transform:scale(1);transform-origin:center;position:relative;transition:transform 260ms cubic-bezier(0.16,1,0.3,1),opacity 220ms ease,box-shadow 200ms ease,border-color 200ms ease;animation:tsvBreathe 8s ease-in-out infinite 3s;}
.tsv-concierge__bubble:hover{transform:translateY(-2px);box-shadow:0 16px 36px rgba(0,0,0,0.5),0 4px 10px rgba(0,0,0,0.3);animation-play-state:paused;}
.tsv-concierge.is-minimised .tsv-concierge__bubble{width:46px;height:46px;border-width:2px;box-shadow:0 6px 16px rgba(0,0,0,0.28);animation:none;opacity:0.75;}
.tsv-concierge.is-minimised .tsv-concierge__bubble svg{width:22px;height:22px;}
.tsv-concierge.is-minimised .tsv-concierge__bubble::before,.tsv-concierge.is-minimised .tsv-concierge__bubble::after{display:none;}
.tsv-concierge.is-minimised .tsv-concierge__bubble:hover{opacity:1;}
.tsv-concierge__bubble svg{width:32px;height:32px;stroke-width:1.7;}
.tsv-concierge__bubble::before{content:'';position:absolute;right:2px;bottom:-6px;width:18px;height:18px;background:var(--tsv-ivory);border-right:3px solid #0F1720;border-bottom:3px solid #0F1720;border-radius:0 0 20px 4px;transform:rotate(20deg) skew(-10deg,-5deg);z-index:-1;}
.tsv-concierge__bubble::after{content:'';position:absolute;top:4px;right:4px;width:12px;height:12px;border-radius:50%;background:#6BAE7A;border:2px solid var(--tsv-ivory);box-shadow:0 0 6px rgba(107,174,122,0.65);}
.tsv-concierge.is-open .tsv-concierge__bubble{transform:scale(0.25);opacity:0;pointer-events:none;animation:none;}
@keyframes tsvBreathe{0%,100%{transform:scale(1);box-shadow:0 12px 32px rgba(0,0,0,0.4);}
50%{transform:scale(1.04);box-shadow:0 14px 36px rgba(0,0,0,0.48);}
}
@media (prefers-reduced-motion:reduce){.tsv-concierge__bubble{animation:none;}
}
.tsv-concierge__hint{position:absolute;right:72px;bottom:12px;background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair);border-radius:var(--tsv-radius-md);padding:10px 14px;font-size:13px;color:var(--tsv-ivory-soft);white-space:nowrap;opacity:0;transform:translateX(6px);transition:opacity 0.25s,transform 0.25s;pointer-events:none;}
.tsv-concierge.is-hinted .tsv-concierge__hint{opacity:1;transform:translateX(0);}
.tsv-concierge__hint::after{content:'';position:absolute;right:-6px;top:50%;transform:translateY(-50%) rotate(45deg);width:10px;height:10px;background:var(--tsv-bg-elev);border-right:1px solid var(--tsv-hair);border-top:1px solid var(--tsv-hair);}
.tsv-concierge__panel{position:absolute;right:0;bottom:0;width:420px;height:640px;max-height:calc(100vh - 48px);background:var(--tsv-bg);border-radius:var(--tsv-radius-lg);box-shadow:var(--tsv-shadow);display:flex;flex-direction:column;overflow:hidden;transform-origin:100% 100%;transform:scale(0.08);opacity:0;visibility:hidden;pointer-events:none;transition:transform 340ms cubic-bezier(0.16,1,0.3,1),opacity 260ms ease,visibility 0s linear 340ms;will-change:transform,opacity;}
.tsv-concierge.is-open .tsv-concierge__panel{transform:scale(1);opacity:1;visibility:visible;pointer-events:auto;transition:transform 340ms cubic-bezier(0.16,1,0.3,1),opacity 220ms ease,visibility 0s linear 0s;}
.tsv-concierge--left .tsv-concierge__panel{transform-origin:0% 100%;}
.tsv-concierge.is-open .tsv-concierge__hint{display:none;}
@media (prefers-reduced-motion:reduce){.tsv-concierge__panel{transform:none;transition:opacity 200ms ease,visibility 0s linear 200ms;}
.tsv-concierge.is-open .tsv-concierge__panel{transition:opacity 200ms ease,visibility 0s linear 0s;}
}
.tsv-concierge-backdrop{display:block !important;position:fixed;left:0;right:0;top:0;bottom:0;background:rgba(15,23,32,0.3);-webkit-backdrop-filter:blur(5px) saturate(110%);backdrop-filter:blur(5px) saturate(110%);opacity:0;visibility:hidden;pointer-events:none;cursor:pointer;z-index:10000;transition:opacity 260ms ease,visibility 260ms ease;}
html.tsv-concierge-open .tsv-concierge-backdrop{opacity:1;visibility:visible;pointer-events:auto;}
.tsv-concierge{z-index:10001;}
html.tsv-concierge-open,html.tsv-concierge-open body{overflow:hidden !important;touch-action:none;}
html.tsv-concierge-open body{position:fixed;left:0;right:0;width:100%;}
.tsv-concierge__header,.tsv-concierge__messages,.tsv-concierge__input,.tsv-concierge__footer{opacity:0;transform:translateY(6px);transition:opacity 320ms ease,transform 320ms cubic-bezier(0.16,1,0.3,1);}
.tsv-concierge.is-open .tsv-concierge__header{opacity:1;transform:none;transition-delay:240ms;}
.tsv-concierge.is-open .tsv-concierge__messages{opacity:1;transform:none;transition-delay:320ms;}
.tsv-concierge.is-open .tsv-concierge__input{opacity:1;transform:none;transition-delay:460ms;}
.tsv-concierge.is-open .tsv-concierge__footer{opacity:1;transform:none;transition-delay:520ms;}
@media (prefers-reduced-motion:reduce){.tsv-concierge__header,.tsv-concierge__messages,.tsv-concierge__input,.tsv-concierge__footer{transition:opacity 160ms ease;transform:none;}
.tsv-concierge.is-open .tsv-concierge__header,.tsv-concierge.is-open .tsv-concierge__messages,.tsv-concierge.is-open .tsv-concierge__input,.tsv-concierge.is-open .tsv-concierge__footer{transition-delay:0ms;}
}
.tsv-concierge__header{padding:18px 20px;border-bottom:1px solid var(--tsv-hair);display:flex;align-items:center;justify-content:space-between;flex-shrink:0;position:relative;z-index:2;background:var(--tsv-bg);}
.tsv-concierge__title{display:flex;align-items:center;gap:10px;}
.tsv-concierge__title-text{font-size:11px;letter-spacing:2.5px;text-transform:uppercase;color:var(--tsv-ivory);font-weight:500;}
.tsv-concierge__title-sub{font-size:10px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tsv-muted);margin-top:2px;}
.tsv-concierge__dot{width:6px;height:6px;background:#6BAE7A;border-radius:50%;box-shadow:0 0 8px rgba(107,174,122,0.4);}
.tsv-concierge.is-open .tsv-concierge__dot{animation:tsvHeartbeat 1.4s ease-out 380ms 1;}
@keyframes tsvHeartbeat{0%{transform:scale(1);box-shadow:0 0 8px rgba(107,174,122,0.4);}
28%{transform:scale(1.7);box-shadow:0 0 18px rgba(107,174,122,0.85);}
56%{transform:scale(1);box-shadow:0 0 8px rgba(107,174,122,0.4);}
100%{transform:scale(1);box-shadow:0 0 8px rgba(107,174,122,0.4);}
}
.tsv-concierge .tsv-msg--concierge.is-typing::after{content:'';display:inline-block;width:6px;height:14px;margin-left:2px;background:var(--tsv-ivory);vertical-align:-2px;animation:tsvCaret 0.9s steps(2,start) infinite;}
@keyframes tsvCaret{to{opacity:0;}
}
.tsv-concierge .tsv-chip{opacity:0;transform:translateY(4px);animation:tsvChipIn 380ms cubic-bezier(0.16,1,0.3,1) forwards;}
@keyframes tsvChipIn{to{opacity:1;transform:none;}
}
.tsv-concierge__headerActions{display:flex;align-items:center;gap:14px;}
.tsv-concierge__reset{background:transparent;border:none;color:var(--tsv-ivory-soft);cursor:pointer;padding:6px;opacity:0.55;transition:opacity 0.15s,color 0.15s;line-height:0;}
.tsv-concierge__reset:hover{opacity:1;color:#e28282;}
.tsv-concierge__reset svg{width:18px;height:18px;}
.tsv-concierge__end{background:transparent;border:none;color:var(--tsv-ivory-soft);cursor:pointer;padding:6px;opacity:0.55;transition:opacity 0.15s,color 0.15s;line-height:0;}
.tsv-concierge__end:hover{opacity:1;color:#C9B37F;}
.tsv-concierge__end svg{width:18px;height:18px;}
.tsv-concierge__close{background:transparent;border:none;color:var(--tsv-ivory-soft);cursor:pointer;padding:6px;opacity:0.6;transition:opacity 0.15s;font-size:20px;line-height:1;}
.tsv-concierge__close:hover{opacity:1;}
.tsv-concierge .tsv-order{align-self:stretch;padding:14px 0 4px 14px;border-left:2px solid var(--tsv-ivory);max-width:100%;}
.tsv-concierge .tsv-order__head{margin-bottom:10px;}
.tsv-concierge .tsv-order__label{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:#ffffff;}
.tsv-concierge .tsv-order__metaRow{font-size:12px;color:var(--tsv-ivory-soft);margin-top:4px;}
.tsv-concierge .tsv-order__pills{display:flex;flex-wrap:wrap;gap:6px;margin-top:8px;}
.tsv-concierge .tsv-order__pill{font-size:9px;letter-spacing:1px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px;line-height:1;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory);white-space:nowrap;}
.tsv-concierge .tsv-order__pill--success{background:#2e8b3d;border-color:#2e8b3d;color:#ffffff;}
.tsv-concierge .tsv-order__pill--warn{background:#a24b2d;border-color:#a24b2d;color:#ffffff;}
.tsv-concierge .tsv-order__pill--info{background:transparent;}
.tsv-concierge .tsv-order__pill--neutral{background:transparent;color:var(--tsv-muted);}
.tsv-concierge .tsv-order__items{display:flex;flex-direction:column;gap:8px;margin:10px 0;}
.tsv-concierge .tsv-order__item,.tsv-concierge a.tsv-order__item{display:flex;align-items:center;gap:10px;padding:8px;background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair);border-radius:var(--tsv-radius-sm);text-decoration:none !important;color:inherit !important;}
.tsv-concierge a.tsv-order__item:hover{border-color:var(--tsv-hair-strong);}
.tsv-concierge .tsv-order__thumb{width:44px;height:44px;background:#ffffff;border-radius:4px;flex-shrink:0;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.tsv-concierge .tsv-order__thumb img{width:100%;height:100%;object-fit:cover;}
.tsv-concierge .tsv-order__thumb svg{width:26px;height:26px;opacity:0.4;}
.tsv-concierge .tsv-order__meta{flex:1;min-width:0;}
.tsv-concierge .tsv-order__title{font-size:13px;line-height:1.35;color:#ffffff !important;text-decoration:none !important;}
.tsv-concierge .tsv-order__variant{font-size:11px;color:var(--tsv-muted);margin-left:4px;}
.tsv-concierge .tsv-order__qty{font-size:11px;color:var(--tsv-ivory-soft);margin-left:6px;}
.tsv-concierge .tsv-order__price{font-size:12px;color:var(--tsv-ivory-soft);margin-top:2px;}
.tsv-concierge .tsv-order__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:4px;}
.tsv-concierge .tsv-order__cta{display:inline-flex;align-items:center;padding:9px 14px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-weight:700;text-decoration:none;border-radius:4px;transition:background 0.15s,color 0.15s;}
.tsv-concierge .tsv-order__cta--primary{background:var(--tsv-ivory);color:var(--tsv-bg) !important;}
.tsv-concierge .tsv-order__cta--primary:hover{background:#ffffff;}
.tsv-concierge .tsv-order__cta--ghost{background:transparent;color:var(--tsv-ivory) !important;border:1px solid var(--tsv-hair-strong);}
.tsv-concierge .tsv-order__cta--ghost:hover{border-color:var(--tsv-ivory);}
.tsv-concierge .tsv-vault{align-self:stretch;padding:14px 0 4px 14px;border-left:2px solid var(--tsv-ivory);max-width:100%;}
.tsv-concierge .tsv-vault__hero{padding:16px 18px;background:linear-gradient(135deg,rgba(243,238,228,0.06),rgba(243,238,228,0.02));border:1px solid var(--tsv-hair-strong);border-radius:var(--tsv-radius-md);margin-bottom:14px;}
.tsv-concierge .tsv-vault__tier{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#C9B37F;margin-bottom:6px;}
.tsv-concierge .tsv-vault__balance{font-family:Georgia,'Times New Roman',serif;font-size:34px;line-height:1;font-weight:500;color:#ffffff;display:flex;align-items:baseline;gap:8px;}
.tsv-concierge .tsv-vault__balanceUnit{font-family:inherit;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:var(--tsv-ivory-soft);}
.tsv-concierge .tsv-vault__progress{margin-top:14px;height:6px;background:rgba(255,255,255,0.08);border-radius:999px;overflow:hidden;}
.tsv-concierge .tsv-vault__progressFill{height:100%;background:#C9B37F;transition:width 400ms ease;}
.tsv-concierge .tsv-vault__progressLabel{font-size:11px;color:var(--tsv-muted);margin-top:6px;}
.tsv-concierge .tsv-vault__section{margin-bottom:14px;}
.tsv-concierge .tsv-vault__sectionLabel{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;font-weight:700;color:var(--tsv-muted);margin-bottom:8px;}
.tsv-concierge .tsv-vault__next{font-size:13px;color:var(--tsv-ivory-soft);line-height:1.4;}
.tsv-concierge .tsv-vault__rewards{display:flex;flex-direction:column;gap:8px;}
.tsv-concierge .tsv-vault__reward{padding:10px 12px;border-radius:var(--tsv-radius-sm);background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair);}
.tsv-concierge .tsv-vault__reward--ready{border-color:rgba(201,179,127,0.4);background:rgba(201,179,127,0.06);}
.tsv-concierge .tsv-vault__rewardTitle{font-size:13px;font-weight:500;color:#ffffff;}
.tsv-concierge .tsv-vault__rewardValue{font-size:11px;color:#C9B37F;letter-spacing:0.4px;}
.tsv-concierge .tsv-vault__rewardMeta{font-size:11px;color:var(--tsv-muted);margin-top:4px;}
.tsv-concierge .tsv-vault__code{font-family:ui-monospace,Menlo,monospace;font-size:11px;color:var(--tsv-ivory);background:rgba(255,255,255,0.06);padding:3px 6px;border-radius:3px;margin-top:6px;display:inline-block;letter-spacing:1.2px;}
.tsv-concierge .tsv-vault__ledgerRow{display:grid;grid-template-columns:1fr auto auto;gap:10px;padding:6px 0;font-size:12px;color:var(--tsv-ivory-soft);border-bottom:1px solid var(--tsv-hair);}
.tsv-concierge .tsv-vault__ledgerRow:last-child{border-bottom:0;}
.tsv-concierge .tsv-vault__ledgerDelta.is-plus{color:#6BAE7A;font-weight:600;}
.tsv-concierge .tsv-vault__ledgerDelta.is-minus{color:#E58383;font-weight:600;}
.tsv-concierge .tsv-vault__ledgerWhen{color:var(--tsv-muted);font-size:11px;}
.tsv-concierge .tsv-vault__actions{margin-top:4px;}
.tsv-concierge .tsv-contact{align-self:stretch;background:#ffffff;color:#0F1720;padding:18px 18px 16px;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,0.4);animation:tsvFadeIn 260ms ease forwards;margin:4px 0 4px 16px;}
.tsv-concierge .tsv-contact__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Georgia,serif;font-size:22px;font-weight:800;letter-spacing:-0.3px;color:#0F1720;margin-bottom:4px;}
.tsv-concierge .tsv-contact__sub{font-size:13px;color:#2a2a2a;font-weight:500;letter-spacing:0.2px;margin-bottom:16px;}
.tsv-concierge .tsv-contact__form{display:flex;flex-direction:column;gap:12px;}
.tsv-concierge .tsv-contact__field{display:flex;flex-direction:column;gap:6px;}
.tsv-concierge .tsv-contact__field span{font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;color:#0F1720;}
.tsv-concierge .tsv-contact__field input,.tsv-concierge .tsv-contact__field textarea{width:100%;padding:12px 14px;background:#ffffff;border:1.5px solid #0F1720;color:#0F1720;font-size:15px;font-weight:500;font-family:inherit;border-radius:4px;box-sizing:border-box;outline:none;transition:border-color 0.15s,box-shadow 0.15s;resize:vertical;}
.tsv-concierge .tsv-contact__field input::placeholder,.tsv-concierge .tsv-contact__field textarea::placeholder{color:#4a4a4a;font-weight:500;opacity:1;}
.tsv-concierge .tsv-contact__field input:focus,.tsv-concierge .tsv-contact__field textarea:focus,.tsv-concierge .tsv-contact__field select:focus{border-color:#0F1720;box-shadow:0 0 0 3px rgba(15,23,32,0.12);}
.tsv-concierge .tsv-contact__field select{width:100%;padding:12px 14px;background:#ffffff;border:1.5px solid #0F1720;color:#0F1720;font-size:15px;font-weight:500;font-family:inherit;border-radius:4px;outline:none;transition:border-color 0.15s,box-shadow 0.15s;appearance:none;-webkit-appearance:none;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='14' height='14' viewBox='0 0 24 24' fill='none' stroke='%230F1720' stroke-width='3' stroke-linecap='round' stroke-linejoin='round'><polyline points='6 9 12 15 18 9'/></svg>");background-repeat:no-repeat;background-position:right 12px center;padding-right:36px;}
.tsv-concierge .tsv-contact__field span em{font-style:normal;color:#6a6357;font-weight:700;letter-spacing:1.2px;margin-left:6px;text-transform:uppercase;font-size:10px;}
.tsv-concierge .tsv-contact__submit{margin-top:6px;padding:15px 20px;background:#0F1720;color:#ffffff;border:0;font-size:13px;letter-spacing:2px;text-transform:uppercase;font-weight:900;cursor:pointer;border-radius:4px;transition:background 0.2s,transform 0.1s;display:inline-flex;align-items:center;justify-content:center;gap:10px;}
.tsv-concierge .tsv-contact__submit:active{transform:translateY(1px);}
.tsv-concierge .tsv-contact__submit.is-loading{background:#1a2634;cursor:progress;}
.tsv-concierge .tsv-contact__submit--sent{background:#1e7c3a !important;cursor:default;}
.tsv-concierge .tsv-contact__spinner{width:14px;height:14px;border:2px solid rgba(255,255,255,0.35);border-top-color:#ffffff;border-radius:50%;display:inline-block;animation:tsvContactSpin 620ms linear infinite;}
@keyframes tsvContactSpin{to{transform:rotate(360deg);}
}
.tsv-concierge .tsv-contact__submit:hover{background:#1a2634;}
.tsv-concierge .tsv-contact__submit:disabled{opacity:0.7;cursor:not-allowed;}
.tsv-concierge .tsv-contact__error{margin-top:6px;padding:8px 10px;background:#fef2f2;border:1px solid #f5c6c6;color:#a02323;font-size:12px;line-height:18px;border-radius:4px;}
.tsv-concierge .tsv-contact--done{padding:0;overflow:hidden;background:transparent;border:0;box-shadow:none;margin:4px 0 4px 16px;}
.tsv-concierge .tsv-contact__doneRibbon{display:flex;align-items:center;gap:10px;padding:12px 16px;background:#1e7c3a;color:#ffffff;border-radius:6px;font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;font-size:12px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;}
.tsv-concierge .tsv-contact__doneRibbon svg{flex-shrink:0;}
.tsv-concierge .tsv-contact__doneBody{padding:20px 22px 22px;background:#ffffff;color:#0F1720;}
.tsv-concierge .tsv-contact__doneHeadline{font-family:Georgia,'Times New Roman',serif;font-size:22px;font-weight:600;line-height:28px;color:#0F1720;margin-bottom:6px;}
.tsv-concierge .tsv-contact__doneCopy{font-size:14px;line-height:22px;color:#2a2a2a;}
.tsv-concierge .tsv-contact__doneCopy strong{color:#0F1720;font-weight:700;}
.tsv-concierge .tsv-contact__doneDetails{margin-top:12px;display:flex;flex-wrap:wrap;gap:6px;}
.tsv-concierge .tsv-contact__doneChip{font-size:11px;letter-spacing:0.8px;text-transform:uppercase;font-weight:700;color:#0F1720;background:#efe8d8;padding:4px 10px;border-radius:999px;}
.tsv-concierge .tsv-contact__doneChip--mono{font-family:ui-monospace,Menlo,monospace;letter-spacing:1.2px;text-transform:none;}
.tsv-concierge .tsv-track{align-self:stretch;padding:14px 0 4px 14px;border-left:2px solid var(--tsv-ivory);max-width:100%;}
.tsv-concierge .tsv-track__label{font-size:11px;letter-spacing:1.6px;text-transform:uppercase;font-weight:800;color:#ffffff;}
.tsv-concierge .tsv-track__carrier{font-family:Georgia,'Times New Roman',serif;font-size:20px;color:#ffffff;margin-top:6px;line-height:1.2;}
.tsv-concierge .tsv-track__number{font-family:ui-monospace,Menlo,monospace;font-size:13px;letter-spacing:1.4px;color:var(--tsv-ivory-soft);background:rgba(255,255,255,0.05);padding:6px 10px;border-radius:4px;display:inline-block;margin-top:8px;}
.tsv-concierge .tsv-track__actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.tsv-concierge .tsv-picker{align-self:stretch;padding:8px 0 4px 14px;border-left:2px solid var(--tsv-ivory);max-width:100%;display:flex;flex-direction:column;gap:6px;}
.tsv-concierge .tsv-picker__row{text-align:left;padding:10px 12px;background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair);border-radius:var(--tsv-radius-sm);color:inherit;cursor:pointer;font-family:inherit;transition:border-color 0.15s,background 0.15s;}
.tsv-concierge .tsv-picker__row:hover{border-color:var(--tsv-hair-strong);background:rgba(255,255,255,0.04);}
.tsv-concierge .tsv-picker__name{font-size:13px;font-weight:600;color:#ffffff;}
.tsv-concierge .tsv-picker__meta{font-size:11px;color:var(--tsv-muted);margin-top:3px;}
.tsv-concierge .tsv-mini{align-self:stretch;padding:14px 16px;margin:4px 0 4px 16px;background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair-strong);border-radius:8px;animation:tsvFadeIn 260ms ease forwards;}
.tsv-concierge .tsv-mini--news{border-color:rgba(201,179,127,0.45);}
.tsv-concierge .tsv-mini__title{font-family:Georgia,'Times New Roman',serif;font-size:16px;color:#ffffff;font-weight:600;line-height:1.3;}
.tsv-concierge .tsv-mini__sub{font-size:12px;color:var(--tsv-ivory-soft);margin:4px 0 12px;}
.tsv-concierge .tsv-mini__form{display:flex;gap:8px;}
.tsv-concierge .tsv-mini__form input{flex:1;padding:10px 12px;background:#ffffff;border:1.5px solid #ffffff;color:#0F1720;font-size:13px;font-family:inherit;border-radius:4px;outline:none;min-width:0;}
.tsv-concierge .tsv-mini__form input:focus{border-color:var(--tsv-ivory);box-shadow:0 0 0 3px rgba(243,238,228,0.18);}
.tsv-concierge .tsv-mini__btn{padding:10px 14px;background:var(--tsv-ivory);color:var(--tsv-bg);border:0;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;cursor:pointer;border-radius:4px;white-space:nowrap;}
.tsv-concierge .tsv-mini--news .tsv-mini__btn{background:#C9B37F;}
.tsv-concierge .tsv-mini__btn:hover{background:#ffffff;}
.tsv-concierge .tsv-mini--news .tsv-mini__btn:hover{background:#d4bf8f;}
.tsv-concierge .tsv-mini__btn:disabled{opacity:0.7;cursor:not-allowed;}
.tsv-concierge .tsv-mini__err{margin-top:8px;font-size:12px;color:#E58383;}
.tsv-concierge .tsv-mini--done{padding:0;background:transparent;border:0;}
.tsv-concierge .tsv-mini__doneRibbon{display:flex;align-items:center;gap:8px;padding:10px 14px;background:#1e7c3a;color:#ffffff;border-radius:6px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;}
.tsv-concierge .tsv-endchat{align-self:stretch;margin:8px 0 8px 14px;padding:18px 20px;background:linear-gradient(180deg,rgba(243,238,228,0.05),rgba(243,238,228,0.01));border:1px solid var(--tsv-hair-strong);border-radius:10px;animation:tsvFadeIn 260ms ease forwards;}
.tsv-concierge .tsv-endchat__eyebrow{font-size:10px;letter-spacing:2px;text-transform:uppercase;font-weight:700;color:#C9B37F;margin-bottom:6px;}
.tsv-concierge .tsv-endchat__title{font-family:Georgia,'Times New Roman',serif;font-size:20px;line-height:26px;color:#ffffff;font-weight:500;margin-bottom:14px;}
.tsv-concierge .tsv-endchat__rating{display:flex;gap:6px;margin-bottom:6px;}
.tsv-concierge .tsv-endchat__star{background:transparent;border:0;padding:4px;cursor:pointer;color:var(--tsv-muted);transition:transform 0.12s,color 0.12s;}
.tsv-concierge .tsv-endchat__star:hover{transform:scale(1.08);color:#C9B37F;}
.tsv-concierge .tsv-endchat__star.is-active{color:#C9B37F;}
.tsv-concierge .tsv-endchat__star.is-active svg{fill:#C9B37F;}
.tsv-concierge .tsv-endchat__ratingLabel{font-size:12px;color:var(--tsv-ivory-soft);letter-spacing:0.4px;margin:4px 0 8px;}
.tsv-concierge .tsv-endchat__divider{height:1px;background:var(--tsv-hair);margin:14px 0;}
.tsv-concierge .tsv-endchat__newsHead{font-size:13px;color:#ffffff;font-weight:700;letter-spacing:0.3px;margin-bottom:2px;}
.tsv-concierge .tsv-endchat__newsSub{font-size:11px;color:var(--tsv-ivory-soft);margin-bottom:10px;line-height:1.5;}
.tsv-concierge .tsv-endchat__newsForm{display:flex;gap:8px;}
.tsv-concierge .tsv-endchat__newsForm input{flex:1;padding:10px 12px;background:#ffffff;border:1.5px solid #ffffff;color:#0F1720;font-size:13px;font-family:inherit;border-radius:4px;outline:none;min-width:0;}
.tsv-concierge .tsv-endchat__newsForm input:focus{border-color:#C9B37F;box-shadow:0 0 0 3px rgba(201,179,127,0.22);}
.tsv-concierge .tsv-endchat__newsBtn{padding:10px 14px;background:#C9B37F;color:var(--tsv-bg);border:0;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:800;cursor:pointer;border-radius:4px;white-space:nowrap;}
.tsv-concierge .tsv-endchat__newsBtn:hover{background:#d4bf8f;}
.tsv-concierge .tsv-endchat__newsBtn:disabled{opacity:0.7;cursor:not-allowed;}
.tsv-concierge .tsv-endchat__newsErr{margin-top:8px;font-size:12px;color:#E58383;}
.tsv-concierge .tsv-endchat__newsDone{padding:12px 14px;background:#1e7c3a;color:#ffffff;border-radius:6px;font-size:12px;letter-spacing:1.2px;text-transform:uppercase;font-weight:800;}
.tsv-concierge .tsv-endchat__actions{margin-top:16px;text-align:center;}
.tsv-concierge .tsv-endchat__close{background:transparent;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory-soft);padding:10px 16px;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;font-family:inherit;border-radius:4px;cursor:pointer;}
.tsv-concierge .tsv-endchat__close:hover{border-color:var(--tsv-ivory);color:var(--tsv-ivory);}
.tsv-concierge__confirm{position:absolute;inset:0;background:rgba(15,23,32,0.85);display:none;align-items:center;justify-content:center;z-index:20;padding:24px;}
.tsv-concierge.is-confirming .tsv-concierge__confirm{display:flex;}
.tsv-concierge__confirmBox{background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair-strong);padding:24px 22px;max-width:320px;text-align:center;border-radius:var(--tsv-radius-md);}
.tsv-concierge__confirmTitle{font-size:12px;letter-spacing:2px;text-transform:uppercase;color:var(--tsv-ivory);margin-bottom:10px;}
.tsv-concierge__confirmBody{font-size:13px;color:var(--tsv-ivory-soft);line-height:1.55;margin-bottom:20px;}
.tsv-concierge__confirmActions{display:flex;gap:8px;justify-content:center;}
.tsv-concierge__confirmBtn{padding:9px 16px;font-size:11px;letter-spacing:1.5px;text-transform:uppercase;font-family:inherit;cursor:pointer;border-radius:var(--tsv-radius-sm);transition:background 0.15s,color 0.15s,border-color 0.15s;}
.tsv-concierge__confirmBtn--ghost{background:transparent;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory-soft);}
.tsv-concierge__confirmBtn--ghost:hover{border-color:var(--tsv-ivory);color:var(--tsv-ivory);}
.tsv-concierge__confirmBtn--solid{background:var(--tsv-ivory);border:1px solid var(--tsv-ivory);color:var(--tsv-bg);}
.tsv-concierge__confirmBtn--solid:hover{background:#fff;border-color:#fff;}
.tsv-concierge__messages{flex:1;overflow-y:auto;overflow-x:hidden;padding:20px;display:flex;flex-direction:column;gap:14px;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;overscroll-behavior:contain;touch-action:pan-y;}
.tsv-concierge__messages > *{max-width:100%;box-sizing:border-box;}
.tsv-concierge__messages::-webkit-scrollbar{width:6px;}
.tsv-concierge__messages::-webkit-scrollbar-thumb{background:var(--tsv-hair-strong);border-radius:3px;}
.tsv-concierge .tsv-msg{max-width:82%;font-size:14px;line-height:1.55;animation:tsvFadeUp 0.35s ease;}
@keyframes tsvFadeUp{from{opacity:0;transform:translateY(6px);}
to{opacity:1;transform:translateY(0);}
}
.tsv-concierge .tsv-msg--concierge{align-self:flex-start;color:var(--tsv-ivory-soft);padding:4px 0 4px 14px;border-left:2px solid var(--tsv-ivory);white-space:pre-wrap;}
.tsv-concierge .tsv-msg--user{align-self:flex-end;background:var(--tsv-ivory);color:var(--tsv-bg);padding:10px 14px;border-radius:14px 14px 4px 14px;font-weight:400;}
.tsv-concierge .tsv-msg--concierge + .tsv-msg--concierge{margin-top:-8px;}
.tsv-concierge .tsv-msg__link{color:var(--tsv-ivory);text-decoration:underline;text-underline-offset:2px;text-decoration-thickness:1px;transition:color 0.15s;}
.tsv-concierge .tsv-msg__link:hover{color:#ffffff;}
.tsv-concierge .tsv-msg__subhead{display:block;font-family:inherit;font-size:11px;letter-spacing:1.4px;text-transform:uppercase;font-weight:700;color:#ffffff;margin:6px 0 4px;padding-bottom:4px;border-bottom:1px solid rgba(243,238,228,0.18);}
.tsv-concierge .tsv-msg--concierge .tsv-msg__subhead:first-child{margin-top:0;}
.tsv-concierge .tsv-msg__break{display:block;height:8px;}
.tsv-concierge .tsv-msg--concierge strong{color:#ffffff;font-weight:600;}
.tsv-concierge .tsv-msg--typing{align-self:flex-start;padding:4px 0 4px 14px;border-left:2px solid var(--tsv-ivory);display:flex;align-items:center;gap:6px;height:22px;}
.tsv-concierge .tsv-msg--typing span{width:4px;height:4px;background:var(--tsv-ivory-soft);border-radius:50%;animation:tsvBounce 1.2s infinite;}
.tsv-concierge .tsv-msg--typing span:nth-child(2){animation-delay:0.15s;}
.tsv-concierge .tsv-msg--typing span:nth-child(3){animation-delay:0.3s;}
.tsv-concierge .tsv-msg__pulse{display:inline-flex;align-items:center;gap:4px;vertical-align:baseline;margin-left:6px;height:12px;}
.tsv-concierge__mic{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory-soft);width:42px;height:42px;border-radius:50%;cursor:pointer;margin-right:6px;padding:0;transition:background 0.15s,border-color 0.15s,color 0.15s;}
.tsv-concierge__mic:hover{background:rgba(243,238,228,0.08);border-color:var(--tsv-ivory);color:var(--tsv-ivory);}
.tsv-concierge__mic svg{width:16px;height:16px;}
.tsv-concierge__mic.is-listening{background:var(--tsv-ivory);color:var(--tsv-bg);border-color:var(--tsv-ivory);animation:tsvMicPulse 1.4s ease-in-out infinite;}
@keyframes tsvMicPulse{0%,100%{box-shadow:0 0 0 0 rgba(243,238,228,0.5);}
50%{box-shadow:0 0 0 10px rgba(243,238,228,0);}
}
.tsv-concierge__voice{background:transparent;border:none;color:var(--tsv-ivory-soft);cursor:pointer;padding:6px;border-radius:6px;display:inline-flex;align-items:center;justify-content:center;margin-right:4px;position:relative;transition:background 0.15s,color 0.15s;}
.tsv-concierge__voice:hover{background:rgba(243,238,228,0.08);color:var(--tsv-ivory);}
.tsv-concierge__voice svg{width:16px;height:16px;}
.tsv-concierge__voice.is-on{color:var(--tsv-ivory);}
.tsv-concierge__voice.is-on::after{content:'';position:absolute;width:6px;height:6px;background:var(--tsv-ivory);border-radius:50%;top:4px;right:4px;}
.tsv-concierge__voice.is-speaking{animation:tsvVoicePulse 1.2s ease-in-out infinite;}
@keyframes tsvVoicePulse{0%,100%{transform:scale(1);}
50%{transform:scale(1.15);}
}
.tsv-concierge .tsv-rec__explainBtn{background:transparent;border:none;color:var(--tsv-ivory-soft);font-family:inherit;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;padding:8px 14px;display:inline-flex;align-items:center;gap:4px;align-self:flex-start;transition:color 0.15s;}
.tsv-concierge .tsv-rec__explainBtn:hover{color:var(--tsv-ivory);}
.tsv-concierge .tsv-rec__explainBtn svg{width:10px;height:10px;transition:transform 0.2s;}
.tsv-concierge .tsv-rec__explainBtn.is-open svg{transform:rotate(180deg);}
.tsv-concierge .tsv-rec__explain{display:none;padding:12px 14px;background:rgba(243,238,228,0.04);border-top:1px solid var(--tsv-hair);font-size:12px;line-height:1.55;color:var(--tsv-ivory-soft);}
.tsv-concierge .tsv-rec__explain.is-open{display:block;}
.tsv-concierge .tsv-rec__explainRow{display:flex;gap:8px;margin-bottom:6px;}
.tsv-concierge .tsv-rec__explainLabel{color:var(--tsv-muted);text-transform:uppercase;letter-spacing:0.06em;font-size:10px;min-width:68px;flex-shrink:0;padding-top:2px;}
.tsv-concierge .tsv-rec__explainVal{color:var(--tsv-ivory-soft);}
.tsv-concierge .tsv-vault__nudge{margin:14px 0 6px;padding:12px 14px;border:1px solid var(--tsv-hair-strong);border-radius:var(--tsv-radius-md);background:rgba(243,238,228,0.05);color:var(--tsv-ivory-soft);font-size:12px;line-height:1.5;}
.tsv-concierge .tsv-vault__nudgeTitle{color:var(--tsv-ivory);font-weight:600;letter-spacing:0.04em;text-transform:uppercase;font-size:11px;margin-bottom:4px;}
.tsv-concierge .tsv-vault__nudgeBtn{display:inline-block;margin-top:8px;background:var(--tsv-ivory);color:var(--tsv-bg);border:none;padding:8px 14px;border-radius:999px;font-family:inherit;font-size:11px;letter-spacing:0.06em;text-transform:uppercase;cursor:pointer;}
.tsv-concierge .tsv-vault__nudgeBtn:hover{background:#fff;}
.tsv-concierge .tsv-rec{position:relative;}
.tsv-concierge .tsv-rec__share{position:absolute;top:8px;left:8px;z-index:3;background:rgba(15,22,33,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(243,238,228,0.35);color:var(--tsv-ivory);width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s ease,transform 0.15s ease;}
.tsv-concierge .tsv-rec__share:hover{background:rgba(15,22,33,0.85);transform:scale(1.05);}
.tsv-concierge .tsv-rec__share svg{width:13px;height:13px;}
.tsv-concierge .tsv-rec__share.is-copied{background:rgba(107,168,138,0.9);border-color:rgba(107,168,138,0.9);}
.tsv-concierge .tsv-recs__refine{display:grid;grid-template-columns:1fr 1fr;gap:8px;padding:8px 0 2px 14px;border-left:2px solid rgba(243,238,228,0.2);align-self:stretch;max-width:100%;box-sizing:border-box;}
.tsv-concierge .tsv-recs__refineBtn{background:transparent;border:1px solid rgba(243,238,228,0.3);color:var(--tsv-ivory-soft);padding:8px 10px;font-size:11px;letter-spacing:0.05em;text-transform:uppercase;border-radius:18px;cursor:pointer;transition:background 0.15s ease,color 0.15s ease,border-color 0.15s ease;font-family:inherit;text-align:center;white-space:normal;word-break:normal;overflow-wrap:break-word;line-height:1.25;min-height:34px;display:flex;align-items:center;justify-content:center;box-sizing:border-box;}
.tsv-concierge .tsv-recs__refineBtn:hover{background:rgba(243,238,228,0.12);color:var(--tsv-ivory);border-color:rgba(243,238,228,0.55);}
@media (max-width:400px){.tsv-concierge .tsv-recs__refineBtn{font-size:10px;padding:7px 8px;letter-spacing:0.03em;line-height:1.2;}
}
.tsv-concierge .tsv-msg__pulse span{width:4px;height:4px;background:var(--tsv-ivory-soft);border-radius:50%;animation:tsvBounce 1.2s infinite;}
.tsv-concierge .tsv-msg__pulse span:nth-child(2){animation-delay:0.15s;}
.tsv-concierge .tsv-msg__pulse span:nth-child(3){animation-delay:0.3s;}
.tsv-concierge .tsv-skeleton{padding:8px 0 4px 14px;border-left:2px solid rgba(243,238,228,0.35);display:flex;flex-direction:column;gap:10px;}
.tsv-concierge .tsv-skeleton__line{height:10px;border-radius:4px;background:linear-gradient(90deg,rgba(243,238,228,0.08) 0%,rgba(243,238,228,0.18) 50%,rgba(243,238,228,0.08) 100%);background-size:200% 100%;animation:tsvShimmer 1.4s ease-in-out infinite;}
@keyframes tsvShimmer{0%{background-position:100% 0;}
100%{background-position:-100% 0;}
}
.tsv-concierge .tsv-msg--fadein{animation:tsvFadeIn 260ms ease forwards;opacity:0;}
@keyframes tsvFadeIn{from{opacity:0;transform:translateY(4px);}
to{opacity:1;transform:none;}
}
@media (prefers-reduced-motion:reduce){.tsv-concierge .tsv-msg--fadein{animation:none;opacity:1;}
}
.tsv-concierge .tsv-chip--signin{background:var(--tsv-ivory) !important;border:1px solid var(--tsv-ivory) !important;color:var(--tsv-bg) !important;font-weight:700;letter-spacing:1px;padding-left:32px !important;position:relative;box-shadow:0 0 0 3px rgba(243,238,228,0.14);order:-1;}
.tsv-concierge .tsv-chip--signin::before{content:'';position:absolute;left:12px;top:50%;width:12px;height:12px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1720' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='12' cy='7' r='4'/><path d='M4 21v-1a8 8 0 0 1 16 0v1'/></svg>");background-size:contain;background-repeat:no-repeat;background-position:center;}
.tsv-concierge .tsv-chip--signin:hover{background:#ffffff !important;border-color:#ffffff !important;box-shadow:0 0 0 3px rgba(243,238,228,0.22);}
.tsv-concierge .tsv-chips{display:flex;flex-wrap:wrap;}
.tsv-concierge .tsv-chip--register{background:transparent !important;border:1px solid var(--tsv-ivory) !important;color:var(--tsv-ivory) !important;font-weight:700;letter-spacing:1px;padding-left:32px !important;position:relative;order:0;}
.tsv-concierge .tsv-chip--register::before{content:'';position:absolute;left:12px;top:50%;width:12px;height:12px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23F3EEE4' stroke-width='2.2' stroke-linecap='round' stroke-linejoin='round'><circle cx='10' cy='7' r='4'/><path d='M2 21v-1a8 8 0 0 1 12.8-6.4'/><line x1='19' y1='8' x2='19' y2='14'/><line x1='16' y1='11' x2='22' y2='11'/></svg>");background-size:contain;background-repeat:no-repeat;background-position:center;}
.tsv-concierge .tsv-chip--register:hover{background:rgba(243,238,228,0.08) !important;border-color:#ffffff !important;color:#ffffff !important;}
.tsv-concierge .tsv-login{align-self:stretch;background:#ffffff;color:#0F1720;padding:18px 18px 16px;border-radius:6px;box-shadow:0 12px 30px rgba(0,0,0,0.4);animation:tsvFadeIn 260ms ease forwards;margin:4px 0 4px 16px;}
.tsv-concierge .tsv-login__title{font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Georgia,serif;font-size:22px;font-weight:700;letter-spacing:-0.2px;color:#0F1720;margin-bottom:4px;}
.tsv-concierge .tsv-login__sub{font-size:12px;color:#6a6357;letter-spacing:0.6px;margin-bottom:14px;}
.tsv-concierge .tsv-login__form{display:flex;flex-direction:column;gap:10px;}
.tsv-concierge .tsv-login__field{display:block;}
.tsv-concierge .tsv-login__field input{width:100%;padding:12px 12px;background:#ffffff;border:1px solid #d8d2c4;color:#0F1720;font-size:14px;font-family:inherit;border-radius:4px;box-sizing:border-box;outline:none;transition:border-color 0.15s;}
.tsv-concierge .tsv-login__field input:focus{border-color:#0F1720;}
.tsv-concierge .tsv-login__submit{margin-top:4px;padding:13px 18px;background:#0F1720;color:#ffffff;border:0;font-size:12px;letter-spacing:1.6px;text-transform:uppercase;font-weight:700;cursor:pointer;border-radius:4px;transition:background 0.15s;}
.tsv-concierge .tsv-login__submit:hover{background:#1a2634;}
.tsv-concierge .tsv-login__links{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:14px;font-size:12px;}
.tsv-concierge .tsv-login__links a{color:#0F1720;text-decoration:underline;text-underline-offset:2px;}
.tsv-concierge .tsv-login__links a:hover{color:#000;}
.tsv-concierge .tsv-login__sep{width:3px;height:3px;border-radius:50%;background:#6a6357;}
.tsv-concierge .tsv-login__error{margin-top:6px;padding:8px 10px;background:#fef2f2;border:1px solid #f5c6c6;color:#a02323;font-size:12px;line-height:18px;border-radius:4px;}
.tsv-concierge .tsv-login__submit:disabled{opacity:0.7;cursor:not-allowed;}
.tsv-concierge .tsv-login--done{padding:14px 16px;}
.tsv-concierge .tsv-login__done{display:flex;align-items:center;gap:12px;}
.tsv-concierge .tsv-login__dot{width:10px;height:10px;border-radius:50%;background:#2e8b3d;box-shadow:0 0 0 4px rgba(46,139,61,0.15);flex-shrink:0;}
.tsv-concierge .tsv-login__doneTitle{font-family:Georgia,'Times New Roman',serif;font-size:17px;font-weight:500;color:#0F1720;line-height:22px;}
.tsv-concierge .tsv-login__doneSub{font-size:12px;color:#6a6357;letter-spacing:0.4px;margin-top:2px;}
.tsv-concierge .tsv-login__frame{position:absolute;left:-9999px;top:-9999px;width:0;height:0;border:0;visibility:hidden;pointer-events:none;}
@keyframes tsvBounce{0%,60%,100%{transform:translateY(0);opacity:0.4;}
30%{transform:translateY(-4px);opacity:1;}
}
.tsv-concierge .tsv-recs{display:flex;flex-direction:column;gap:14px;margin:14px 0 4px;align-self:stretch;max-width:100%;}
.tsv-concierge .tsv-rec{position:relative;display:flex;flex-direction:column;background:var(--tsv-bg-elev);border:1px solid var(--tsv-hair);border-radius:var(--tsv-radius-md);overflow:hidden;text-decoration:none;color:inherit;transition:border-color 0.2s,transform 0.2s;}
.tsv-concierge .tsv-rec:hover{border-color:var(--tsv-hair-strong);transform:translateY(-1px);}
.tsv-concierge .tsv-rec--niche{border-color:rgba(201,179,127,0.35);}
.tsv-concierge .tsv-rec--niche:hover{border-color:rgba(201,179,127,0.6);}
.tsv-concierge .tsv-rec__top,.tsv-concierge a.tsv-rec__top{display:flex;gap:12px;padding:12px;align-items:center;text-decoration:none !important;color:inherit !important;}
.tsv-concierge a.tsv-rec__top:link,.tsv-concierge a.tsv-rec__top:visited,.tsv-concierge a.tsv-rec__top:hover,.tsv-concierge a.tsv-rec__top:active,.tsv-concierge a.tsv-rec__top:focus,.tsv-concierge a.tsv-rec__top *,.tsv-concierge a.tsv-rec__top *:link,.tsv-concierge a.tsv-rec__top *:visited{text-decoration:none !important;color:inherit !important;border-bottom:0 !important;}
.tsv-concierge .tsv-rec__actions{display:flex;border-top:1px solid var(--tsv-hair);}
.tsv-concierge .tsv-rec__action{flex:1;padding:12px 8px;font-family:inherit;font-size:11px;letter-spacing:2px;text-transform:uppercase;border:none;cursor:pointer;transition:background 0.15s,color 0.15s;text-align:center;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:6px;}
.tsv-concierge .tsv-rec__action--add{background:transparent;color:#ffffff;font-weight:600;border-right:1px solid var(--tsv-hair);}
.tsv-concierge .tsv-rec__action--add:hover{background:rgba(243,238,228,0.08);}
.tsv-concierge .tsv-rec__action--buy{background:var(--tsv-ivory);color:var(--tsv-bg);}
.tsv-concierge .tsv-rec__action--buy:hover{background:#fff;}
.tsv-concierge .tsv-rec--niche .tsv-rec__action--buy{background:#c9b37f;color:var(--tsv-bg);}
.tsv-concierge .tsv-rec--niche .tsv-rec__action--buy:hover{background:#d4bf8f;}
.tsv-concierge .tsv-rec__action:disabled{opacity:0.4;cursor:not-allowed;}
.tsv-concierge .tsv-rec__action svg{width:12px;height:12px;}
.tsv-concierge .tsv-rec__img{width:68px;height:68px;background:#fff;border-radius:var(--tsv-radius-sm);display:flex;align-items:center;justify-content:center;flex-shrink:0;overflow:hidden;}
.tsv-concierge .tsv-rec__img svg{width:42px;height:42px;opacity:0.5;}
.tsv-concierge .tsv-rec__img img{width:100%;height:100%;object-fit:cover;}
.tsv-concierge .tsv-rec__body{flex:1;min-width:0;display:flex;flex-direction:column;justify-content:center;}
.tsv-concierge .tsv-rec__vendorRow{display:flex;align-items:center;justify-content:space-between;gap:8px;margin-bottom:6px;padding-right:38px;}
.tsv-concierge .tsv-rec__vendor{font-size:10px;letter-spacing:1.8px;text-transform:uppercase;color:#ffffff !important;font-weight:600;opacity:1;text-decoration:none !important;flex:1;min-width:0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.tsv-concierge .tsv-rec__title{font-size:13.5px;color:#ffffff !important;line-height:1.35;margin-bottom:8px;font-weight:500;text-decoration:none !important;}
.tsv-concierge .tsv-rec__meta{display:flex;align-items:baseline;gap:6px;font-size:12px;flex-wrap:nowrap;white-space:nowrap;overflow:hidden;}
.tsv-concierge .tsv-rec__meta--extra{margin-top:4px;}
.tsv-concierge .tsv-rec__nowlabel{font-size:9px;letter-spacing:1px;font-weight:700;color:#ff5252;text-transform:uppercase;}
.tsv-concierge .tsv-rec__waslabel{font-size:9px;letter-spacing:1px;font-weight:600;color:#8a857c;text-transform:uppercase;margin-left:4px;}
.tsv-concierge .tsv-rec__price{color:#ffffff !important;font-weight:600;font-size:13px;text-decoration:none !important;}
.tsv-concierge .tsv-rec__price--sale{color:#ffffff !important;font-weight:700;font-size:14px;}
.tsv-concierge .tsv-rec__compare{color:#a8a29a;text-decoration:line-through;font-size:11px;}
.tsv-concierge .tsv-rec__savepill{font-size:9px;letter-spacing:0.5px;font-weight:700;text-transform:uppercase;color:#ffffff;background:#2e8b3d;padding:3px 7px;border-radius:999px;margin-left:4px;line-height:1;white-space:nowrap;flex-shrink:0;}
.tsv-concierge .tsv-rec__badge{font-size:10px;letter-spacing:0.6px;font-weight:700;text-transform:uppercase;padding:3px 8px;border-radius:999px;display:inline-flex;align-items:center;line-height:1;flex-shrink:0;}
.tsv-concierge .tsv-rec__badge--niche{color:#C9B37F;border:1px solid rgba(201,179,127,0.35);background:transparent;}
.tsv-concierge .tsv-rec__badge--sale{color:#ffffff;background:#c62828;border:none;}
.tsv-concierge .tsv-rec__badge--low{color:var(--tsv-ivory-soft);border:1px solid var(--tsv-hair-strong);}
.tsv-concierge .tsv-rec__add{flex-shrink:0;align-self:center;width:32px;height:32px;border-radius:50%;background:transparent;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory);display:flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s,color 0.15s,border-color 0.15s;font-family:inherit;padding:0;}
.tsv-concierge .tsv-rec__add:hover{background:var(--tsv-ivory);color:var(--tsv-bg);border-color:var(--tsv-ivory);}
.tsv-concierge .tsv-rec__add:disabled{opacity:0.5;cursor:not-allowed;}
.tsv-concierge .tsv-rec__add svg{width:14px;height:14px;}
.tsv-concierge .tsv-chips{display:flex;flex-wrap:wrap;gap:8px;margin:8px 0 4px;max-width:100%;box-sizing:border-box;}
.tsv-concierge .tsv-chip{background:transparent;border:1px solid var(--tsv-hair-strong);color:var(--tsv-ivory-soft);padding:8px 12px;font-size:12px;border-radius:20px;cursor:pointer;font-family:inherit;transition:background 0.15s,border-color 0.15s,transform 0.15s;max-width:100%;white-space:normal;word-break:break-word;text-align:left;line-height:1.35;box-sizing:border-box;}
.tsv-concierge .tsv-chip:hover{background:rgba(243,238,228,0.08);border-color:var(--tsv-ivory);}
.tsv-concierge .tsv-chip--primary{background:var(--tsv-ivory);border-color:var(--tsv-ivory);color:var(--tsv-bg);font-weight:600;letter-spacing:0.3px;padding:9px 16px 9px 34px;position:relative;box-shadow:0 1px 0 rgba(0,0,0,0.08);}
.tsv-concierge .tsv-chip--primary:hover{background:#ffffff;border-color:#ffffff;color:var(--tsv-bg);transform:translateY(-1px);}
.tsv-concierge .tsv-chip--emailpicks::before{content:'';position:absolute;left:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1720' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><rect x='3' y='5' width='18' height='14' rx='2'/><path d='M3 7l9 6 9-6'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;}
.tsv-concierge .tsv-chip--newsletter::before{content:'';position:absolute;left:12px;top:50%;width:14px;height:14px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230F1720' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M18 8a6 6 0 1 0-12 0c0 7-3 9-3 9h18s-3-2-3-9'/><path d='M13.7 21a2 2 0 0 1-3.4 0'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;}
.tsv-concierge .tsv-chip--contact{background:rgba(201,179,127,0.10);border:1.5px solid #C9B37F;color:#F3EEE4;font-weight:700;letter-spacing:0.4px;padding:11px 18px 11px 38px;position:relative;display:flex;align-items:center;justify-content:flex-start;order:-2;box-shadow:0 1px 0 rgba(0,0,0,0.15);width:100%;margin-bottom:4px;}
.tsv-concierge .tsv-chip--contact:hover{background:rgba(201,179,127,0.20);border-color:#d4bf8f;color:#ffffff;transform:none;}
.tsv-concierge .tsv-chip--contact::before{content:'';position:absolute;left:14px;top:50%;width:16px;height:16px;transform:translateY(-50%);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23C9B37F' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'><path d='M21 15a2 2 0 0 1-2 2H7l-4 4V5a2 2 0 0 1 2-2h14a2 2 0 0 1 2 2z'/></svg>");background-repeat:no-repeat;background-position:center;background-size:contain;}
.tsv-concierge__input{border-top:1px solid var(--tsv-hair);padding:14px 16px;display:flex;align-items:center;gap:10px;background:var(--tsv-bg);margin:0;}
.tsv-concierge__input input{flex:1;background:transparent;border:none;color:var(--tsv-ivory);font-family:inherit;font-size:16px;padding:10px 0;outline:none;caret-color:var(--tsv-ivory);}
.tsv-concierge__input input::placeholder{color:var(--tsv-muted);opacity:0.9;transition:opacity 0.15s;}
.tsv-concierge__input input:focus::placeholder,.tsv-concierge__input input:active::placeholder{opacity:0;}
.tsv-concierge__send{width:34px;height:34px;border-radius:50%;background:var(--tsv-ivory);color:var(--tsv-bg);border:none;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform 0.15s;flex-shrink:0;}
.tsv-concierge__send:hover{transform:translateX(1px);}
.tsv-concierge__send:disabled{opacity:0.3;cursor:not-allowed;transform:none;}
.tsv-concierge__send svg{width:14px;height:14px;}
.tsv-concierge__footer{padding:10px 20px;border-top:1px solid var(--tsv-hair);font-size:9px;letter-spacing:1.5px;text-transform:uppercase;color:var(--tsv-muted);text-align:center;background:var(--tsv-bg-elev);}
.tsv-concierge--left{right:auto;left:24px;}
.tsv-concierge--left .tsv-concierge__hint{right:auto;left:72px;transform:translateX(-6px);}
.tsv-concierge--left.is-hinted .tsv-concierge__hint{transform:translateX(0);}
.tsv-concierge--left .tsv-concierge__hint::after{right:auto;left:-6px;border-right:none;border-top:none;border-left:1px solid var(--tsv-hair);border-bottom:1px solid var(--tsv-hair);transform:translateY(-50%) rotate(45deg);}
.tsv-concierge--left .tsv-concierge__panel{right:auto;left:0;}
@media (max-width:500px){.tsv-concierge__panel{position:fixed;right:0;left:0;bottom:0;top:auto;width:100%;max-width:100%;height:92vh;height:92dvh;max-height:92vh;max-height:92dvh;border-radius:20px 20px 0 0;padding-top:env(safe-area-inset-top,0);padding-bottom:env(safe-area-inset-bottom,0);transform-origin:50% 100%;}
.tsv-concierge{right:16px;bottom:16px;}
.tsv-concierge--left{right:auto;left:16px;}
.tsv-concierge--left .tsv-concierge__panel{right:0;left:0;}
.tsv-concierge.is-open .tsv-concierge__bubble{visibility:hidden;}
.tsv-concierge--no-mobile{display:none;}
.tsv-concierge-backdrop{background:rgba(15,23,32,0.5);-webkit-backdrop-filter:blur(8px) saturate(115%);backdrop-filter:blur(8px) saturate(115%);}
.tsv-concierge input,.tsv-concierge textarea,.tsv-concierge select{font-size:16px !important;}
}


/* ==== Batch 4c: bookmark button + popover on product cards ============= */
.tsv-concierge .tsv-rec__bookmark{position:absolute;top:8px;right:8px;z-index:3;background:rgba(15,22,33,0.55);backdrop-filter:blur(4px);-webkit-backdrop-filter:blur(4px);border:1px solid rgba(243,238,228,0.35);color:var(--tsv-ivory);width:28px;height:28px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;transition:background 0.15s,transform 0.15s}
.tsv-concierge .tsv-rec__bookmark:hover{background:rgba(15,22,33,0.85);transform:scale(1.05)}
.tsv-concierge .tsv-rec__bookmark svg{width:13px;height:13px}
.tsv-concierge .tsv-rec__bookmarkPop{position:absolute;top:42px;right:8px;z-index:5;background:var(--tsv-panel);border:1px solid var(--tsv-hair-strong);border-radius:10px;padding:6px;display:flex;flex-direction:column;gap:4px;box-shadow:0 8px 24px rgba(0,0,0,0.4);min-width:120px}
.tsv-concierge .tsv-rec__bookmarkPop button{background:transparent;border:none;color:var(--tsv-ivory-soft);font-family:inherit;font-size:12px;letter-spacing:0.04em;text-align:left;padding:8px 10px;border-radius:6px;cursor:pointer}
.tsv-concierge .tsv-rec__bookmarkPop button:hover{background:rgba(243,238,228,0.1);color:var(--tsv-ivory)}

/* ==== Batch 4b: fragrance shelf card =================================== */
.tsv-concierge .tsv-shelf{padding:14px}
.tsv-concierge .tsv-shelf__section{margin-bottom:14px}
.tsv-concierge .tsv-shelf__label{font-size:11px;letter-spacing:0.08em;text-transform:uppercase;color:var(--tsv-muted);margin-bottom:8px}
.tsv-concierge .tsv-shelf__row{display:flex;align-items:center;gap:10px;padding:8px;border:1px solid var(--tsv-hair);border-radius:8px;margin-bottom:6px}
.tsv-concierge .tsv-shelf__row img,.tsv-concierge .tsv-shelf__ph{width:44px;height:44px;border-radius:6px;object-fit:cover;background:rgba(243,238,228,0.06);flex-shrink:0}
.tsv-concierge .tsv-shelf__vendor{font-size:10px;letter-spacing:0.08em;text-transform:uppercase;color:var(--tsv-muted)}
.tsv-concierge .tsv-shelf__title{font-size:13px;color:var(--tsv-ivory);line-height:1.35;margin-top:2px}
.tsv-concierge .tsv-shelf__go{margin-left:auto;color:var(--tsv-ivory-soft);font-size:11px;letter-spacing:0.06em;text-transform:uppercase;text-decoration:none;border:1px solid var(--tsv-hair-strong);border-radius:999px;padding:6px 10px}
.tsv-concierge .tsv-shelf__go:hover{background:rgba(243,238,228,0.08);color:var(--tsv-ivory)}

/* ==== Batch 4b: note deep-dive card ==================================== */
.tsv-concierge .tsv-note{padding:16px}
.tsv-concierge .tsv-note__title{font-size:22px;letter-spacing:0.12em;color:var(--tsv-ivory);font-weight:600;margin-bottom:14px;padding-bottom:10px;border-bottom:1px solid var(--tsv-hair)}
.tsv-concierge .tsv-note__row{display:flex;gap:12px;margin-bottom:10px;font-size:13px;line-height:1.5}
.tsv-concierge .tsv-note__label{color:var(--tsv-muted);text-transform:uppercase;letter-spacing:0.08em;font-size:10px;min-width:82px;flex-shrink:0;padding-top:2px}


/* ==== Slow, deliberate card entrance animations ====================== */
/* Editorial pacing. No translate — just a gentle fade. Reads as
   considered and premium, never bouncy. Uses ease-out for the softest
   possible arrival at rest. */
@keyframes tsvFadeIn {
  from { opacity: 0; }
  to   { opacity: 1; }
}
@keyframes tsvFadeInGentle {
  0%   { opacity: 0; }
  40%  { opacity: 0; }
  100% { opacity: 1; }
}
/* Product cards: slow, editorial entrance with generous stagger — each
   card gets its own moment. Duration is long enough to read as a
   fade, not a snap. */
.tsv-concierge .tsv-recs .tsv-rec {
  animation: tsvFadeIn 1.6s ease-out both;
  animation-delay: 0ms;
}
.tsv-concierge .tsv-recs .tsv-rec:nth-child(2) { animation-delay: 420ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(3) { animation-delay: 840ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(4) { animation-delay: 1260ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(5) { animation-delay: 1680ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(6) { animation-delay: 2100ms; }
/* Account cards (Vault, Order, Tracking, Shelf, Note) — single card,
   ultra-luxurious 2 second fade for a considered, premium arrival. */
.tsv-concierge .tsv-vault,
.tsv-concierge .tsv-order,
.tsv-concierge .tsv-track,
.tsv-concierge .tsv-shelf,
.tsv-concierge .tsv-note {
  animation: tsvFadeIn 2s ease-out both;
}
/* Chip strips arrive gently after everything else settles. */
.tsv-concierge .tsv-chips {
  animation: tsvFadeInGentle 1.1s ease-out both;
}
.tsv-concierge .tsv-recs__refine {
  animation: tsvFadeInGentle 0.9s ease-out both;
  animation-delay: 1400ms;
}
/* Individual chips within a strip get a soft cascade. */
.tsv-concierge .tsv-chips .tsv-chip {
  animation: tsvFadeIn 0.7s ease-out both;
}
.tsv-concierge .tsv-chips .tsv-chip:nth-child(1) { animation-delay: 0ms; }
.tsv-concierge .tsv-chips .tsv-chip:nth-child(2) { animation-delay: 140ms; }
.tsv-concierge .tsv-chips .tsv-chip:nth-child(3) { animation-delay: 280ms; }
.tsv-concierge .tsv-chips .tsv-chip:nth-child(4) { animation-delay: 420ms; }
.tsv-concierge .tsv-chips .tsv-chip:nth-child(5) { animation-delay: 560ms; }
/* Concierge text bubbles fade quietly. */
.tsv-concierge .tsv-msg--concierge.tsv-msg--fadein {
  animation: tsvFadeIn 0.9s ease-out both;
}
/* Reduced motion — kill every animation for accessibility. */
@media (prefers-reduced-motion: reduce) {
  .tsv-concierge .tsv-recs .tsv-rec,
  .tsv-concierge .tsv-vault,
  .tsv-concierge .tsv-order,
  .tsv-concierge .tsv-track,
  .tsv-concierge .tsv-shelf,
  .tsv-concierge .tsv-note,
  .tsv-concierge .tsv-chips,
  .tsv-concierge .tsv-recs__refine,
  .tsv-concierge .tsv-chips .tsv-chip,
  .tsv-concierge .tsv-msg--concierge.tsv-msg--fadein {
    animation: none;
  }
}


/* GPU-accelerated compositor layer for smooth entrance animations.
   Without these hints iOS Safari repaints the whole message container on
   every frame, which manifests as visible 'jumping' during the animation. */
.tsv-concierge .tsv-recs .tsv-rec,
.

/* ==== Batch 4d: barcode scanner button + modal ========================= */
.tsv-concierge__scan{background:transparent;border:1px solid rgba(243,238,228,0.35);color:var(--tsv-ivory);width:40px;height:40px;display:flex;align-items:center;justify-content:center;border-radius:50%;cursor:pointer;margin-right:6px;padding:0;transition:background 0.15s ease,border-color 0.15s ease;}
.tsv-concierge__scan:hover{background:rgba(243,238,228,0.08);border-color:var(--tsv-ivory);}
.tsv-concierge__scan svg{width:20px;height:20px;}

/* Full-viewport modal for the barcode camera scan. */
.tsv-scan{position:fixed;inset:0;background:rgba(0,0,0,0.92);z-index:2147483646;display:flex;align-items:center;justify-content:center;padding:20px;animation:tsvScanIn 220ms ease-out both;}
@keyframes tsvScanIn{from{opacity:0;}to{opacity:1;}}
.tsv-scan__box{width:100%;max-width:420px;background:var(--tsv-bg,#0F1720);border-radius:16px;overflow:hidden;box-shadow:0 24px 60px rgba(0,0,0,0.5);color:var(--tsv-ivory,#F3EEE4);font-family:inherit;}
.tsv-scan__header{display:flex;align-items:center;justify-content:space-between;padding:14px 16px;border-bottom:1px solid rgba(243,238,228,0.14);}
.tsv-scan__title{font-size:11px;letter-spacing:0.1em;text-transform:uppercase;color:var(--tsv-ivory-soft,#c9c6be);}
.tsv-scan__close{background:transparent;border:none;color:var(--tsv-ivory,#F3EEE4);font-size:28px;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;line-height:1;}
.tsv-scan__close:hover{color:#ffffff;}
.tsv-scan__viewport{position:relative;width:100%;aspect-ratio:4/3;background:#000;overflow:hidden;}
.tsv-scan__video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;}
.tsv-scan__reticle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:80%;height:34%;border:2px solid rgba(243,238,228,0.75);border-radius:12px;box-shadow:0 0 0 9999px rgba(0,0,0,0.28);pointer-events:none;}
.tsv-scan__reticle::before,.tsv-scan__reticle::after{content:'';position:absolute;left:0;right:0;height:2px;background:linear-gradient(90deg,transparent,rgba(243,238,228,0.85),transparent);}
.tsv-scan__reticle::before{top:0;}
.tsv-scan__reticle::after{bottom:0;}
.tsv-scan__status{padding:12px 16px 16px;font-size:13px;text-align:center;color:var(--tsv-ivory-soft,#c9c6be);}

/* ==== Batch 4d: community perception panel inside explain-more ======== */
.tsv-rec__perception{border-top:1px solid rgba(243,238,228,0.14);margin-top:10px;padding-top:12px;}
.tsv-rec__perceptionLoading{font-size:12px;color:var(--tsv-muted,#8a877f);font-style:italic;padding:6px 0;}
.tsv-perc__head{margin-bottom:10px;}
.tsv-perc__title{font-size:11px;letter-spacing:0.14em;color:var(--tsv-ivory,#F3EEE4);font-weight:600;}
.tsv-perc__subtitle{font-size:11px;color:var(--tsv-muted,#8a877f);margin-top:2px;}
.tsv-perc__scores{display:flex;flex-direction:column;gap:6px;margin-bottom:12px;}
.tsv-perc__scoreRow{display:grid;grid-template-columns:78px 1fr 40px;grid-column-gap:8px;align-items:center;font-size:12px;}
.tsv-perc__scoreLabel{color:var(--tsv-ivory-soft,#c9c6be);text-transform:uppercase;letter-spacing:0.05em;font-size:10px;}
.tsv-perc__bar{height:4px;background:rgba(243,238,228,0.10);border-radius:2px;overflow:hidden;}
.tsv-perc__barFill{height:100%;background:var(--tsv-ivory,#F3EEE4);border-radius:2px;transition:width 300ms ease;}
.tsv-perc__scoreVal{text-align:right;font-size:11px;color:var(--tsv-ivory,#F3EEE4);font-variant-numeric:tabular-nums;}
.tsv-perc__scoreNote{grid-column:1 / -1;font-size:11px;color:var(--tsv-muted,#8a877f);margin-top:1px;}
.tsv-perc__chips{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
.tsv-perc__chip{font-size:10px;letter-spacing:0.06em;text-transform:uppercase;color:var(--tsv-ivory-soft,#c9c6be);border:1px solid rgba(243,238,228,0.22);padding:4px 8px;border-radius:999px;}
.tsv-perc__chip--signature{color:var(--tsv-bg,#0F1720);background:var(--tsv-ivory,#F3EEE4);border-color:var(--tsv-ivory,#F3EEE4);font-weight:600;}
.tsv-perc__line{font-size:12px;line-height:1.5;color:var(--tsv-ivory-soft,#c9c6be);margin-bottom:6px;}
.tsv-perc__lineLabel{color:var(--tsv-muted,#8a877f);text-transform:uppercase;letter-spacing:0.06em;font-size:10px;margin-right:4px;}
.tsv-perc__verdict{font-size:12.5px;line-height:1.55;color:var(--tsv-ivory,#F3EEE4);margin-top:10px;padding-top:10px;border-top:1px solid rgba(243,238,228,0.10);font-style:italic;}
.tsv-perc__signature{font-size:11px;color:var(--tsv-muted,#8a877f);margin-top:6px

/* ==== Fix 2: lift the widget above the sticky add-to-cart bar ==========
   The app-enhancements snippet toggles html.tsv-sticky-visible whenever
   the sticky ATC bar is showing (main ATC scrolled off screen on PDPs).
   Key off THAT flag so the widget only lifts when the sticky bar is
   actually visible, not on every PDP scroll position. !important guards
   against any theme override, and covers both the container position AND
   any panel-scoped bottom in case a rule uses higher specificity.
   Smooth transition so the widget slides up/down gently rather than snapping. */
html.tsv-sticky-visible .tsv-concierge{bottom:108px !important;transition:bottom 260ms cubic-bezier(0.22,1,0.36,1) !important;}
@media (max-width:600px){
  html.tsv-sticky-visible .tsv-concierge{bottom:102px !important;}
}
/* Shrink the panel so its top does not push above the viewport when
   lifted. Header + messages + input + footer all need to fit above
   the sticky bar with a small top gap. */
html.tsv-sticky-visible .tsv-concierge__panel{
  max-height:calc(100vh - 124px) !important;
}
@media (max-width:500px){
  html.tsv-sticky-visible .tsv-concierge__panel{
    height:calc(100vh - 118px) !important;
    max-height:calc(100vh - 118px) !important;
    bottom:102px !important;
  }
}

/* ==== Fix 4: slower + more deliberate card entrance timing ============== */
/* Overrides the earlier defaults with longer durations and wider stagger
   so each card gets its own moment before the next arrives. */
.tsv-concierge .tsv-recs .tsv-rec {
  animation: tsvFadeIn 1.9s ease-out both;
  animation-delay: 0ms;
}
.tsv-concierge .tsv-recs .tsv-rec:nth-child(2) { animation-delay: 700ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(3) { animation-delay: 1400ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(4) { animation-delay: 2100ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(5) { animation-delay: 2800ms; }
.tsv-concierge .tsv-recs .tsv-rec:nth-child(6) { animation-delay: 3500ms; }
.tsv-concierge .tsv-vault,
.tsv-concierge .tsv-order,
.tsv-concierge .tsv-track,
.tsv-concierge .tsv-shelf,
.tsv-concierge .tsv-note {
  animation: tsvFadeIn 2.2s ease-out both;
}