/*
Theme Name: Baï Tuina
Theme URI: https://tuinalyon.fr
Author: Codex
Description: Baï Tuina · 白氏推拿法语、中文、英语 WordPress 区块主题，用于里昂 Tuina 与 bien-être 服务。
Version: 2.2.16
Requires at least: 6.4
Requires PHP: 7.4
License: GNU General Public License v2 or later
Text Domain: bai-tuina
*/

html { scroll-behavior: smooth; }
body { text-rendering: optimizeLegibility; }
.bai-booking-result{width:min(840px,calc(100% - 32px));margin:38px auto 72px;display:grid;gap:18px}.bai-booking-result section{padding:24px;border:1px solid rgba(128,88,38,.2);border-radius:18px;background:#fffaf2}.bai-booking-result h2{margin:0 0 10px;font:clamp(1.45rem,4vw,2rem)/1.2 Georgia,"Noto Serif SC",serif}.bai-booking-result p{font-size:1.05rem;line-height:1.7}.bai-booking-result nav{display:flex;flex-wrap:wrap;gap:10px}.bai-booking-result nav a{display:inline-flex;align-items:center;min-height:44px;padding:8px 15px;border:1px solid #b3955d;border-radius:999px;color:#1f1c18;text-decoration:none;font-weight:700}
.bai-purchase-form{max-width:680px;margin:32px auto;display:grid;gap:14px;padding:28px;border:1px solid rgba(128,88,38,.2);border-radius:20px;background:#fffaf2}.bai-purchase-form label{display:grid;gap:6px;font-weight:600}.bai-purchase-form input,.bai-purchase-form select{padding:12px;border:1px solid #cbb99e;border-radius:9px;background:white}.bai-purchase-form p{line-height:1.7;color:#725f50}.bai-package-grid{display:grid;grid-template-columns:1fr 1fr;gap:18px;margin-top:32px}.bai-package-grid article{padding:28px;border:1px solid rgba(128,88,38,.2);border-radius:20px;background:#fffaf2}.bai-package-grid button[disabled],.bai-purchase-form button[disabled]{opacity:.62;cursor:not-allowed}@media(max-width:700px){.bai-package-grid{grid-template-columns:1fr}}
.screen-reader-text {
  border: 0; clip: rect(1px, 1px, 1px, 1px); clip-path: inset(50%);
  height: 1px; margin: -1px; overflow: hidden; padding: 0;
  position: absolute !important; width: 1px; word-wrap: normal !important;
}
.screen-reader-text:focus {
  background: #fff; clip: auto !important; clip-path: none; color: #1f1c18;
  display: block; font-size: 1rem; font-weight: 700; height: auto;
  left: 1rem; padding: .8rem 1rem; top: 1rem; width: auto; z-index: 100000;
}
a { text-underline-offset: .18em; }
.wp-block-navigation a:focus-visible,
.wp-element-button:focus-visible { outline: 3px solid #b3955d; outline-offset: 4px; }

.bai-booking-guide{width:min(900px,calc(100% - 32px));margin:48px auto 80px;color:#1f1c18}.bai-booking-guide__hero{text-align:center;padding:54px 34px;border-radius:26px;background:#eee6d8}.bai-booking-guide__eyebrow{margin:0 0 8px;color:#805518;font-size:.78rem;font-weight:800;letter-spacing:.14em}.bai-booking-guide__hero h1{margin:0 0 14px;font:clamp(2.3rem,7vw,4.4rem)/1.05 Georgia,"Noto Serif SC",serif}.bai-booking-guide__hero>p:not(.bai-booking-guide__eyebrow){max-width:660px;margin:0 auto 24px;font-size:1.08rem;line-height:1.75}.bai-booking-guide .wp-element-button{display:inline-flex;justify-content:center;align-items:center;min-height:48px;border-radius:999px;text-decoration:none}.bai-booking-guide__steps,.bai-booking-guide__questions{margin-top:22px;padding:30px;border:1px solid rgba(128,88,38,.2);border-radius:22px;background:#fffaf2}.bai-booking-guide h2{margin:0 0 20px;font:clamp(1.6rem,4vw,2.25rem)/1.2 Georgia,"Noto Serif SC",serif}.bai-booking-guide__steps ol{display:grid;grid-template-columns:1fr 1fr;gap:12px;counter-reset:bai-guide;margin:0;padding:0;list-style:none}.bai-booking-guide__steps li{counter-increment:bai-guide;display:grid;grid-template-columns:34px 1fr;gap:11px;align-items:start;padding:16px;border-radius:14px;background:#f5ead9;line-height:1.65}.bai-booking-guide__steps li:before{content:counter(bai-guide);display:grid;place-items:center;width:32px;height:32px;border-radius:50%;background:#b3955d;color:#fff;font-weight:800}.bai-booking-guide__questions details{border-top:1px solid rgba(128,88,38,.2);padding:15px 2px}.bai-booking-guide__questions details:last-child{border-bottom:1px solid rgba(128,88,38,.2)}.bai-booking-guide__questions summary{cursor:pointer;font-size:1.05rem;font-weight:750;line-height:1.5}.bai-booking-guide__questions p{margin:10px 0 2px;color:#665849;line-height:1.75}.bai-booking-guide__actions{display:flex;justify-content:center;gap:12px;flex-wrap:wrap;margin-top:24px}.bai-booking-guide__actions .is-style-outline{border:1px solid #b3955d;background:#fffaf2;color:#1f1c18}
@media(max-width:700px){.bai-booking-guide{width:min(100% - 22px,900px);margin:22px auto 56px}.bai-booking-guide__hero{padding:38px 18px}.bai-booking-guide__hero h1{font-size:2.45rem}.bai-booking-guide__steps,.bai-booking-guide__questions{padding:22px 17px}.bai-booking-guide__steps ol{grid-template-columns:1fr}.bai-booking-guide__questions summary,.bai-booking-guide__questions p{font-size:1.05rem}.bai-booking-guide__actions{display:grid;grid-template-columns:1fr}.bai-booking-guide__actions a{width:100%}}
.wp-site-blocks { overflow: hidden; }
.wp-block-column { min-width: 0; }
.wp-block-heading, p, a { overflow-wrap: anywhere; }
.aurora-hero h1 { max-width: 15ch; }
.aurora-card { transition: transform .25s ease, box-shadow .25s ease; }
.aurora-card:hover { transform: translateY(-5px); box-shadow: 0 22px 55px rgba(18, 28, 24, .11); }
.aurora-card .has-coral-color { color: #6f5b38 !important; }
.aurora-pill { display: inline-flex; align-items: center; gap: .5rem; }
.aurora-pill::before { content: ""; width: .55rem; height: .55rem; border-radius: 99px; background: #b3955d; }
.bai-reassurance { border-top: 1px solid rgba(31,28,24,.16); border-bottom: 1px solid rgba(31,28,24,.16); }
.bai-reassurance p { margin: 0; }
.bai-announcement {
  background: #eee6d8; color: #1f1c18; margin: 0; padding: 18px max(24px, calc((100vw - 1200px) / 2));
}
.bai-announcement__head { align-items: center; display: flex; justify-content: space-between; margin-bottom: 10px; }
.bai-announcement__label { color: #47675a; flex: 0 0 auto; font-size: .78rem; font-weight: 800; letter-spacing: .07em; margin: 0; text-transform: uppercase; }
.bai-announcement__head > a { font-size: .85rem; font-weight: 750; }
.bai-announcement__track { display: grid; gap: 12px; grid-auto-columns: minmax(270px, 1fr); grid-auto-flow: column; overflow-x: auto; scroll-snap-type: x mandatory; scrollbar-width: thin; }
.bai-announcement__card { align-items: center; background: rgba(255,255,255,.72); border-radius: 14px; display: flex; gap: 18px; justify-content: space-between; padding: 14px 16px; scroll-snap-align: start; }
.bai-announcement__card p { margin: 0; }
.bai-announcement__card span { color: #5f584f; font-size: .9rem; }
.bai-announcement__card a { flex: 0 0 auto; font-weight: 750; }
.bai-footer-policy-links { font-size: .82rem; margin: 18px 0 0; }
.bai-reviews { background: #fff; margin: 0; padding: 76px max(24px, calc((100vw - 920px) / 2)); text-align: center; }
.bai-reviews__eyebrow { color: #47675a; font-size: .82rem; font-weight: 800; letter-spacing: .07em; text-transform: uppercase; }
.bai-reviews h2 { margin-left: auto; margin-right: auto; max-width: 22ch; }
.bai-reviews > p:not(.bai-reviews__eyebrow) { color: #5f584f; }
.bai-reviews__actions { display: flex; flex-wrap: wrap; gap: 12px; justify-content: center; margin-top: 24px; }
.bai-reviews__actions a { background: #1f1c18; color: #fff; text-decoration: none; }
.bai-reviews__actions a span { font-size: .78em; font-weight: 500; opacity: .82; }
.bai-reviews__actions .bai-review-request { background: #b3955d; color: #1f1c18; }
.bai-booking-transition .wp-element-button { display: inline-block; text-align: center; text-decoration: none; }
.bai-booking-transition .wp-element-button span { font-size: .78em; font-weight: 500; opacity: .82; }
.wp-block-details { border-bottom: 1px solid rgba(31,28,24,.18); padding: 1rem 0; }
.wp-block-details summary { cursor: pointer; font-weight: 700; }
.bai-zh-support { color: #5f584f; }
.bai-mobile-actions { display: none; }
.bai-booking-help { border-radius: 24px; margin-top: 32px; padding: 36px 28px; }
.bai-booking-embed,
.bai-booking-pending {
  background: #fff;
  border-radius: 24px;
  color: #1f1c18;
  margin: 34px auto 0;
  max-width: 980px;
  padding: clamp(20px, 4vw, 36px);
}
.bai-booking-pending { border: 1px solid rgba(31,28,24,.14); text-align: center; }
.bai-booking-pending p { margin: 0; }
.bai-booking-pending p + p { color: #5f584f; margin-top: 12px; }
.bai-booking-page #amelia-container {
  --am-c-primary: #b78c37 !important;
  --am-c-success: #4b6a5d !important;
  --am-c-main-heading-text: #2a241d !important;
  --am-c-main-text: #2a241d !important;
  --am-c-sb-bgr: #2f473d !important;
  --am-c-btn-prim: #b78c37 !important;
  --am-c-btn-sec: #2a241d !important;
}
.bai-booking-page #amelia-container * {
  --am-c-primary-op10: rgba(183,140,55,.10) !important;
  --am-c-scroll-op10: rgba(183,140,55,.10) !important;
  --am-c-scroll-op30: rgba(183,140,55,.30) !important;
  --am-c-cal-low: #b78c37 !important;
  --am-c-cal-high: #b78c37 !important;
  --am-c-cal-low-text: #7b581d !important;
  --am-c-cal-high-text: #7b581d !important;
  --am-c-cal-low-op10: rgba(183,140,55,.10) !important;
  --am-c-cal-low-op20: rgba(183,140,55,.20) !important;
  --am-c-cal-low-op30: rgba(183,140,55,.30) !important;
  --am-c-cal-low-op60: rgba(183,140,55,.60) !important;
  --am-c-cal-low-op80: rgba(183,140,55,.80) !important;
  --am-c-cal-high-op10: rgba(183,140,55,.10) !important;
  --am-c-cal-high-op20: rgba(183,140,55,.20) !important;
  --am-c-cal-high-op30: rgba(183,140,55,.30) !important;
  --am-c-cal-high-op60: rgba(183,140,55,.60) !important;
  --am-c-cal-high-op80: rgba(183,140,55,.80) !important;
  --am-c-cal-init: #b78c37 !important;
  --am-c-cal-init-text: #7b581d !important;
  --am-c-cal-init-op10: rgba(183,140,55,.10) !important;
  --am-c-cal-init-op20: rgba(183,140,55,.20) !important;
  --am-c-cal-init-op30: rgba(183,140,55,.30) !important;
  --am-c-cal-init-op60: rgba(183,140,55,.60) !important;
  --am-c-cal-selected: #9d7427 !important;
  --am-c-cal-selected-op80: rgba(157,116,39,.80) !important;
  --am-c-btn-first: #b78c37 !important;
  --am-c-btn-first-op20: rgba(183,140,55,.10) !important;
  --am-c-btn-first-op30: rgba(183,140,55,.30) !important;
  --am-c-btn-first-op80: rgba(183,140,55,.80) !important;
}
@media (max-width: 781px) {
  body { padding-bottom: calc(68px + env(safe-area-inset-bottom)); }
  body.bai-booking-page { padding-bottom: 0; }
  body.bai-customer-page { padding-bottom: 0; }
  .bai-booking-page .bai-mobile-actions,
  .bai-customer-page .bai-mobile-actions { display: none; }
  .aurora-hero { padding-top: 52px !important; padding-bottom: 52px !important; }
  .aurora-stack-mobile { gap: 24px !important; }
  .aurora-hero h1 { max-width: 100%; font-size: clamp(2.05rem, 10vw, 3.15rem) !important; overflow-wrap: anywhere; }
  .aurora-hero .wp-block-column:last-child { display: none; }
  #services, #process, #about, #contact { padding-top: 64px !important; padding-bottom: 64px !important; }
  .bai-reassurance .wp-block-columns { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: .5rem; }
  .bai-reassurance p { font-size: .82rem; line-height: 1.4; }
  .bai-announcement { padding: 16px 20px; }
  .bai-announcement__track { grid-auto-columns: 88%; }
  .bai-announcement__card { align-items: flex-start; display: block; }
  .bai-announcement__card a { display: inline-block; margin-top: 8px; }
  .wp-block-buttons { align-items: stretch; }
  .wp-block-button, .wp-block-button__link { width: 100%; text-align: center; }
  .bai-mobile-actions {
    align-items: stretch; background: rgba(255,255,255,.97); border-top: 1px solid rgba(31,28,24,.16);
    bottom: 0; box-shadow: 0 -8px 28px rgba(31,28,24,.1); display: grid; grid-template-columns: repeat(3,1fr);
    gap: 0; left: 0; margin: 0 !important; padding: 7px 8px calc(7px + env(safe-area-inset-bottom));
    position: fixed; right: 0; width: auto; z-index: 9999;
  }
  .bai-mobile-actions p { margin: 0; text-align: center; }
  .bai-mobile-actions a { color: #1f1c18; display: block; font-size: .9rem; font-weight: 700; padding: 10px 4px; text-decoration: none; }
  .bai-mobile-actions p:nth-child(2) a { background: #eee6d8; border-radius: 999px; }
  .bai-mobile-actions p:last-child a { background: #b3955d; border-radius: 999px; }
}
.bai-customer-message { max-width: 760px; margin: 0 auto; padding: clamp(22px,4vw,38px); border: 1px solid #d8d2c5; border-radius: 20px; background: #fffaf2; }
.bai-customer-message > p { line-height: 1.7; color: #5f584d; }
.bai-customer-message form { display: grid; gap: 14px; }
.bai-customer-message label { display: grid; gap: 6px; font-weight: 600; }
.bai-customer-message input, .bai-customer-message textarea { width: 100%; border: 1px solid #cfc5b5; border-radius: 10px; background: #fff; padding: 12px; font: inherit; }
.bai-customer-message button { justify-self: start; border: 0; border-radius: 999px; background: #2b2018; color: #fff; padding: 12px 20px; font-weight: 700; }
.bai-message-trap { position: absolute !important; left: -10000px !important; width: 1px !important; height: 1px !important; overflow: hidden !important; }
.bai-message-success { padding: 12px; border-radius: 10px; background: #e8f4e8; color: #24542b !important; }
.bai-message-error { padding: 12px; border-radius: 10px; background: #fde8e4; color: #7d2d20 !important; }
.bai-service-detail { display: grid; gap: 30px; max-width: 920px; margin-inline: auto; }
.bai-service-detail__image { margin: 0; overflow: hidden; border-radius: 22px; aspect-ratio: 16 / 9; background: #eee6d8; }
.bai-service-detail__image img { width: 100%; height: 100%; object-fit: cover; }
.bai-service-detail__intro { max-width: 760px; color: #463f37; font-size: 1.15rem; line-height: 1.75; }
.bai-service-detail section { border-top: 1px solid rgba(24,52,45,.14); padding-top: 24px; }
.bai-service-detail section h2 { margin-top: 0; }
.bai-service-detail__faq { display: grid; gap: 12px; }
.bai-service-detail__faq details { padding: 16px 18px; border-radius: 14px; background: #f7f3eb; }
.bai-service-detail__faq summary { cursor: pointer; font-weight: 700; }
.bai-service-detail__faq p { margin-bottom: 0; }
.bai-service-detail__variants { display: grid; gap: 20px; }
.bai-service-detail__back { margin-top: 8px; }
.bai-duration-options { display: grid; gap: 10px; margin: 22px 0 0; }
.bai-duration-option { display: grid; grid-template-columns: 1fr auto auto; gap: 12px; align-items: center; padding-top: 10px; border-top: 1px solid rgba(31,28,24,.14); }
.bai-duration-option strong { white-space: nowrap; }
.bai-duration-option .wp-element-button { padding: .65rem .9rem; }
@media (max-width: 600px) {
  .bai-duration-option { grid-template-columns: 1fr auto; }
  .bai-duration-option .wp-element-button { grid-column: 1 / -1; width: 100%; text-align: center; }
}

@media (max-width: 781px) {
  body:not(.wp-admin) { font-size: 17px; }
  body:not(.wp-admin) main p,
  body:not(.wp-admin) main li { line-height: 1.72; }
  body:not(.wp-admin) input,
  body:not(.wp-admin) select,
  body:not(.wp-admin) textarea { font-size: 16px !important; }
  .bai-booking-page #amelia-container { font-size: 16px; }
  .bai-service-detail__intro { font-size: 1.08rem; }
  .bai-service-detail__faq summary { font-size: 1rem; line-height: 1.55; }
  .bai-duration-option { font-size: 1rem; }
  .bai-duration-option .wp-element-button { font-size: 1rem; min-height: 46px; }
}
@media (prefers-reduced-motion: reduce) {
  html { scroll-behavior: auto; }
  .aurora-card { transition: none; }
}

.bai-gift-card{--gift-gold:#b78c37;--gift-ink:#2a241d;--gift-green:#2f473d;max-width:980px;margin:0 auto;color:var(--gift-ink)}
.bai-gift-card__intro{text-align:center;max-width:720px;margin:0 auto 30px}.bai-gift-card__intro h2{font-size:clamp(1.6rem,4vw,2.35rem);margin:0 0 10px}.bai-gift-card__intro p{font-size:1.05rem;line-height:1.75;color:#62594e;margin:0}
.bai-gift-card__catalog{display:grid;gap:14px}.bai-gift-card__family{border:1px solid rgba(42,36,29,.15);border-radius:18px;background:rgba(255,250,242,.92);overflow:hidden}.bai-gift-card__family summary{list-style:none;cursor:pointer;display:flex;align-items:center;justify-content:space-between;gap:12px;padding:18px 20px;font-size:1.15rem;font-weight:800}.bai-gift-card__family summary::-webkit-details-marker{display:none}.bai-gift-card__family summary small{display:grid;place-items:center;min-width:30px;height:30px;padding:0 8px;border-radius:999px;background:#eee3d1;color:#695227;font-size:.85rem}.bai-gift-card__family[open] summary{border-bottom:1px solid rgba(42,36,29,.1)}
.bai-gift-card__options{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;padding:16px}.bai-gift-card__option{appearance:none;border:1px solid rgba(42,36,29,.13);border-radius:14px;background:#fff;color:var(--gift-ink);display:grid;grid-template-columns:minmax(0,1fr) auto;gap:7px 12px;text-align:left;padding:15px 16px;cursor:pointer;font:inherit;transition:border-color .2s,box-shadow .2s,transform .2s}.bai-gift-card__option:hover,.bai-gift-card__option:focus-visible{border-color:var(--gift-gold);box-shadow:0 9px 22px rgba(89,61,21,.12);transform:translateY(-1px)}.bai-gift-card__option:focus-visible{outline:3px solid rgba(183,140,55,.25);outline-offset:2px}.bai-gift-card__option.is-selected{border-color:var(--gift-green);box-shadow:0 0 0 2px rgba(47,71,61,.15)}.bai-gift-card__service{font-weight:800;line-height:1.4}.bai-gift-card__duration{color:#6b6258}.bai-gift-card__option strong{grid-column:2;grid-row:1;color:#6f501d;white-space:nowrap}.bai-gift-card__option em{grid-column:2;grid-row:2;font-style:normal;font-weight:800;color:var(--gift-green);white-space:nowrap}
.bai-gift-card__order{scroll-margin-top:28px;margin:34px auto 0;padding:clamp(20px,4vw,34px);border:1px solid rgba(42,36,29,.16);border-radius:22px;background:#fffaf2;box-shadow:0 18px 55px rgba(77,55,25,.09)}.bai-gift-card__order[hidden]{display:none}.bai-gift-card__order h2{margin:0 0 16px}.bai-gift-card__summary{display:grid;gap:5px;padding:16px 18px;border-radius:14px;background:#efe4d2;margin-bottom:20px}.bai-gift-card__summary span{font-size:.82rem;color:#6b6258}.bai-gift-card__summary b{font-size:1.08rem}.bai-gift-card__fields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:15px}.bai-gift-card__fields label{display:grid;gap:7px;font-weight:700}.bai-gift-card__fields input,.bai-gift-card__fields textarea{width:100%;box-sizing:border-box;border:1px solid #cdbfa9;border-radius:11px;background:#fff;padding:12px;font:inherit}.bai-gift-card__fields input:focus,.bai-gift-card__fields textarea:focus{outline:3px solid rgba(183,140,55,.22);border-color:var(--gift-gold)}.bai-gift-card__message{grid-column:1/-1}.bai-gift-card__note{line-height:1.7;color:#5f584f}.bai-gift-card__checkout{width:100%;border:0;border-radius:999px;padding:14px 20px;background:var(--gift-green);color:#fff;font-weight:800;font-size:1rem}.bai-gift-card__checkout:disabled{opacity:.55;cursor:not-allowed}.bai-gift-card__pending{text-align:center;font-size:.93rem;color:#795f32;margin:10px 0 0}
.bai-gift-card__rules{margin:10px 0 18px;padding:13px 15px;border-left:3px solid var(--gift-gold);background:#f6ecdc;color:#51483f;line-height:1.65;font-size:.94rem}
.bai-gift-card__success{max-width:720px;padding:clamp(24px,5vw,46px);border:1px solid rgba(42,36,29,.15);border-radius:24px;background:#fffaf2;text-align:center;box-shadow:0 18px 55px rgba(77,55,25,.1)}.bai-gift-card__success h2{margin:0 0 10px;font-size:clamp(1.65rem,4vw,2.4rem)}.bai-gift-card__success-service{margin:0 0 22px;color:#62594e;font-size:1.05rem}.bai-gift-card__success-code{display:grid;gap:8px;padding:18px;border-radius:16px;background:#efe4d2}.bai-gift-card__success-code span{font-size:.88rem;color:#6b6258}.bai-gift-card__success-code strong{font-size:clamp(1.35rem,5vw,2rem);letter-spacing:.08em;color:#6f501d}.bai-gift-card__success-note{margin:22px 0 0;font-size:1.08rem;line-height:1.75;font-weight:700;color:var(--gift-green)}
@media(max-width:700px){.bai-gift-card__options,.bai-gift-card__fields{grid-template-columns:1fr}.bai-gift-card__option{min-height:88px}.bai-gift-card__family summary{font-size:1.08rem}.bai-gift-card__message{grid-column:auto}}
@media(prefers-reduced-motion:reduce){.bai-gift-card__option{transition:none}}

/* Optional first-booking social sign-in; direct booking remains available below. */
.bai-social-login{max-width:720px;margin:20px auto;padding:18px 20px;border:1px solid rgba(170,122,49,.28);border-radius:14px;background:#fffaf2;color:#2b2018;text-align:center}.bai-social-login p{margin:7px auto 14px;line-height:1.65}.bai-social-login .nsl-container{display:flex;justify-content:center}


/* Approved 2026-09-10: bright silver-grey background; preserve layout and original assets. */
body{background-color:#eef0f2!important;--paper:rgba(250,251,252,.92)}
body::before{filter:grayscale(1) brightness(1.12)}
body::after{background:rgba(242,244,246,.55)!important}
body .bai-v2 .site-header{background:rgba(247,249,250,.94)}
body .bai-v2 .visit-card{background:rgba(247,249,250,.94)}