body.hp-alley-page,body.hp-alley-product{background:#f8efde;color:#302218}
.hp-alley-page .hp-header-shell{background:#f8efde}
.hp-alley-page .shop-navigation,.hp-alley-product .shop-navigation{border-bottom:1px solid #dccaab}
body.hp-alley-page>main.alley-page{padding:0!important;display:flex;flex-direction:column}
.alley-portal{position:relative;width:100%;aspect-ratio:3/4;overflow:hidden;isolation:isolate;background:#241a15}
.alley-street{display:block;width:100%;height:100%;object-fit:cover;position:absolute;inset:0}
.alley-welcome{position:absolute;left:12%;right:12%;bottom:7%;text-align:center;color:#fff0d3;opacity:0;pointer-events:none;text-shadow:0 2px 12px #0c0805,0 0 24px #0c0805}
.alley-welcome p{margin:0;font:17px/1.5 Georgia,serif;font-style:italic}
.alley-welcome h1{font:400 clamp(36px,7vw,62px)/1.15 Georgia,serif;letter-spacing:-.035em;margin:3px 0}
.alley-collection{padding:38px var(--wondiboo-gutter) 52px;background:#f8efde;flex:1}
.alley-collection-heading{margin:0 0 28px;text-align:center}
.alley-collection-heading h2{font:400 clamp(27px,4.5vw,36px)/1.2 Georgia,serif;margin:0 0 10px;letter-spacing:-.025em}
.alley-collection-heading p{font:15px/1.5 Georgia,serif;color:#81684b;margin:0}
.alley-product-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:30px 16px}
.alley-product-card{min-width:0;text-decoration:none;color:#302218}
.alley-product-photo{aspect-ratio:1;background:#fff;overflow:hidden;border-radius:7px}
.alley-product-photo img{display:block;width:100%;height:100%;object-fit:contain}
.alley-product-card h3{font:400 clamp(17px,2.8vw,24px)/1.3 Georgia,serif;margin:15px 0 8px;overflow-wrap:anywhere}
.alley-item-price{font:600 17px/1.4 -apple-system,BlinkMacSystemFont,'Segoe UI',sans-serif;margin:0;color:#79582d}
.alley-product-card:hover h3{text-decoration:underline;text-underline-offset:4px}
.alley-product-card:focus-visible,.alley-thumbnail:focus-visible,.alley-add:focus-visible{outline:2px solid #a78347;outline-offset:4px}
.alley-detail{padding:24px 0 42px;min-width:0}
.alley-back,.alley-bag-link{display:inline-block;color:#78572c;font-size:14px;text-decoration:underline;text-underline-offset:4px;margin-bottom:22px}
.alley-gallery{width:100%;max-width:520px;margin:0 auto 30px}
.alley-main-photo{width:100%;aspect-ratio:1;background:#fff;overflow:hidden;border-radius:8px}
.alley-main-photo img{display:block;width:100%;height:100%;object-fit:contain}
.alley-thumbnails{display:flex;gap:10px;overflow-x:auto;padding:12px 2px 4px}
.alley-thumbnail{flex:0 0 64px;aspect-ratio:1;padding:3px;border:1px solid #d6c4a7;border-radius:4px;background:#fff;cursor:pointer}
.alley-thumbnail img{display:block;width:100%;height:100%;object-fit:contain}
.alley-thumbnail[aria-pressed=true]{border:2px solid #9b763b;padding:2px}
.alley-purchase h1{font:400 clamp(29px,5vw,40px)/1.17 Georgia,serif;letter-spacing:-.025em;margin:0 0 14px}
.alley-detail-price{font-size:25px;font-weight:600;color:#78572c;margin:0 0 20px}
.alley-short-description{color:#6c5840;line-height:1.7;margin-bottom:26px}
.alley-choices{padding:20px 0 22px;margin:0 0 24px;border:0;border-top:1px solid #dccaab;display:flex;flex-wrap:wrap;gap:10px}
.alley-choices legend{font-size:15px;font-weight:600;padding:0 12px 0 0}
.alley-choices label{position:relative;cursor:pointer}
.alley-choices input{position:absolute;opacity:0}
.alley-choices label span{display:block;min-height:44px;border:1px solid #c2aa83;padding:9px 16px;border-radius:4px;color:#6d5433}
.alley-choices input:checked+span{background:#172c3b;border-color:#172c3b;color:#f8e9c9}
.alley-choices input:focus-visible+span{outline:2px solid #9b763b;outline-offset:3px}
.alley-purchase-actions{display:flex;gap:16px;align-items:stretch}
.alley-quantity{display:flex;flex:0 0 132px;border:1px solid #c2aa83;border-radius:4px;overflow:hidden;height:48px}
.alley-quantity button{width:40px;border:0;background:transparent;color:#4e3a28;font-size:20px;cursor:pointer}
.alley-quantity input{width:50px;min-width:0!important;border:0;background:transparent;text-align:center;color:#302218;appearance:textfield;-moz-appearance:textfield}
.alley-quantity input::-webkit-inner-spin-button{appearance:none}
.alley-add{flex:1;border:1px solid #b89a61;border-radius:4px;padding:12px 16px;background:#14283a;color:#f7e5be;font:18px/1.3 Georgia,serif;cursor:pointer;min-height:48px}
.alley-add:disabled{opacity:.45;cursor:not-allowed}
.alley-form-status{font-size:14px;color:#82684a;min-height:22px;margin:10px 0 18px}
.alley-description{border-top:1px solid #dccaab;padding-top:30px;line-height:1.8;color:#6a5540}
.alley-description h2{font:400 26px/1.3 Georgia,serif;color:#302218;margin:0 0 15px}
.alley-description p{margin:0 0 28px}
.alley-description ul{padding-left:21px}
.hp-alley-product .info-footer{flex-shrink:0}
@media(max-width:359px){.alley-purchase-actions{flex-wrap:wrap}.alley-add{flex-basis:100%}.alley-product-grid{gap:24px 12px}}



/* Film reference: thick hinged masonry, fixed jambs, no loose sliding curtain. */
/* A shaded rear face makes each complete revolution visually legible. */

/* The street is visible immediately; only the shopkeeper's isolated parts move. */
.automaton-parts{position:absolute;inset:0;display:block;width:100%;height:100%;pointer-events:none;overflow:hidden}
.automaton-upper-arm{transform-origin:655px 596px}
.automaton-forearm{transform-origin:730px 568px}
.automaton-head{transform-origin:649px 544px}
.automaton-eyelids{opacity:0}
.automaton-scene .alley-welcome{opacity:1}
