/* 客人订桌：黑雅主色与布局保持，使用同色系餐饮摄影背景。 */
.guest-elegant{--g-ink:#0c0d0a;--g-gold:#d6bb7e;--g-gold-2:#b8975a;--g-text:#ece3c8;--g-text-2:#bdb39b;--g-muted:#a49b85;--g-line:rgba(214,187,126,.20);background:#10110e;color:var(--g-text);scrollbar-color:#655b42 #10110e}
.guest-elegant .guest-shell{min-height:100dvh;background:var(--g-ink);box-shadow:0 12px 70px #0005;padding-bottom:calc(105px + env(safe-area-inset-bottom))}
/* 四页四张独立摄影，同一黑金色系；装饰层不接收点击。 */
.guest-elegant .guest-shell[data-page=home]{--guest-scene:url('/assets/guest-culinary-dark.jpg');--guest-scene-height:525px;--guest-scene-position:center top}
.guest-elegant .guest-shell[data-page=book]{--guest-scene:url('/assets/guest-booking-dark.jpg');--guest-scene-height:780px;--guest-scene-position:right top}
.guest-elegant .guest-shell[data-page=coupons]{--guest-scene:url('/assets/guest-coupons-dark.jpg');--guest-scene-height:760px;--guest-scene-position:right top}
.guest-elegant .guest-shell[data-page=account]{--guest-scene:url('/assets/guest-account-dark.jpg');--guest-scene-height:720px;--guest-scene-position:right top}
.guest-elegant .guest-shell:before{inset:0 0 auto;height:min(var(--guest-scene-height),100%);opacity:1;mask-image:none;-webkit-mask-image:none;pointer-events:none;background:linear-gradient(90deg,#0c0d0a80 0%,#0c0d0a55 65%,#0c0d0a26 100%),linear-gradient(180deg,#0c0d0a08 0%,#0c0d0a00 48%,#0c0d0a99 82%,#0c0d0a 100%),var(--guest-scene) var(--guest-scene-position)/cover no-repeat}
.guest-elegant .guest-shell[data-page=home]:before{background:linear-gradient(90deg,#0c0d0a8c 0%,#0c0d0a80 70%,#0c0d0a1a 100%),linear-gradient(180deg,#0c0d0a08 0%,#0c0d0a00 45%,#0c0d0ab3 78%,#0c0d0a 100%),var(--guest-scene) var(--guest-scene-position)/cover no-repeat}
.guest-elegant .guest-shell:after{content:none}
.guest-elegant .guest-hero{min-height:294px;padding:27px 27px 29px}
.guest-elegant .guest-hero.compact{min-height:124px;padding-bottom:24px}
.guest-elegant .guest-logo{font-size:18px;letter-spacing:.13em}
.guest-elegant .guest-logo .seal{background:transparent;box-shadow:none}
.guest-elegant .guest-hero h1{font-size:31px;line-height:1.65;letter-spacing:.06em;font-weight:400;color:#ecdfb9;text-shadow:0 2px 12px #0008}
.guest-elegant .guest-hero p{font-size:11px;letter-spacing:.10em;color:var(--g-text-2);opacity:1}
.guest-elegant .guest-content{padding:8px 26px 0}
.guest-elegant .guest-content h2{font-size:25px;font-weight:400;letter-spacing:.08em;margin-bottom:27px;overflow-wrap:anywhere}
.guest-elegant .guest-content h2:after{width:26px;opacity:.65;margin-top:13px}
.guest-elegant .guest-content h2.guest-greet{font-size:12px;line-height:1.8;letter-spacing:.04em;color:var(--g-text-2);margin:3px 0 20px}
.guest-elegant .guest-card{padding:25px 0 27px}
.guest-elegant .guest-card h3{font-size:22px;font-weight:400;letter-spacing:.06em}
.guest-elegant .guest-card p{font-size:13px;line-height:1.85;margin:10px 0 22px}
.guest-elegant .guest-feature{padding:24px 21px 25px;margin:0 0 8px;border:1px solid #d6bb7e38;border-radius:5px;background:#d6bb7e06}
.guest-elegant .guest-feature+.guest-card{border-top:0}
.guest-elegant .guest-feature+.guest-card h3{font-size:20px}
.guest-elegant .btn{letter-spacing:.10em;border-color:#d6bb7e60;border-radius:4px}
.guest-elegant .btn.primary{background:linear-gradient(110deg,#dcc48e,#cbb17b);color:#201b10;box-shadow:none;font-weight:500}
.guest-elegant .btn.primary:hover{background:linear-gradient(110deg,#dcc48e,#cbb17b);filter:brightness(1.06)}
.guest-elegant .guest-fine{font-size:11px;letter-spacing:0;line-height:1.8;margin-top:18px}
.guest-elegant .guest-demo-note{font-size:10px;text-align:left;padding:0 0 12px;border-bottom:1px solid var(--g-line);margin:0 0 20px}
.guest-elegant .guest-form .form-grid{gap:22px 14px}
.guest-elegant .field{font-size:12px;letter-spacing:.05em;color:var(--g-text-2)}
.guest-elegant input,.guest-elegant select,.guest-elegant textarea{border-color:#d6bb7e38;background-color:#ffffff04;font-size:16px;caret-color:var(--g-gold)}
.guest-elegant input::placeholder,.guest-elegant textarea::placeholder{color:#9c937d}
.guest-elegant .guest-rule{margin:5px 0 2px}
.guest-elegant .guest-profile{border:1px solid #d6bb7e30;border-radius:5px;padding:7px 9px;background:#d6bb7e05;margin:0 0 12px}
.guest-elegant .guest-profile b{font-size:22px;color:var(--g-text)}
.guest-elegant .guest-profile b.guest-phone{font-size:13px;letter-spacing:0}
.guest-elegant .guest-profile span{font-size:11px;letter-spacing:.06em;color:var(--g-text-2)}
.guest-elegant .guest-order-top{align-items:flex-start}
.guest-elegant .guest-order-top strong{font-size:17px;line-height:1.6}
.guest-elegant .guest-order p{font-size:13px;line-height:1.9}
.guest-elegant .guest-section-head h3{font-weight:400;letter-spacing:.06em}
.guest-elegant .guest-account-foot{gap:15px;border-top:1px solid var(--g-line);padding-top:14px}
.guest-elegant .guest-account-foot a{font-size:11px}
.guest-elegant .guest-empty{padding:39px 0 41px;border-top:1px solid var(--g-line);border-bottom:1px solid var(--g-line);margin:5px 0 22px}
.guest-elegant .guest-empty p{font-size:18px;font-weight:400;color:var(--g-text-2);margin-bottom:9px}
.guest-elegant .guest-empty small{font-size:12px}
.guest-elegant .coupon-card{border-color:#d6bb7e40;box-shadow:none;border-radius:5px;background:#d6bb7e06;grid-template-columns:88px minmax(0,1fr);gap:0 16px;padding:22px 18px;min-height:154px}
.guest-elegant .coupon-card:before,.guest-elegant .coupon-card:after{left:98px}
.guest-elegant .coupon-value{font-size:min(40px,calc(130px / var(--value-length,3)));padding-right:13px}
.guest-elegant .coupon-value i{display:block;font-size:14px;line-height:1;margin:0 0 6px}
.guest-elegant .coupon-value small{display:block;font-size:12px;margin:7px 0 0}
.guest-elegant .coupon-info h3{font-size:17px;line-height:1.6;letter-spacing:.04em;font-weight:400;padding-right:0;margin:18px 0 8px;overflow-wrap:anywhere}
.guest-elegant .coupon-info p{font-size:11px;white-space:normal;overflow:visible;text-overflow:clip;line-height:1.8}
.guest-elegant .coupon-state{top:12px;right:15px;border:0;font-size:10px;padding:0;color:var(--g-text-2)}
.guest-elegant .coupon-card.expired{opacity:.65}
.guest-elegant .guest-nav{background:rgba(12,13,10,.90);border-top-color:#d6bb7e25;backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px)}
.guest-elegant .guest-nav button{font-size:11px;letter-spacing:.06em;color:#aaa08a}
.guest-elegant .guest-nav button.active{color:#e3ca93}
.guest-elegant .guest-nav button.active:before{width:16px;margin-left:-8px}
.guest-elegant ::selection{background:#d6bb7e;color:#17170f}
.guest-elegant :focus-visible{outline-color:var(--g-gold)}
@media(max-width:360px){.guest-elegant .guest-content{padding-left:20px;padding-right:20px}.guest-elegant .guest-hero{padding-left:22px;padding-right:22px}.guest-elegant .guest-hero h1{font-size:28px}.guest-elegant .guest-feature{padding:22px 17px}.guest-elegant .guest-profile{padding:6px}.guest-elegant .guest-profile b.guest-phone{font-size:11px}.guest-elegant .coupon-card{grid-template-columns:78px minmax(0,1fr);gap:0 12px;padding:20px 15px}.guest-elegant .coupon-card:before,.guest-elegant .coupon-card:after{left:86px}.guest-elegant .coupon-value{font-size:min(36px,calc(110px / var(--value-length,3)))}.guest-elegant .guest-code-btn{font-size:12px;padding:0 11px}}

.guest-elegant input::-webkit-calendar-picker-indicator{filter:none;opacity:.7}

.guest-elegant .guest-feature,.guest-elegant .guest-profile{background-color:#0c0d0a99}
.guest-elegant .guest-form input,.guest-elegant .guest-form select,.guest-elegant .guest-form textarea{background-color:#0c0d0a99}
