/* jade 版式自己加的样式（成品 CSS 之后加载）：按数据变化的部分——字标自适应、画廊跑马灯、
   只有一格的联系区、营业时间多行、菜单页 FAQ / 自助价格、法律页、404、单色字母标志。 */
.vh{position:absolute!important;width:1px!important;height:1px!important;overflow:hidden!important;clip:rect(0 0 0 0)!important;white-space:nowrap!important;margin:-1px!important;padding:0!important;border:0!important}

/* 首屏字标：theme.js 量过之后给 --tpl-wm-size（缩字号）；太长的名字断成两行 */
.letter-holder .tpl-letter{font-size:var(--tpl-wm-size,13vw)}
.letter-holder .tpl-wm-break{display:none}
.letter-holder.tpl-wm-wrapped{flex-wrap:wrap!important;row-gap:0!important}
.letter-holder.tpl-wm-wrapped .tpl-wm-break{display:block;flex:0 0 100%;height:0}
.letter-holder.tpl-wm-wrapped .tpl-word-space:has(+.tpl-wm-break){display:none}
.letter-holder .tpl-letter:not(.tpl-word-space){font-synthesis:none}

/* 头部单色字母标志（成品是一枚手画的 J；这里用店名首字母 / store.monogram） */
.logo-wrapper svg.tpl-monogram{display:block;width:100%;height:auto}

/* 画廊跑马灯（成品这一段是空的 Instagram 插件位；版式放本店 gallery） */
.insta-holder{overflow:hidden}
.tpl-marquee{display:flex;gap:4px;width:max-content}
.tpl-marquee-item{flex:0 0 auto;margin:0;width:clamp(220px,24.5vw,470px);aspect-ratio:1}
.tpl-marquee-item img{display:block;width:100%;height:100%;object-fit:cover}
@media(max-width:767px){.tpl-marquee-item{width:68vw}}

/* 页脚联系区：只有电话（没有 WhatsApp）时一格占满 */
#Footer .tpl-direct-contact--single{grid-template-columns:1fr}
#Footer .tpl-hours{display:flex;flex-direction:column;gap:10px}
#Footer .tpl-hours-row.is-closed{opacity:.75}
#Footer .tpl-hours-fallback,#Footer .tpl-hours-fallback *{font:400 15px/1.9 Manrope,sans-serif;color:#f5f0e5}
#Footer .tpl-music-credit{display:block;margin-top:10px;font-size:11px;opacity:.7}

/* 菜单页：说明、FAQ、自助价格 */
.tpl-page .tpl-intro{max-width:760px;margin:-30px auto 50px;text-align:center;line-height:1.8}
.tpl-menu-notes{max-width:1050px;margin:0 auto 60px}
.tpl-menu-notes .tpl-note{text-align:center;margin:8px auto}
.tpl-price-category abbr{font:500 11px/1 Manrope,sans-serif;text-decoration:none;border:1px solid currentColor;border-radius:20px;padding:2px 6px;margin-left:6px;vertical-align:middle}
.tpl-faq-list{max-width:950px;margin:40px auto 0}
.tpl-faq-list>h2{text-align:center;margin:0 0 30px}
.tpl-faq p{color:#51432e}
.buffet-strip li b+small{margin-left:4px}

/* 首页自助价格（只有带 buffet 的店才有，成品没有这一段，沿用「L’art du partage」价格段的排版） */
.tpl-buffet-rows{list-style:none;margin:0;padding:0}
.tpl-buffet-rows li{display:flex;justify-content:space-between;gap:25px;padding:28px 0;margin:0;border-top:1px solid #73634a50;font:300 23px/1.35 Fraunces,serif}
.tpl-buffet-rows li b{white-space:nowrap;font:400 18px Manrope,sans-serif}
.tpl-buffet-rows li small{font:400 13px Manrope,sans-serif}

/* 法律页：通用法律文字放进 jade 子页面的外框 */
.tpl-legal .legal-updated{margin:-40px 0 0;font-size:13px;color:#51432e}
.tpl-legal .legal-body{max-width:780px;margin:0 auto 60px;line-height:1.85;color:#243b29}
.tpl-legal .legal-body h2{font:300 28px/1.3 Fraunces,serif;color:#64563d;margin:38px 0 16px}
.tpl-legal .legal-body h3{font:500 16px/1.5 Manrope,sans-serif;color:#211c14;margin:26px 0 10px}
.tpl-legal .legal-body p,.tpl-legal .legal-body li{color:#243b29}
.tpl-legal .legal-body a{text-decoration:underline;color:inherit}
.tpl-legal-nav{margin:0 auto 20px}
.tpl-legal-nav a[aria-current]{background:#73634a;color:#f5f0e5!important;border-color:#73634a}
@media(max-width:767px){.tpl-legal .legal-body h2{font-size:24px}.tpl-legal .legal-updated{margin-top:-20px}}

/* 404 */
.tpl-404{text-align:center}
.tpl-404-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:16px;margin:10px 0 40px}

/* 没有并排双图（店里凑不齐两张图）：成品的钉屏时间轴不会跑，分类段直接显示（否则电脑上是一整屏空的棕色） */
.tpl-no-pair .service-section,.tpl-no-pair .service-section .sec-navi,.tpl-no-pair .service-section .service-title p,.tpl-no-pair .service-section h1,.tpl-no-pair .service-slider{opacity:1!important}
.tpl-no-pair .service-section{margin-top:0!important}

/* 页脚行动卡（2026-10-20 重做）：订座 / 外带 / 外送 / WhatsApp / 电话是同一套卡片——
   同高、细线框、衬线大标题 + 一行小字 + 右上箭头；订座（没有订座时是外带）实心奶油色当主卡，其余描边。
   按张数排（tpl-actions--n<张数>）：桌面一排排满不留空位，平板两列（单数时主卡占一整行），手机竖排全宽。 */
#Footer .tpl-actions{display:grid;grid-template-columns:repeat(var(--tpl-cols,3),minmax(0,1fr));gap:16px;max-width:960px;margin:56px auto 0;text-align:left}
#Footer .tpl-actions--n1{--tpl-cols:1;max-width:620px}
#Footer .tpl-actions--n2{--tpl-cols:2}
#Footer .tpl-actions--n3{--tpl-cols:3}
#Footer .tpl-actions--n4{--tpl-cols:4}
#Footer .tpl-actions--n5{--tpl-cols:6}
#Footer .tpl-actions--n5>.tpl-action{grid-column:span 2}
#Footer .tpl-actions--n5>.tpl-action:nth-child(n+4){grid-column:span 3}
#Footer .tpl-action{position:relative;display:grid;grid-template-rows:auto auto;row-gap:28px;align-content:space-between;min-height:184px;box-sizing:border-box;margin:0;padding:26px 26px 22px;border:1px solid #c9c3b48c;border-radius:0;background:transparent;color:#f5f0e5!important;text-decoration:none!important;transition:background-color .3s ease,border-color .3s ease,color .3s ease}
/* 版式底稿 layout.css 有 #Footer *{color:var(--cream)!important}：卡里的字和箭头改为跟随卡片本身的颜色（主卡深字） */
#Footer .tpl-action *{color:inherit!important}
#Footer .tpl-action-head{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}
#Footer .tpl-action-title{font:300 clamp(26px,2.3vw,34px)/1.12 Fraunces,serif;letter-spacing:-.01em;color:inherit;text-wrap:balance}
#Footer .tpl-action-arrow{flex:0 0 auto;width:20px;height:20px;margin-top:4px;transition:transform .3s cubic-bezier(.2,.7,.2,1)}
#Footer .tpl-action-note{display:block;padding-top:14px;border-top:1px solid currentColor;border-top-color:color-mix(in srgb,currentColor 28%,transparent);font:500 11.5px/1.5 Manrope,sans-serif;letter-spacing:.08em;text-transform:uppercase;color:inherit;opacity:1;text-wrap:pretty}
#Footer .tpl-action-note--tel{font:500 15px/1.4 Manrope,sans-serif;letter-spacing:.06em;font-variant-numeric:tabular-nums}
#Footer .tpl-action--primary{background:var(--tpl-cream,#c9c3b4);border-color:var(--tpl-cream,#c9c3b4);color:var(--tpl-dark,#211c14)!important}
#Footer .tpl-action:hover{background:#c9c3b414;border-color:#c9c3b4}
#Footer .tpl-action--primary:hover{background:#f5f0e5;border-color:#f5f0e5}
#Footer .tpl-action:hover .tpl-action-arrow,#Footer .tpl-action:focus-visible .tpl-action-arrow{transform:translate(3px,-3px)}
#Footer .tpl-action--tel:hover .tpl-action-arrow,#Footer .tpl-action--tel:focus-visible .tpl-action-arrow{transform:translateX(4px)}
#Footer .tpl-action:focus-visible{outline:2px solid #f5f0e5;outline-offset:4px}
#Footer .tpl-action:active{transform:translateY(1px)}
/* 同一排的卡：标题行、小字行跨卡对齐（subgrid）——某张卡小字折成两行时，分隔细线仍在同一条水平线上 */
@supports (grid-template-rows:subgrid){#Footer .tpl-actions{grid-auto-rows:minmax(84px,auto) auto}#Footer .tpl-action{grid-row:span 2;grid-template-rows:subgrid}}
@media(max-width:1099px){#Footer .tpl-actions--n4{--tpl-cols:2;max-width:820px}}
@media(max-width:899px){
 #Footer .tpl-actions--n3,#Footer .tpl-actions--n5{--tpl-cols:2;max-width:820px}
 #Footer .tpl-actions--n3>.tpl-action:first-child,#Footer .tpl-actions--n5>.tpl-action:first-child{grid-column:1/-1}
 #Footer .tpl-actions--n5>.tpl-action,#Footer .tpl-actions--n5>.tpl-action:nth-child(n+4){grid-column:auto}
 #Footer .tpl-action{min-height:156px}
 #Footer .tpl-actions{grid-auto-rows:minmax(92px,auto) auto}
}
@media(max-width:600px){
 #Footer .tpl-actions,#Footer .tpl-actions[class*="--n"]{--tpl-cols:1;gap:10px;margin-top:36px;grid-auto-rows:auto}
 #Footer .tpl-actions>.tpl-action{grid-column:auto!important;min-height:0;row-gap:20px;padding:20px 20px 18px}
 #Footer .tpl-action-title{font-size:24px}
 #Footer .tpl-action-note{font-size:11px;padding-top:12px}
 #Footer .tpl-action-note--tel{font-size:15px}
 #Footer .tpl-action-arrow{width:18px;height:18px}
}
@media(prefers-reduced-motion:reduce){#Footer .tpl-action,#Footer .tpl-action-arrow{transition:none}#Footer .tpl-action:hover .tpl-action-arrow{transform:none}}
