/* Ted, alive: stage, character, bubbles and props. Everything sits in one fixed layer that never blocks the page except Ted himself
   (away from home) and his bubbles. */
.ts-ted-stage{--ted-ink:#1c1c1e;--ted-paper:#fffdf8;--ted-gold:#b39557;--ted-gold-ink:#6d5216;position:fixed;inset:0;pointer-events:none;z-index:2147483000;font:15px/1.4 -apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;color:var(--ted-ink)}
.ts-ted{position:absolute;left:0;top:0;z-index:3;transform-origin:50% 97%;pointer-events:auto;cursor:pointer;will-change:transform}
.ts-ted-prop{position:absolute;left:0;top:0;overflow:visible;pointer-events:none;will-change:transform}
.ts-ted-dust{position:absolute;border-radius:50%;background:radial-gradient(circle at 40% 40%,rgba(214,204,186,.9),rgba(214,204,186,0) 70%);pointer-events:none;animation:ts-ted-dust .6s ease-out forwards}
@keyframes ts-ted-dust{from{transform:scale(.4);opacity:.9}to{transform:scale(1.8) translateY(-30%);opacity:0}}
html.ts-ted-splash-show #tsv3-splash img{visibility:hidden} /* the planner's loading picture: live Ted is performing there instead */
.ts-ted.is-home{pointer-events:none} /* at home the real launcher underneath takes the click */
.ts-ted.is-tucked{opacity:0!important;pointer-events:none}
.ts-ted.is-home.is-nested{pointer-events:auto} /* in the planner's top-right nest there is no launcher underneath: he opens the planner's Ted himself */
html.ts-ted-planner-mode #trendstyle-chat-widget{display:none!important} /* in the planner, Ted lives in the planner's own Ask Ted button */
.ts-ted-stage.is-chat-open .ts-ted,.ts-ted-stage.is-chat-open .ts-ted-prop{opacity:0!important;pointer-events:none;transition:opacity .2s}
.ts-ted-bubble,.ts-ted-thought{z-index:5}
.ts-ted svg{display:block;width:100%;height:100%;overflow:visible}
html.ts-ted-alive-on .chat-toggle .ted-mascot,html.ts-ted-alive-on #chat-toggle .ted-mascot{visibility:hidden}

.ts-ted-bubble,.ts-ted-thought{position:absolute;max-width:min(320px,calc(100vw - 24px));pointer-events:auto;background:var(--ted-paper);border:2px solid var(--ted-ink);border-radius:18px;padding:12px 14px;box-shadow:0 10px 30px rgba(0,0,0,.18);animation:ts-ted-pop .22s ease-out}
.ts-ted-bubble::after{content:"";position:absolute;bottom:-11px;left:var(--tail,40px);width:18px;height:18px;background:var(--ted-paper);border-right:2px solid var(--ted-ink);border-bottom:2px solid var(--ted-ink);transform:translateX(-50%) rotate(45deg)}
.ts-ted-thought{font-style:italic;border-radius:28px;pointer-events:none}
.ts-ted-thought::before,.ts-ted-thought::after{content:"";position:absolute;background:var(--ted-paper);border:2px solid var(--ted-ink);border-radius:50%}
.ts-ted-thought::before{width:16px;height:16px;bottom:-22px;left:calc(var(--tail,40px) - 6px)}
.ts-ted-thought::after{width:9px;height:9px;bottom:-36px;left:calc(var(--tail,40px) + 4px)}
.ts-ted-say{margin:0 0 10px}
.ts-ted-btns{display:flex;flex-wrap:wrap;gap:6px}
.ts-ted-btns:empty{display:none}
.ts-ted-bubble .ts-ted-say:last-child{margin:0}
.ts-ted-btn{font:inherit;font-size:14px;font-weight:700;border:2px solid var(--ted-ink);border-radius:999px;padding:6px 12px;background:#fff;color:var(--ted-ink);cursor:pointer}
.ts-ted-btn.is-primary{background:var(--ted-ink);color:#fff}
.ts-ted-btn.is-quiet{border-color:transparent;background:transparent;font-weight:600;text-decoration:underline;padding-inline:6px}
.ts-ted-btn:focus-visible,.ts-ted-ask input:focus-visible{outline:3px solid var(--ted-gold);outline-offset:2px}
.ts-ted-ask{display:flex;gap:6px;margin:0 0 8px}
.ts-ted-ask input{flex:1;min-width:0;font:inherit;padding:7px 10px;border:2px solid var(--ted-ink);border-radius:10px;background:#fff;color:var(--ted-ink)}

.ts-ted-ring{position:absolute;border:3px solid var(--ted-gold);border-radius:12px;box-shadow:0 0 0 6px rgba(179,149,87,.25);animation:ts-ted-ring 1.1s ease-in-out infinite}
.ts-ted-fx{position:absolute;inset:0;z-index:4;width:100%;height:100%;overflow:visible;opacity:0;transition:opacity .2s;pointer-events:none}
.ts-ted-fx.is-on{opacity:1}
.ts-ted-line{fill:none;stroke:rgba(30,30,30,.7);stroke-width:1.4}
.ts-ted-bobber{position:absolute;width:14px;height:14px;margin:-7px 0 0 -7px;border-radius:50%;background:linear-gradient(#e0473b 50%,#fff 50%);box-shadow:0 1px 2px rgba(0,0,0,.3);z-index:2;pointer-events:none}
.ts-ted-rope{fill:none;stroke:#9a7b3c;stroke-width:5;stroke-linecap:round;stroke-dasharray:9 3}

/* the mini-cart: on a projector screen that rises out of Ted's tripod case (is-screen, sized by script), or a plain card at the top */
html.ts-ted-minicart-on .added-to-cart-notif{display:none!important} /* Ted's mini-cart replaces the theme's strip */
.ts-ted-minicart{position:fixed;left:50%;top:max(12px,env(safe-area-inset-top));width:min(440px,calc(100vw - 24px));pointer-events:auto;background:var(--ted-paper);border:1px solid #e6dfd1;border-radius:18px;
	box-shadow:0 18px 50px rgba(0,0,0,.28);overflow:hidden;transform-origin:50% 0;
	transform:translate(calc(-50% + var(--from-x,0px)),calc(var(--from-y,80vh) - 12px)) scale(.12,.04);opacity:0;
	transition:transform .5s cubic-bezier(.2,.9,.25,1.05),opacity .25s}
.ts-ted-minicart.is-up{transform:translate(-50%,0) scale(1);opacity:1}
.ts-ted-minicart.is-screen{position:absolute;z-index:6;transform:none;opacity:1;transition:none;border-radius:6px 6px 0 0;border:0;
	background:linear-gradient(180deg,#fffefb 0%,#f8f4ec 70%,#efe8db 100%);box-shadow:0 14px 40px rgba(0,0,0,.24),inset 0 0 0 1px rgba(0,0,0,.06)}
.ts-ted-mini-hero{display:none}
.ts-ted-minicart.is-screen{display:flex;flex-direction:column}
.ts-ted-minicart.is-screen .ts-ted-mini-hero{display:flex;flex:1;min-height:0;align-items:center;justify-content:center;padding:6px 18px 22px;opacity:.96}
.ts-ted-minicart.is-screen .ts-ted-mini-hero img{max-width:100%;max-height:100%;object-fit:contain;filter:drop-shadow(0 10px 18px rgba(0,0,0,.12))}
.ts-ted-minicart.is-screen .ts-ted-mini-hero span{font:800 clamp(28px,8vw,52px)/1 -apple-system,"Segoe UI",Roboto,sans-serif;letter-spacing:-.02em;color:rgba(28,28,30,.07)}
.ts-ted-minicart.is-screen::after{content:"";position:absolute;left:0;right:0;bottom:0;height:10px;background:linear-gradient(#e7dfcf,#cfc4ad)} /* the screen's bottom bar, at the case slot */
.ts-ted-minicart.is-screen .ts-ted-mini-head{border-radius:6px 6px 0 0;box-shadow:inset 0 3px 0 #2d2a26} /* the top rail he pulled it up by */
.ts-ted-minicart.is-plain{transform:translate(-50%,-20px);transition:transform .3s ease,opacity .25s}
.ts-ted-minicart.is-plain.is-up{transform:translate(-50%,0)}
.ts-ted-mini-head{display:flex;align-items:center;gap:8px;padding:10px 14px;background:linear-gradient(135deg,#1c1c1e,#2d2a26);color:#fff;border-bottom:2px solid var(--ted-gold)}
.ts-ted-mini-head b{flex:1}
.ts-ted-mini-tick{display:inline-flex;align-items:center;justify-content:center;width:22px;height:22px;border-radius:999px;background:var(--ted-gold);color:#1c1c1e;font-weight:900;font-size:13px}
.ts-ted-mini-close{border:0;background:transparent;color:#fff;font-size:20px;line-height:1;cursor:pointer;width:30px;height:30px;border-radius:999px}
.ts-ted-mini-line{display:flex;gap:12px;align-items:center;padding:12px 14px 6px}
.ts-ted-mini-line img{width:52px;height:52px;object-fit:contain;border:1px solid #e6dfd1;border-radius:10px;background:#fff;flex:none}
.ts-ted-mini-name{font-weight:700;line-height:1.3}
.ts-ted-mini-price{font-size:13px;color:#6d6a64}
.ts-ted-mini-sum{display:flex;justify-content:space-between;align-items:baseline;margin:6px 14px 0;padding:8px 12px;border-radius:12px;background:#f6f1e7;font-size:14px;color:#6d6a64}
.ts-ted-mini-sum b{font-size:17px;color:var(--ted-ink)}
.ts-ted-mini-btns{display:flex;gap:8px;padding:12px 14px 14px}
.ts-ted-mini-btns .ts-ted-btn{flex:1;text-align:center;text-decoration:none;padding:10px 12px}
.ts-ted-mini-btns .ts-ted-btn.is-primary{color:var(--ted-gold-soft,#e9d8a6)}
@media (prefers-reduced-motion:reduce){.ts-ted-minicart{transition:opacity .2s!important}}

@keyframes ts-ted-pop{from{transform:scale(.85);opacity:0}to{transform:scale(1);opacity:1}}
@keyframes ts-ted-ring{50%{box-shadow:0 0 0 12px rgba(179,149,87,0)}}
@media (prefers-reduced-motion:reduce){.ts-ted-bubble,.ts-ted-thought{animation:none}.ts-ted-ring{animation:none}.ts-ted-dust{display:none}}
@media print{.ts-ted-stage{display:none}}
