/* ===========================================================
   One Spa · 内页 + 配套页响应式拉平 v0.5.1（2026-06-15）
   解除 .osw-app 460px 手机壳，桌面铺开（满宽顶栏/页脚 + 居中宽栏 + 网格）。
   作用范围（按 body class scoped）：
     设施 osw-facilities / FAQ osw-faq-page / 联系 osw-contact /
     政策 osw-policy-page / 配套 onespa-packages
   首页 osw-home 由 home.css 负责，不在此；结账/购物车另由 checkout.css 处理。
   交易层零碰：预订弹层 .osw-bmodal 是 position:fixed 贴视口、≥521px 已是居中模态
   （packages.css:154-164），本表完全不动它。在各基础表之后加载，靠后覆盖。
   断点对齐 home.css：680 平板 / 1024 桌面 / 1320 宽屏。
   =========================================================== */

/* ---------- 1) 解除手机壳（这些页）---------- */
body.osw-facilities, body.osw-faq-page, body.osw-contact, body.osw-policy-page, body.onespa-packages{
  background:var(--cream);
}
body.osw-facilities .osw-app, body.osw-faq-page .osw-app, body.osw-contact .osw-app,
body.osw-policy-page .osw-app, body.onespa-packages .osw-app{
  max-width:none;margin:0;border-radius:0;box-shadow:none;overflow:visible;background:var(--cream);
}
@media (min-width:521px){
  body.osw-facilities, body.osw-faq-page, body.osw-contact, body.osw-policy-page, body.onespa-packages{
    background:var(--cream);
  }
  body.osw-facilities .osw-app, body.osw-faq-page .osw-app, body.osw-contact .osw-app,
  body.osw-policy-page .osw-app, body.onespa-packages .osw-app{
    margin:0;border-radius:0;box-shadow:none;
  }
}

/* ---------- 2) 共享顶栏：满宽 + 桌面横排导航（设施/FAQ/联系/政策，与首页一致）---------- */
body.osw-facilities .osw-site-bar, body.osw-faq-page .osw-site-bar,
body.osw-contact .osw-site-bar, body.osw-policy-page .osw-site-bar{padding:11px clamp(18px,4vw,56px);gap:16px;}
@media (min-width:1024px){
  body.osw-facilities .osw-navtoggle, body.osw-faq-page .osw-navtoggle,
  body.osw-contact .osw-navtoggle, body.osw-policy-page .osw-navtoggle{display:none;}
  body.osw-facilities .osw-nav, body.osw-faq-page .osw-nav,
  body.osw-contact .osw-nav, body.osw-policy-page .osw-nav{
    position:static;display:flex;flex-direction:row;align-items:center;gap:4px;
    background:transparent;border:none;box-shadow:none;padding:0;width:auto;margin-left:auto;order:2;}
  body.osw-facilities .osw-cart, body.osw-faq-page .osw-cart,
  body.osw-contact .osw-cart, body.osw-policy-page .osw-cart{order:3;}
  body.osw-facilities .osw-navlink, body.osw-faq-page .osw-navlink,
  body.osw-contact .osw-navlink, body.osw-policy-page .osw-navlink{
    border:none;padding:8px 15px;border-radius:100px;font-size:14px;font-weight:500;color:var(--ink-soft);}
  body.osw-facilities .osw-navlink:hover, body.osw-faq-page .osw-navlink:hover,
  body.osw-contact .osw-navlink:hover, body.osw-policy-page .osw-navlink:hover{color:var(--clay);}
  body.osw-facilities .osw-navlink.on, body.osw-faq-page .osw-navlink.on,
  body.osw-contact .osw-navlink.on, body.osw-policy-page .osw-navlink.on{color:var(--clay);font-weight:600;background:var(--peach);}
  body.osw-facilities .osw-navlang, body.osw-faq-page .osw-navlang,
  body.osw-contact .osw-navlang, body.osw-policy-page .osw-navlang{padding:0 0 0 8px;}
}

/* ---------- 3) 段落容器加大留白（桌面）---------- */
@media (min-width:1024px){
  body.osw-facilities .osw-sec, body.osw-faq-page .osw-sec,
  body.osw-contact .osw-sec, body.osw-policy-page .osw-sec,
  body.onespa-packages .osw-sec{padding:clamp(48px,5vw,80px) clamp(24px,5vw,56px);}
}

/* ---------- 4) 设施页：满宽 hero + 3 列设施网格 ---------- */
body.osw-facilities .osw-hero.short .osw-hero-img{height:clamp(220px,34vw,420px);}
body.osw-facilities .osw-faclist{max-width:1180px;margin:0 auto;display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,24px);}
body.osw-facilities .osw-fac{margin:0;display:flex;flex-direction:column;}
body.osw-facilities .osw-fac-img{height:clamp(150px,18vw,210px);}
body.osw-facilities .osw-fac-body{flex:1;}
body.osw-facilities .osw-tgal{max-width:1180px;margin-inline:auto;}
@media (min-width:680px){ body.osw-facilities .osw-faclist{grid-template-columns:repeat(2,1fr);} }
@media (min-width:1024px){ body.osw-facilities .osw-faclist{grid-template-columns:repeat(3,1fr);} }

/* ---------- 5) FAQ 页：舒适阅读宽栏 ---------- */
body.osw-faq-page .osw-faq{max-width:860px;margin-inline:auto;}
body.osw-faq-page .osw-faq-still{max-width:860px;margin-inline:auto;}

/* ---------- 6) 联系页：信息卡 2 列 ---------- */
body.osw-contact .osw-crow2{max-width:920px;margin-inline:auto;}
body.osw-contact .osw-cmaps{max-width:920px;margin-inline:auto;}
body.osw-contact .osw-cnote{max-width:920px;margin-inline:auto;}
@media (min-width:680px){
  body.osw-contact .osw-crow2{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;}
  body.osw-contact .osw-crow2 .osw-cinfo{margin:0;}
}

/* ---------- 7) 政策页：长文限行宽（~720 最佳阅读）---------- */
body.osw-policy-page .osw-policy{max-width:720px;margin-inline:auto;}

/* ---------- 8) 配套页：满宽 hero + 套餐多列网格（弹层不碰）---------- */
/* === P1 DESKTOP START === */
body.onespa-packages .osw-bar-nav{display:none;}
body.onespa-packages .osw-bar{gap:14px;padding-inline:max(20px,calc((100% - 1180px) / 2));}
body.onespa-packages .osw-chips{padding-inline:max(20px,calc((100% - 1180px) / 2));}
body.onespa-packages #packages{max-width:none;margin-inline:0;}
body.onespa-packages #packages .osw-sec-head,
body.onespa-packages #packages .osw-pkgrid{max-width:1180px;margin-inline:auto;}
body.onespa-packages #packages .osw-pkgrid{display:grid;grid-template-columns:1fr;gap:clamp(16px,2vw,24px);align-items:stretch;}
body.onespa-packages #packages .osw-pk{margin-bottom:0;height:100%;display:flex;flex-direction:column;}
body.onespa-packages #packages .osw-pk-body{display:flex;flex-direction:column;flex:1;}
body.onespa-packages #packages .osw-ctas{margin-top:auto;}
@media (min-width:680px){
  body.onespa-packages .osw-hero-img{height:clamp(320px,42vw,440px);}
  body.onespa-packages .osw-hero-cap{left:max(24px,calc((100% - 900px) / 2));right:auto;max-width:560px;}
  body.onespa-packages #packages .osw-pkgrid{grid-template-columns:repeat(2,1fr);}
}
@media (min-width:1024px){
  body.onespa-packages .osw-bar-nav{display:flex;align-items:center;gap:4px;margin-left:auto;order:2;}
  body.onespa-packages .osw-bar-navlink{border:none;padding:8px 15px;border-radius:100px;font-size:14px;font-weight:500;color:var(--ink-soft);}
  body.onespa-packages .osw-bar-navlink:hover{color:var(--clay);}
  body.onespa-packages .osw-bar-navlink.on{color:var(--clay);font-weight:600;background:var(--peach);}
  body.onespa-packages .osw-barR{order:3;}
  body.onespa-packages .osw-hero-img{height:clamp(380px,38vw,520px);}
  body.onespa-packages .osw-hero-cap{left:max(24px,calc((100% - 1180px) / 2));}
  body.onespa-packages .osw-chips{justify-content:center;overflow:visible;}
  body.onespa-packages #packages .osw-pkgrid{grid-template-columns:repeat(3,1fr);}
}
/* === P1 DESKTOP END === */
/* 组合 / 按摩 / 包房 / 须知：居中、限宽，单列内容不要铺满 */
body.onespa-packages #combos .osw-combo,
body.onespa-packages #combos .osw-fine{max-width:780px;margin-inline:auto;}
body.onespa-packages #combos .osw-fine{margin-top:14px;}
body.onespa-packages #massage .osw-upsell,
body.onespa-packages #massage .osw-mlist{max-width:820px;margin-inline:auto;}
body.onespa-packages #room .osw-pk{max-width:680px;margin-inline:auto;}
body.onespa-packages #notes .osw-notice{max-width:780px;margin-inline:auto;}
/* 按摩列表桌面 2 列（纯展示行，安全）*/
@media (min-width:1024px){
  body.onespa-packages #massage .osw-mlist{max-width:1000px;display:grid;grid-template-columns:1fr 1fr;gap:0 24px;}
  body.onespa-packages #massage .osw-mrow{border-bottom:1px dashed var(--line-soft);}
}

/* ---------- 9) 共享页脚满宽铺开（设施/FAQ/联系/政策；与首页同款）---------- */
body.osw-facilities .osw-sfoot-cta, body.osw-faq-page .osw-sfoot-cta,
body.osw-contact .osw-sfoot-cta, body.osw-policy-page .osw-sfoot-cta{padding:clamp(44px,5vw,72px) clamp(20px,5vw,56px) clamp(30px,4vw,44px);}
body.osw-facilities .osw-sfoot-grid, body.osw-faq-page .osw-sfoot-grid,
body.osw-contact .osw-sfoot-grid, body.osw-policy-page .osw-sfoot-grid,
body.osw-facilities .osw-sfoot-base, body.osw-faq-page .osw-sfoot-base,
body.osw-contact .osw-sfoot-base, body.osw-policy-page .osw-sfoot-base{max-width:1180px;margin-inline:auto;}
@media (min-width:768px){
  body.osw-facilities .osw-sfoot-grid, body.osw-faq-page .osw-sfoot-grid,
  body.osw-contact .osw-sfoot-grid, body.osw-policy-page .osw-sfoot-grid{grid-template-columns:repeat(3,1fr);}
  body.osw-facilities .osw-sfoot-col:last-child, body.osw-faq-page .osw-sfoot-col:last-child,
  body.osw-contact .osw-sfoot-col:last-child, body.osw-policy-page .osw-sfoot-col:last-child{grid-column:auto;}
}

/* ---------- 10) 结账 / 购物车壳：去手机壳浮卡 → 满宽顶栏 + 居中表单栏 ----------
   表单本就该窄栏居中（过宽反而难填），只去掉"浮在渐变上的手机卡片"观感、顶栏拉满。
   完全不碰 WooCommerce Blocks 结构/逻辑（侧栏摘要去重、地址隐藏、下单按钮等照旧）。
   body.onespa-checkout 同时覆盖结账与购物车（购物车 body 另带 onespa-cart）。 */
body.onespa-checkout{background:var(--cream);}
@media (min-width:521px){ body.onespa-checkout{background:var(--cream);} }
body.onespa-checkout .osw-co{max-width:none;margin:0;border-radius:0;box-shadow:none;min-height:100vh;}
@media (min-width:521px){ body.onespa-checkout .osw-co{margin:0;border-radius:0;box-shadow:none;} }
body.onespa-checkout .osw-co-bar{padding:12px clamp(20px,4vw,48px);}
body.onespa-checkout .osw-co-voucher,
body.onespa-checkout .osw-co-upsell,
body.onespa-checkout .osw-co-datewarn,
body.onespa-checkout .osw-co-main{max-width:620px;margin-inline:auto;width:100%;}

@media (prefers-reduced-motion:reduce){
  body.osw-facilities *, body.osw-faq-page *, body.osw-contact *, body.osw-policy-page *, body.onespa-packages *{scroll-behavior:auto !important;}
}
