.decoration-carousel{width:100%;min-width:0}
.carousel-frame{position:relative;width:100%}
.carousel-viewport{width:100%;overflow-x:auto;scroll-snap-type:x mandatory;scrollbar-width:none}
.carousel-viewport::-webkit-scrollbar{display:none}
.carousel-track{display:flex;align-items:stretch}
.carousel-slide{display:flex;flex:0 0 100%;min-width:0;justify-content:center;align-items:flex-start;scroll-snap-align:start;scroll-snap-stop:always}
.carousel-media{display:flex;width:100%;max-width:100%;height:fit-content;margin-inline:auto;flex-direction:column;overflow:hidden;border:1px solid var(--line);border-radius:14px;background:#f8eef1}
.carousel-media>img{width:100%;height:auto;background:#f8eef1}
.carousel-media>.paper-art{width:min(100%,1000px);height:auto;min-height:0;aspect-ratio:10/9}
.carousel-media figcaption{min-height:31px;padding:10px 70px;text-align:center;background:rgba(255,255,255,.94);color:var(--muted);font-size:10px}
.carousel-controls{display:none;position:absolute;left:12px;right:12px;top:50%;align-items:center;justify-content:space-between;transform:translateY(-50%);pointer-events:none}
.js .carousel-controls{display:flex}
.carousel-controls button{width:42px;height:42px;padding:0;border:1px solid #eadde1;border-radius:50%;background:rgba(255,255,255,.94);color:var(--accent);font-size:20px;box-shadow:0 3px 12px #56383c1a;pointer-events:auto}
.carousel-controls button:hover{background:var(--pink)}
.carousel-meta{display:none;justify-content:flex-end;margin:8px 2px 0}
.js .carousel-meta{display:flex}
.carousel-meta span{padding:5px 10px;border:1px solid var(--line);border-radius:20px;background:white;color:var(--muted);font-size:10px;line-height:1}
.carousel-thumbnails{display:none;gap:9px;margin-top:6px;padding:2px 2px 5px;overflow-x:auto;scrollbar-width:thin}
.js .carousel-thumbnails{display:flex}
.carousel-thumbnails button{flex:0 0 76px;height:58px;padding:3px;border:1px solid transparent;border-radius:4px;background:white;color:var(--accent);overflow:hidden}
.carousel-thumbnails button[aria-current=true]{border-color:var(--accent);box-shadow:0 0 0 1px var(--accent)}
.carousel-thumbnails img{width:100%;height:100%;object-fit:cover}
.carousel-thumbnails button>span{display:grid;place-items:center;height:100%;background:var(--pink);font-size:25px}
@media(max-width:760px){.carousel-media figcaption{padding-inline:58px}.carousel-controls button{width:38px;height:38px}.carousel-thumbnails button{flex-basis:66px;height:51px}}
