/* Preview-only member surface: isolated from storefront's light-card styles. */
.sf-member-menu[hidden],.sf-member-modal[hidden],.sf-member-page[hidden],.sf-member-toast[hidden],.sf-member-inline-notice[hidden]{display:none!important}
.sf-member-trigger{width:auto;max-width:210px;border-radius:999px;padding:0 14px;gap:8px;font-size:12px;font-weight:900;white-space:nowrap;overflow:hidden}.sf-member-trigger .label{overflow:hidden;text-overflow:ellipsis}.sf-member-trigger span{font-family:'PingFang TC','Noto Sans TC',sans-serif}
.sf-member-menu{position:absolute;right:0;top:calc(100% + 10px);z-index:220;width:208px;padding:8px;border:1px solid rgba(255,255,255,.18);border-radius:12px;background:#181818;box-shadow:0 18px 46px rgba(0,0,0,.45);color:#f7f7f7}.sf-member-menu p{margin:6px 9px 8px;color:#aaa;font-size:12px}.sf-member-menu p strong{color:#fff}.sf-member-menu button{width:100%;border:0;border-radius:8px;background:transparent;padding:11px 10px;text-align:left;color:#f4f4f4;font-size:13px;font-weight:800}.sf-member-menu button:hover{background:#2b2b2b}.sf-member-menu .logout{color:#e5a6a6}
.sf-member-modal{position:fixed;z-index:500;inset:0;display:grid;place-items:center;padding:20px;background:rgba(0,0,0,.72);backdrop-filter:blur(5px)}.sf-member-modal-card{position:relative;box-sizing:border-box!important;width:calc(100% - 40px)!important;max-width:430px!important;margin:0!important;border:1px solid #3a3a3a;border-radius:16px;background:#181818;padding:32px;box-shadow:0 22px 70px rgba(0,0,0,.55);color:#f7f7f7}.sf-member-modal-card h2{margin:0;color:#fff;font-size:25px}.sf-member-modal-card>p{margin:10px 0 22px;color:#b8b8b8;font-size:13px;line-height:1.65}.sf-member-modal-card form{display:grid;gap:14px}.sf-member-modal-card label{display:grid;gap:7px;color:#dedede;font-size:12px;font-weight:900}.sf-member-modal-card input{box-sizing:border-box;width:100%;height:46px;border:1px solid #595959;border-radius:8px;padding:0 12px;background:#111;color:#fff;font-size:15px}.sf-member-modal-card .primary{width:100%;margin-top:4px}.sf-member-modal-card .sf-member-modal-close{position:absolute!important;z-index:5;right:14px;top:14px;display:grid!important;place-items:center;width:38px!important;height:38px!important;min-height:0!important;margin:0!important;padding:0!important;border:1px solid #555!important;border-radius:9px!important;background:#252525!important;color:#fff!important;font:28px/1 Arial,sans-serif!important;cursor:pointer}.sf-member-modal-card .sf-member-modal-close:hover{border-color:#fff!important;background:#333!important}.sf-member-modal-card .sf-member-modal-close:focus-visible{outline:2px solid #5daeff;outline-offset:2px}.sf-member-modal-card .hint{margin:0;color:#999;font-size:12px}.sf-member-login-switch{display:flex;justify-content:center;gap:6px;margin:18px 0 0!important;color:#aaa!important;font-size:13px!important}.sf-member-login-switch button{margin:0;padding:0;border:0;background:transparent;color:#fff;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer}.sf-member-inline-notice{margin:0!important;padding:10px 12px;border:1px solid rgba(113,215,89,.42);border-radius:8px;background:rgba(61,123,51,.18);color:#c8f1bd!important;font-size:12px!important;line-height:1.55}
.sf-member-active .sf-hero-mark,.sf-member-active .sf-hero-search,.sf-member-active .sf-footer,.sf-member-storefront .sf-hero-mark,.sf-member-storefront .sf-hero-search,.sf-member-storefront .sf-footer{display:none!important}.sf-member-active{background:#090909}.sf-member-page{box-sizing:border-box;max-width:1380px;min-height:calc(100vh - 88px);margin:0 auto;padding:56px 40px 110px;color:#f4f4f4;background:#090909}.sf-member-page-top{margin-bottom:34px}.sf-member-page h2{margin:0;color:#fff;font:800 44px/1 'Michroma','Noto Sans TC',sans-serif;letter-spacing:.08em}.sf-member-layout{display:grid;grid-template-columns:220px minmax(0,1fr);align-items:stretch;gap:44px;min-height:430px}.sf-member-nav{display:grid;align-content:start;gap:6px;padding:6px;border:1px solid #333;border-radius:12px;background:#151515}.sf-member-nav button{width:100%;border:0;border-left:2px solid transparent;border-radius:8px;background:transparent;padding:15px 14px;text-align:left;color:#c6c6c6;font-weight:800;cursor:pointer}.sf-member-nav button:hover{background:#242424;color:#fff}.sf-member-nav button.active{border-left-color:#fff;background:#292929;color:#fff}.sf-member-nav span{float:right;color:#a6a6a6;font-size:12px}.sf-member-card{box-sizing:border-box;width:100%;max-width:none;min-height:430px;border:1px solid #3a3a3a;border-radius:15px;padding:38px;background:#151515;color:#f4f4f4}.sf-member-card-head{display:flex;justify-content:space-between;align-items:flex-start;gap:18px;margin-bottom:30px}.sf-member-card h3{margin:0;color:#fff;font-size:20px}.sf-member-card-head p{margin:7px 0 0;color:#a8a8a8;font-size:13px}.sf-member-verified{flex:0 0 auto;padding:5px 9px;border:1px solid rgba(114,215,89,.4);border-radius:999px;background:rgba(60,130,49,.18);color:#aeea9f;font-size:11px;font-weight:800}.sf-member-edit-fields{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.sf-member-edit-fields label{display:grid;gap:8px;min-width:0;color:#d2d2d2;font-size:12px;font-weight:850}.sf-member-edit-fields input{box-sizing:border-box;width:100%;height:48px;min-width:0;border:1px solid #565656;border-radius:8px;padding:0 12px;background:#0e0e0e;color:#fff;font:14px/1 'PingFang TC','Noto Sans TC',sans-serif}.sf-member-edit-fields input:focus{outline:0;border-color:#aaa;box-shadow:0 0 0 3px rgba(255,255,255,.08)}.sf-member-edit-fields input:disabled{border-color:#393939;background:#202020;color:#c8c8c8;opacity:1;text-overflow:ellipsis}.sf-member-card form>.sf-member-primary{margin-top:24px}.sf-member-note{display:flex;gap:10px;margin-top:30px;padding:16px;border:1px solid #363636;border-radius:10px;background:#222;color:#d8d8d8;font-size:12px;line-height:1.6}.sf-member-note strong{color:#fff}.sf-member-note b{display:grid;place-items:center;flex:0 0 21px;height:21px;border-radius:50%;background:#77d65e;color:#10270b}.sf-member-orders{display:grid;align-content:start;gap:12px}.sf-member-order{display:grid;grid-template-columns:minmax(0,1fr) auto auto;align-items:center;gap:20px;border:1px solid #3a3a3a;border-radius:13px;padding:20px 22px;background:#151515;color:#f4f4f4}.sf-member-order-no{margin:0 0 7px;color:#999;font:11px 'Michroma',monospace}.sf-member-order h3{margin:0;color:#fff;font-size:15px}.sf-member-order-meta{margin:9px 0 0;color:#aaa;font-size:12px}.sf-member-statuses{display:flex;gap:7px}.sf-member-status{padding:6px 9px;border-radius:999px;font-size:11px;font-weight:800;white-space:nowrap}.sf-member-status.paid{background:rgba(61,137,59,.22);color:#aeea9f}.sf-member-status.ship{background:rgba(89,102,187,.27);color:#c8d0ff}.sf-member-status.done{background:#303030;color:#ddd}.sf-member-outline,.sf-member-primary{min-height:42px;border-radius:999px;padding:0 17px;font-size:13px;font-weight:900;cursor:pointer}.sf-member-outline{border:1px solid #666;background:transparent;color:#f5f5f5}.sf-member-outline:hover{border-color:#fff;background:#272727}.sf-member-primary{border:1px solid #eee;background:#eee;color:#111}.sf-member-primary:hover{background:#fff}.sf-member-toast{position:fixed;z-index:600;top:22px;right:22px;display:flex;align-items:center;gap:9px;min-width:164px;padding:13px 16px;border:1px solid rgba(255,255,255,.16);border-radius:10px;background:rgba(20,20,20,.92);color:#fff;box-shadow:0 12px 32px rgba(0,0,0,.35);font-size:13px;font-weight:800;backdrop-filter:blur(9px)}.sf-member-toast i{display:grid;place-items:center;width:19px;height:19px;border-radius:50%;background:#83e15d;color:#10260b;font-style:normal}
/* Use Raven Select's existing English face throughout the member preview. */
.sf-member-modal-card form[hidden]{display:none!important}
.sf-member-page h2{font:800 40px/1 'DM Mono',monospace;letter-spacing:.045em}
.sf-member-order-no{font:700 12px/1 'DM Mono',monospace;letter-spacing:.04em}
.sf-member-order-detail-card{max-width:560px!important}.sf-member-order-detail{margin-top:24px;border-top:1px solid #363636}.sf-member-detail-meta{display:grid;grid-template-columns:1fr auto;gap:9px 18px;padding:18px 0;color:#aaa;font-size:12px}.sf-member-detail-meta strong{color:#fff;text-align:right;font-size:13px}.sf-member-detail-section{border-top:1px solid #363636;padding:18px 0}.sf-member-detail-section h3{margin:0 0 13px!important;color:#fff!important;font-size:15px!important}.sf-member-detail-product{display:flex;justify-content:space-between;gap:16px;border:1px solid #363636;border-radius:10px;padding:14px;background:#121212}.sf-member-detail-product strong,.sf-member-detail-product b{color:#fff;font-size:13px}.sf-member-detail-product b{white-space:nowrap}.sf-member-detail-product small{display:block;margin-top:6px;color:#999;font-size:12px}.sf-member-detail-status{display:grid;grid-template-columns:1fr 1fr;gap:12px 22px}.sf-member-detail-status h3{grid-column:1/-1;margin-bottom:0!important}.sf-member-detail-status div{display:grid;gap:5px}.sf-member-detail-status span{color:#999;font-size:12px}.sf-member-detail-status strong{color:#fff;font-size:13px}.sf-member-detail-recipient p{margin:0;color:#c9c9c9;font-size:13px;line-height:1.8}.sf-member-detail-total{display:flex;align-items:center;justify-content:space-between;border-top:1px solid #555;padding:19px 0 0;color:#ddd;font-size:14px}.sf-member-detail-total strong{color:#fff;font:700 17px/1 'DM Mono',monospace}
.sf-member-checkout-notice{display:grid;gap:5px;margin:0 0 16px;padding:12px 13px;border:1px solid #d8d8d8;border-radius:10px;background:#f6f6f6;color:#222;font-size:12px;line-height:1.55}.sf-member-checkout-notice strong{font-size:13px}.sf-member-checkout-notice span{color:#666}.sf-member-checkout-notice button{justify-self:start;margin-top:3px;border:1px solid #222;border-radius:999px;background:#fff;padding:7px 11px;color:#111;font-size:12px;font-weight:800;cursor:pointer}
.sf-member-primary[aria-busy="true"]{position:relative;cursor:wait;opacity:.76}.sf-member-primary[aria-busy="true"]::before{content:"";display:inline-block;width:12px;height:12px;margin:0 8px -2px 0;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:sf-member-spin .7s linear infinite}@keyframes sf-member-spin{to{transform:rotate(360deg)}}
/* Preview checkout: keep the collection-store input consistent with the
   surrounding contact fields rather than presenting it as a separate card. */
body.storefront-fast-checkout .checkout-app #f-store{padding:0!important;border:0!important;border-radius:0!important;background:transparent!important}
body.storefront-fast-checkout .checkout-app #f-store label::before{content:none!important;display:none!important}
/* Order and contact-data presentation. */
.sf-member-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-member-edit-fields label>span{color:#bdbdbd;font-size:12px}.sf-member-edit-fields input:disabled{color:#e2e2e2}.sf-member-order{grid-template-columns:64px minmax(0,1fr) auto auto}.sf-member-order-thumb{width:64px;height:64px;object-fit:cover;border:1px solid #3d3d3d;border-radius:9px;background:#262626}.sf-member-order-main{min-width:0}.sf-member-order-main h3{overflow-wrap:anywhere}.sf-member-detail-product{display:grid;grid-template-columns:72px minmax(0,1fr) auto;align-items:start;gap:13px}.sf-member-detail-product img{width:72px;height:72px;object-fit:cover;border-radius:9px;background:#272727}.sf-member-detail-product small{overflow-wrap:anywhere}.sf-member-detail-recipient dl{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px 24px;margin:0}.sf-member-detail-recipient dl div{display:grid;gap:4px}.sf-member-detail-recipient dt{color:#999;font-size:12px}.sf-member-detail-recipient dd{margin:0;color:#eee;font-size:13px;overflow-wrap:anywhere}.sf-member-money{display:grid;gap:10px}.sf-member-money h3{margin-bottom:5px!important}.sf-member-money-row{display:flex;justify-content:space-between;gap:18px;color:#cfcfcf;font-size:13px}.sf-member-money-row strong{color:#fff}.sf-member-money-row.discount strong{color:#b9e5ae}.sf-member-money-row.total{margin-top:4px;padding-top:14px;border-top:1px solid #4c4c4c;color:#fff;font-weight:800;font-size:15px}.sf-member-money-row.total strong{font:700 18px/1 'DM Mono',monospace}.sf-member-deposit-note{margin:4px 0 0;padding:10px 12px;border:1px solid #5b5133;border-radius:8px;background:#282419;color:#e6d29f;font-size:12px;line-height:1.6}
@media(max-width:719px){.sf-member-edit-fields{grid-template-columns:1fr}.sf-member-order{grid-template-columns:56px minmax(0,1fr);gap:12px}.sf-member-order-thumb{width:56px;height:56px}.sf-member-order .sf-member-statuses{grid-column:1/-1;grid-row:auto}.sf-member-order .sf-member-outline{grid-column:1/-1;grid-row:auto;width:100%}.sf-member-detail-product{grid-template-columns:58px minmax(0,1fr);gap:11px}.sf-member-detail-product img{width:58px;height:58px}.sf-member-detail-product b{grid-column:2;margin:0}.sf-member-detail-recipient dl{grid-template-columns:1fr;gap:11px}}
@media(max-width:900px){.sf-member-edit-fields{grid-template-columns:repeat(2,minmax(0,1fr))}.sf-member-edit-fields label:last-child{grid-column:1/-1}.sf-member-layout{gap:24px}}
@media(max-width:719px){.sf-member-trigger{width:38px;max-width:38px;padding:0;border-radius:50%}.sf-member-trigger .label{display:none}.sf-member-page{min-height:calc(100vh - 64px);padding:30px 16px 56px}.sf-member-page h2{font-size:27px;letter-spacing:.06em}.sf-member-page-top{margin-bottom:24px}.sf-member-layout{grid-template-columns:1fr;min-height:0;gap:16px}.sf-member-nav{grid-template-columns:1fr 1fr;gap:0;padding:4px}.sf-member-nav button{border-left:0;border-bottom:2px solid transparent;text-align:center;padding:12px 7px}.sf-member-nav button.active{border-left:0;border-bottom-color:#fff}.sf-member-card{min-height:0;padding:21px 18px}.sf-member-card-head{display:block;margin-bottom:20px}.sf-member-verified{display:inline-block;margin-top:12px}.sf-member-edit-fields{grid-template-columns:1fr;gap:14px}.sf-member-edit-fields label:last-child{grid-column:auto}.sf-member-order{grid-template-columns:1fr auto;gap:14px;padding:18px}.sf-member-statuses{grid-row:2}.sf-member-order .sf-member-outline{grid-column:2;grid-row:2}.sf-member-modal-card{padding:28px 22px}.sf-member-toast{top:14px;right:14px;left:14px;min-width:0}}

/* Production renderer adapter: preserves the Preview surface without changing
   its layout, while keeping this worktree's existing DOM and overlay contract. */
#storefront.raven-member-active>:is(.sf-storefront-hero,#sfMain,.sf-storefront-footer){display:none!important}
/* Private member pages mount after #storefront. Once the storefront-only
   surfaces above are hidden, the former full-viewport storefront must collapse
   so it cannot leave a blank screen before the member portal. The fixed Header
   remains independently visible. */
#storefront.raven-member-active{min-height:0!important;flex:0 0 auto!important}
/* Private member pages belong below the persistent storefront header. Only an
   active member dialog is elevated to the overlay layer. */
.raven-member-portal{position:relative;z-index:var(--raven-z-base)}
.raven-member-portal:has(.sf-member-modal:not([hidden])){z-index:var(--raven-z-member-portal)}
.raven-member-portal .sf-member-modal{z-index:var(--raven-z-member-portal)}
.raven-member-portal .sf-member-toast{z-index:var(--raven-z-toast)}
.sf-member-modal>#sfMemberPage{display:grid;width:100%;place-items:center}
.raven-member-divider{margin:20px 0;border:0;border-top:1px solid #3a3a3a}
.raven-member-help{margin:18px 0 0;color:#aaa;font-size:13px;text-align:center}
.raven-member-help .raven-member-text-button{margin:0;padding:0;border:0;background:transparent;color:#fff;font:inherit;font-weight:900;text-decoration:underline;cursor:pointer}
.raven-member-login-switch{flex-wrap:wrap;column-gap:10px;row-gap:8px}.raven-member-login-separator{color:var(--member-preview-muted);line-height:1}
.sf-member-inline-notice.raven-member-notice--error{border-color:rgba(237,91,80,.7);background:rgba(152,41,35,.22);color:#ffd1cd!important}
.raven-member-orders-empty{display:grid;min-height:230px;place-items:center;border:1px dashed #424242;border-radius:12px;padding:28px;text-align:center}
.raven-member-orders-empty .raven-member-status{display:grid;gap:8px;justify-items:center;color:#aaa}
.raven-member-orders-empty .raven-member-status>div:last-child{display:grid;gap:8px;justify-items:center}
.raven-member-orders-empty .raven-member-status-mark{color:#fff;font-size:16px;line-height:1}
.raven-member-orders-empty h3{margin:0;color:#fff;font-size:28px;line-height:1.25}
@media(max-width:719px){.sf-member-order-detail-card{padding:26px 20px!important}.sf-member-detail-status{grid-template-columns:1fr}.sf-member-detail-status h3{grid-column:auto}.sf-member-detail-product{display:grid;grid-template-columns:58px minmax(0,1fr);align-items:start;gap:11px}.sf-member-detail-product img{grid-row:1/span 2}.sf-member-detail-product>div{grid-column:2;grid-row:1}.sf-member-detail-product b{grid-column:2;grid-row:2;margin:0}.sf-member-detail-meta{gap:9px 10px}}
/* Keep a member account Email literal; never replace a long address with an ellipsis. */
.sf-member-edit-fields input:disabled{text-overflow:clip}
/* Desktop order details use the available width as an e-commerce summary,
   while the compact mobile card remains a readable single column. */
@media(min-width:720px){
  .sf-member-order-detail-card{max-width:1040px!important}
  .sf-member-order-detail{display:grid;grid-template-columns:minmax(0,1.16fr) minmax(300px,.84fr);column-gap:38px;align-items:start}
  .sf-member-detail-meta{grid-column:1/-1}
  .sf-member-detail-products,.sf-member-detail-recipient{grid-column:1}
  .sf-member-detail-products{grid-row:2}
  .sf-member-detail-recipient{grid-row:3}
  .sf-member-detail-sidebar{display:grid;grid-column:2;grid-row:2/span 2;align-content:start}
}

/* Keep the verified 2026-07-25 member runtime visually intact without
   replacing the current storefront's Hero, Header, product, or cart styles. */
:root{--member-preview-bg:#fff;--member-preview-surface:#fff;--member-preview-soft:#f5f5f5;--member-preview-text:#111;--member-preview-muted:#5e5e5e;--member-preview-border:var(--border-strong);--member-preview-input:#fff;--member-preview-button:#111;--member-preview-button-text:#fff;--member-preview-overlay:rgba(0,0,0,.48);--member-preview-shadow:0 20px 60px rgba(0,0,0,.14)}
html[data-theme="dark"]{--member-preview-bg:#0b0d10;--member-preview-surface:#15181c;--member-preview-soft:#1d2126;--member-preview-text:#f7f8fa;--member-preview-muted:#c7cbd1;--member-preview-border:#4b525c;--member-preview-input:#111419;--member-preview-button:#fff;--member-preview-button-text:#111;--member-preview-overlay:rgba(0,0,0,.76);--member-preview-shadow:0 22px 70px rgba(0,0,0,.52)}

/* The member page lives in the existing storefront document.  The shared
   Header keeps its exact Homepage geometry while the storefront surface is
   temporarily replaced by the original member view. */
.preview-hero[hidden]{display:none!important}
.sf-member-page{box-sizing:border-box;max-width:1380px;min-height:100dvh;margin:0 auto;padding:134px 40px 110px!important;background:var(--member-preview-bg)!important;color:var(--member-preview-text)!important}
.sf-member-active{background:var(--member-preview-bg)!important}

/* Directly carried member surface: login, registration, password reset,
   account, orders, details, import confirmation, and checkout member notice. */
.sf-member-modal{background:var(--member-preview-overlay)!important}
.sf-member-modal-card,.sf-member-card,.sf-member-order,.sf-member-nav{background:var(--member-preview-surface)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important;box-shadow:var(--member-preview-shadow)!important}
.sf-member-modal-card h2,.sf-member-card h3,.sf-member-page h2,.sf-member-detail-section h3,.sf-member-detail-product strong,.sf-member-detail-product b,.sf-member-detail-meta strong,.sf-member-detail-status strong,.sf-member-detail-recipient dd,.sf-member-money-row strong{color:var(--member-preview-text)!important}
.sf-member-modal-card>p,.sf-member-modal-card .hint,.sf-member-login-switch,.sf-member-login-switch span,.sf-member-card-head p,.sf-member-order-meta,.sf-member-order-no,.sf-member-detail-meta,.sf-member-detail-recipient dt,.sf-member-detail-product small,.sf-member-detail-status span{color:var(--member-preview-muted)!important}
.sf-member-modal-card label,.sf-member-edit-fields label,.sf-member-edit-fields label>span{color:var(--member-preview-text)!important}
.sf-member-modal-card input,.sf-member-edit-fields input{background:var(--member-preview-input)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
.sf-member-edit-fields input:disabled{background:var(--member-preview-soft)!important;color:var(--member-preview-muted)!important}
.sf-member-modal-card .sf-member-modal-close{background:var(--member-preview-soft)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
.sf-member-login-switch button{color:var(--member-preview-text)!important}
.sf-member-nav button{color:var(--member-preview-muted)!important}.sf-member-nav button:hover,.sf-member-nav button.active{background:var(--member-preview-soft)!important;color:var(--member-preview-text)!important;border-color:var(--member-preview-text)!important}
.sf-member-note,.sf-member-detail-product{background:var(--member-preview-soft)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
.sf-member-outline{background:transparent!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}.sf-member-outline:hover{background:var(--member-preview-soft)!important;border-color:var(--member-preview-text)!important}
.sf-member-primary{background:var(--member-preview-button)!important;border-color:var(--member-preview-button)!important;color:var(--member-preview-button-text)!important}
.sf-member-menu{background:var(--member-preview-surface)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important;box-shadow:var(--member-preview-shadow)!important}.sf-member-menu p,.sf-member-menu p strong,.sf-member-menu button{color:var(--member-preview-text)!important}.sf-member-menu button:hover{background:var(--member-preview-soft)!important}
.sf-member-toast{background:color-mix(in srgb,var(--member-preview-surface) 91%,transparent)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
.sf-member-checkout-notice{background:var(--member-preview-soft)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}.sf-member-checkout-notice span{color:var(--member-preview-muted)!important}.sf-member-checkout-notice button{background:var(--member-preview-surface)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
.sf-member-money-row{color:var(--member-preview-muted)!important}.sf-member-money-row.total{border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}

/* 2026-07-25 runtime theme bindings.  These are the original component
   rules that were missing from the first integration; keep them limited to
   member and checkout surfaces so the current Hero and catalogue stay intact. */
html[data-theme] .sf-member-page :is(.sf-member-status){background:var(--member-preview-soft)!important;color:var(--member-preview-text)!important;border:1px solid var(--member-preview-border)!important}
html[data-theme="light"] .sf-member-page .sf-member-status.is-success{background:#e5f2e8!important;border-color:#a9cdb3!important;color:#286641!important}
html[data-theme="light"] .sf-member-page .sf-member-status.is-warning{background:#f9edcf!important;border-color:#dfc281!important;color:#805400!important}
html[data-theme="light"] .sf-member-page .sf-member-status.is-info{background:#e7eff9!important;border-color:#a8c1e2!important;color:#285b93!important}
html[data-theme="light"] .sf-member-page .sf-member-status.is-danger{background:#f9e5e3!important;border-color:#d9aaa5!important;color:#9d3934!important}
html[data-theme="dark"] .sf-member-page .sf-member-status.is-success{background:rgba(40,111,66,.34)!important;border-color:rgba(116,228,154,.42)!important;color:#c8f6d3!important}
html[data-theme="dark"] .sf-member-page .sf-member-status.is-warning{background:rgba(130,93,19,.34)!important;border-color:rgba(242,201,76,.42)!important;color:#ffe19a!important}
html[data-theme="dark"] .sf-member-page .sf-member-status.is-info{background:rgba(44,89,145,.34)!important;border-color:rgba(154,199,255,.42)!important;color:#c9e0ff!important}
html[data-theme="dark"] .sf-member-page .sf-member-status.is-danger{background:rgba(139,55,51,.34)!important;border-color:rgba(255,170,166,.42)!important;color:#ffc9c5!important}
html[data-theme] .sf-member-modal-card .sf-member-kicker{color:var(--member-preview-muted)!important}
html[data-theme] .sf-member-inline-notice{background:color-mix(in srgb,#34783c 14%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#34783c 56%,var(--member-preview-border))!important;color:var(--member-preview-text)!important}
html[data-theme="dark"] .sf-member-inline-notice{background:color-mix(in srgb,#8fe873 14%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#8fe873 56%,var(--member-preview-border))!important;color:var(--member-preview-text)!important}
html[data-theme="light"] .sf-member-page .sf-member-verified{background:color-mix(in srgb,#34783c 13%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#34783c 48%,var(--member-preview-border))!important;color:#34783c!important}
html[data-theme="dark"] .sf-member-page .sf-member-verified{background:color-mix(in srgb,#8fe873 14%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#8fe873 52%,var(--member-preview-border))!important;color:#8fe873!important}
.sf-member-note strong{color:var(--member-preview-text)!important}.sf-member-note b{color:#10270b!important}
html[data-theme] .sf-member-detail-product{padding:10px 0!important;align-items:center!important;border:0!important;border-radius:0!important;background:transparent!important;box-shadow:none!important}
html[data-theme] .sf-member-detail-product + .sf-member-detail-product{border-top:1px solid var(--member-preview-border)!important}
html[data-theme] .sf-member-detail-product img{width:64px!important;height:64px!important}
html[data-theme] .sf-member-detail-product>div{min-width:0}.sf-member-detail-product strong{font-size:14px!important;line-height:1.45!important;overflow-wrap:anywhere!important}.sf-member-detail-product small{font-size:12px!important;line-height:1.4!important}.sf-member-detail-product b{align-self:start!important;font-size:14px!important}
html[data-theme] .sf-member-detail-status{gap:16px!important;align-content:start!important}.sf-member-status-item{display:grid!important;gap:7px!important;align-content:start!important}.sf-member-status-item>span{color:var(--member-preview-muted)!important;font-size:13px!important}
html[data-theme] .sf-member-order-merge{margin:9px 0 0;color:var(--member-preview-muted);font-size:12px;line-height:1.5;overflow-wrap:anywhere}.sf-member-status.is-cancelled{background:rgba(139,55,51,.34);border:1px solid rgba(255,170,166,.42);color:#ffc9c5}.sf-member-status.is-pending{background:rgba(130,93,19,.34);border:1px solid rgba(242,201,76,.42);color:#ffe19a}
html[data-theme] .sf-member-detail-badge{display:inline-flex!important;width:max-content!important;max-width:100%!important;align-items:center!important;min-height:28px!important;box-sizing:border-box!important;border:1px solid var(--member-preview-border)!important;border-radius:999px!important;padding:4px 10px!important;color:var(--member-preview-text)!important;background:var(--member-preview-soft)!important;font-size:13px!important;font-weight:750!important;overflow-wrap:anywhere!important}
html[data-theme] .sf-member-detail-badge.is-success{border-color:color-mix(in srgb,#34783c 52%,var(--member-preview-border))!important;background:color-mix(in srgb,#34783c 14%,var(--member-preview-surface))!important;color:#34783c!important}
html[data-theme="dark"] .sf-member-detail-badge.is-success{border-color:color-mix(in srgb,#8fe873 52%,var(--member-preview-border))!important;background:color-mix(in srgb,#8fe873 14%,var(--member-preview-surface))!important;color:#8fe873!important}
html[data-theme] .sf-member-detail-badge.is-warning{border-color:color-mix(in srgb,#a65d00 48%,var(--member-preview-border))!important;background:color-mix(in srgb,#a65d00 13%,var(--member-preview-surface))!important;color:#a65d00!important}
html[data-theme="dark"] .sf-member-detail-badge.is-warning{border-color:color-mix(in srgb,#f2c94c 48%,var(--member-preview-border))!important;background:color-mix(in srgb,#f2c94c 13%,var(--member-preview-surface))!important;color:#f2c94c!important}
html[data-theme] .sf-member-detail-badge.is-info{border-color:color-mix(in srgb,#2463a5 46%,var(--member-preview-border))!important;background:color-mix(in srgb,#2463a5 12%,var(--member-preview-surface))!important;color:#2463a5!important}
html[data-theme="dark"] .sf-member-detail-badge.is-info{border-color:color-mix(in srgb,#9ac7ff 46%,var(--member-preview-border))!important;background:color-mix(in srgb,#9ac7ff 12%,var(--member-preview-surface))!important;color:#9ac7ff!important}
html[data-theme] .sf-member-detail-badge.is-danger{border-color:color-mix(in srgb,#b53c39 48%,var(--member-preview-border))!important;background:color-mix(in srgb,#b53c39 12%,var(--member-preview-surface))!important;color:#b53c39!important}
html[data-theme="dark"] .sf-member-detail-badge.is-danger{border-color:color-mix(in srgb,#ffaaa6 48%,var(--member-preview-border))!important;background:color-mix(in srgb,#ffaaa6 12%,var(--member-preview-surface))!important;color:#ffaaa6!important}
html[data-theme] .sf-member-detail-recipient{align-self:start!important;box-sizing:border-box!important;border:0!important;border-top:1px solid color-mix(in srgb,var(--member-preview-border) 88%,transparent)!important;border-radius:0!important;padding:18px 0 0!important;background:transparent!important}.sf-member-detail-recipient h3{margin-bottom:13px!important;font-size:15px!important;font-weight:600!important}.sf-member-detail-recipient dl{gap:13px 30px!important}.sf-member-detail-recipient dl>div{min-width:0!important;gap:6px!important}.sf-member-detail-recipient dt{display:flex!important;align-items:center!important;gap:6px!important;font-size:13px!important;line-height:1.25!important}.sf-member-detail-recipient dt svg{width:15px!important;height:15px!important;flex:0 0 auto!important;fill:none!important;stroke:currentColor!important;stroke-width:1.7!important;stroke-linecap:round!important;stroke-linejoin:round!important}.sf-member-detail-recipient dd{min-width:0!important;font-size:16px!important;font-weight:400!important;line-height:1.38!important;overflow-wrap:anywhere!important}
html[data-theme] .sf-member-empty-value{color:#a65d00!important;font-size:14px!important;font-weight:700!important}html[data-theme="dark"] .sf-member-empty-value{color:#f2c94c!important}
html[data-theme] .sf-member-money{gap:11px!important}.sf-member-money-row{font-size:14px!important}.sf-member-money-row.total{margin-top:5px!important;padding-top:15px!important;font-size:17px!important}.sf-member-money-row.total strong{font-size:22px!important}.sf-member-money-row.outstanding{margin-top:3px!important;border:1px solid color-mix(in srgb,#a65d00 44%,var(--member-preview-border))!important;border-radius:9px!important;padding:10px 11px!important;background:color-mix(in srgb,#a65d00 11%,var(--member-preview-surface))!important;color:#a65d00!important;font-weight:700!important}.sf-member-money-row.outstanding strong{color:#a65d00!important}
html[data-theme] .sf-member-deposit-note{background:color-mix(in srgb,#a65d00 13%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#a65d00 48%,var(--member-preview-border))!important;color:var(--member-preview-text)!important}html[data-theme="dark"] .sf-member-deposit-note{background:color-mix(in srgb,#f2c94c 13%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#f2c94c 48%,var(--member-preview-border))!important;color:var(--member-preview-text)!important}
.sf-member-loading{display:flex!important;align-items:center!important;gap:12px!important;min-height:92px!important}.sf-member-loading p{margin:0!important;color:var(--member-preview-muted)!important}.sf-member-loading-spinner{width:18px;height:18px;flex:0 0 auto;border:2px solid color-mix(in srgb,var(--member-preview-muted) 25%,transparent);border-top-color:var(--member-preview-text);border-radius:50%;animation:sf-member-spin .7s linear infinite}@keyframes sf-member-spin{to{transform:rotate(360deg)}}@media(prefers-reduced-motion:reduce){.sf-member-loading-spinner{animation:none}}

html[data-theme] .sf-member-checkout-notice{background:var(--member-preview-soft)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}.sf-member-checkout-notice strong{color:var(--member-preview-text)!important}.sf-member-checkout-notice span{color:var(--member-preview-muted)!important}

/* Light and dark use the same semantic boundaries.  This keeps white member
   fields discernible without introducing a second visual owner. */
html[data-theme] .raven-member-divider{border-top-color:var(--member-preview-border)!important}
html[data-theme] .raven-member-help{color:var(--member-preview-muted)!important}
html[data-theme] .raven-member-help .raven-member-text-button{color:var(--member-preview-text)!important}
html[data-theme] .raven-member-orders-empty{border-color:var(--member-preview-border)!important}
html[data-theme] .raven-member-orders-empty .raven-member-status{color:var(--member-preview-muted)!important}
html[data-theme] .raven-member-orders-empty h3{color:var(--member-preview-text)!important}
html[data-theme] .sf-member-modal-card input,html[data-theme] .sf-member-edit-fields input{background:var(--member-preview-input)!important;border-color:var(--member-preview-border)!important;color:var(--member-preview-text)!important}
html[data-theme] .sf-member-edit-fields input:disabled{-webkit-appearance:none!important;appearance:none!important;border-color:transparent!important;border-radius:8px!important;background:var(--member-preview-soft)!important;box-shadow:none!important;color:var(--member-preview-muted)!important;cursor:not-allowed!important}
html[data-theme] .sf-member-readonly-value{box-sizing:border-box;display:flex;align-items:center;gap:9px;width:100%;min-height:48px;min-width:0;padding:10px 12px;border:0!important;border-radius:8px;background:var(--member-preview-soft)!important;color:var(--member-preview-muted)!important;cursor:default;font:14px/1.45 'PingFang TC','Noto Sans TC',sans-serif}
html[data-theme] .sf-member-readonly-value svg{flex:0 0 auto;width:16px;height:16px;stroke:currentColor}
html[data-theme] .sf-member-readonly-value>span{min-width:0;overflow-wrap:anywhere;white-space:normal}
html[data-theme] :is(.sf-member-modal-card,.sf-member-edit-fields) input:-webkit-autofill{-webkit-text-fill-color:var(--member-preview-text)!important;box-shadow:0 0 0 1000px var(--member-preview-input) inset,0 0 0 1px var(--member-preview-border)!important;-webkit-box-shadow:0 0 0 1000px var(--member-preview-input) inset,0 0 0 1px var(--member-preview-border)!important;caret-color:var(--member-preview-text)}
html[data-theme] .sf-member-order-thumb{border-color:var(--member-preview-border)!important;background:var(--member-preview-soft)!important}
/* A cancelled order remains actionable and readable, but is deliberately
   visually quieter than an active order.  Keep the explicit status badge at
   full contrast so its meaning is never lost in either theme. */
html[data-theme] .sf-member-order.is-cancelled{background:color-mix(in srgb,var(--member-preview-surface) 76%,var(--member-preview-bg))!important;border-color:color-mix(in srgb,var(--member-preview-border) 74%,var(--member-preview-bg))!important}
html[data-theme] .sf-member-order.is-cancelled .sf-member-order-main{opacity:.62}
html[data-theme] .sf-member-order.is-cancelled .sf-member-order-thumb{filter:grayscale(.9);opacity:.6}
html[data-theme] .sf-member-order.is-cancelled .sf-member-outline{opacity:.72}
html[data-theme] .sf-member-order.is-cancelled .sf-member-outline:focus-visible,html[data-theme] .sf-member-order.is-cancelled .sf-member-outline:hover{opacity:1}
html[data-theme] .sf-member-detail-product img{background:var(--member-preview-soft)!important}
html[data-theme] .sf-member-inline-notice.raven-member-notice--error{background:color-mix(in srgb,#b53c39 12%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#b53c39 56%,var(--member-preview-border))!important;color:var(--member-preview-text)!important}
html[data-theme="dark"] .sf-member-inline-notice.raven-member-notice--error{background:color-mix(in srgb,#ffaaa6 12%,var(--member-preview-surface))!important;border-color:color-mix(in srgb,#ffaaa6 56%,var(--member-preview-border))!important}

/* A signed-in, explicit confirmation flow for historical orders whose original
   checkout did not retain an email address.  It is deliberately separate from
   the retired public name/phone lookup surface. */
.raven-member-history-import{display:grid;gap:11px;margin-top:18px;padding:18px;border:1px solid var(--member-preview-border);border-radius:11px;background:var(--member-preview-soft);color:var(--member-preview-text)}.raven-member-history-import strong{font-size:14px}.raven-member-history-import p{margin:0;color:var(--member-preview-muted);font-size:13px;line-height:1.65}.raven-member-history-import .sf-member-outline{justify-self:start}.raven-member-import-list{display:grid;gap:8px}.raven-member-import-row{display:flex;align-items:flex-start;gap:10px;min-width:0;border:1px solid var(--member-preview-border);border-radius:8px;padding:11px 12px;background:var(--member-preview-surface);cursor:pointer}.raven-member-import-row:hover{border-color:var(--member-preview-text)}.raven-member-import-row input{width:17px;height:17px;flex:0 0 auto;margin:2px 0 0;accent-color:var(--member-preview-text)}.raven-member-import-row span{display:grid;gap:5px;min-width:0}.raven-member-import-row b{font:700 12px/1 'DM Mono',monospace;letter-spacing:.04em}.raven-member-import-row small{color:var(--member-preview-muted);font-size:12px;line-height:1.45;overflow-wrap:anywhere}.raven-member-history-import .raven-member-form{display:grid;gap:12px}

/* At compact desktop widths there is still room for an e-commerce order row.
   Keep controls in that row; stacking the action below made each card far
   taller than its content.  The genuine phone breakpoint below remains a
   deliberate single-column layout. */
@media(max-width:1279px){.sf-member-page{padding-left:24px!important;padding-right:24px!important}.sf-member-layout{grid-template-columns:180px minmax(0,1fr);gap:24px}.sf-member-order{grid-template-columns:64px minmax(160px,1fr) auto auto;align-items:center;gap:12px;padding:16px 18px}.sf-member-order-thumb{grid-row:auto}.sf-member-order-main{grid-column:auto;grid-row:auto;min-width:0}.sf-member-order-main h3{min-width:0;overflow-wrap:anywhere;word-break:normal}.sf-member-order .sf-member-statuses{grid-column:auto;grid-row:auto;display:flex;min-width:0;flex-wrap:nowrap;gap:6px}.sf-member-order .sf-member-outline{grid-column:auto;grid-row:auto;justify-self:end;width:auto;max-width:100%;white-space:nowrap}}
@media(max-width:1023px){.sf-member-layout{grid-template-columns:1fr;gap:18px}.sf-member-nav{grid-template-columns:repeat(2,minmax(0,1fr));gap:4px}.sf-member-nav button{border-left:0;border-bottom:2px solid transparent;text-align:center}.sf-member-nav button.active{border-left-color:transparent;border-bottom-color:var(--member-preview-text)}}
@media(max-width:719px){.sf-member-page{padding-left:16px!important;padding-right:16px!important}.sf-member-order{grid-template-columns:56px minmax(0,1fr);padding:16px}.sf-member-order-thumb{width:56px;height:56px}.sf-member-order .sf-member-statuses{grid-column:1/-1;grid-row:auto}.sf-member-order .sf-member-outline{grid-column:1/-1;grid-row:auto;width:100%;justify-self:stretch}}

/* Silent, content-shaped loading states.  They reserve the final layout
   without making the member surface look blocked by a request. */
.raven-member-order-skeletons{display:grid;gap:12px}.raven-member-order-skeleton{display:grid;grid-template-columns:64px minmax(0,1fr) 118px;align-items:center;gap:16px;min-height:102px;border:1px solid var(--member-preview-border);border-radius:13px;padding:18px;background:var(--member-preview-surface)}.raven-member-order-skeleton i,.raven-member-order-skeleton b,.raven-member-order-skeleton span,.raven-member-order-skeleton em,.raven-member-detail-skeleton i,.raven-member-detail-skeleton b{display:block;border-radius:6px;background:linear-gradient(90deg,var(--member-preview-soft) 20%,color-mix(in srgb,var(--member-preview-soft) 62%,var(--member-preview-surface)) 48%,var(--member-preview-soft) 76%);background-size:220% 100%;animation:raven-member-shimmer 1.3s ease-in-out infinite}.raven-member-order-skeleton>i{width:64px;height:64px;border-radius:9px}.raven-member-order-skeleton>div{display:grid;gap:10px}.raven-member-order-skeleton b{width:min(240px,75%);height:14px}.raven-member-order-skeleton span{width:48%;height:11px}.raven-member-order-skeleton span:last-child{width:31%}.raven-member-order-skeleton em{justify-self:end;width:104px;height:38px;border-radius:999px}.raven-member-detail-skeleton{display:grid;gap:24px;margin-top:24px;border-top:1px solid var(--member-preview-border)}.raven-member-detail-skeleton .raven-member-detail-meta{margin:0}.raven-member-detail-skeleton section{display:grid;gap:12px;border-top:1px solid var(--member-preview-border);padding-top:18px}.raven-member-detail-skeleton b{width:110px;height:15px}.raven-member-detail-skeleton i{height:14px}.raven-member-detail-skeleton i:last-child{width:68%}@keyframes raven-member-shimmer{to{background-position:-220% 0}}@media(max-width:719px){.raven-member-order-skeleton{grid-template-columns:56px minmax(0,1fr);padding:16px}.raven-member-order-skeleton>i{width:56px;height:56px}.raven-member-order-skeleton em{grid-column:1/-1;justify-self:stretch;width:100%}}@media(prefers-reduced-motion:reduce){.raven-member-order-skeleton :is(i,b,span,em),.raven-member-detail-skeleton :is(i,b){animation:none}}

@media(max-width:719px){.sf-member-page{min-height:100dvh;padding:102px 16px 56px!important}html[data-theme] .sf-member-modal{display:block!important;overflow-y:auto!important;overscroll-behavior:contain!important;padding:12px!important}html[data-theme] .sf-member-modal[hidden]{display:none!important}html[data-theme] .sf-member-modal-card{width:100%!important;margin:0 auto 24px!important}.sf-member-detail-product{padding:10px 0!important;align-items:start!important}.sf-member-detail-product img{width:58px!important;height:58px!important}.sf-member-detail-recipient{padding:16px 0 0!important}.sf-member-detail-recipient dl{grid-template-columns:1fr!important;gap:15px!important}.sf-member-detail-recipient dd{font-size:16px!important}.sf-member-money-row.total strong{font-size:20px!important}}
/* Login is an in-place overlay, not a member-page route: preserve the current
   storefront scroll position and never force a mobile keyboard on open. */
@media(max-width:719px){html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state).sf-member-modal{display:grid!important;place-items:center!important;overflow:hidden!important;padding:16px!important}html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state).sf-member-modal[hidden]{display:none!important}html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state) .sf-member-modal-card{width:min(420px,calc(100vw - 32px))!important;max-width:420px!important;max-height:calc(100svh - 32px)!important;margin:0!important;padding:24px 20px!important;overflow-y:auto!important}html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state) .sf-member-modal-card h2{font-size:24px!important}html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state) .sf-member-modal-card>p{margin:8px 0 18px!important}html[data-theme] :is(#sfMemberLogin,#ravenMemberShell.raven-member-auth-state) .sf-member-modal-card input{height:44px!important}}
