/* September 24: restore production component styling and finish confirmed requests. */
/* Matching Font Awesome Free SVG icons; original attribution remains in each SVG. */
.original-icon{display:inline-block;width:1em;height:1em;margin-right:5px;vertical-align:-.08em;background:currentColor;mask:center/contain no-repeat;-webkit-mask:center/contain no-repeat}
.icon-square-phone{mask-image:url('assets/icon-square-phone.svg');-webkit-mask-image:url('assets/icon-square-phone.svg')}
.icon-circle-exclamation{mask-image:url('assets/icon-circle-exclamation.svg');-webkit-mask-image:url('assets/icon-circle-exclamation.svg')}
.icon-file-lines{mask-image:url('assets/icon-file-lines.svg');-webkit-mask-image:url('assets/icon-file-lines.svg')}
/* Individual translate leaves existing transforms and fixed positioning intact. */
a{transition:translate .18s,color .18s,background-color .18s,filter .18s}
a.link-motion-inline{display:inline-block;max-width:100%}
@media(hover:hover){a[href]:hover{translate:0 -2px;filter:none}}
a[href]:focus-visible{outline:3px solid #bb7e36;outline-offset:4px}
/* Full-width venue track; only text/control groups keep comfortable side padding. */
#venues>.wrap{width:100%;max-width:none;margin-inline:0}
#venues .section-heading,#venues .local-heading,#venues .region-intro,#venues .region-grid,#venues .venue-map-credit{padding-inline:20px}
#venues .carousel-bottom{padding-inline:14px}
.is-at-venues .fixed-rail{opacity:0;visibility:hidden;pointer-events:none}
/* Fit both rail banners between the visible sticky header and the TOP button. */
@media(min-width:1101px){
 .fixed-rail{--rail-top:calc(var(--rail-header-bottom,230px) + 12px);--rail-space:calc(100vh - var(--rail-top) - 96px);--rail-width:min(54px,max(1px,calc((var(--rail-space) - 12px)/9.737779)));width:var(--rail-width);top:var(--rail-top)}
}
@media(min-width:1101px) and (max-height:570px){
 .fixed-rail{--rail-space:calc(100vh - var(--rail-top) - 76px);--rail-width:min(46px,max(1px,calc(var(--rail-space)/6.155963)));grid-template-columns:repeat(2,var(--rail-width));width:calc(var(--rail-width)*2 + 8px)}
}
/* Production review card dimensions, type, star colour, avatar and bubble. */
#reviews{background:#875269;color:#fff}
#reviews>.wrap{width:100%;max-width:none;margin-inline:0}
#reviews .voice-banner-link{display:block;width:92%;max-width:1100px;margin-inline:auto}
#reviews .voice-banner{display:block;width:100%;height:auto}
#reviews .voice-intro{width:92%;max-width:1280px;margin-inline:auto}
#reviews .voice-intro h2,#reviews .voice-intro p{color:#fff}
#reviews .google-head{display:block;border:0;text-align:center;padding:0;margin:60px 0 40px}
#reviews .google-head h3{margin:0;line-height:1.8}
#reviews .google-head img{width:auto;max-width:100%;height:auto;display:inline-block}
#reviews .google-head p{width:92%;margin:20px auto 0;font-size:16px;line-height:1.5;color:#fff}
#reviews .review-spbr{display:none}
#reviews .carousel-reviews{width:92%;margin-inline:auto;font-family:Lato,"Noto Sans JP","ヒラギノ角ゴ ProN","Hiragino Kaku Gothic ProN",Meiryo,sans-serif;line-height:normal}
#reviews .carousel-track{gap:10px;padding-block:3px 0}
#reviews .review-original{border-radius:0}
#reviews .review-original-link{color:#fff}
#reviews .slide_box{width:100%;min-height:215px;padding:20px;box-sizing:border-box;background:#eee url('assets/review-google-icon.png') no-repeat top 20px right 20px / 23px;font-size:14px;text-align:left;color:#000}
#reviews .slide_star{color:#fc0;margin-bottom:10px;font-size:14px;letter-spacing:normal;line-height:normal}
#reviews .slide_text{overflow:hidden;display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:5;line-height:1.8;font-size:14px;color:#000}
#reviews .slide_name{font-size:14px;color:#fff;text-align:left;font-weight:700}
#reviews .slide_day{font-size:12px;color:#ccc;text-align:left;font-weight:700}
#reviews .google_icon{position:relative;padding-top:15px;text-align:left;min-height:55px;line-height:normal}
#reviews .google_icon:before{position:absolute;content:"";top:0;left:20px;border:10px solid transparent;border-bottom-width:0;border-top-color:#eee}
#reviews .google_icon img{display:block;float:left;margin-right:10px;width:40px;height:40px;border-radius:50%;object-fit:cover}
#reviews .carousel-dot:after{background:#fff9}
#reviews .carousel-dot[aria-current="true"]:after{background:#fff}
/* The production cover has a 30% black overlay and a transparent shining label. */
.footer-pickup-grid{gap:0}
.footer-pickup-card{padding:16px;background:#53401d;min-height:210px}
.footer-pickup-card:before{background:rgba(0,0,0,.3)}
.footer-pickup-label{background:transparent;border:0;border-radius:4px;padding:10px 6px;text-shadow:0 1px 3px #0007}
.footer-pickup-label strong{font-family:"Noto Sans JP",Meiryo,sans-serif;font-size:clamp(13px,1vw,20px);font-weight:700;line-height:1.5;white-space:normal;word-break:normal;text-wrap:balance}
.footer-pickup-label small{font-size:clamp(10px,.72vw,14px);line-height:1.5}
.footer-pickup-label:after{inset:0 auto auto -40%;width:50%;height:100%;background:linear-gradient(to right,rgba(255,255,255,0),rgba(255,255,255,.3));transform:skewX(-25deg);animation:original-footer-shine 3s ease-in-out infinite}
.footer-pickup-card:nth-child(2n) .footer-pickup-label:after{animation-delay:0s}
@keyframes original-footer-shine{0%{left:-40%}10%,100%{left:120%}}
@media(max-width:1100px){
 .mobile-contact-bar{gap:9px 8px;padding:8px 8px calc(8px + env(safe-area-inset-bottom));background:rgba(0,0,0,.8)}
 .mobile-contact-bar a{display:flex;flex-direction:column;align-items:center;justify-content:center;min-height:43px;padding:5px 7px;border-radius:2px;line-height:1;font-family:Lato,"Noto Sans JP",Meiryo,sans-serif}
 .mobile-contact-bar a b{font-size:16px;line-height:16px;font-weight:400}
 .mobile-contact-bar a>span{font-size:clamp(10px,2.8vw,12px);line-height:12px;margin-top:3px;white-space:nowrap}
 .mobile-contact-bar a.shell-mobile-phone{background:#fff;color:#212529}
 .mobile-contact-bar a.shell-mobile-urgent{background:#cf2e2e;color:#fff}
 .mobile-contact-bar a.shell-mobile-line{background:#39ce02;color:#fff;border-color:#39ce02}
 .mobile-contact-bar a.shell-mobile-order{background:#f78da7;color:#fff}
}
@media(max-width:768px){
 #reviews .carousel-item{flex-basis:100%}
 #reviews .google-head{margin:40px 0 30px}
 #reviews .google-head img{width:85%}
 #reviews .google-head p{margin-top:10px}
 #reviews .review-spbr{display:block}
 .footer-pickup-label strong{font-size:18px}
 .footer-pickup-label small{font-size:11px}
}
@media(max-width:360px){.mobile-contact-bar a>span{font-size:10px}}
@media(max-width:700px){
 #reviews .carousel-bottom,#venues .carousel-bottom{display:grid;grid-template-columns:38px minmax(0,1fr) 38px;gap:6px}
 #reviews .carousel-dots,#venues .carousel-dots{min-width:0;max-width:100%;justify-self:center}
 #reviews .round-arrow,#venues .round-arrow{width:38px;height:38px}
 #reviews .carousel-autoplay-toggle,#venues .carousel-autoplay-toggle{grid-column:1/-1;justify-self:center}
}
@media(prefers-reduced-motion:reduce){
 a{transition:none}
 a[href]:hover{translate:none;filter:none}
 @media(hover:hover){
  a[href]:hover:not(:focus-visible){outline:2px solid #b89962;outline-offset:3px}
 }
 .plan-card:hover img,.footer-pickup-card:hover>img,.instagram-photo-link:hover img,#venues .venue-photo-link:hover .venue-image{transform:none}
 .footer-pickup-label:after{animation:none}
}
