body.t-sweet-shop{background:var(--sw-page);--sp-bg:var(--sw-page);--sp-ink:var(--sw-ink);--dock-bg:var(--sw-dock);--dock-ink:var(--sw-ink);--dock-line:var(--sw-line)}
.t-sweet-shop .mdc-views{display:none}
.sw-wrap{max-width:440px;margin:0 auto;padding:12px 14px 30px;position:relative}
.sw-bar{display:flex;align-items:center;justify-content:space-between;gap:10px;min-height:40px}
.sw-tag{font-size:12px;font-weight:600;color:var(--muted);white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.sw-mode{flex:none;width:40px;height:40px;border-radius:12px;display:grid;place-items:center;border:1px solid var(--line);background:var(--card);color:var(--text);cursor:pointer}
.sw-mode .i-moon{display:none}html[data-mode=dark] .sw-mode .i-sun{display:none}html[data-mode=dark] .sw-mode .i-moon{display:block}
.sw-mode:focus-visible,.sw-cta:focus-visible,.sw-dir:focus-visible{outline:3px solid var(--accent);outline-offset:2px}
.sw-status{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin-top:14px;font-size:13px;color:var(--muted)}
.sw-status i{width:9px;height:9px;border-radius:50%;background:#C2410C;box-shadow:0 0 0 4px color-mix(in srgb,#C2410C 18%,transparent)}
.sw-status.is-open i{background:#15803D;box-shadow:0 0 0 4px color-mix(in srgb,#15803D 18%,transparent)}
.sw-status b{color:var(--text);font-weight:700}
.sw-ctas{display:flex;gap:8px;margin-top:14px}
.sw-cta,.sw-dir{display:flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 16px;font-weight:700;font-size:15px;text-decoration:none;cursor:pointer}
.sw-cta{flex:1}
.sw-dir{flex:none}
.sw-hours ul{list-style:none;margin:8px 0 0;padding:0;display:grid;gap:2px}
.sw-hours li{display:flex;justify-content:space-between;gap:10px;padding:8px 2px;font-size:13.5px;border-bottom:1px dashed var(--line)}
.sw-hours li:last-child{border-bottom:0}
.sw-hours li b{font-weight:600;color:var(--text)}
.sw-hours li.is-closed b{color:var(--muted);font-weight:500}
.sw-hours li em{font-style:normal;font-size:11px;font-weight:700;color:var(--accent);margin-left:4px}
.sw-hours li.is-today{color:var(--text);font-weight:600}
@media (prefers-reduced-motion:reduce){.t-sweet-shop *{animation:none!important;transition:none!important}}
body.t-sweet-shop{--sw-page:#FFF8F0;--sw-ink:#3B1414;--sw-line:#F1DACA;--sw-dock:rgba(255,255,255,.94)}
html[data-mode=dark] body.t-sweet-shop{--sw-page:#180B09;--sw-ink:#FBEDE4;--sw-line:#3F201B;--sw-dock:rgba(37,19,17,.94)}
.sw{--bg:var(--sw-page);--card:#FFFFFF;--text:#3B1414;--muted:#7A4E4A;--line:#F1DACA;--surface:#FFFBF6;--saffron:#F08C00;--gold:#C99A2E;--radius:18px;--btn-radius:999px;--sec-gap:18px;--sec-bg:var(--card);--sec-border:1px solid color-mix(in srgb,var(--gold) 55%,transparent);--sec-radius:14px;--sec-pad:18px;--h2-case:none;--h2-track:0;--h2-size:21px;--h2-weight:400;--h2-font:"Gloock",Georgia,serif;--h2-color:var(--accent);--h2-align:center;--gal-cols:3;background:var(--bg);min-height:100vh;color:var(--text);font-family:Inter,system-ui,sans-serif}
html[data-mode=dark] .sw{--card:#231210;--text:#FBEDE4;--muted:#D0A99C;--line:#3F201B;--surface:#1F0F0D}
.sw-hero{text-align:center;position:relative;padding-top:4px}
.sw-toran{height:22px;margin:0 -14px;background:radial-gradient(circle at 12px 0,var(--saffron) 11px,transparent 11.5px) 0 0/48px 22px repeat-x,radial-gradient(circle at 36px 0,var(--accent) 11px,transparent 11.5px) 0 0/48px 22px repeat-x;border-top:5px solid var(--gold)}
.sw-stage{position:relative;width:200px;height:200px;margin:18px auto 0}
.sw-mandala{position:absolute;inset:0;border-radius:50%;background:radial-gradient(circle,transparent 0 44%,var(--bg) 44.5% 46%,transparent 46.5%),repeating-conic-gradient(from 0deg,color-mix(in srgb,var(--saffron) 85%,#fff) 0 7.5deg,transparent 7.5deg 15deg),radial-gradient(circle,color-mix(in srgb,var(--accent) 90%,#000) 0 60%,var(--gold) 60.5% 63%,color-mix(in srgb,var(--saffron) 30%,var(--bg)) 63.5% 100%);-webkit-mask:radial-gradient(circle,#000 0 70%,transparent 70.5%);mask:radial-gradient(circle,#000 0 70%,transparent 70.5%);animation:swTurn 60s linear infinite}
.sw-mandala::after{content:"";position:absolute;inset:-6%;border-radius:50%;background:repeating-conic-gradient(var(--gold) 0 3deg,transparent 3deg 12deg);-webkit-mask:radial-gradient(circle,transparent 0 69%,#000 69.5% 72%,transparent 72.5%);mask:radial-gradient(circle,transparent 0 69%,#000 69.5% 72%,transparent 72.5%)}
@keyframes swTurn{to{transform:rotate(360deg)}}
.sw-seal{position:absolute;left:50%;top:50%;width:92px;height:92px;margin:-46px;border-radius:50%;background:var(--card);border:3px solid var(--gold);display:grid;place-items:center;overflow:hidden;box-shadow:0 10px 20px -10px rgba(0,0,0,.4)}
.sw-seal img{width:100%;height:100%;object-fit:var(--img-fit,cover)}
.sw-seal span{font:400 44px/1 "Gloock",Georgia,serif;color:var(--accent)}
.sw-box{position:absolute;right:-18px;bottom:6px;width:46px;height:34px;transform-style:preserve-3d;transform:perspective(300px) rotateX(-18deg) rotateY(-32deg);animation:swBob 4.6s ease-in-out infinite}
.sw-box i{position:absolute;display:block}
.sw-box .f{inset:0;background:linear-gradient(90deg,transparent 45%,var(--gold) 45% 55%,transparent 55%),var(--accent);border-radius:2px}
.sw-box .t{left:0;top:-14px;width:46px;height:14px;background:linear-gradient(90deg,transparent 45%,#F4D27A 45% 55%,transparent 55%),color-mix(in srgb,var(--accent) 75%,#fff);transform-origin:bottom;transform:skewX(-40deg) translateX(7px)}
.sw-box .s{right:-14px;top:-7px;width:14px;height:34px;background:color-mix(in srgb,var(--accent) 65%,#000);transform-origin:left;transform:skewY(-40deg) translateY(7px)}
@keyframes swBob{50%{translate:0 -6px}}
.sw-name{font:400 clamp(32px,9vw,42px)/1.02 "Gloock",Georgia,serif;margin:18px 0 0;color:var(--text);text-wrap:balance}
.sw-line{margin:8px auto 0;max-width:30ch;color:var(--muted);font-size:14.5px}
.sw-addr{margin:10px 0 0;font-size:12.5px;color:var(--muted)}
.sw-media{margin-top:16px;border-radius:16px;overflow:hidden;border:2px solid var(--gold);--hero-h:160px}
.sw-status{justify-content:center}
.sw-cta{background:linear-gradient(120deg,var(--saffron),var(--accent));color:#fff;border-radius:999px;position:relative;overflow:hidden}
.sw-cta.is-burst::after{content:"";position:absolute;inset:0;background:radial-gradient(circle at var(--bx,50%) var(--by,50%),rgba(255,255,255,.55),transparent 55%);animation:swBurst .6s ease-out forwards}
@keyframes swBurst{from{opacity:1}to{opacity:0;transform:scale(1.6)}}
.sw-dir{background:transparent;border:1.5px solid var(--gold);color:var(--text);border-radius:999px}
.sw .mdc-sec{outline:1px solid color-mix(in srgb,var(--gold) 35%,transparent);outline-offset:-6px}
.sw .mdc-sec h2{gap:10px}
.sw .mdc-sec h2 i{display:none}
.sw .mdc-sec h2::before,.sw .mdc-sec h2::after{content:"";width:8px;height:8px;transform:rotate(45deg);background:var(--saffron)}
.sw .mdc-actions a{background:color-mix(in srgb,var(--saffron) 10%,var(--card));border:1px solid color-mix(in srgb,var(--gold) 45%,transparent);color:var(--text);border-radius:16px}
.sw .mdc-actions a i{color:var(--accent)}
.sw .mdc-svc{grid-template-columns:1fr 1fr}
.sw .mdc-svc i{color:var(--saffron)}
html[data-mode=dark] .sw-mandala{filter:drop-shadow(0 0 14px color-mix(in srgb,var(--saffron) 60%,transparent))}
html[data-mode=dark] .sw-name{text-shadow:0 0 20px color-mix(in srgb,var(--saffron) 50%,transparent)}
html[data-mode=dark] .sw-cta{box-shadow:0 0 26px -4px color-mix(in srgb,var(--saffron) 80%,transparent)}
