:root {
  --guided-bg: #07131f;
  --guided-panel: #102333;
  --guided-panel-2: #17283d;
  --guided-line: rgba(126, 232, 220, .26);
  --guided-cyan: #54e1d0;
  --guided-orange: #ff8a38;
  --guided-copy: #f7fbff;
  --guided-muted: #a9bdca;
}

body.guided-kiosk #sidebar { display: none !important; }
body.guided-kiosk #main { width: 100vw; flex: 0 0 100vw; background: var(--guided-bg); }
body.guided-kiosk .page.active { background: var(--guided-bg); }
/* 游客端统一只保留“现场拍照 / 手机上传”。本地文件选择属于维护能力，
   不应暴露在正式游客流程里；底层上传函数不删除，避免影响既有链路。 */
body.guided-kiosk:not(.guided-local-test-device) #travel-btn-upload,
body.guided-kiosk:not(.guided-local-test-device) #background-btn-upload,
body.guided-kiosk:not(.guided-local-test-device) #cartoon-btn-upload,
body.guided-kiosk:not(.guided-local-test-device) #idphoto-btn-upload,
body.guided-kiosk:not(.guided-local-test-device) #restore-btn-upload,
body.guided-kiosk:not(.guided-local-test-device) #magnet-btn-upload { display: none !important; }

.guided-home {
  width: 100%; min-height: 100%; padding: 54px 52px 68px;
  background:
    radial-gradient(circle at 10% 0%, rgba(32, 210, 190, .14), transparent 34%),
    radial-gradient(circle at 95% 6%, rgba(255, 112, 50, .14), transparent 31%),
    linear-gradient(180deg, #081625 0%, #07111d 100%);
  color: var(--guided-copy); overflow-y: auto;
}
.guided-brand-row { display:flex; align-items:center; justify-content:space-between; gap:24px; }
.guided-brand { font-size: 42px; font-weight: 950; letter-spacing: 2px; }
.guided-brand-dot { display:inline-block; width:22px; height:22px; margin-right:16px; border-radius:8px; background:linear-gradient(135deg,#5ce2d2,#688cff); box-shadow:0 0 26px rgba(84,225,208,.55); }
.guided-slogan { padding:15px 24px; border:2px solid rgba(84,225,208,.5); border-radius:999px; color:#bff9ef; font-size:23px; font-weight:850; }
.guided-intro { margin:46px 0 32px; }
.guided-promo-banner { margin:28px 0 0; padding:19px 24px; display:flex; align-items:center; justify-content:space-between; gap:18px; border:2px solid rgba(255,190,91,.38); border-radius:20px; background:rgba(69,43,20,.42); color:#ffe1a2; }
.guided-promo-banner b { font-size:25px; }
.guided-promo-banner span { font-size:19px; color:#f8cf88; }
.guided-promo-banner.active { border-color:#ff9d4a; background:linear-gradient(100deg,rgba(255,95,35,.92),rgba(246,143,41,.78)); color:#fff; box-shadow:0 12px 36px rgba(255,100,35,.3); }
.guided-promo-banner.active span { color:#fff9e8; }
.guided-eyebrow { color:#ffc063; font-size:24px; font-weight:900; letter-spacing:2px; }
.guided-title { margin-top:10px; font-size:60px; line-height:1.1; font-weight:950; letter-spacing:-1px; }
.guided-title em { color:var(--guided-cyan); font-style:normal; }
.guided-lead { margin-top:18px; font-size:25px; line-height:1.6; color:var(--guided-muted); }
.guided-step-title { display:flex; justify-content:space-between; align-items:end; margin:36px 0 20px; }
.guided-step-title h2 { font-size:34px; }
.guided-step-title span { color:#ffd36e; font-size:22px; font-weight:900; }
.guided-project-grid { display:grid; grid-template-columns:repeat(2,minmax(0,1fr)); gap:22px; }
.guided-project {
  min-height:280px; border:2px solid rgba(255,255,255,.13); border-radius:28px; padding:0;
  color:#fff; text-align:left; cursor:pointer;
  position:relative; isolation:isolate; overflow:hidden;
  background:linear-gradient(145deg,#18304a,#111d31); box-shadow:0 18px 48px rgba(0,0,0,.28);
}
.guided-project-media { position:absolute; inset:0 0 calc(48% + 1px) 0; box-sizing:border-box; display:flex; align-items:center; justify-content:center; background-image:var(--guided-visual),linear-gradient(145deg,#1b344c,#111d31); background-size:contain; background-repeat:no-repeat; background-position:center; }
.guided-project-copy { position:absolute; inset:auto 0 0 0; height:48%; box-sizing:border-box; padding:16px 20px 14px; display:flex; flex-direction:column; justify-content:center; overflow:hidden; background:linear-gradient(180deg,rgba(9,23,36,.98),#091522); border-top:1px solid rgba(255,255,255,.12); }
.guided-project[data-guided-page="travel"] .guided-project-media { inset:0 0 calc(28% + 1px) 0; background-size:cover; background-position:center 24%; }
.guided-project[data-guided-page="travel"] .guided-project-copy { height:28%; }
.guided-project:not(.has-visual) .guided-project-icon { opacity:1; }
.guided-project:first-child { grid-row:span 2; min-height:582px; background:linear-gradient(155deg,rgba(0,205,187,.34),rgba(22,43,70,.96) 45%,rgba(255,106,49,.26)); }
.guided-project:active { transform:scale(.985); }
.guided-project-icon { font-size:55px; opacity:.16; }
.guided-project-name { font-size:31px; line-height:1.15; font-weight:950; }
.guided-project-desc { display:block; margin-top:7px; color:#c7d7e3; font-size:18px; line-height:1.35; }
.guided-project-price { margin-top:8px; color:#ffb35f; font-size:24px; line-height:1.1; font-weight:950; }
.guided-project[data-guided-page="travel"] .guided-project-name { font-size:38px; }
.guided-project[data-guided-page="travel"] .guided-project-desc { font-size:22px; }
.guided-project[data-guided-page="travel"] .guided-project-price { font-size:28px; }
.guided-project[data-guided-page="magnet"] .guided-project-media { inset:0 0 calc(58% + 1px) 0; }
.guided-project[data-guided-page="magnet"] .guided-project-copy { height:58%; }
.guided-project-full { grid-column:1/-1; min-height:180px; }
.guided-project-full .guided-project-media { inset:0 calc(58% + 1px) 0 0; }
.guided-project-full .guided-project-copy { inset:0 0 0 42%; width:58%; height:100%; border-top:0; border-left:1px solid rgba(255,255,255,.12); }
.guided-kiosk:not(.lp003-night-repair) .guided-project { min-height:248px; padding:28px; display:flex; flex-direction:column; justify-content:flex-end; }
.guided-kiosk:not(.lp003-night-repair) .guided-project:first-child { min-height:520px; }
.guided-kiosk:not(.lp003-night-repair) .guided-project-name { font-size:38px; }
.guided-kiosk:not(.lp003-night-repair) .guided-project-desc { font-size:22px; }
.guided-kiosk:not(.lp003-night-repair) .guided-project-price { font-size:28px; }
.guided-kiosk:not(.lp003-night-repair) .guided-project.has-visual::before { content:""; position:absolute; inset:0; z-index:-2; background-image:var(--guided-visual); background-size:cover; background-position:center 24%; filter:saturate(1.08) contrast(1.04); transform:scale(1.02); }
.guided-kiosk:not(.lp003-night-repair) .guided-project.has-visual::after { content:""; position:absolute; inset:0; z-index:-1; background:linear-gradient(180deg,rgba(5,13,23,.08) 8%,rgba(5,13,23,.22) 44%,rgba(5,13,23,.94) 100%); }
.guided-kiosk:not(.lp003-night-repair) .guided-project-icon { margin-bottom:auto; }
.guided-kiosk:not(.lp003-night-repair) .guided-project-full { display:grid; grid-template-columns:auto 1fr auto; align-items:center; gap:24px; }
.guided-kiosk:not(.lp003-night-repair) .guided-project-full .guided-project-icon,
.guided-kiosk:not(.lp003-night-repair) .guided-project-full .guided-project-price { margin:0; }
.guided-home-note { margin-top:28px; display:flex; gap:14px; justify-content:center; color:#c1d0da; font-size:20px; }
.guided-home-note b { color:#fff; }

body.guided-kiosk #page-travel,
body.guided-kiosk #page-cartoon,
body.guided-kiosk #page-idphoto,
body.guided-kiosk #page-restore,
body.guided-kiosk #page-magnet { padding:34px 42px 46px; overflow-y:auto; gap:20px; }
body.guided-kiosk #page-cartoon,
body.guided-kiosk #page-idphoto,
body.guided-kiosk #page-restore,
body.guided-kiosk #page-magnet { align-items:stretch; }
body.guided-kiosk .back-btn { min-height:68px; min-width:210px; font-size:24px; border-radius:18px; color:#fff; background:#17273a; border:2px solid rgba(255,255,255,.23); }
.guided-return-idle { position:sticky; top:0; z-index:80; align-self:flex-start; min-width:260px; min-height:68px; padding:12px 24px; border:2px solid rgba(255,255,255,.3); border-radius:18px; background:#17273a; color:#fff; font-size:23px; font-weight:900; box-shadow:0 10px 26px rgba(0,0,0,.28); }
body.guided-kiosk .photo-product-title { font-size:43px; font-weight:950; }
body.guided-kiosk .photo-product-tip { font-size:20px; line-height:1.6; color:#c7d6e0; }
body.guided-kiosk .travel-package-picker { display:none !important; }
body.guided-kiosk #page-travel > .travel-tip { font-size:22px; color:#c8d8e3; }

.guided-filter-panel { width:100%; padding:24px; border:2px solid var(--guided-line); border-radius:24px; background:linear-gradient(145deg,rgba(20,46,62,.96),rgba(15,28,46,.96)); }
.guided-filter-head { display:flex; align-items:center; justify-content:space-between; gap:18px; margin-bottom:18px; }
.guided-filter-head strong { font-size:30px; }
.guided-filter-head span { font-size:19px; color:var(--guided-muted); }
.guided-filter-row { display:grid; grid-template-columns:repeat(4,minmax(0,1fr)); gap:14px; }
.guided-scope-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
.guided-filter-row[hidden],
.guided-scope-row[hidden],
.guided-style-row[hidden],
.guided-substep[hidden] { display:none !important; }

/* The production grid owns an explicit display:grid rule. HTML's hidden
   attribute alone therefore lost the cascade and exposed every template
   before the visitor finished the three-step selector. */
body.guided-kiosk.lp003-night-repair #travel-template-grid[hidden] {
  display:none !important;
}
.guided-choice { min-height:76px; border:2px solid rgba(255,255,255,.16); border-radius:18px; background:#15253a; color:#fff; font-size:23px; font-weight:900; cursor:pointer; }
.guided-choice.active { background:linear-gradient(135deg,#16ad9c,#22798e); border-color:#87f2e3; box-shadow:0 8px 28px rgba(20,197,176,.28); }
.guided-substep { margin-top:22px; color:#ffc76a; font-size:22px; font-weight:900; }
.guided-style-row { display:flex; gap:12px; flex-wrap:wrap; margin-top:16px; }
.guided-style-row .guided-choice { min-height:62px; padding:10px 20px; flex:1 1 180px; }
.guided-prompt { padding:44px 22px; text-align:center; color:#b7cad5; font-size:25px; border:2px dashed rgba(255,255,255,.18); border-radius:22px; }
.guided-prompt.is-result { margin-top:16px; padding:22px; color:#eafffb; background:rgba(18,151,137,.22); border-style:solid; border-color:#58e0cf; font-weight:900; }
.guided-prompt.is-empty { margin-top:16px; padding:22px; color:#fff1d6; background:rgba(255,107,53,.16); border-style:solid; border-color:#ff8c55; font-weight:900; }

body.guided-kiosk #page-travel .template-grid { grid-template-columns:repeat(3,minmax(0,1fr)); gap:16px; }
/* A narrow filter result must not leave one tiny card in a three-column grid.
   Keep the remaining choices at comfortable standing eye/hand height. */
body.guided-kiosk #page-travel .template-grid.guided-one-result {
  grid-template-columns:minmax(0,680px);
  justify-content:center;
}
body.guided-kiosk #page-travel .template-grid.guided-two-results {
  grid-template-columns:repeat(2,minmax(0,520px));
  justify-content:center;
}
body.guided-kiosk #page-travel .template-grid.guided-few-results .template-item {
  width:100%;
}
body.guided-kiosk #page-travel .template-item { border-radius:20px; border-width:3px; }
body.guided-kiosk #page-travel .template-item[hidden] { display:none !important; }
body.guided-kiosk #page-travel .template-item .tpl-people-badge { font-size:18px; padding:9px 15px; }
body.guided-kiosk #page-travel .template-item .tpl-num { font-size:17px; padding:6px 12px; }
body.guided-kiosk .selected-bar { width:100%; min-height:94px; border-radius:22px; }
body.guided-kiosk .selected-count { font-size:24px; }
body.guided-kiosk .confirm-btn { min-height:72px; min-width:330px; font-size:26px; }
body.guided-kiosk .selection-clear-btn { min-height:66px; font-size:22px; }
body.guided-kiosk .upload-btn,
body.guided-kiosk .review-btn,
body.guided-kiosk .generate-btn,
body.guided-kiosk .pay-btn { min-height:76px; font-size:24px; border-radius:19px; }
body.guided-kiosk .photo-actions,
body.guided-kiosk .upload-actions,
body.guided-kiosk .action-row { gap:18px; }
body.guided-kiosk .photo-actions button,
body.guided-kiosk .upload-actions button,
body.guided-kiosk .action-row button { min-height:76px; font-size:24px; border-radius:19px; }

.guided-service-heading { margin:0 auto; width:min(820px,88vw); text-align:center; color:#fff; }
.guided-service-heading h1 { margin:6px 0 8px; font-size:44px; line-height:1.18; font-weight:950; }
.guided-service-heading p { margin:0; color:#bcd0dc; font-size:21px; line-height:1.55; }
.guided-service-kicker { color:#ffc76a; font-size:20px; font-weight:900; letter-spacing:1px; }
.guided-service-flow { width:min(900px,92vw); margin:0 auto 12px; padding:22px 26px; display:grid; grid-template-columns:auto repeat(3,1fr); align-items:center; gap:14px; border:2px solid var(--guided-line); border-radius:22px; background:linear-gradient(135deg,rgba(26,54,73,.95),rgba(19,32,52,.95)); color:#dcebf3; font-size:19px; }
.guided-service-flow strong { color:#fff; font-size:23px; }
body.guided-kiosk .idphoto-layout,
body.guided-kiosk .restore-layout { width:100%; padding:28px; border:2px solid rgba(255,255,255,.12); border-radius:26px; background:rgba(16,35,51,.92); }
/* 老照片无法靠现场摄像头翻拍得到可靠修复输入。LP003 游客端只保留
   手机上传二维码；本地上传本来就属于维护能力，底层接口继续保留。 */
body.lp003-night-repair #restore-btn-camera { display:none !important; }
body.lp003-night-repair:not(.guided-local-test-device) #restore-btn-upload { display:none !important; }
body.guided-kiosk .idphoto-top { flex-direction:row; justify-content:center; gap:34px; padding:18px; }
body.guided-kiosk .control-group.inline { font-size:22px; }
body.guided-kiosk .toggle-btn { min-width:82px; min-height:58px; font-size:20px; border-radius:14px; }
body.guided-kiosk .idphoto-middle,
body.guided-kiosk .restore-top { padding:18px 0; }
body.guided-kiosk .idphoto-results,
body.guided-kiosk .restore-results { min-height:480px; border:2px dashed rgba(255,255,255,.10); border-radius:24px; background:rgba(4,16,29,.32); }
body.guided-kiosk .restore-preview-row { min-height:390px; }
body.guided-kiosk .photo-preset-grid,
body.guided-kiosk .magnet-template-grid { scrollbar-width:thin; scrollbar-color:#46d6c4 #101e2d; }
body.guided-kiosk .magnet-panel { padding:26px; }
body.guided-kiosk .magnet-tip { font-size:20px; }
body.guided-kiosk .magnet-step-flow { font-size:18px; gap:16px; }
body.guided-kiosk .magnet-style-filter button { min-height:58px; font-size:19px; }

body.guided-kiosk .package-card { width:min(760px,94vw); padding:34px; border-radius:30px; }
body.guided-kiosk .package-title { font-size:38px; }
body.guided-kiosk .package-subtitle { font-size:21px; }
body.guided-kiosk .package-option { min-height:102px; padding:20px 24px; }
body.guided-kiosk .package-option strong { font-size:28px; }
body.guided-kiosk .package-option span { font-size:19px; }
body.guided-kiosk .double-capture-options { display:none !important; }
body.guided-kiosk.lp003-night-repair .double-capture-options.visible { display:block !important; }
body.guided-kiosk .package-actions button { min-height:72px; font-size:24px; }
.guided-modal-countdown { margin:14px 0 0; text-align:center; color:#c6d5df; font-size:18px; }
.guided-modal-countdown.warning { color:#ffc76a; font-weight:900; }
.package-option[hidden] { display:none !important; }

/* LP002 intentionally has no magnet business. Let the naturally horizontal
   before/after restoration card close the final row instead of leaving an
   empty half-screen slot. LP001/LP003 keep the five-card arrangement. */
body.guided-plan-b-layout.device-no-magnet .guided-project[data-guided-page="restore"] {
  grid-column:1 / -1;
}

body.guided-kiosk #kiosk-help-button {
  width:auto;
  min-width:168px;
  min-height:68px;
  height:auto;
  padding:14px 24px;
  font-size:21px;
  white-space:nowrap;
}

/* LP003 43-inch portrait selection stage: a narrow, fixed decision rail and
   a two-column catalog that scrolls vertically at comfortable hand height. */
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) {
  display:grid !important;
  grid-template-columns:196px minmax(0,1fr);
  grid-template-rows:minmax(0,1fr);
  column-gap:18px;
  align-items:start;
  height:100vh;
  min-height:0;
  padding:18px;
  overflow:hidden;
}
body.lp003-night-repair #page-travel > .back-btn,
body.lp003-night-repair #page-travel > .guided-return-idle,
body.lp003-night-repair #page-cartoon > .back-btn,
body.lp003-night-repair #page-cartoon > .guided-return-idle,
body.lp003-night-repair #page-idphoto > .back-btn,
body.lp003-night-repair #page-idphoto > .guided-return-idle,
body.lp003-night-repair #page-restore > .back-btn,
body.lp003-night-repair #page-restore > .guided-return-idle,
body.lp003-night-repair #page-magnet > .back-btn,
body.lp003-night-repair #page-magnet > .guided-return-idle { display:none !important; }
body.lp003-night-repair #page-travel > .photo-product-title,
body.lp003-night-repair #page-travel > .travel-package-picker,
body.lp003-night-repair #page-travel > .travel-tip { display:none !important; }
body.lp003-night-repair:has(#page-travel.active:not(.travel-acquiring)) #kiosk-action-bar { display:none !important; }
body.lp003-night-repair .lp003-filter-dock {
  position:sticky;
  top:0;
  grid-column:1;
  grid-row:1;
  z-index:45;
  width:100%;
  height:calc(100vh - 36px);
  min-height:0;
  padding:16px;
  display:flex;
  flex-direction:column;
  gap:10px;
  overflow-y:auto;
  border-radius:22px;
  box-shadow:0 14px 34px rgba(0,0,0,.32);
  scrollbar-width:thin;
  scrollbar-color:#46d6c4 #101e2d;
}
body.lp003-night-repair .lp003-rail-back {
  width:100%;
  min-height:72px;
  flex:0 0 auto;
  padding:10px 14px;
  border:2px solid rgba(255,255,255,.28);
  border-radius:16px;
  background:#17273a;
  color:#fff;
  font-size:22px;
  font-weight:950;
  cursor:pointer;
}
body.lp003-night-repair .lp003-filter-dock .guided-filter-head {
  display:block;
  margin:4px 0 2px;
  text-align:left;
}
body.lp003-night-repair .lp003-filter-dock .guided-filter-head strong {
  display:block;
  font-size:25px;
  line-height:1.25;
}
body.lp003-night-repair .lp003-filter-dock .guided-filter-head span {
  display:block;
  margin-top:5px;
  font-size:17px;
}
body.lp003-night-repair .lp003-filter-dock .guided-substep { margin-top:4px; font-size:18px; }
body.lp003-night-repair .lp003-filter-dock .guided-filter-row {
  grid-template-columns:minmax(0,1fr);
  gap:9px;
}
body.lp003-night-repair .lp003-filter-dock .guided-choice {
  min-height:60px;
  padding:8px 10px;
  border-radius:14px;
  font-size:18px;
  line-height:1.25;
}
body.lp003-night-repair .lp003-filter-dock .guided-style-row {
  display:grid;
  grid-template-columns:minmax(0,1fr);
  margin-top:0;
  gap:8px;
}
body.lp003-night-repair .lp003-filter-dock .guided-style-row .guided-choice {
  min-height:56px;
  padding:7px 10px;
  font-size:17px;
}
body.lp003-night-repair .lp003-filter-dock .guided-prompt {
  margin-top:2px;
  min-height:58px;
  padding:10px 12px;
  border-radius:13px;
  font-size:16px;
  line-height:1.45;
  display:flex;
  align-items:center;
  text-align:left;
}
body.lp003-night-repair .lp003-filter-dock .lp003-rail-selection,
body.lp003-night-repair .lp003-filter-dock .lp003-rail-selection.is-ready {
  position:static !important;
  inset:auto !important;
  transform:none !important;
  width:100%;
  min-height:0;
  margin:14px 0 0;
  padding:12px;
  display:flex;
  flex-direction:column;
  gap:9px;
  flex:0 0 auto;
  animation:none;
  border-radius:16px;
  box-sizing:border-box;
}
body.lp003-night-repair .lp003-filter-dock .lp003-rail-selection .selected-count { font-size:19px; }
body.lp003-night-repair .lp003-filter-dock .lp003-rail-selection .selection-clear-btn,
body.lp003-night-repair .lp003-filter-dock .lp003-rail-selection .confirm-btn {
  width:100%;
  min-width:0;
  min-height:64px;
  margin:0;
  padding:10px 8px;
  border-radius:15px;
  font-size:20px;
}
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) #travel-template-grid.lp003-vertical-catalog {
  grid-column:2;
  grid-row:1;
  position:relative;
  width:100%;
  height:calc(100vh - 36px);
  min-height:0;
  overflow-y:auto;
  overflow-x:hidden;
  border:2px solid rgba(84,225,208,.16);
  border-radius:24px;
  background:linear-gradient(155deg,rgba(15,31,48,.94),rgba(6,17,29,.96));
  box-shadow:inset 0 1px 0 rgba(255,255,255,.05);
  touch-action:pan-y;
  display:grid !important;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-auto-rows:max-content;
  gap:20px;
  padding:22px;
  align-content:start;
  scrollbar-gutter:stable;
  overscroll-behavior:contain;
}
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) #travel-template-grid.guided-one-result {
  grid-template-columns:minmax(0,420px);
  justify-content:center;
}
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) #travel-template-grid.guided-two-results {
  grid-template-columns:repeat(2,minmax(0,360px));
  justify-content:center;
}
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) #travel-template-grid .template-item {
  border-radius:22px;
  border-width:3px;
  touch-action:manipulation;
}
body.lp003-night-repair #page-travel.active:not(.travel-acquiring) #travel-template-grid .template-item.lp003-page-hidden {
  display:none !important;
}
body.lp003-night-repair .lp003-gallery-pager {
  position:absolute;
  inset:0;
  z-index:20;
  pointer-events:none;
}
body.lp003-night-repair .lp003-page-indicator {
  position:absolute;
  top:12px;
  left:50%;
  transform:translateX(-50%);
  min-width:290px;
  min-height:46px;
  padding:8px 20px;
  display:flex;
  align-items:center;
  justify-content:center;
  border:1px solid rgba(127,241,227,.48);
  border-radius:999px;
  background:rgba(8,26,39,.9);
  color:#dffefa;
  font-size:18px;
  font-weight:900;
  box-shadow:0 8px 24px rgba(0,0,0,.3);
  pointer-events:none;
}
body.lp003-night-repair .lp003-page-button {
  position:absolute;
  top:42%;
  transform:translateY(-50%);
  width:62px;
  min-height:132px;
  padding:6px;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:2px;
  border:2px solid rgba(144,248,235,.62);
  border-radius:22px;
  background:rgba(11,61,73,.92);
  color:#fff;
  font-size:52px;
  line-height:.82;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.4);
  cursor:pointer;
  pointer-events:auto;
}
body.lp003-night-repair .lp003-page-button span {
  font-size:15px;
  line-height:1.15;
  letter-spacing:1px;
}
body.lp003-night-repair .lp003-page-prev { left:6px; }
body.lp003-night-repair .lp003-page-next { right:6px; }
body.lp003-night-repair .lp003-page-button:disabled {
  opacity:.28;
  cursor:default;
  box-shadow:none;
}
.guided-filter-reset { min-width:176px; min-height:56px; border:2px solid #ffb27f; border-radius:15px; background:#ff6b35; color:#fff; font-size:20px; font-weight:950; }
.guided-filter-reset[hidden] { display:none !important; }

body.lp003-night-repair .post-pay-card { width:min(760px,92vw); padding:38px; border-radius:28px; }
body.lp003-night-repair .post-pay-title { font-size:36px; }
body.lp003-night-repair .post-pay-subtitle { font-size:21px; min-height:34px; }
body.lp003-night-repair .post-pay-action { min-height:104px; }
body.lp003-night-repair .post-pay-action-title { font-size:23px; }
body.lp003-night-repair .post-pay-action-desc { font-size:17px; }
body.lp003-night-repair .post-pay-action.print:disabled { opacity:1; filter:none; cursor:default; }
body.lp003-night-repair .download-qr-title { font-size:22px; }
body.lp003-night-repair .post-pay-close { width:100%; min-height:66px; font-size:22px; font-weight:900; }
body.lp003-night-repair .post-pay-return-countdown { margin-top:12px; color:#ffd478; font-size:18px; font-weight:850; }
body.lp003-night-repair.lp003-magnet-safety-hold #nav-magnet-title,
body.lp003-night-repair.lp003-magnet-safety-hold #nav-magnet,
body.lp003-night-repair.lp003-magnet-safety-hold #nav-magnet-price-banner,
body.lp003-night-repair.lp003-magnet-safety-hold #nav-magnet-styles { display:none !important; }
body.lp003-night-repair .guided-project-safety-hold,
body.lp003-night-repair .guided-project-safety-hold:disabled {
  cursor:not-allowed;
  opacity:1;
  filter:saturate(.45);
  border-color:rgba(255,209,102,.58);
  background:linear-gradient(135deg,rgba(95,72,36,.9),rgba(45,48,57,.96));
  box-shadow:none;
}
body.lp003-night-repair .guided-project-safety-hold::before { opacity:.18; }
body.lp003-night-repair .guided-project-safety-hold .guided-project-price {
  color:#fff4cf;
  background:rgba(47,36,22,.78);
  border:1px solid rgba(255,222,143,.7);
  border-radius:999px;
  padding:7px 15px;
  align-self:flex-start;
}

/* LP003 product launchpad v11: one full-width travel hero followed by four
   equally important, full-bleed product buttons.  Real business result images
   fill each card; copy is integrated as a bottom gradient instead of being
   separated into a dark text box. */
body.lp003-night-repair .guided-home {
  padding:38px 44px 56px;
}
body.lp003-night-repair .guided-brand { font-size:38px; }
body.lp003-night-repair .guided-brand-dot { width:18px; height:18px; margin-right:13px; }
body.lp003-night-repair .guided-slogan { padding:12px 20px; font-size:20px; }
body.lp003-night-repair .guided-promo-banner { margin-top:20px; padding:15px 20px; }
body.lp003-night-repair .guided-promo-banner b { font-size:22px; }
body.lp003-night-repair .guided-promo-banner span { font-size:17px; }
body.lp003-night-repair .guided-intro { margin:26px 0 18px; }
body.lp003-night-repair .guided-eyebrow { font-size:20px; }
body.lp003-night-repair .guided-title { margin-top:6px; font-size:48px; line-height:1.04; }
body.lp003-night-repair .guided-lead { margin-top:12px; font-size:20px; line-height:1.45; }
body.lp003-night-repair .guided-step-title { margin:22px 0 14px; }
body.lp003-night-repair .guided-step-title h2 { font-size:29px; }
body.lp003-night-repair .guided-step-title span { font-size:19px; }
body.lp003-night-repair .guided-project-grid {
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:18px;
}
body.lp003-night-repair .guided-project,
body.lp003-night-repair .guided-project:first-child {
  grid-row:auto;
  min-height:390px;
  border-radius:25px;
  border-color:rgba(176,226,223,.26);
  box-shadow:0 16px 40px rgba(0,0,0,.3);
}
body.lp003-night-repair .guided-project-primary,
body.lp003-night-repair .guided-project-primary:first-child {
  grid-column:1/-1;
  min-height:360px;
}
body.lp003-night-repair .guided-project-media,
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-project-media,
body.lp003-night-repair .guided-project[data-guided-page="magnet"] .guided-project-media {
  inset:0;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center;
  filter:saturate(1.04) contrast(1.02);
  transform:scale(1.006);
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-project-media {
  overflow:hidden;
  background-image:
    radial-gradient(circle at 72% 30%,rgba(60,176,178,.28) 0%,rgba(36,98,112,.16) 26%,transparent 48%),
    linear-gradient(118deg,#061c28 0%,#092d39 53%,#111d2a 100%);
  background-size:cover;
  background-position:center;
  filter:saturate(1.07) contrast(1.03);
  transform:none;
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-project-media::after {
  content:"";
  position:absolute;
  inset:-4% 1% -4% auto;
  width:54%;
  background-image:var(--guided-visual);
  background-size:contain;
  background-repeat:no-repeat;
  background-position:right center;
  filter:saturate(1.08) contrast(1.03) drop-shadow(-18px 14px 24px rgba(0,0,0,.28));
  -webkit-mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 13%,#000 32%,#000 100%);
  mask-image:linear-gradient(90deg,transparent 0%,rgba(0,0,0,.38) 13%,#000 32%,#000 100%);
}
body.lp003-night-repair .guided-project[data-guided-page="cartoon"] .guided-project-media { background-position:center 45%; }
body.lp003-night-repair .guided-project[data-guided-page="idphoto"] .guided-project-media {
  overflow:hidden;
  background:#eef3f8;
  filter:none;
  transform:none;
}
body.lp003-night-repair .guided-idphoto-triptych {
  position:absolute;
  inset:0;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  background:#e7edf3;
}
body.lp003-night-repair .guided-idphoto-triptych i {
  display:block;
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 20%;
}
body.lp003-night-repair .guided-idphoto-triptych .red { background-image:var(--guided-id-red); }
body.lp003-night-repair .guided-idphoto-triptych .blue { background-image:var(--guided-id-blue); }
body.lp003-night-repair .guided-idphoto-triptych .white { background-image:var(--guided-id-white); }
body.lp003-night-repair .guided-project[data-guided-page="restore"] .guided-project-media { background-position:center 42%; }
body.lp003-night-repair .guided-project[data-guided-page="magnet"] .guided-project-media { background-position:center 45%; }
body.lp003-night-repair .guided-project-copy,
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-project-copy,
body.lp003-night-repair .guided-project[data-guided-page="magnet"] .guided-project-copy {
  inset:auto 0 0 0;
  width:100%;
  height:auto;
  min-height:50%;
  padding:72px 24px 20px;
  justify-content:flex-end;
  border:0;
  background:linear-gradient(180deg,rgba(5,15,25,0) 0%,rgba(5,15,25,.76) 42%,rgba(5,15,25,.96) 100%);
  text-shadow:0 2px 8px rgba(0,0,0,.75);
}
body.lp003-night-repair .guided-project-primary .guided-project-copy {
  inset:0 auto 0 0;
  width:53%;
  min-height:100%;
  padding:30px 34px;
  justify-content:center;
  background:linear-gradient(90deg,rgba(4,18,30,.96) 0%,rgba(4,18,30,.84) 62%,rgba(4,18,30,0) 100%);
}
body.lp003-night-repair .guided-project-name { font-size:31px; }
body.lp003-night-repair .guided-project-desc { margin-top:5px; color:#e0edf3; font-size:17px; }
body.lp003-night-repair .guided-project-price { margin-top:8px; font-size:23px; }
body.lp003-night-repair .guided-project-primary .guided-project-name { font-size:38px; }
body.lp003-night-repair .guided-project-primary .guided-project-desc { font-size:21px; }
body.lp003-night-repair .guided-project-primary .guided-project-price { font-size:27px; }
body.lp003-night-repair .guided-project-icon { display:none; }
body.lp003-night-repair [data-guided-people]:disabled {
  opacity:.48;
  filter:saturate(.35);
  cursor:not-allowed;
  border-style:dashed;
}
body.lp003-night-repair .guided-project-status {
  position:absolute;
  z-index:3;
  top:18px;
  right:18px;
  padding:9px 15px;
  border:1px solid rgba(255,229,168,.76);
  border-radius:999px;
  background:rgba(38,31,25,.8);
  color:#fff0c5;
  font-size:17px;
  line-height:1;
  font-weight:900;
  box-shadow:0 6px 18px rgba(0,0,0,.26);
}
body.lp003-night-repair .guided-project-safety-hold,
body.lp003-night-repair .guided-project-safety-hold:disabled {
  filter:none;
  border-color:rgba(255,209,102,.54);
  background:#171b22;
}
body.lp003-night-repair .guided-project-safety-hold .guided-project-media {
  filter:saturate(.68) brightness(.68) contrast(1.02);
}
body.lp003-night-repair .guided-home-note { margin-top:22px; font-size:17px; }

.guided-magnet-maintenance-modal {
  position:fixed;
  inset:0;
  z-index:1900;
  display:none;
  align-items:center;
  justify-content:center;
  padding:48px;
  background:rgba(2,10,18,.82);
  backdrop-filter:blur(10px);
}
.guided-magnet-maintenance-modal.visible { display:flex; }
.guided-magnet-maintenance-panel {
  width:min(760px,calc(100vw - 96px));
  padding:52px 48px 46px;
  border:2px solid rgba(75,223,213,.65);
  border-radius:34px;
  background:linear-gradient(145deg,#102735 0%,#081621 100%);
  color:#f5fbff;
  text-align:center;
  box-shadow:0 32px 90px rgba(0,0,0,.58),0 0 44px rgba(38,204,194,.14);
}
.guided-magnet-maintenance-icon {
  display:grid;
  place-items:center;
  width:104px;
  height:104px;
  margin:0 auto 24px;
  border-radius:30px;
  background:linear-gradient(145deg,rgba(57,214,201,.24),rgba(255,196,94,.16));
  font-size:58px;
}
.guided-magnet-maintenance-panel h2 { margin:0; font-size:46px; line-height:1.18; letter-spacing:1px; }
.guided-magnet-maintenance-panel p { margin:18px 0 12px; color:#ffd889; font-size:31px; line-height:1.25; font-weight:900; }
.guided-magnet-maintenance-panel small { display:block; color:#d5e7ee; font-size:23px; line-height:1.55; }
.guided-magnet-maintenance-close {
  width:100%;
  min-height:92px;
  margin-top:34px;
  border:0;
  border-radius:24px;
  background:linear-gradient(90deg,#1fc5b8,#31d6c7);
  color:#031b22;
  font-size:29px;
  font-weight:950;
  box-shadow:0 16px 34px rgba(29,198,184,.25);
  cursor:pointer;
}
.guided-magnet-maintenance-close:focus-visible { outline:5px solid rgba(255,220,130,.95); outline-offset:6px; }

@media (min-width:1200px) and (min-height:2200px) {
  .guided-magnet-maintenance-panel { width:min(920px,calc(100vw - 140px)); padding:70px 64px 60px; }
  .guided-magnet-maintenance-icon { width:132px; height:132px; font-size:72px; }
  .guided-magnet-maintenance-panel h2 { font-size:58px; }
  .guided-magnet-maintenance-panel p { font-size:39px; }
  .guided-magnet-maintenance-panel small { font-size:29px; }
  .guided-magnet-maintenance-close { min-height:112px; font-size:36px; }
}

/* LP003 empty-result guidance: the large portrait screen must always tell a
   first-time customer what to do next, even before an image exists. */
body.lp003-night-repair .lp003-empty-state {
  width:min(760px,88%);
  min-height:300px;
  margin:auto;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:18px;
  padding:34px;
  border:1px solid rgba(87,224,204,.24);
  border-radius:26px;
  background:linear-gradient(145deg,rgba(42,86,103,.36),rgba(10,28,43,.64));
  text-align:center;
  box-sizing:border-box;
}
body.lp003-night-repair .lp003-empty-state .lp003-empty-step {
  min-width:108px;
  padding:8px 20px;
  border-radius:999px;
  background:#43d6c2;
  color:#062b31;
  font-size:18px;
  font-weight:950;
}
body.lp003-night-repair .lp003-empty-state strong {
  color:#fff;
  font-size:29px;
  line-height:1.45;
}
body.lp003-night-repair .lp003-empty-state > span:last-child {
  max-width:640px;
  color:rgba(255,255,255,.74);
  font-size:20px;
  line-height:1.65;
}
body.lp003-night-repair .idphoto-results:has(.idphoto-preview-single.visible) > .lp003-empty-state,
body.lp003-night-repair .restore-results:has(#restore-before-img[src]:not([src=""])) > .lp003-empty-state {
  display:none;
}
body.lp003-night-repair .restore-results:not(:has(#restore-before-img[src]:not([src=""]))) .restore-preview-row {
  display:none;
}

@media (min-width:1300px) {
  .guided-home { padding:70px 78px 88px; }
  .guided-brand { font-size:52px; }
  .guided-intro { margin:58px 0 42px; }
  .guided-title { font-size:76px; }
  /* 43-inch portrait screens have the same aspect ratio as 32-inch units but
     substantially more CSS pixels.  Scale the choice wall vertically as well
     as horizontally so the five real products occupy the customer's sight
     line instead of leaving the lower third empty. */
  .guided-project { min-height:500px; }
  .guided-project:first-child { min-height:1022px; }
  .guided-project-name { font-size:36px; }
  .guided-project-desc { font-size:22px; }
  .guided-project-price { font-size:28px; }
  .guided-kiosk:not(.lp003-night-repair) .guided-project { min-height:300px; }
  .guided-kiosk:not(.lp003-night-repair) .guided-project:first-child { min-height:624px; }
  body.guided-kiosk #page-travel .template-grid { grid-template-columns:repeat(4,minmax(0,1fr)); }
  body.lp003-night-repair .guided-home { padding:52px 64px 68px; }
  body.lp003-night-repair .guided-brand { font-size:48px; }
  body.lp003-night-repair .guided-slogan { font-size:23px; }
  body.lp003-night-repair .guided-promo-banner { margin-top:24px; padding:18px 24px; }
  body.lp003-night-repair .guided-promo-banner b { font-size:26px; }
  body.lp003-night-repair .guided-promo-banner span { font-size:20px; }
  body.lp003-night-repair .guided-intro { margin:34px 0 22px; }
  body.lp003-night-repair .guided-eyebrow { font-size:24px; }
  body.lp003-night-repair .guided-title { font-size:62px; }
  body.lp003-night-repair .guided-lead { font-size:24px; }
  body.lp003-night-repair .guided-step-title { margin:28px 0 18px; }
  body.lp003-night-repair .guided-step-title h2 { font-size:36px; }
  body.lp003-night-repair .guided-step-title span { font-size:23px; }
  body.lp003-night-repair .guided-project-grid { gap:24px; }
  body.lp003-night-repair .guided-project,
  body.lp003-night-repair .guided-project:first-child { min-height:620px; }
  body.lp003-night-repair .guided-project-primary,
  body.lp003-night-repair .guided-project-primary:first-child { min-height:500px; }
  body.lp003-night-repair .guided-project-copy { padding:96px 30px 26px; }
  body.lp003-night-repair .guided-project-primary .guided-project-copy { padding:38px 46px; }
  body.lp003-night-repair .guided-project-name { font-size:38px; }
  body.lp003-night-repair .guided-project-desc { font-size:21px; }
  body.lp003-night-repair .guided-project-price { font-size:28px; }
  body.lp003-night-repair .guided-project-primary .guided-project-name { font-size:48px; }
  body.lp003-night-repair .guided-project-primary .guided-project-desc { font-size:26px; }
  body.lp003-night-repair .guided-project-primary .guided-project-price { font-size:32px; }
  body.lp003-night-repair .guided-project-status { top:22px; right:22px; padding:11px 18px; font-size:20px; }
  body.lp003-night-repair .guided-home-note { margin-top:28px; font-size:21px; }
}

/* v13.1 commercial touch controls -----------------------------------------
   Navigation stays light at the top edges; the current-step CTA remains
   beside the content or in the existing sticky result bar. */
body.lp003-night-repair .kiosk-action-bar {
  top:18px;
  left:18px;
  right:18px;
  justify-content:space-between;
  align-items:center;
  pointer-events:none;
}
body.lp003-night-repair .kiosk-action-bar.visible { display:flex; }
body.lp003-night-repair .kiosk-action-btn {
  min-width:190px;
  min-height:68px;
  padding:14px 24px;
  border:2px solid rgba(157,239,229,.5);
  border-radius:18px;
  background:rgba(8,26,42,.94);
  color:#fff;
  font-size:20px;
  font-weight:900;
  box-shadow:0 12px 30px rgba(0,0,0,.42),inset 0 1px 0 rgba(255,255,255,.12);
  pointer-events:auto;
}
body.lp003-night-repair .kiosk-action-btn.exit {
  border-color:rgba(255,159,159,.56);
  background:rgba(119,36,45,.94);
}
body.lp003-night-repair .camera-slot-box.center.adult {
  top:8%;
  bottom:4%;
  left:27%;
  width:46%;
}
body.lp003-night-repair .camera-slot-box.center.child {
  top:34%;
  bottom:4%;
  left:31%;
  width:38%;
  border-color:#ffd166;
  background:rgba(255,209,102,.06);
}
body.lp003-night-repair .camera-slot-box.child span { background:rgba(83,57,6,.94); }

/* The travel hero is a product billboard: two reviewed real outcomes fill the
   card edge-to-edge, while the product name and price stay on a readable
   bottom gradient. This removes the former empty left half. */
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-travel-outcomes {
  inset:0;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:0;
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-travel-outcome {
  border:0;
  border-radius:0;
  background-position:center 28%;
  box-shadow:none;
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-travel-outcome:first-child {
  border-right:2px solid rgba(196,244,238,.32);
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-travel-outcome b {
  top:16px;
  bottom:auto;
  left:18px;
  padding:7px 12px;
  border:1px solid rgba(184,246,238,.46);
  border-radius:999px;
  background:rgba(4,23,34,.78);
  font-size:16px;
}
body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-travel-outcomes > em { display:none; }
body.lp003-night-repair .guided-project-primary .guided-project-copy {
  inset:auto 0 0 0;
  z-index:4;
  width:100%;
  min-height:48%;
  padding:88px 30px 22px;
  justify-content:flex-end;
  background:linear-gradient(180deg,transparent 0%,rgba(3,15,25,.68) 40%,rgba(3,15,25,.97) 100%);
}

@media (max-width:900px) {
  .guided-home { padding:34px 28px 48px; }
  .guided-brand { font-size:32px; }
  .guided-title { font-size:50px; }
  .guided-project-name { font-size:31px; }
  .guided-project-grid { gap:16px; }
  .guided-filter-row { grid-template-columns:repeat(2,minmax(0,1fr)); }
}

/* Commercial result-flow v13 -------------------------------------------------
   The previous rollout validated selection and capture but left the acquisition
   panel and 100% progress bar visible after generation.  Completed states below
   deliberately become result-first pages with one persistent decision bar. */

body.lp003-night-repair .guided-project[data-guided-page="travel"] .guided-project-media::after {
  content:none;
  display:none;
}
body.lp003-night-repair .guided-travel-outcomes {
  position:absolute;
  inset:20px 20px 20px 48%;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
  z-index:2;
}
body.lp003-night-repair .guided-travel-outcome {
  position:relative;
  min-width:0;
  overflow:hidden;
  border:2px solid rgba(196,244,238,.46);
  border-radius:20px;
  background-image:var(--guided-outcome);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 28%;
  box-shadow:0 18px 36px rgba(0,0,0,.34);
}
body.lp003-night-repair .guided-travel-outcome::after {
  content:"";
  position:absolute;
  inset:44% 0 0;
  background:linear-gradient(180deg,transparent,rgba(3,15,24,.9));
}
body.lp003-night-repair .guided-travel-outcome b {
  position:absolute;
  z-index:2;
  left:14px;
  bottom:12px;
  color:#fff;
  font-size:18px;
  font-style:normal;
  text-shadow:0 2px 8px rgba(0,0,0,.82);
}
body.lp003-night-repair .guided-travel-outcomes > em {
  position:absolute;
  right:12px;
  top:12px;
  padding:7px 12px;
  border-radius:999px;
  background:rgba(4,23,34,.84);
  border:1px solid rgba(109,229,210,.54);
  color:#ddfffa;
  font-size:14px;
  font-weight:850;
  font-style:normal;
}

body.lp003-night-repair .guided-project[data-guided-page="idphoto"] .guided-project-copy {
  min-height:36%;
  padding:54px 22px 18px;
}
body.lp003-night-repair .guided-idphoto-sheet {
  position:absolute;
  top:14px;
  bottom:39%;
  left:50%;
  width:46%;
  transform:translateX(-50%);
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  grid-template-rows:repeat(2,minmax(0,1fr));
  gap:6px;
  padding:11px 11px 38px;
  border-radius:12px;
  background:#fff;
  border:1px solid #dce4ec;
  box-shadow:0 12px 28px rgba(13,35,56,.28);
  overflow:hidden;
}
body.lp003-night-repair .guided-idphoto-sheet i {
  min-width:0;
  min-height:0;
  background-image:var(--guided-id-blue);
  background-size:cover;
  background-position:center 18%;
  background-repeat:no-repeat;
}
body.lp003-night-repair .guided-idphoto-sheet b {
  position:absolute;
  left:0;
  right:0;
  bottom:9px;
  color:#15314b;
  font-size:14px;
  font-weight:900;
  text-align:center;
  letter-spacing:.4px;
}
body.lp003-night-repair .guided-idphoto-triptych { display:none!important; }

body.lp003-night-repair .result-success-head {
  display:flex;
  flex-direction:column;
  align-items:center;
  gap:8px;
  text-align:center;
}
body.lp003-night-repair .result-success-kicker {
  padding:7px 16px;
  border:1px solid rgba(67,214,194,.56);
  border-radius:999px;
  background:rgba(31,135,128,.18);
  color:#8ff5e6;
  font-size:16px;
  font-weight:900;
}
body.lp003-night-repair .result-summary {
  color:rgba(255,255,255,.72);
  font-size:18px;
  line-height:1.5;
}
body.lp003-night-repair .result-action-bar,
body.lp003-night-repair .idphoto-action-row,
body.lp003-night-repair .restore-action-row {
  position:sticky;
  z-index:45;
  bottom:14px;
  display:flex;
  width:min(940px,100%);
  gap:12px;
  margin:0 auto;
  padding:12px;
  border:1px solid rgba(110,233,217,.28);
  border-radius:20px;
  background:rgba(7,22,35,.94);
  box-shadow:0 16px 42px rgba(0,0,0,.48);
  backdrop-filter:blur(16px);
}
body.lp003-night-repair .result-secondary-btn {
  min-width:0;
  min-height:72px;
  flex:1 1 0;
  border:1px solid rgba(255,255,255,.28);
  border-radius:16px;
  background:rgba(255,255,255,.08);
  color:#fff;
  font-size:19px;
  font-weight:850;
  cursor:pointer;
}
body.lp003-night-repair .result-action-bar .pay-btn,
body.lp003-night-repair .idphoto-action-row .pay-btn,
body.lp003-night-repair .restore-action-row .pay-btn {
  flex:1.7 1 0;
  min-height:72px;
  width:auto;
  font-size:22px;
}

body.lp003-night-repair #page-travel.active.result-complete {
  display:flex!important;
  flex-direction:column;
  grid-template-columns:none;
  grid-template-rows:none;
  gap:18px;
  overflow-y:auto!important;
  padding:30px 34px 110px!important;
}
body.lp003-night-repair #page-travel.result-complete > .photo-product-title,
body.lp003-night-repair #page-travel.result-complete > .travel-package-picker,
body.lp003-night-repair #page-travel.result-complete > .travel-tip,
body.lp003-night-repair #page-travel.result-complete > .selected-bar,
body.lp003-night-repair #page-travel.result-complete > .template-grid,
body.lp003-night-repair #page-travel.result-complete > .review-section,
body.lp003-night-repair #page-travel.result-complete > .upload-section,
body.lp003-night-repair #page-travel.result-complete > .photo-preview-section,
body.lp003-night-repair #page-travel.result-complete #guided-filter-panel,
body.lp003-night-repair #page-travel.result-complete .travel-progress-panel {
  display:none!important;
}
body.lp003-night-repair #page-travel.active.result-complete #travel-template-grid.lp003-vertical-catalog {
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.lp003-night-repair #page-travel.generation-failed > .photo-product-title,
body.lp003-night-repair #page-travel.generation-failed > .travel-package-picker,
body.lp003-night-repair #page-travel.generation-failed > .travel-tip,
body.lp003-night-repair #page-travel.generation-failed > .selected-bar,
body.lp003-night-repair #page-travel.generation-failed > .template-grid,
body.lp003-night-repair #page-travel.generation-failed > .review-section,
body.lp003-night-repair #page-travel.generation-failed > .upload-section,
body.lp003-night-repair #page-travel.generation-failed > .photo-preview-section,
body.lp003-night-repair #page-travel.generation-failed #guided-filter-panel,
body.lp003-night-repair #page-travel.active.generation-failed:not(.travel-acquiring) #travel-template-grid.lp003-vertical-catalog {
  display:none!important;
  width:0!important;
  height:0!important;
  min-height:0!important;
  padding:0!important;
  border:0!important;
  overflow:hidden!important;
}
body.lp003-night-repair #page-travel.generation-failed > :not(#travel-result) {
  display:none!important;
}
body.lp003-night-repair #page-travel.generation-failed #travel-result {
  display:flex!important;
  flex:0 0 auto!important;
  width:min(760px,100%);
  margin:18vh auto 0;
}
body.lp003-night-repair #page-travel.active.generation-failed {
  display:flex!important;
  flex-direction:column;
  grid-template-columns:none!important;
  gap:20px;
  overflow-y:auto!important;
  padding:44px 54px 110px!important;
}
body.lp003-night-repair #page-travel.generation-failed #travel-result-grid,
body.lp003-night-repair #page-travel.generation-failed #travel-result-actions {
  display:none!important;
}
body.lp003-night-repair #page-travel.generation-failed .travel-progress-panel,
body.lp003-night-repair #page-travel.generation-failed .travel-failure-actions {
  width:min(720px,100%);
  margin:18px auto 0;
}
body.lp003-night-repair #page-travel.result-complete #travel-result {
  display:flex!important;
  visibility:visible!important;
  width:100%;
  max-width:980px;
  margin:42px auto 0;
  gap:18px;
}
body.lp003-night-repair #page-travel.result-complete #travel-result-grid {
  width:100%;
  gap:16px;
}
body.lp003-night-repair #page-travel.result-complete #travel-result-grid.single-result {
  grid-template-columns:minmax(0,690px);
  justify-content:center;
}
body.lp003-night-repair #page-travel.result-complete #travel-result-grid.multi-result {
  grid-template-columns:repeat(2,minmax(0,1fr));
}
body.lp003-night-repair #page-travel.result-complete .travel-result-slot {
  min-height:0;
  aspect-ratio:2/3;
  border-radius:22px;
  border:2px solid rgba(118,231,216,.42);
  background:#07121f;
  box-shadow:0 20px 50px rgba(0,0,0,.42);
}
body.lp003-night-repair #page-travel.result-complete .travel-result-slot img {
  object-fit:contain;
  border-radius:20px;
  background:#07121f;
}

body.lp003-night-repair .idphoto-result-head { display:none; }
body.lp003-night-repair .restore-result-head { display:none; }
body.lp003-night-repair #page-idphoto.result-complete {
  overflow-y:auto;
  padding-bottom:110px;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-top,
body.lp003-night-repair #page-idphoto.result-complete .idphoto-middle,
body.lp003-night-repair #page-idphoto.result-complete > .guided-service-heading,
body.lp003-night-repair #page-idphoto.result-complete .guided-service-flow,
body.lp003-night-repair #page-idphoto.result-complete > .guided-return-idle {
  display:none!important;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-layout {
  min-height:0;
  flex:0 0 auto;
  padding:12px 28px 0;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-results {
  flex:0 0 auto;
  min-height:0;
  border:0;
  background:transparent;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-result-head { display:flex; }
body.lp003-night-repair #page-idphoto.result-complete .idphoto-results-center {
  max-width:1050px;
  gap:18px;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-preview-row {
  display:grid;
  grid-template-columns:minmax(0,2fr) minmax(180px,.72fr);
  gap:24px;
  align-items:center;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-preview-a6 {
  order:1;
  width:100%;
  max-width:none;
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-preview-single {
  order:2;
  width:100%;
  max-width:none;
  padding:16px;
  border-radius:18px;
  background:rgba(255,255,255,.055);
  border:1px solid rgba(255,255,255,.12);
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-preview-a6 img {
  max-height:min(68vh,1180px);
  border:10px solid #fff;
  border-radius:8px;
  background:#fff;
  box-shadow:0 18px 46px rgba(0,0,0,.42);
}
body.lp003-night-repair #page-idphoto.result-complete .idphoto-preview-single img {
  max-height:min(34vh,520px);
}

body.lp003-night-repair #page-restore.result-complete {
  overflow-y:auto;
  padding-bottom:110px;
}
body.lp003-night-repair #page-restore.result-complete .restore-top,
body.lp003-night-repair #page-restore.result-complete .restore-middle,
body.lp003-night-repair #page-restore.result-complete > .guided-service-heading,
body.lp003-night-repair #page-restore.result-complete .guided-service-flow {
  display:none!important;
}
body.lp003-night-repair #page-restore.result-complete .restore-layout {
  overflow:visible;
  flex:0 0 auto;
  min-height:0;
}
body.lp003-night-repair #page-restore.result-complete .restore-results { flex:0 0 auto; }
body.lp003-night-repair #page-restore.result-complete .restore-result-head {
  display:flex;
  width:min(1040px,100%);
  margin:0 auto;
}
body.lp003-night-repair #page-restore.result-complete .restore-preview-row {
  min-height:0;
  align-items:flex-start;
  padding-top:34px;
}
body.lp003-night-repair #page-restore.result-complete .restore-preview-side img { max-height:min(60vh,1020px); }

body.lp003-night-repair #page-cartoon.result-complete .photo-product-change-preset,
body.lp003-night-repair #page-cartoon.result-complete #cartoon-upload-actions,
body.lp003-night-repair #page-cartoon.result-complete #cartoon-generate-btn {
  display:none!important;
}
body.lp003-night-repair .cartoon-result-head { display:none; }
body.lp003-night-repair #page-cartoon.result-complete > .photo-product-title,
body.lp003-night-repair #page-cartoon.result-complete > .photo-product-tip,
body.lp003-night-repair #page-cartoon.result-complete .photo-product-select-panel,
body.lp003-night-repair #page-cartoon.result-complete .photo-product-upload-panel > .review-title {
  display:none!important;
}
body.lp003-night-repair #page-cartoon.result-complete .photo-product-layout,
body.lp003-night-repair #page-cartoon.result-complete .photo-product-upload-panel {
  display:flex!important;
  flex-direction:column;
  min-height:0;
}
body.lp003-night-repair #page-cartoon.result-complete .photo-product-upload-panel {
  width:100%;
  background:transparent;
  border:0;
  padding:0;
}
body.lp003-night-repair #page-cartoon.result-complete .cartoon-result-head {
  display:flex;
  order:1;
  width:min(1040px,100%);
  margin:0 auto;
}
body.lp003-night-repair #page-cartoon.result-complete .photo-product-comparison.has-result {
  order:2;
  grid-template-columns:minmax(280px,.7fr) minmax(0,1.3fr);
  width:min(1040px,100%);
}
body.lp003-night-repair #page-cartoon.result-complete .photo-product-comparison .photo-product-preview,
body.lp003-night-repair #page-cartoon.result-complete .photo-product-comparison .photo-product-result {
  height:min(66vh,1050px);
}
body.lp003-night-repair #page-cartoon.result-complete #cartoon-result-actions {
  order:3;
  position:sticky;
  bottom:14px;
  z-index:40;
  width:min(940px,100%);
  margin:0 auto;
  padding:12px;
  border-radius:20px;
  background:rgba(7,22,35,.94);
  box-shadow:0 16px 42px rgba(0,0,0,.48);
}

body.lp003-night-repair .post-pay-card {
  max-height:92vh;
  overflow-y:auto;
}
body.lp003-night-repair .post-pay-actions { align-items:stretch; }
body.lp003-night-repair .post-pay-action {
  display:flex;
  flex-direction:column;
  justify-content:center;
  gap:5px;
  border:2px solid rgba(255,255,255,.16);
}
body.lp003-night-repair .post-pay-stage-label {
  align-self:flex-start;
  padding:5px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff6dd;
  font-size:14px;
  font-weight:900;
}
body.lp003-night-repair .post-pay-print-panel:disabled {
  opacity:1;
  filter:none;
  border-style:dashed;
}

@media (min-width:1300px) {
  body.lp003-night-repair .guided-travel-outcome b { font-size:22px; }
  body.lp003-night-repair .guided-travel-outcomes > em { font-size:17px; }
  body.lp003-night-repair .guided-idphoto-sheet b { font-size:18px; }
  body.lp003-night-repair #page-travel.result-complete #travel-result-grid.single-result {
    grid-template-columns:minmax(0,860px);
  }
  body.lp003-night-repair .result-secondary-btn { min-height:84px; font-size:23px; }
  body.lp003-night-repair .result-action-bar .pay-btn,
  body.lp003-night-repair .idphoto-action-row .pay-btn,
  body.lp003-night-repair .restore-action-row .pay-btn { min-height:84px; font-size:26px; }
}

/* v14 human-centered visual system ----------------------------------------
   Final cascade owner for the five-product launchpad. The hero uses two
   reviewed outcomes at equal visual weight. The ID-photo card explains the
   transformation with one same-person before/after composite and a single
   directional cue instead of a floating postage-stamp sheet. */
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcomes {
  inset:0;
  grid-template-columns:52% 48%;
  gap:0;
}
body.lp003-human-visual .guided-project-primary,
body.lp003-human-visual .guided-project-primary:first-child {
  min-height:600px;
}
body.lp003-human-visual .guided-project:not(.guided-project-primary),
body.lp003-human-visual .guided-project:not(.guided-project-primary):first-child {
  min-height:350px;
}
body.lp003-human-visual .guided-project[data-guided-page="cartoon"],
body.lp003-human-visual .guided-project[data-guided-page="idphoto"] {
  min-height:290px;
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome {
  border:0;
  border-radius:0;
  box-shadow:none;
  background-size:cover;
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome:first-child {
  border-right:2px solid rgba(202,247,240,.36);
  background-position:center 34%;
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome:nth-child(2) {
  background-position:center 25%;
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome::after {
  inset:61% 0 0;
  background:linear-gradient(180deg,transparent,rgba(2,12,20,.86));
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome b {
  top:16px;
  bottom:auto;
  left:18px;
  padding:8px 14px;
  border:1px solid rgba(184,246,238,.5);
  border-radius:999px;
  background:rgba(4,23,34,.82);
  color:#fff;
  font-size:17px;
  letter-spacing:.5px;
}
body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcomes > em { display:none; }
body.lp003-human-visual .guided-project-primary .guided-project-copy {
  inset:auto 0 0 0;
  z-index:4;
  width:100%;
  min-height:38%;
  padding:70px 30px 22px;
  justify-content:flex-end;
  background:linear-gradient(180deg,transparent 0%,rgba(3,15,25,.5) 40%,rgba(3,15,25,.97) 100%);
}

body.lp003-human-visual .guided-brand { font-size:40px; }
body.lp003-human-visual .guided-slogan { font-size:22px; }
body.lp003-human-visual .guided-promo-banner b { font-size:24px; }
body.lp003-human-visual .guided-promo-banner span { font-size:18px; }
body.lp003-human-visual .guided-eyebrow { font-size:22px; }
body.lp003-human-visual .guided-title { font-size:52px; }
body.lp003-human-visual .guided-lead { font-size:22px; color:#d4e4ed; }
body.lp003-human-visual .guided-step-title h2 { font-size:32px; }
body.lp003-human-visual .guided-step-title span { font-size:21px; }
body.lp003-human-visual .guided-project-name { font-size:33px; }
body.lp003-human-visual .guided-project-desc { font-size:18px; color:#e8f2f6; }
body.lp003-human-visual .guided-project-price { font-size:25px; }
body.lp003-human-visual .guided-project-primary .guided-project-name { font-size:42px; }
body.lp003-human-visual .guided-project-primary .guided-project-desc { font-size:23px; }
body.lp003-human-visual .guided-project-primary .guided-project-price { font-size:30px; }
body.lp003-human-visual .guided-project[data-guided-page="cartoon"] .guided-project-media {
  background-size:auto 155%;
  background-position:70% 10%;
}

body.lp003-human-visual [data-guided-people].active {
  border-color:#b7fff5;
  background:linear-gradient(135deg,#0dc7b2 0%,#177f95 100%);
  box-shadow:0 0 0 3px rgba(114,255,236,.2),0 12px 30px rgba(10,205,180,.34);
  color:#fff;
}

@media (min-width:1300px) {
  body.lp003-human-visual .guided-project-primary,
  body.lp003-human-visual .guided-project-primary:first-child {
    min-height:830px;
  }
  body.lp003-human-visual .guided-project:not(.guided-project-primary),
  body.lp003-human-visual .guided-project:not(.guided-project-primary):first-child { min-height:560px; }
  body.lp003-human-visual .guided-project[data-guided-page="cartoon"],
  body.lp003-human-visual .guided-project[data-guided-page="idphoto"] { min-height:470px; }
  body.lp003-human-visual .guided-brand { font-size:52px; }
  body.lp003-human-visual .guided-slogan { font-size:26px; }
  body.lp003-human-visual .guided-promo-banner b { font-size:28px; }
  body.lp003-human-visual .guided-promo-banner span { font-size:22px; }
  body.lp003-human-visual .guided-eyebrow { font-size:26px; }
  body.lp003-human-visual .guided-title { font-size:68px; }
  body.lp003-human-visual .guided-lead { font-size:26px; }
  body.lp003-human-visual .guided-step-title h2 { font-size:40px; }
  body.lp003-human-visual .guided-step-title span { font-size:26px; }
  body.lp003-human-visual .guided-project-name { font-size:42px; }
  body.lp003-human-visual .guided-project-desc { font-size:23px; }
  body.lp003-human-visual .guided-project-price { font-size:31px; }
  body.lp003-human-visual .guided-project-primary .guided-project-name { font-size:54px; }
  body.lp003-human-visual .guided-project-primary .guided-project-desc { font-size:29px; }
  body.lp003-human-visual .guided-project-primary .guided-project-price { font-size:36px; }
}

body.lp003-human-visual .guided-project[data-guided-page="idphoto"] .guided-project-media {
  background-color:#eef3f6;
  background-image:var(--guided-visual);
  background-size:cover;
  background-repeat:no-repeat;
  background-position:center 38%;
}
body.lp003-human-visual .guided-idphoto-showcase {
  position:absolute;
  inset:0;
  z-index:2;
  display:grid;
  grid-template-columns:58% 42%;
  overflow:hidden;
  pointer-events:none;
}
body.lp003-human-visual .guided-idphoto-main,
body.lp003-human-visual .guided-idphoto-sheet-preview {
  position:relative;
  min-width:0;
  background-position:center;
  background-repeat:no-repeat;
}
body.lp003-human-visual .guided-idphoto-main {
  background-color:#d92332;
  background-image:var(--guided-id-single);
  background-size:cover;
  background-position:center 32%;
}
body.lp003-human-visual .guided-idphoto-sheet-preview {
  border-left:2px solid rgba(255,255,255,.86);
  background-color:#fff;
  background-image:var(--guided-id-sheet);
  background-size:contain;
  background-position:center;
}
body.lp003-human-visual .guided-idphoto-label {
  position:absolute;
  top:14px;
  left:14px;
  max-width:calc(100% - 28px);
  padding:7px 12px;
  overflow:hidden;
  border:1px solid rgba(255,255,255,.7);
  border-radius:999px;
  background:rgba(7,25,38,.82);
  color:#fff;
  font-size:14px;
  line-height:1.15;
  font-weight:900;
  white-space:nowrap;
  text-overflow:ellipsis;
  box-shadow:0 6px 16px rgba(0,0,0,.18);
}
body.lp003-human-visual .guided-idphoto-sheet-preview .guided-idphoto-label {
  right:12px;
  left:auto;
}
body.lp003-human-visual .guided-project[data-guided-page="idphoto"] .guided-project-copy {
  z-index:4;
  min-height:37%;
  padding:58px 22px 18px;
  background:linear-gradient(180deg,transparent 0%,rgba(4,17,28,.54) 32%,rgba(4,17,28,.98) 100%);
}
body.lp003-human-visual .guided-home-note {
  flex-wrap:wrap;
  align-items:center;
  color:#d8e5ec;
}
body.lp003-human-visual .guided-home-note { font-size:19px; }
body.lp003-human-visual .guided-home-note b { color:#5ce1d1; font-size:23px; }

@media (min-width:1300px) {
  body.lp003-human-visual .guided-project[data-guided-page="travel"] .guided-travel-outcome b { font-size:21px; }
  body.lp003-human-visual .guided-home-note { font-size:23px; }
  body.lp003-human-visual .guided-home-note b { font-size:27px; }
  body.lp003-human-visual .guided-idphoto-label { top:20px; left:20px; max-width:calc(100% - 40px); padding:9px 15px; font-size:18px; }
  body.lp003-human-visual .guided-idphoto-sheet-preview .guided-idphoto-label { right:18px; left:auto; }
}

/* v14 initial service states: real outcomes replace empty placeholder space. */
body.lp003-human-visual .lp003-idphoto-empty,
body.lp003-human-visual .lp003-restore-empty {
  position:relative;
  isolation:isolate;
  width:min(900px,94%);
  min-height:min(980px,62vh);
  margin:auto;
  justify-content:flex-end;
  padding:48px 44px 72px;
  overflow:hidden;
  border-color:rgba(87,224,204,.38);
  background:linear-gradient(180deg,rgba(8,24,37,.74),rgba(8,24,37,.98));
  box-shadow:0 24px 70px rgba(0,0,0,.24);
}
body.lp003-human-visual .lp003-idphoto-empty::before,
body.lp003-human-visual .lp003-restore-empty::before {
  content:'';
  position:absolute;
  z-index:-2;
  left:5%;
  right:5%;
  top:4%;
  height:62%;
  border-radius:24px;
  background-position:center top;
  background-repeat:no-repeat;
  background-size:contain;
  opacity:.92;
}
body.lp003-human-visual .lp003-idphoto-empty::before { background-image:url('https://clvpai.yifanaikeji.cn/results/LP003-HOME-IDPHOTO-V14.jpg'); }
body.lp003-human-visual .lp003-restore-empty::before { background-image:url('/api/home-product-previews/restore-compare.png?v=20260820.14'); }
body.lp003-human-visual .lp003-idphoto-empty::after,
body.lp003-human-visual .lp003-restore-empty::after {
  content:'';
  position:absolute;
  z-index:-1;
  inset:34% 0 0;
  background:linear-gradient(180deg,transparent 0%,rgba(6,20,32,.88) 34%,rgba(6,20,32,.99) 100%);
}
body.lp003-human-visual .lp003-idphoto-empty > *,
body.lp003-human-visual .lp003-restore-empty > * { position:relative; z-index:1; }

@media (min-width:1300px) {
  body.lp003-human-visual .lp003-idphoto-empty,
  body.lp003-human-visual .lp003-restore-empty {
    width:min(1160px,94%);
    min-height:min(1260px,60vh);
    padding:60px 58px 92px;
  }
}
