/* TalkNFix Store Carousel – front end */
.tnfsc{
  --tnfsc-name:#0B2A33;--tnfsc-addr:#4A5A60;--tnfsc-phone:#0E7C86;--tnfsc-email:#0E7C86;--tnfsc-hours:#2F3E44;--tnfsc-label:#7A8A90;
  --tnfsc-card:#FFFFFF;--tnfsc-border:#DCE4E3;--tnfsc-icon:#0E7C86;--tnfsc-navbg:#0E7C86;--tnfsc-navfg:#FFFFFF;--tnfsc-wrapbg:#F4F7F6;
  --tnfsc-gap:16px;--tnfsc-dur:600ms;--tnfsc-cols:3;--tnfsc-eff:3;--tnfsc-d:1;
  box-sizing:border-box;position:relative;width:100%;background:var(--tnfsc-wrapbg);border-radius:12px;padding:18px;line-height:1.5;
}
.tnfsc *,.tnfsc *::before,.tnfsc *::after{box-sizing:border-box}
.tnfsc [hidden],.tnfsc-foot[hidden]{display:none!important}
.tnfsc:not(.tnfsc-ready) .tnfsc-pre{display:none}
.tnfsc-body{position:relative;display:flex;align-items:center;gap:10px}
.tnfsc-stage{flex:1 1 auto;min-width:0;display:grid;overflow:hidden;perspective:1400px;touch-action:pan-y;outline:none;border-radius:10px}
.tnfsc-stage:focus-visible{box-shadow:0 0 0 2px var(--tnfsc-navbg)}
.tnfsc-page{grid-area:1/1;display:grid;gap:var(--tnfsc-gap);align-content:start;grid-template-columns:repeat(auto-fill,minmax(min(100%,230px),1fr))}
.tnfsc.tnfsc-ready .tnfsc-page{grid-template-columns:repeat(var(--tnfsc-eff),minmax(0,1fr))}

/* card */
.tnfsc .tnfsc-card{background:var(--tnfsc-card);border:1px solid var(--tnfsc-border);border-radius:10px;padding:16px;display:grid;gap:9px;align-content:start;min-width:0;margin:0}
.tnfsc .tnfsc-card-top{display:flex;justify-content:space-between;gap:8px;align-items:flex-start}
.tnfsc .tnfsc-name{margin:0;padding:0;font-size:17px;font-weight:700;line-height:1.25;color:var(--tnfsc-name);text-transform:none;letter-spacing:normal}
.tnfsc .tnfsc-name a.tnfsc-link,.tnfsc .tnfsc-name a.tnfsc-link:visited{color:inherit;text-decoration:none;box-shadow:none;border:0;-webkit-user-drag:none;cursor:pointer}
.tnfsc .tnfsc-name a.tnfsc-link:hover{color:inherit;text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:2px}
.tnfsc .tnfsc-name a.tnfsc-link:focus-visible{outline:2px solid var(--tnfsc-navbg);outline-offset:3px;border-radius:3px}
.tnfsc .tnfsc-sr{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
.tnfsc.tnfsc-nolink a.tnfsc-link{pointer-events:none;text-decoration:none}
.tnfsc .tnfsc-status{flex:none;font-size:11px;font-weight:600;line-height:1.4;letter-spacing:.04em;text-transform:uppercase;padding:3px 8px;border-radius:999px;white-space:nowrap}
.tnfsc .tnfsc-status.is-open{background:#DDF3E4;color:#17693A}
.tnfsc .tnfsc-status.is-closed{background:#F7E1DE;color:#9A3226}
.tnfsc .tnfsc-row{display:grid;grid-template-columns:18px minmax(0,1fr);gap:8px;align-items:start;font-size:14px;margin:0}
.tnfsc .tnfsc-row svg{width:16px;height:16px;margin-top:3px;stroke:var(--tnfsc-icon);fill:none;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}
.tnfsc .tnfsc-row span,.tnfsc .tnfsc-row a{overflow-wrap:anywhere}
.tnfsc .tnfsc-addr span{color:var(--tnfsc-addr)}
.tnfsc .tnfsc-phone a,.tnfsc .tnfsc-phone span{color:var(--tnfsc-phone);font-variant-numeric:tabular-nums}
.tnfsc .tnfsc-email a,.tnfsc .tnfsc-email span{color:var(--tnfsc-email)}
.tnfsc .tnfsc-row a{text-decoration:none;box-shadow:none;border:0}
.tnfsc .tnfsc-row a:hover{text-decoration:underline}
.tnfsc .tnfsc-hours span{color:var(--tnfsc-hours);font-variant-numeric:tabular-nums}
.tnfsc .tnfsc-hours small{display:block;font-size:11px;letter-spacing:.05em;text-transform:uppercase;color:var(--tnfsc-label);line-height:1.5}
.tnfsc .tnfsc-empty{margin:0;padding:24px;text-align:center;color:var(--tnfsc-addr)}
.tnfsc-hide-addr .tnfsc-addr,.tnfsc-hide-phone .tnfsc-phone,.tnfsc-hide-email .tnfsc-email,.tnfsc-hide-hours .tnfsc-hours,.tnfsc-hide-status .tnfsc-status{display:none!important}

/* navigation buttons */
.tnfsc .tnfsc-nav{flex:none;width:40px;height:40px;min-height:0;display:inline-grid;place-items:center;padding:0;margin:0;cursor:pointer;border:0;border-radius:50%;background:var(--tnfsc-navbg);color:var(--tnfsc-navfg);transition:transform .15s,opacity .15s;line-height:1;font-size:13px;font-weight:600;box-shadow:none;text-transform:none}
.tnfsc .tnfsc-nav:hover:not(:disabled),.tnfsc .tnfsc-nav:focus{background:var(--tnfsc-navbg);color:var(--tnfsc-navfg)}
.tnfsc .tnfsc-nav:hover:not(:disabled){transform:scale(1.06)}
.tnfsc .tnfsc-nav:focus-visible{outline:2px solid var(--tnfsc-navbg);outline-offset:2px}
.tnfsc .tnfsc-nav:disabled{opacity:.35;cursor:default;transform:none}
.tnfsc .tnfsc-nav svg{width:18px;height:18px;stroke:currentColor;fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round}
.tnfsc-arrows-square .tnfsc-nav{border-radius:6px}
.tnfsc.tnfsc-arrows-outline .tnfsc-nav,.tnfsc.tnfsc-arrows-outline .tnfsc-nav:hover{background:transparent;color:var(--tnfsc-navbg);box-shadow:inset 0 0 0 2px var(--tnfsc-navbg)}
.tnfsc-arrows-text .tnfsc-nav{width:auto;height:auto;padding:8px 14px;border-radius:999px;display:inline-flex;align-items:center;gap:6px}
.tnfsc-pos-floating .tnfsc-body > .tnfsc-nav{position:absolute;top:50%;z-index:3;transform:translateY(-50%);box-shadow:0 4px 14px rgba(0,0,0,.18)}
.tnfsc-pos-floating .tnfsc-body > .tnfsc-nav:hover:not(:disabled){transform:translateY(-50%) scale(1.06)}
.tnfsc-pos-floating .tnfsc-body > .tnfsc-nav:disabled{transform:translateY(-50%)}
.tnfsc-pos-floating .tnfsc-body > .tnfsc-prev{left:-8px}
.tnfsc-pos-floating .tnfsc-body > .tnfsc-next{right:-8px}

/* footer / pager */
.tnfsc-foot{display:flex;align-items:center;justify-content:center;gap:12px;margin-top:16px;flex-wrap:wrap}
.tnfsc .tnfsc-dots{display:flex;gap:7px;flex-wrap:wrap;justify-content:center}
.tnfsc .tnfsc-dots button{width:9px;height:9px;min-height:0;border-radius:50%;border:0;padding:0;margin:0;background:var(--tnfsc-navbg);opacity:.25;cursor:pointer;transition:all .25s}
.tnfsc .tnfsc-dots button:hover,.tnfsc .tnfsc-dots button:focus{background:var(--tnfsc-navbg);opacity:.6}
.tnfsc .tnfsc-dots button:focus-visible,.tnfsc .tnfsc-nums button:focus-visible{outline:2px solid var(--tnfsc-navbg);outline-offset:2px}
.tnfsc .tnfsc-dots button.is-on{opacity:1;width:24px;border-radius:5px}
.tnfsc .tnfsc-nums{display:flex;gap:6px;flex-wrap:wrap;justify-content:center}
.tnfsc .tnfsc-nums button{min-width:30px;height:30px;min-height:0;padding:0 6px;margin:0;border-radius:6px;border:1px solid var(--tnfsc-navbg);background:transparent;color:var(--tnfsc-navbg);font-size:12px;font-weight:600;line-height:1;cursor:pointer;font-variant-numeric:tabular-nums}
.tnfsc .tnfsc-nums button:hover,.tnfsc .tnfsc-nums button:focus{background:transparent;color:var(--tnfsc-navbg)}
.tnfsc .tnfsc-nums button.is-on{background:var(--tnfsc-navbg);color:var(--tnfsc-navfg)}
.tnfsc .tnfsc-fraction{font-size:14px;font-weight:600;color:var(--tnfsc-hours);font-variant-numeric:tabular-nums}
.tnfsc .tnfsc-progress{position:relative;flex:1 1 200px;max-width:320px;height:4px;border-radius:2px;overflow:hidden}
.tnfsc .tnfsc-progress::before{content:"";position:absolute;inset:0;background:var(--tnfsc-navbg);opacity:.2}
.tnfsc .tnfsc-progress i{position:relative}
.tnfsc .tnfsc-progress i{display:block;height:100%;background:var(--tnfsc-navbg);transition:width var(--tnfsc-dur)}

/* animations */
.tnfsc .tnfsc-in,.tnfsc .tnfsc-out{animation-duration:var(--tnfsc-dur);animation-fill-mode:both;animation-timing-function:cubic-bezier(.22,.8,.26,1)}
.tnfsc .tnfsc-out{pointer-events:none}
@keyframes tnfscSlideIn{from{transform:translateX(calc(var(--tnfsc-d)*100%))}}
@keyframes tnfscSlideOut{to{transform:translateX(calc(var(--tnfsc-d)*-100%))}}
@keyframes tnfscVIn{from{transform:translateY(calc(var(--tnfsc-d)*100%));opacity:0}}
@keyframes tnfscVOut{to{transform:translateY(calc(var(--tnfsc-d)*-100%));opacity:0}}
@keyframes tnfscFadeIn{from{opacity:0}}
@keyframes tnfscFadeOut{to{opacity:0}}
@keyframes tnfscZoomIn{from{opacity:0;transform:scale(.86)}}
@keyframes tnfscZoomOut{to{opacity:0;transform:scale(1.08)}}
@keyframes tnfscFlipIn{from{opacity:0;transform:rotateY(calc(var(--tnfsc-d)*80deg))}}
@keyframes tnfscFlipOut{to{opacity:0;transform:rotateY(calc(var(--tnfsc-d)*-80deg))}}
@keyframes tnfscCardUp{from{opacity:0;transform:translateY(18px)}}
.tnfsc-anim-slide .tnfsc-in{animation-name:tnfscSlideIn}.tnfsc-anim-slide .tnfsc-out{animation-name:tnfscSlideOut}
.tnfsc-anim-vertical .tnfsc-in{animation-name:tnfscVIn}.tnfsc-anim-vertical .tnfsc-out{animation-name:tnfscVOut}
.tnfsc-anim-fade .tnfsc-in{animation-name:tnfscFadeIn}.tnfsc-anim-fade .tnfsc-out{animation-name:tnfscFadeOut}
.tnfsc-anim-zoom .tnfsc-in{animation-name:tnfscZoomIn}.tnfsc-anim-zoom .tnfsc-out{animation-name:tnfscZoomOut}
.tnfsc-anim-flip .tnfsc-in{animation-name:tnfscFlipIn}.tnfsc-anim-flip .tnfsc-out{animation-name:tnfscFlipOut}
.tnfsc-anim-stagger .tnfsc-out{animation-name:tnfscFadeOut;animation-duration:calc(var(--tnfsc-dur)*.4)}
.tnfsc-anim-stagger .tnfsc-in .tnfsc-card{animation:tnfscCardUp var(--tnfsc-dur) cubic-bezier(.22,.8,.26,1) both}
@media (prefers-reduced-motion:reduce){
  .tnfsc .tnfsc-in,.tnfsc .tnfsc-out,.tnfsc .tnfsc-in .tnfsc-card{animation-duration:1ms!important;animation-delay:0s!important}
}
@media (max-width:480px){
  .tnfsc{padding:12px}
  .tnfsc-pos-sides .tnfsc-body > .tnfsc-nav{width:34px;height:34px}
}
