/* GX-20260915-02：客户端连续浏览布局，仅 customer.html 加载。 */
.phone,.mobile{max-width:1100px}
.mobile{background:#fffafa}
.pad{padding:20px 28px}
.pb-safe{padding-bottom:180px}
#st1,#st2,#st3,#st4,#st5,#st6{scroll-margin-top:90px}
.v2-hero,.v2-hero:not(.has-scene){min-height:0;padding:24px 30px 26px;background:linear-gradient(115deg,#fff7f0 0%,#fff1f6 50%,#f7d2df 100%);color:#54223b}
.v2-hero .kicker{font-size:14px;color:#b34d73;letter-spacing:1px}
.v2-hero:not(.has-scene) h1{font-size:32px;line-height:1.25;margin:18px 0 10px;letter-spacing:-.5px}
.v2-hero p{max-width:640px;font-size:15px;text-shadow:none}
.hero-top{display:flex;justify-content:space-between;align-items:center;gap:14px}
.hero-top>.between{margin:0;gap:10px;max-width:60%}
.hero-top>.between>.muted{display:none}
.hero-top .btn{min-height:44px;background:transparent;box-shadow:none;border:0;color:#ad4f73;padding:6px 8px;font-size:14px}
.preview-tip{max-width:none;margin:10px 28px 0;justify-content:flex-start}
.v3-steps,.v3-steps.show{position:sticky;top:0;max-width:none;transform:none;box-shadow:none;background:rgba(255,251,253,.96);z-index:80}
.v3-steps-in{padding:8px 20px;gap:10px;justify-content:space-between}
.v3-step{min-height:44px;padding:6px 10px;font-size:14px;border-radius:0;gap:8px;color:#77717c}
.v3-step i{width:25px;height:25px;font-size:13px;background:#eee9ed;color:#77717c}
.v3-step.on{color:#6b2545;background:transparent;box-shadow:none;font-weight:600}
.v3-step.on i,.v3-step.done i{background:#b75a7c;color:#fff}
.v3-step.done{color:#94506a}
.v3-mini{display:none!important}
.v3-prog{display:none}
.sec{margin:28px 0 12px;align-items:center;flex-wrap:wrap;gap:8px}
.sec h2{font-size:22px;color:#58253e}
.sec .n{display:none}
.sec .hint{margin-left:0;font-size:13px}
.card{box-shadow:none;border-radius:14px;padding:20px}
.basic-card{position:relative}
.basic-toggle{display:block;margin:0 0 12px auto;min-height:44px;color:#a44b6d;font-size:14px;padding:0 10px}
.basic-summary{font-size:15px;color:#66545d;line-height:1.8}
#basicFields{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:4px 22px}
#basicFields[hidden]{display:none}
#basicFields>.note{grid-column:1/-1}
.inp{min-width:0;width:100%;min-height:44px}
.row2{min-width:0;grid-template-columns:repeat(2,minmax(0,1fr))}
#basicFields>.field,.row2>.field{min-width:0}
.date-slot-row{grid-column:1/-1;grid-template-columns:repeat(auto-fit,minmax(min(100%,300px),1fr));gap:14px 22px}
.date-slot-row .inp{box-sizing:border-box;min-width:0;max-width:100%;width:100%;height:max(52px,calc(1.5em + 22px));min-height:52px;line-height:1.5;font-size:16px;padding:10px}
.date-slot-row select.inp{padding-right:34px}
input[type=date].inp::-webkit-date-and-time-value{min-width:0;text-align:left}
.slot-selection-detail{margin-top:8px;font-size:14px;line-height:1.6;color:#66545d;overflow-wrap:anywhere}
.slot-selection-detail[hidden]{display:none}
.scene-browser{display:grid;grid-template-columns:220px minmax(0,1fr);gap:24px;align-items:start}
.scene-names{display:flex;flex-direction:column;gap:8px;min-width:0}
.scene-name{display:flex;justify-content:center;align-items:center;flex-wrap:wrap;gap:6px;min-height:44px;max-width:100%;padding:10px 12px;border:1px solid #e8dfe4;border-radius:10px;background:#fff;color:#574650;font-size:16px;line-height:1.5;overflow-wrap:anywhere;text-align:center}
.scene-name>span{min-width:0}
.scene-name.viewing{background:#fce8ef;border-color:#edc4d5;color:#a53e68;font-weight:600}
.scene-selected-label{color:#734456;border:1px solid #bd8199;border-radius:4px;font-size:12px;padding:0 4px}
.scene-current{min-width:0}
.scene-current>.media-preview{width:100%;border-radius:14px;aspect-ratio:4/3}
.scene-current>.media-empty{min-height:140px;display:grid;place-items:center}
.scene-body{padding:16px 0 0;overflow-wrap:anywhere}
.scene-heading{display:flex;align-items:center;gap:12px;flex-wrap:wrap}
.scene-heading h3{font-size:24px;line-height:1.4;color:#58253e;margin:0}
.scene-view-label{color:#89717c;font-size:13px}
.scene-intro{margin:10px 0;color:#817482;line-height:1.6;font-size:16px}
.scene-details{font-size:14px;color:#78626e;line-height:1.7}
.scene-details summary{cursor:pointer;min-height:44px;align-content:center;color:#aa4d70;font-size:15px}
.scene-select{min-height:50px;width:100%;margin-top:12px;font-size:17px;font-weight:600;white-space:normal;scroll-margin-block:90px 130px}
.scene-select[aria-pressed=true]{background:#f8e5ed;color:#863858;box-shadow:none}
.scene-delivery{margin:12px 0 0;font-size:13px;line-height:1.7;color:#8d7b85;text-align:center}
.scene-boundary{margin-top:6px}
.scene-empty{padding:24px;background:#fff;border:1px solid #eadde3;border-radius:12px;color:#806d77}
.v3-picked{cursor:default;box-shadow:none}
.v3-picked>.media-preview{width:100px;flex:0 0 100px;aspect-ratio:4/3}
.v3-picked>.media-empty{width:76px;height:60px;flex:0 0 76px;font-size:12px}
.v3-picked .chg{min-height:44px;padding:4px 8px}
.choice-row{display:grid;grid-template-columns:minmax(0,1fr) 340px;gap:20px;align-items:center;padding:12px;margin-bottom:12px;border:1px solid #e7dce2;border-radius:14px;box-shadow:none;overflow:hidden;min-width:0}
.choice-row.on{border-color:#bb6082;background:#fff6f9}
.choice-row.std{border-style:solid}
.choice-row.fade-in{animation:none;opacity:1;transform:none}
.choice-copy{min-width:0;padding:6px 12px}
.choice-copy h4,.choice-copy .t{font-size:19px;color:#292331;font-weight:600;display:block;line-height:1.45;overflow-wrap:anywhere}
.choice-copy .tag{display:inline-block;margin:4px 0 0 6px;font-size:11px;vertical-align:middle}
.choice-copy .d,.choice-copy li{font-size:14px;line-height:1.6;color:#817482;overflow-wrap:anywhere}
.choice-copy .d{margin:6px 0}
.choice-copy .tip{font-size:12px;line-height:1.6;margin:8px 0;color:#896477}
.choice-copy .tier-price,.choice-copy .opt-price{font-size:25px;color:#be4c77;margin:8px 0 3px;white-space:normal;line-height:1.3}
.choice-copy .opt-price.free{font-size:22px;color:#be4c77}
.choice-copy small{font-size:13px;font-weight:400}
.tier-includes,.choice-description{grid-column:1/-1;min-width:0;color:#817482;font-size:14px;line-height:1.65;overflow-wrap:anywhere;padding:0 12px}
.tier-includes ul{margin:0}
.tier-includes li{font-size:13px;color:#817482;line-height:1.65}
.tier-includes details{margin-top:8px;border-top:1px solid #eee2e8}
.tier-includes summary{cursor:pointer;min-height:44px;align-content:center;color:#a34f70;font-size:13px}
.choice-description .tip{color:#946378;margin-top:5px;font-size:12px}
.choice-toggle{display:flex;align-items:center;gap:7px;min-height:44px;max-width:100%;text-align:left;padding:4px 0;color:#8c526a;font-size:13px;line-height:1.3}
.choice-mark{display:inline-flex;width:24px;height:24px;border:1px solid #a58b98;border-radius:6px;align-items:center;justify-content:center;flex-shrink:0;color:#b45379;background:#fff;font-size:18px}
.tier .choice-mark{border-radius:50%}
.choice-toggle[aria-pressed=true] .choice-mark{background:#b85c7c;color:white;border-color:#b85c7c}
.stepper{gap:0;justify-content:flex-start;max-width:148px}
.stepper button{width:44px;height:44px;border-radius:8px;font-size:20px;flex-shrink:0}
.stepper .v{min-width:32px;flex:1}
.media-preview{display:block;position:relative;min-width:0;min-height:44px;width:100%;aspect-ratio:4/3;padding:0;border:0;border-radius:10px;background:#f2ebe9;overflow:hidden;cursor:zoom-in}
.media-preview img,.media-preview video{width:100%;height:100%;object-fit:contain;display:block}
.media-preview [hidden]{display:none}
.media-open{position:absolute;right:7px;bottom:7px;background:rgba(43,32,34,.76);color:white;padding:6px 10px;border-radius:20px;font-size:12px;line-height:1.4;max-width:calc(100% - 14px)}
.media-error{color:#a7556e;font-size:13px;padding:15px 8px;text-align:center}
.media-error[hidden]{display:none}
.media-empty{background:#f8f4f5;border-radius:10px;padding:20px;color:#9b8791;text-align:center;font-size:13px}
.phase-title{color:#946478;font-size:13px;margin:18px 0 8px}
.bar{box-shadow:0 -4px 22px rgba(103,58,78,.06);background:rgba(255,255,255,.98)}
.bar-in{max-width:1044px;gap:30px}
.bar .sum .vl{font-size:29px;color:#bb5079}
.bar .sum .dt{font-size:12px}
.bar .btn-primary{min-width:260px;min-height:52px;font-size:18px;border-radius:10px}
button:focus-visible,.scene-select:focus-visible{outline:3px solid #8c4262;outline-offset:3px}
.lightbox{padding:70px 14px 90px;overscroll-behavior:contain;touch-action:pan-y}
.lb-media{width:100%;height:100%;display:flex;align-items:center;justify-content:center;min-height:0;max-width:1200px}
.lb-media img,.lb-media video{max-width:100%;max-height:100%;object-fit:contain;width:auto;height:auto}
.lb-media [hidden]{display:none}
.lb-media .media-error{color:white;font-size:16px}
.lightbox .lb-close{width:48px;height:48px;top:12px;right:12px;background:#352b30;border-radius:50%;color:#fff}
.lb-thumbs{display:flex;flex-wrap:nowrap;justify-content:flex-start;overflow-x:auto;max-width:100%;padding:8px 16px;bottom:8px;scrollbar-width:thin}
.lb-thumbs button{position:relative;width:56px;height:56px;padding:0;flex:0 0 56px;border:2px solid transparent;border-radius:8px;overflow:hidden;background:#52474d;color:white;opacity:.6}
.lb-thumbs button.on{opacity:1;border-color:#fff}
.lb-thumbs img,.lb-thumbs video{width:100%;height:100%;object-fit:contain;border-radius:0}
.lb-thumbs span{position:absolute;bottom:2px;right:3px}
.lb-count{font-size:14px;top:22px}
.lb-nav{opacity:.92;top:calc(50% - 10px)}
@media(max-width:767px){
  .pad{padding:10px 14px 170px}
  .v2-hero,.v2-hero:not(.has-scene){padding:16px 20px 22px}
  .v2-hero:not(.has-scene) h1{font-size:28px;margin-top:12px}
  .v2-hero p{font-size:13px;max-width:360px}
  .v2-hero .kicker{font-size:12px;letter-spacing:0}
  .hero-top{gap:8px}
  .hero-top>.between{max-width:64%}
  .hero-top .btn{font-size:12px;padding:4px}
  .preview-tip{margin:10px 14px 0;font-size:11px}
  .v3-steps-in{padding:5px 8px;gap:1px;justify-content:flex-start}
  .v3-step{font-size:12px;padding:5px 7px;gap:5px}
  .v3-step i{width:22px;height:22px;font-size:12px}
  .sec{margin:23px 0 10px;gap:6px}
  .sec h2{font-size:20px}
  .sec .hint{font-size:11px}
  .card{padding:14px}
  #basicFields{display:block}
  #basicFields[hidden]{display:none}
  .date-slot-row{grid-template-columns:minmax(0,1fr);gap:0}
  .scene-body{padding:14px 0 0}
  .scene-heading h3{font-size:22px}
  .choice-row{grid-template-columns:minmax(0,1fr) 46%;gap:10px;padding:10px;border-radius:12px;align-items:start}
  .choice-copy{padding:0;min-width:0}
  .tier-includes,.choice-description{padding:0;font-size:13px}
  .tier-includes li{font-size:12px}
  .choice-copy h4,.choice-copy .t{font-size:15px;line-height:1.45}
  .choice-copy .tag{margin-left:0}
  .choice-copy .d,.choice-copy li{font-size:13px;line-height:1.55}
  .choice-copy .tier-price,.choice-copy .opt-price{font-size:23px}
  .choice-copy .opt-price.free{font-size:20px}
  .choice-copy .tip{font-size:11px}
  .media-preview{align-self:center}
  .media-open{right:4px;bottom:4px;padding:5px 7px;font-size:11px;max-width:calc(100% - 8px)}
  .bar-in{gap:12px}
  .bar .btn-primary{min-width:0;min-height:48px;font-size:16px;padding:10px 18px!important}
  .bar .sum .vl{font-size:25px}
  .bar .sum .dt{font-size:10px}
  .v3-picked>.media-preview{width:80px;flex-basis:80px}
}
@media(min-width:768px) and (max-width:1000px){.choice-row{grid-template-columns:minmax(0,1fr) 300px}}
@media(max-width:1000px){.scene-browser{grid-template-columns:minmax(0,1fr);gap:16px}.scene-names{flex-direction:row;flex-wrap:wrap}.scene-name{flex:1 1 auto;width:max-content;min-width:min(100%,100px)}.scene-name>span{max-width:100%}}
@media(max-width:350px){.choice-row{gap:8px;padding:8px}.stepper button{width:44px}.stepper .v{min-width:22px}.choice-copy .t,.choice-copy h4{font-size:14px}.choice-toggle{font-size:12px}.sec h2{font-size:18px}}
@media(prefers-reduced-motion:reduce){.reveal,.fade-in{animation:none;transition:none;opacity:1;transform:none}}
