
:root{--gold:#e5c46b;--gold2:#a97927;--bg:#080704;--panel:#15110b;--line:#715526;--text:#fff6df;--muted:#cdbb91;--green:#2c9a58;--red:#b53b3b}*{box-sizing:border-box}body{margin:0;background:radial-gradient(circle at 50% -10%,#35220b 0,transparent 35%),var(--bg);color:var(--text);font-family:Arial,"Microsoft YaHei",sans-serif;font-weight:700}body.modal-open{overflow:hidden}header{padding:18px;display:flex;align-items:center;gap:13px;border-bottom:1px solid var(--line);background:#0d0a06;position:sticky;top:0;z-index:10}header img{width:58px;height:58px;border-radius:50%;border:1px solid var(--gold)}header h1{font-size:21px;margin:0;color:var(--gold)}header p{margin:4px 0 0;color:var(--muted);font-size:12px}main{max-width:1000px;margin:auto;padding:16px}.card{background:linear-gradient(145deg,#1c160e,#0c0a07);border:1px solid var(--line);border-radius:18px;padding:18px;margin-bottom:16px;box-shadow:0 10px 30px #0008}h2{margin:0 0 15px;color:#f3d47d;font-size:22px}.grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}label{display:block;color:#e6ce93;font-size:14px;margin-bottom:6px}input,select,textarea{width:100%;min-height:52px;padding:12px;border:1px solid #8b672b;border-radius:11px;background:#080705;color:white;font-size:17px;font-weight:700}.full{grid-column:1/-1}.actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:15px}button,a.btn{border:0;border-radius:11px;min-height:50px;padding:12px 16px;font-weight:900;font-size:16px;cursor:pointer;text-decoration:none;display:inline-flex;align-items:center;justify-content:center}.primary{background:linear-gradient(135deg,#f0d174,#a87725);color:#160f05}.success{background:linear-gradient(135deg,#45b96c,#21723f);color:white}.secondary{background:#2a2114;color:#f2d99c;border:1px solid #806026!important}.danger{background:#8e2929;color:white}.notice{display:none;margin-top:12px;padding:12px;border-radius:10px;background:#14261a;color:#aef0bf;border:1px solid #377c4a}.records{display:grid;gap:12px}.record{border:1px solid #5e4824;border-radius:14px;padding:14px;background:#0c0a07}.record-head{display:flex;justify-content:space-between;gap:10px;align-items:start}.record h3{margin:0;color:#ffe39a;font-size:20px}.meta{color:#d6c49a;line-height:1.65;margin-top:7px;font-size:14px}.empty{text-align:center;color:#a99b7b;padding:25px}
/* 同页全屏邀请函 */
.invite-modal{display:none;position:fixed;inset:0;z-index:9999;background:#050403;overflow:auto;-webkit-overflow-scrolling:touch}.invite-modal.show{display:block}.invite-wrap{max-width:720px;margin:auto;min-height:100vh;background:radial-gradient(circle at 50% 0,#322008,transparent 30%),#070604}.invite-topbar{position:sticky;top:0;z-index:5;display:flex;justify-content:space-between;align-items:center;padding:10px 12px;background:rgba(5,4,3,.93);border-bottom:1px solid #735728;backdrop-filter:blur(8px)}.invite-topbar b{color:#f1d47d}.invite-topbar button{min-height:42px;padding:8px 14px;font-size:14px}.invite-video{width:100%;max-height:52vh;object-fit:cover;background:#000;display:block}.invite-content{padding:22px 18px 34px}.invite-logo{width:72px;height:72px;border-radius:50%;border:1px solid #e7c66f;display:block;margin:-55px auto 10px;position:relative;z-index:2;box-shadow:0 8px 30px #000}.invite-title{text-align:center;color:#f1d47d;font-size:25px;margin:8px 0}.invite-tag{text-align:center;color:#cbb986;letter-spacing:2px;font-size:12px;margin-bottom:20px}.invite-hero{width:100%;border-radius:16px;border:1px solid #735728;margin:12px 0 18px;display:block}.invite-info{background:linear-gradient(145deg,#1b150d,#0b0906);border:1px solid #735728;border-radius:17px;padding:17px}.invite-room{text-align:center;font-size:34px;color:#ffe39a;font-weight:900;margin-bottom:15px}.invite-row{display:flex;justify-content:space-between;gap:15px;padding:11px 0;border-bottom:1px solid #45351c}.invite-row:last-child{border:0}.invite-row span{color:#c8b68b}.invite-row b{text-align:right}.invite-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.invite-gallery img{width:100%;height:210px;object-fit:cover;border-radius:14px;border:1px solid #5d4622}.invite-actions{display:grid;grid-template-columns:1fr 1fr;gap:10px;margin-top:18px}.invite-actions button,.invite-actions a{min-height:52px;border-radius:11px;border:0;font-size:16px;font-weight:900;text-decoration:none;display:flex;align-items:center;justify-content:center}.invite-footer{text-align:center;color:#b8a77f;padding:28px 10px 10px;line-height:1.7}.sound-hint{display:none;position:absolute;inset:0;align-items:center;justify-content:center;background:rgba(0,0,0,.28);z-index:3}.sound-hint.show{display:flex}.sound-hint button{width:auto;min-height:54px;padding:12px 20px;border-radius:999px}.video-stage{position:relative}.local-warning{display:none;margin-top:12px;padding:12px;border-radius:10px;background:#2b1c0c;color:#ffe0a1;border:1px solid #8d6726;font-size:14px;line-height:1.5}
@media(max-width:650px){.grid{grid-template-columns:1fr}.full{grid-column:auto}header h1{font-size:18px}button,a.btn{width:100%}.record-head{display:block}.invite-gallery img{height:160px}.invite-actions{grid-template-columns:1fr}.invite-topbar button{width:auto}.invite-row{font-size:14px}}

.invite-section{margin-top:22px}.invite-section h3{margin:0 0 11px;color:#f2d47d;font-size:20px;text-align:center;letter-spacing:.4px}.invite-wide{display:block;width:100%;border-radius:16px;border:1px solid #735728;box-shadow:0 8px 28px #0008}.invite-ending{margin-top:26px;padding:36px 18px 42px;text-align:center;border-radius:18px;border:1px solid #735728;background:radial-gradient(circle at 50% 0,#2f210c 0,#0a0805 60%,#050403 100%)}.invite-ending img{width:94px;height:94px;object-fit:cover;border-radius:50%;border:1px solid #e7c66f;box-shadow:0 0 26px #d8b75c44}.invite-ending h2{margin:16px 0 5px;font-size:31px;color:#f1d47d}.invite-ending h4{margin:0;color:#d6c18b;letter-spacing:2px}.invite-ending .tagline{margin:18px 0;color:#e5c46b;font-size:16px}.invite-ending p{color:#e7dcc0;line-height:1.8;margin:8px 0}.invite-ending .thanks{margin-top:20px;color:#bca878;font-size:13px;letter-spacing:.7px}.room-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px}.room-gallery img{width:100%;height:210px;object-fit:cover;border-radius:14px;border:1px solid #5d4622}.room-gallery img:first-child:nth-last-child(3){grid-column:1/-1;height:260px}@media(max-width:520px){.room-gallery img{height:160px}.room-gallery img:first-child:nth-last-child(3){height:210px}}

.vip-booking-card{margin:18px 0 20px;border:1px solid #8d6a2b;border-radius:18px;padding:18px;background:linear-gradient(145deg,#1b140b,#080705);box-shadow:0 12px 30px rgba(0,0,0,.35)}
.vip-booking-card h3{margin:0 0 15px;text-align:center;color:#f4d77f;font-size:22px}
.vip-booking-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 22px}
.vip-booking-item{display:flex;justify-content:space-between;gap:12px;padding:11px 0;border-bottom:1px solid #45351c}
.vip-booking-item span{color:#c9b98f;white-space:nowrap}.vip-booking-item b{color:#fff7e5;text-align:right;word-break:break-word}.vip-booking-note{grid-column:1/-1}
.room-gallery{display:flex!important;gap:12px!important;overflow-x:auto!important;overflow-y:hidden!important;scroll-behavior:auto!important;scroll-snap-type:none!important;-webkit-overflow-scrolling:touch;scrollbar-width:none;padding:2px 1px 8px}
.room-gallery::-webkit-scrollbar{display:none}
.room-gallery img,.room-gallery img:first-child:nth-last-child(3){flex:0 0 88%!important;width:88%!important;height:360px!important;object-fit:contain!important;object-position:center!important;background:#050505!important;border-radius:16px!important;border:1px solid #745724!important;grid-column:auto!important}
.gallery-hint{text-align:center;color:#bda977;font-size:13px;margin-top:8px}
@media(max-width:650px){.vip-booking-grid{grid-template-columns:1fr}.vip-booking-note{grid-column:auto}.room-gallery img,.room-gallery img:first-child:nth-last-child(3){flex-basis:92%!important;width:92%!important;height:245px!important}}

/* ===== V3.5 FINAL：原版风格 VIP 邀请设计卡 ===== */
.vip-design-card{
  position:relative;
  min-height:560px;
  margin:18px 0 24px;
  overflow:hidden;
  border:2px solid #9d742b;
  border-radius:22px;
  background:#050403 center/cover no-repeat;
  box-shadow:0 0 0 1px rgba(255,216,111,.18),0 18px 46px rgba(0,0,0,.65),inset 0 0 55px rgba(0,0,0,.35);
}
.vip-design-card::before{
  content:"";
  position:absolute;inset:0;
  background:
    radial-gradient(circle at 50% 28%,rgba(255,220,120,.06),transparent 35%),
    linear-gradient(180deg,rgba(0,0,0,.06) 0%,rgba(0,0,0,.18) 45%,rgba(0,0,0,.92) 100%);
}
.vip-design-inner{position:relative;z-index:1;min-height:560px;padding:34px 24px 24px;display:flex;flex-direction:column}
.vip-reserved-label{text-align:center;color:#e7c76e;font-size:13px;letter-spacing:5px;font-weight:900;text-shadow:0 2px 10px #000}
.vip-reserved-room{text-align:center;color:#f7df91;font-size:38px;line-height:1.08;margin:7px 0 0;font-weight:950;letter-spacing:1px;text-shadow:0 3px 18px #000,0 0 22px rgba(224,181,71,.3)}
.vip-design-spacer{flex:1;min-height:260px}
.vip-design-details{
  border-top:1px solid rgba(227,191,92,.72);
  border-bottom:1px solid rgba(227,191,92,.45);
  background:linear-gradient(180deg,rgba(5,4,3,.30),rgba(5,4,3,.78));
  backdrop-filter:blur(3px);
  padding:15px 2px 8px;
}
.vip-design-date{text-align:center;color:#e8c970;font-size:17px;letter-spacing:2px;margin-bottom:10px}
.vip-design-manager{text-align:center;color:#fff0c4;font-size:15px;margin-bottom:13px}
.vip-design-grid{display:grid;grid-template-columns:1fr 1fr;gap:0 20px}
.vip-design-row{display:flex;justify-content:space-between;gap:12px;padding:10px 0;border-top:1px solid rgba(216,180,82,.30)}
.vip-design-row span{color:#cdbb8c;font-size:13px;white-space:nowrap}
.vip-design-row b{color:#fff6dd;text-align:right;font-size:14px;word-break:break-word}
.vip-design-row.full{grid-column:1/-1}
.vip-design-waze{display:flex!important;width:100%;margin-top:14px;min-height:52px;border-radius:12px;background:linear-gradient(135deg,#f0d174,#a87725);color:#160f05!important;border:1px solid #f4da8d!important;text-decoration:none;font-weight:950;align-items:center;justify-content:center}
@media(max-width:650px){
  .vip-design-card,.vip-design-inner{min-height:500px}
  .vip-design-inner{padding:27px 16px 18px}
  .vip-reserved-room{font-size:31px}
  .vip-design-spacer{min-height:225px}
  .vip-design-grid{grid-template-columns:1fr}
  .vip-design-row.full{grid-column:auto}
}


/* ===== V3.6 五行主题 · 无框沉浸式 VIP 设计 ===== */
.vip-design-card{
  --accent:#e6bd56;
  --accent2:#8c611d;
  position:relative!important;
  min-height:690px!important;
  margin:0 0 30px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background-color:#030303!important;
  background-position:center top!important;
  background-size:cover!important;
  box-shadow:none!important;
}
.vip-design-card::before{
  content:""!important;
  position:absolute!important;
  inset:0!important;
  background:
    linear-gradient(180deg,rgba(0,0,0,.02) 0%,rgba(0,0,0,.12) 42%,rgba(0,0,0,.88) 69%,#050403 100%)!important;
}
.vip-design-card::after{
  content:""!important;
  position:absolute!important;
  left:0;right:0;bottom:0;height:52%;
  background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--accent) 18%,transparent),transparent 58%);
  pointer-events:none;
}
.vip-brand{
  position:absolute;
  z-index:3;
  top:20px;
  left:20px;
  width:124px;
  height:86px;
  display:flex;
  align-items:center;
  justify-content:center;
  background:rgba(0,0,0,.24);
  backdrop-filter:blur(3px);
}
.vip-brand-logo{
  display:block;
  width:100%;
  height:100%;
  object-fit:contain;
}
.vip-design-inner{
  position:relative!important;
  z-index:2!important;
  min-height:690px!important;
  padding:40px 32px 28px!important;
  display:flex!important;
  flex-direction:column!important;
}
.vip-reserved-label{
  margin-top:106px!important;
  text-align:left!important;
  color:var(--accent)!important;
  font-size:13px!important;
  letter-spacing:6px!important;
  text-shadow:0 2px 16px #000!important;
}
.vip-reserved-room{
  text-align:left!important;
  color:#fff1c6!important;
  font-size:46px!important;
  margin:8px 0 0!important;
  text-shadow:0 3px 20px #000,0 0 24px color-mix(in srgb,var(--accent) 40%,transparent)!important;
}
.vip-design-spacer{flex:1!important;min-height:235px!important}
.vip-design-details{
  position:relative!important;
  border:0!important;
  background:linear-gradient(180deg,transparent,rgba(0,0,0,.72) 17%,rgba(0,0,0,.94))!important;
  backdrop-filter:blur(2px)!important;
  padding:38px 0 0!important;
}
.vip-design-details::before{
  content:"";
  position:absolute;
  top:9px;left:0;width:58%;height:1px;
  background:linear-gradient(90deg,var(--accent),transparent);
}
.vip-design-date{
  text-align:left!important;
  color:var(--accent)!important;
  font-size:17px!important;
  letter-spacing:2px!important;
  margin:0 0 8px!important;
}
.vip-design-manager{
  text-align:left!important;
  color:#fff2d2!important;
  font-size:15px!important;
  margin-bottom:14px!important;
}
.vip-design-grid{
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  gap:0 28px!important;
}
.vip-design-row{
  border-top:1px solid color-mix(in srgb,var(--accent) 32%,transparent)!important;
  padding:13px 0!important;
}
.vip-design-row span{color:#cdbd98!important;font-size:12px!important;letter-spacing:.4px}
.vip-design-row b{color:#fff8e8!important;font-size:15px!important}
.vip-design-waze{
  margin-top:18px!important;
  min-height:55px!important;
  border:0!important;
  border-radius:7px!important;
  background:linear-gradient(100deg,var(--accent),color-mix(in srgb,var(--accent2) 82%,#000))!important;
  color:#100c05!important;
  box-shadow:0 7px 22px color-mix(in srgb,var(--accent) 22%,transparent)!important;
}
/* 五行各自不同视觉 */
.theme-mars{--accent:#ff7a2f;--accent2:#b6210d;background-position:center 28%!important}
.theme-mars::before{background:linear-gradient(180deg,rgba(25,0,0,.02),rgba(30,0,0,.18) 43%,rgba(24,2,0,.91) 70%,#080201)!important}
.theme-jupiter{--accent:#e4bd62;--accent2:#8a5a18;background-position:center 25%!important}
.theme-venus{--accent:#e8c653;--accent2:#737d24;background-position:center 30%!important}
.theme-venus::before{background:linear-gradient(180deg,rgba(0,18,10,.02),rgba(0,22,12,.14) 43%,rgba(2,18,10,.91) 70%,#020806)!important}
.theme-mercury{--accent:#6ec9ff;--accent2:#1759a5;background-position:center 26%!important}
.theme-mercury::before{background:linear-gradient(180deg,rgba(0,8,30,.02),rgba(0,17,42,.18) 43%,rgba(1,10,31,.92) 70%,#01050d)!important}
.theme-saturn{--accent:#d99cff;--accent2:#6d2a91;background-position:center 27%!important}
.theme-saturn::before{background:linear-gradient(180deg,rgba(15,0,25,.02),rgba(25,0,40,.16) 43%,rgba(18,3,29,.92) 70%,#07020c)!important}
@media(max-width:650px){
  .invite-content{padding-left:0!important;padding-right:0!important}
  .vip-design-card,.vip-design-inner{min-height:620px!important}
  .vip-design-inner{padding:26px 22px 22px!important}
  .vip-brand{top:15px;left:18px;width:106px;height:74px}
  .vip-reserved-label{margin-top:92px!important;font-size:11px!important;letter-spacing:5px!important}
  .vip-reserved-room{font-size:38px!important}
  .vip-design-spacer{min-height:220px!important}
  .vip-design-grid{grid-template-columns:1fr 1fr!important;gap:0 16px!important}
  .vip-design-row{display:block!important}
  .vip-design-row span,.vip-design-row b{display:block!important;text-align:left!important}
  .vip-design-row b{margin-top:5px!important}
}


/* ===== V3.7 手机完整显示修复 =====
   主视觉完整显示，不再被 cover 裁切；资料区自然往下延伸。 */
.vip-design-card{
  min-height:0!important;
  height:auto!important;
  background-size:100% auto!important;
  background-repeat:no-repeat!important;
  background-position:center top!important;
  overflow:visible!important;
}
.vip-design-card::before{
  background:
    linear-gradient(180deg,
      rgba(0,0,0,.02) 0%,
      rgba(0,0,0,.05) 43%,
      rgba(0,0,0,.72) 64%,
      #050403 82%,
      #050403 100%)!important;
}
.vip-design-card::after{display:none!important}
.vip-design-inner{
  min-height:0!important;
  height:auto!important;
  padding-top:58%!important;
}
.vip-brand{
  top:18px!important;
  left:20px!important;
}
.vip-reserved-label{
  margin-top:0!important;
}
.vip-design-spacer{
  display:none!important;
}
.vip-design-details{
  margin-top:24px!important;
  padding:36px 0 24px!important;
  background:linear-gradient(180deg,rgba(0,0,0,.15),rgba(0,0,0,.96) 22%,#050403 100%)!important;
}
@media(max-width:650px){
  .vip-design-card{
    background-size:100% auto!important;
    background-position:center top!important;
  }
  .vip-design-inner{
    min-height:0!important;
    padding:72% 20px 24px!important;
  }
  .vip-brand{
    width:96px!important;
    height:68px!important;
    top:12px!important;
    left:14px!important;
  }
  .vip-reserved-label{
    margin-top:0!important;
    font-size:11px!important;
    letter-spacing:4px!important;
  }
  .vip-reserved-room{
    font-size:36px!important;
    margin-top:7px!important;
  }
  .vip-design-details{
    margin-top:18px!important;
    padding:32px 0 20px!important;
  }
  .vip-design-grid{
    grid-template-columns:1fr 1fr!important;
    gap:0 14px!important;
  }
  .vip-design-row{
    min-width:0!important;
    padding:12px 0!important;
  }
  .vip-design-row span{
    font-size:11px!important;
    white-space:normal!important;
  }
  .vip-design-row b{
    font-size:14px!important;
    overflow-wrap:anywhere!important;
  }
  .vip-design-waze{
    margin-bottom:4px!important;
  }
}
@media(max-width:390px){
  .vip-design-inner{padding-left:14px!important;padding-right:14px!important}
  .vip-design-grid{grid-template-columns:1fr!important}
}


/* ===== V3.8：订房资料直接融合在海报原有框内 ===== */
.vip-design-card{
  position:relative!important;
  width:100%!important;
  min-height:0!important;
  aspect-ratio:1/1!important;
  margin:18px 0 24px!important;
  overflow:hidden!important;
  border:0!important;
  border-radius:0!important;
  background-position:center!important;
  background-size:cover!important;
  box-shadow:none!important;
}
.vip-design-card::before{display:none!important}
.vip-design-card::after{display:none!important}
.vip-brand{display:none!important}
.vip-design-inner{
  position:absolute!important;
  z-index:2!important;
  left:2.9%!important;
  right:2.9%!important;
  bottom:2.7%!important;
  height:49.5%!important;
  min-height:0!important;
  padding:2.1% 4.4% 2.2%!important;
  display:flex!important;
  flex-direction:column!important;
  overflow:hidden!important;
  border:1px solid rgba(105,198,255,.95)!important;
  clip-path:polygon(3% 0,97% 0,100% 7%,100% 93%,97% 100%,3% 100%,0 93%,0 7%)!important;
  background:linear-gradient(180deg,rgba(2,10,21,.985),rgba(1,7,15,.995))!important;
  box-shadow:inset 0 0 28px rgba(26,139,255,.22),0 0 10px rgba(48,170,255,.52)!important;
}
.vip-reserved-label{
  text-align:left!important;
  color:#e6c979!important;
  font-size:clamp(9px,1.25vw,14px)!important;
  letter-spacing:.34em!important;
  line-height:1.1!important;
  text-shadow:none!important;
}
.vip-reserved-room{
  text-align:left!important;
  color:#fff!important;
  font-size:clamp(27px,4.65vw,54px)!important;
  line-height:1!important;
  margin:1.2% 0 1.7%!important;
  letter-spacing:.02em!important;
  text-shadow:none!important;
}
.vip-design-spacer{display:none!important}
.vip-design-details{
  flex:1!important;
  min-height:0!important;
  border:0!important;
  background:none!important;
  backdrop-filter:none!important;
  padding:0!important;
  display:flex!important;
  flex-direction:column!important;
}
.vip-design-date,.vip-design-manager{display:none!important}
.vip-design-grid{
  flex:1!important;
  min-height:0!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  column-gap:5.2%!important;
  row-gap:0!important;
}
.vip-design-row{
  min-width:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  gap:2px!important;
  padding:2.2% 0!important;
  border-top:0!important;
  border-bottom:1px dotted rgba(218,177,78,.63)!important;
}
.vip-design-row span{
  display:block!important;
  color:#dfbe69!important;
  font-size:clamp(8px,1.05vw,12px)!important;
  line-height:1.12!important;
  letter-spacing:.02em!important;
  white-space:normal!important;
}
.vip-design-row b{
  display:block!important;
  color:#fff!important;
  text-align:left!important;
  font-size:clamp(10px,1.55vw,17px)!important;
  line-height:1.16!important;
  margin-top:2px!important;
  word-break:break-word!important;
}
.vip-design-row.address b{font-size:clamp(8px,1.12vw,13px)!important;line-height:1.15!important}
.vip-design-waze{
  width:auto!important;
  min-height:0!important;
  align-self:flex-end!important;
  margin:1.7% 0 0!important;
  padding:0 0 2px!important;
  border:0!important;
  border-bottom:2px solid #2e9fff!important;
  border-radius:0!important;
  background:none!important;
  color:#fff!important;
  font-size:clamp(9px,1.25vw,14px)!important;
  box-shadow:none!important;
}
@media(max-width:520px){
  .invite-content{padding-left:0!important;padding-right:0!important}
  .vip-design-card{margin-top:10px!important}
  .vip-design-inner{left:2.6%!important;right:2.6%!important;bottom:2.5%!important;height:50.5%!important;padding:2.2% 4.2% 2.1%!important}
  .vip-reserved-room{font-size:clamp(24px,7.6vw,38px)!important}
  .vip-design-grid{column-gap:5%!important}
  .vip-design-row{padding:1.8% 0!important}
  .vip-design-row span{font-size:clamp(7px,2.45vw,10px)!important}
  .vip-design-row b{font-size:clamp(9px,3.35vw,14px)!important}
  .vip-design-row.address b{font-size:clamp(7px,2.45vw,10px)!important}
}



/* ===== V4.0 五行独立元素系统 ===== */
.invite-wrap{--theme-accent:#e6bd56;--theme-soft:#8c611d;--theme-bg:#080604}
.invite-content{background:
 radial-gradient(circle at 50% 0,color-mix(in srgb,var(--theme-accent) 11%,transparent),transparent 28%),
 linear-gradient(180deg,#050505,#090704 38%,#030303)}
.vip-design-card{isolation:isolate}
.vip-design-card .planet-signature{position:absolute;z-index:4;right:24px;top:28px;text-align:right;pointer-events:none}
.planet-signature .planet-en{display:block;font-family:Georgia,"Times New Roman",serif;font-style:italic;font-size:30px;line-height:1;color:var(--accent);text-shadow:0 0 24px color-mix(in srgb,var(--accent) 45%,transparent)}
.planet-signature .planet-cn{display:block;margin-top:6px;font-size:11px;letter-spacing:3px;color:#fff4d4}
.theme-emblem{position:absolute;z-index:1;pointer-events:none;opacity:.72}
.theme-emblem.one{width:180px;height:180px;right:-55px;top:155px;border:1px solid color-mix(in srgb,var(--accent) 55%,transparent);border-radius:50%}
.theme-emblem.two{left:-40px;top:310px;width:150px;height:1px;background:linear-gradient(90deg,transparent,var(--accent),transparent);transform:rotate(-18deg)}
.vip-design-details{overflow:hidden}
.vip-design-details::after{content:"";position:absolute;right:-40px;bottom:-65px;width:170px;height:170px;border:1px solid color-mix(in srgb,var(--accent) 18%,transparent);border-radius:50%;pointer-events:none}
.invite-section{position:relative;padding-top:4px}
.invite-section h3{color:var(--theme-accent)!important;text-shadow:0 0 18px color-mix(in srgb,var(--theme-accent) 25%,transparent)}
.invite-section h3::after{content:"";display:block;width:72px;height:1px;margin:9px auto 0;background:linear-gradient(90deg,transparent,var(--theme-accent),transparent)}
.invite-wide,.room-gallery img{border-color:color-mix(in srgb,var(--theme-accent) 45%,#2b251d)!important;box-shadow:0 12px 34px rgba(0,0,0,.55),0 0 22px color-mix(in srgb,var(--theme-accent) 8%,transparent)}
.invite-ending{border-color:color-mix(in srgb,var(--theme-accent) 45%,#382c1c)!important;background:radial-gradient(circle at 50% 0,color-mix(in srgb,var(--theme-accent) 18%,transparent),transparent 35%),linear-gradient(180deg,#0b0907,#030303)!important}
.invite-ending h2,.invite-ending .tagline{color:var(--theme-accent)!important}

/* 火星：熔岩、火焰、锐角能量 */
.invite-wrap.theme-mars-wrap{--theme-accent:#ff6f35;--theme-soft:#9b1b0b;--theme-bg:#100200}
.theme-mars .planet-signature .planet-en{font-family:Impact,Haettenschweiler,"Arial Narrow Bold",sans-serif;font-style:normal;letter-spacing:2px}
.theme-mars .theme-emblem.one{border-radius:44% 56% 57% 43%/63% 35% 65% 37%;border-width:2px;box-shadow:0 0 28px #ff3a001f,inset 0 0 26px #ff3a0014;transform:rotate(22deg)}
.theme-mars .theme-emblem.two{height:3px;box-shadow:0 0 14px var(--accent);transform:rotate(-28deg)}
.theme-mars .vip-design-details::before{height:2px;background:linear-gradient(90deg,#ffcf7a,#ff562b,transparent)}

/* 木星：环形轨道、铜金、庄重大气 */
.invite-wrap.theme-jupiter-wrap{--theme-accent:#e5bd67;--theme-soft:#805019;--theme-bg:#0d0802}
.theme-jupiter .planet-signature .planet-en{font-family:Georgia,serif;font-size:34px}
.theme-jupiter .theme-emblem.one{width:235px;height:80px;right:-62px;top:190px;border-radius:50%;transform:rotate(-15deg);box-shadow:0 0 20px #e5bd6720}
.theme-jupiter .theme-emblem.one::after{content:"";position:absolute;inset:14px;border:1px solid color-mix(in srgb,var(--accent) 40%,transparent);border-radius:50%}
.theme-jupiter .theme-emblem.two{width:220px;left:-52px;top:350px;transform:rotate(8deg)}

/* 金星：钻石切面、香槟金、奢华柔光 */
.invite-wrap.theme-venus-wrap{--theme-accent:#f2d66e;--theme-soft:#8a7425;--theme-bg:#07100a}
.theme-venus .planet-signature .planet-en{font-family:"Times New Roman",serif;font-size:34px;letter-spacing:1px}
.theme-venus .theme-emblem.one{width:128px;height:128px;right:-18px;top:190px;border-radius:0;transform:rotate(45deg);box-shadow:inset 0 0 30px #f4e59c14,0 0 26px #e8c6531c}
.theme-venus .theme-emblem.one::before,.theme-venus .theme-emblem.one::after{content:"";position:absolute;inset:21px;border:1px solid color-mix(in srgb,var(--accent) 34%,transparent)}
.theme-venus .theme-emblem.one::after{inset:42px}
.theme-venus .theme-emblem.two{height:2px;width:170px;transform:rotate(22deg)}

/* 水星：蓝色轨道、科技线框、冷光 */
.invite-wrap.theme-mercury-wrap{--theme-accent:#69c9ff;--theme-soft:#145da8;--theme-bg:#010713}
.theme-mercury .planet-signature .planet-en{font-family:"Brush Script MT",cursive;font-size:40px}
.theme-mercury .theme-emblem.one{width:210px;height:72px;right:-55px;top:170px;border-radius:50%;transform:rotate(-13deg);box-shadow:0 0 28px #2db6ff2e}
.theme-mercury .theme-emblem.one::before{content:"";position:absolute;left:50%;top:50%;width:42px;height:42px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle,#c9f2ff,#2878bc 38%,#071426 72%);box-shadow:0 0 24px #40bfff}
.theme-mercury .theme-emblem.two{width:230px;left:-58px;top:325px;box-shadow:0 0 16px #4fc4ff;transform:rotate(-8deg)}
.theme-mercury .vip-design-details{background:linear-gradient(180deg,transparent,rgba(0,9,24,.76) 17%,rgba(0,5,15,.96))!important}

/* 土星：紫黑星环、神秘皇家感 */
.invite-wrap.theme-saturn-wrap{--theme-accent:#d69aff;--theme-soft:#672986;--theme-bg:#09020f}
.theme-saturn .planet-signature .planet-en{font-family:Georgia,serif;font-size:36px;letter-spacing:2px}
.theme-saturn .theme-emblem.one{width:235px;height:72px;right:-68px;top:186px;border-radius:50%;transform:rotate(17deg);box-shadow:0 0 30px #bc6cff25}
.theme-saturn .theme-emblem.one::before{content:"";position:absolute;left:50%;top:50%;width:78px;height:78px;transform:translate(-50%,-50%);border-radius:50%;background:radial-gradient(circle at 35% 30%,#e6c1ff,#75418e 45%,#1a0923 78%);box-shadow:0 0 27px #b75dff55}
.theme-saturn .theme-emblem.two{height:2px;width:210px;left:-46px;top:338px;transform:rotate(15deg);box-shadow:0 0 18px #c26cff}
.theme-saturn .vip-design-details{background:linear-gradient(180deg,transparent,rgba(18,3,29,.75) 17%,rgba(7,2,12,.97))!important}

@media(max-width:650px){
 .vip-design-card .planet-signature{right:17px;top:18px}
 .planet-signature .planet-en{font-size:25px!important}
 .planet-signature .planet-cn{font-size:9px;letter-spacing:2px}
 .theme-emblem.one{transform:scale(.78);transform-origin:right top}
 .theme-emblem.two{opacity:.5}
}


/* ===== V4.1 五星原图融合 ===== */
.vip-design-card::before{
  background:linear-gradient(180deg,rgba(0,0,0,0) 0%,rgba(0,0,0,.02) 40%,rgba(0,0,0,.82) 57%,#050403 72%,#050403 100%)!important;
}
.vip-design-details{
  position:relative!important;z-index:3!important;
  margin-top:18px!important;
  background:linear-gradient(180deg,rgba(5,4,3,.18),rgba(5,4,3,.97) 18%,#050403 100%)!important;
}
@media(max-width:650px){
  .vip-design-inner{padding-top:60%!important}
  .vip-design-details{padding-top:28px!important}
  .vip-design-row{padding:10px 0!important}
  .vip-design-row span{font-size:10px!important}
  .vip-design-row b{font-size:13px!important}
}



/* ===== V5.0 原海报资料框融合修正 =====
   只覆盖原海报下半部资料区域，不再出现蓝色大方块。 */
.vip-design-card{
  aspect-ratio:1/1!important;
  width:100%!important;
  background-size:100% 100%!important;
  background-position:center!important;
  background-repeat:no-repeat!important;
  overflow:hidden!important;
}
/* 原图本身已经有星球英文、边框和装饰，不再重复叠加 */
.vip-design-card .planet-signature,
.vip-design-card .theme-emblem{display:none!important}

.vip-design-inner{
  left:3.1%!important;
  right:3.1%!important;
  bottom:3.2%!important;
  height:48.5%!important;
  padding:2.25% 4.6% 2.15%!important;
  border:0!important;
  clip-path:none!important;
  border-radius:0!important;
  /* 与海报原资料框一致的纯黑，不再使用蓝色 */
  background:linear-gradient(180deg,rgba(2,3,4,.97),rgba(1,2,3,.995))!important;
  box-shadow:none!important;
}
/* 让原图金色／蓝色边框继续露出来 */
.vip-design-inner::before{
  content:"";
  position:absolute;
  inset:0;
  pointer-events:none;
  background:linear-gradient(180deg,rgba(255,255,255,.012),transparent 18%);
}
.vip-reserved-label{
  position:relative!important;
  z-index:1!important;
  font-size:clamp(8px,1.08vw,13px)!important;
  letter-spacing:.34em!important;
  color:#e3c271!important;
}
.vip-reserved-room{
  position:relative!important;
  z-index:1!important;
  font-size:clamp(25px,4.3vw,50px)!important;
  margin:1% 0 1.4%!important;
  color:#fff!important;
}
.vip-design-details{position:relative!important;z-index:1!important;overflow:visible!important}
.vip-design-details::before,.vip-design-details::after{display:none!important}
.vip-design-grid{
  grid-template-columns:1fr 1fr!important;
  column-gap:5.5%!important;
}
.vip-design-row{
  padding:1.85% 0!important;
  border-bottom:1px dotted rgba(218,177,78,.56)!important;
}
.vip-design-row span{
  color:#d8b963!important;
  font-size:clamp(7px,.98vw,11px)!important;
  line-height:1.1!important;
}
.vip-design-row b{
  color:#fff!important;
  font-size:clamp(9px,1.42vw,16px)!important;
  line-height:1.13!important;
}
.vip-design-row.address b{
  font-size:clamp(7px,1.02vw,12px)!important;
  line-height:1.12!important;
}
.vip-design-waze{
  align-self:flex-start!important;
  margin-top:1.25%!important;
  font-size:clamp(8px,1.1vw,13px)!important;
  border-bottom-color:var(--accent)!important;
}
/* 不同星球只改变资料文字强调色，原图设计保持完整 */
.theme-mercury .vip-reserved-label,.theme-mercury .vip-design-row span{color:#70c9ff!important}
.theme-mars .vip-reserved-label,.theme-mars .vip-design-row span{color:#ffb06f!important}
.theme-venus .vip-reserved-label,.theme-venus .vip-design-row span,
.theme-jupiter .vip-reserved-label,.theme-jupiter .vip-design-row span,
.theme-saturn .vip-reserved-label,.theme-saturn .vip-design-row span{color:#dfbd68!important}

@media(max-width:650px){
  .vip-design-card{margin:10px 0 24px!important}
  .vip-design-inner{
    left:3%!important;
    right:3%!important;
    bottom:3%!important;
    height:48.8%!important;
    padding:2.1% 4.3% 2%!important;
  }
  .vip-reserved-label{font-size:clamp(7px,2.2vw,10px)!important}
  .vip-reserved-room{font-size:clamp(23px,7vw,35px)!important;margin:.8% 0 1.2%!important}
  .vip-design-grid{grid-template-columns:1fr 1fr!important;column-gap:4.8%!important}
  .vip-design-row{padding:1.55% 0!important}
  .vip-design-row span{font-size:clamp(6.5px,2.15vw,9px)!important}
  .vip-design-row b{font-size:clamp(8px,2.85vw,12px)!important;margin-top:2px!important}
  .vip-design-row.address b{font-size:clamp(6.5px,2.05vw,9px)!important}
  .vip-design-waze{font-size:clamp(7px,2.25vw,10px)!important;margin-top:1%!important}
}
@media(max-width:390px){
  .vip-design-grid{grid-template-columns:1fr 1fr!important}
  .vip-design-inner{padding-left:4%!important;padding-right:4%!important}
}



/* ===== V5.1：修复资料框大空位与手机排版 ===== */
.vip-design-inner{
  box-sizing:border-box!important;
  display:block!important;
  padding:2.15% 4.5% 2%!important;
}
.vip-design-details{
  position:absolute!important;
  z-index:2!important;
  left:4.5%!important;
  right:4.5%!important;
  top:34%!important;
  bottom:5%!important;
  margin:0!important;
  padding:0!important;
  background:none!important;
  display:block!important;
  overflow:hidden!important;
}
.vip-design-grid{
  height:100%!important;
  display:grid!important;
  grid-template-columns:1fr 1fr!important;
  grid-template-rows:repeat(4,minmax(0,1fr))!important;
  column-gap:8%!important;
  row-gap:0!important;
  align-items:stretch!important;
}
.vip-design-row{
  min-width:0!important;
  padding:2.2% 0 1.8%!important;
  margin:0!important;
  display:flex!important;
  flex-direction:column!important;
  justify-content:center!important;
  overflow:hidden!important;
}
/* 左栏：日期、订房人、入场时间、地址 */
.vip-design-row:nth-child(1){grid-column:1;grid-row:1}
.vip-design-row:nth-child(4){grid-column:1;grid-row:2}
.vip-design-row:nth-child(7){grid-column:1;grid-row:3}
.vip-design-row:nth-child(6){grid-column:1;grid-row:4}
/* 右栏：经理、订房名、房间；Waze 放最后 */
.vip-design-row:nth-child(3){grid-column:2;grid-row:1}
.vip-design-row:nth-child(5){grid-column:2;grid-row:2}
.vip-design-row:nth-child(2){grid-column:2;grid-row:3}
.vip-design-waze{
  position:absolute!important;
  right:0!important;
  bottom:2.5%!important;
  margin:0!important;
  padding:0 0 2px!important;
  width:46%!important;
  text-align:left!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.vip-design-row span{
  margin:0 0 3px!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.vip-design-row b{margin:0!important}
.vip-design-row.address b{
  display:block!important;
  max-height:3.45em!important;
  overflow:hidden!important;
}
@media(max-width:650px){
  .vip-design-inner{
    height:48.5%!important;
    padding:2% 4.2% 1.8%!important;
  }
  .vip-reserved-label{line-height:1!important}
  .vip-reserved-room{margin:.7% 0 0!important;line-height:1.02!important}
  .vip-design-details{
    left:4.2%!important;
    right:4.2%!important;
    top:33%!important;
    bottom:4.5%!important;
    margin:0!important;
    padding:0!important;
  }
  .vip-design-grid{column-gap:8%!important}
  .vip-design-row{padding:1.2% 0 1%!important}
  .vip-design-row span{font-size:clamp(6.5px,2vw,8.5px)!important;margin-bottom:1px!important}
  .vip-design-row b{font-size:clamp(8px,2.75vw,11.5px)!important;line-height:1.06!important}
  .vip-design-row.address b{font-size:clamp(6.2px,1.9vw,8.2px)!important;line-height:1.08!important;max-height:3.3em!important}
  .vip-design-waze{font-size:clamp(6.8px,2.05vw,9px)!important;bottom:1.5%!important;width:46%!important}
}



/* V5.2：房间照片保持完整比例，横向滑动，不裁切 */
.room-gallery{
  display:flex!important;
  align-items:center!important;
  gap:14px!important;
  overflow-x:auto!important;
  overflow-y:hidden!important;
  padding:4px 14px 12px!important;
  scroll-snap-type:x proximity!important;
  -webkit-overflow-scrolling:touch!important;
}
.room-gallery img,
.room-gallery img:first-child:nth-last-child(3){
  flex:0 0 auto!important;
  width:auto!important;
  height:min(68vh,560px)!important;
  max-width:88vw!important;
  object-fit:contain!important;
  object-position:center!important;
  background:#050505!important;
  border-radius:16px!important;
  scroll-snap-align:center!important;
}
@media(max-width:650px){
  .room-gallery img,
  .room-gallery img:first-child:nth-last-child(3){
    width:auto!important;
    height:min(64vh,500px)!important;
    max-width:88vw!important;
  }
}



.wechat-btn{background:linear-gradient(135deg,#25b864,#128744)!important;color:#fff!important}
.whatsapp-btn{background:linear-gradient(135deg,#35c96f,#178a45)!important;color:#fff!important}
.copy-btn{background:#2a2114!important;color:#f2d99c!important;border:1px solid #806026!important}
.wechat-tip{margin-top:10px;padding:11px 12px;border:1px solid #367d50;border-radius:10px;background:#102719;color:#baf2c8;font-size:13px;line-height:1.55;text-align:center}
@media(max-width:650px){.invite-actions{grid-template-columns:1fr!important}}


/* ===== V8.0 Professional：影片下方快捷工具列 ===== */
.invite-quick-actions{
  position:sticky;
  top:62px;
  z-index:4;
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:8px;
  padding:9px 12px;
  background:rgba(8,6,4,.95);
  border-bottom:1px solid #6e5224;
  backdrop-filter:blur(10px);
}
.qa-btn{
  min-height:38px!important;
  padding:7px 8px!important;
  border-radius:9px!important;
  border:1px solid rgba(229,196,107,.30)!important;
  font-size:12px!important;
  font-weight:900!important;
  text-decoration:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  white-space:nowrap!important;
  cursor:pointer!important;
}
.qa-wechat{background:#1f9f52!important;color:#fff!important}
.qa-whatsapp{background:#176d3a!important;color:#fff!important}
.qa-waze{background:#18395a!important;color:#d7efff!important}
.qa-download{background:linear-gradient(135deg,#d4b35f,#8d6425)!important;color:#120d05!important}
.compact-backup-actions{grid-template-columns:1fr!important;margin-top:12px!important}
.compact-backup-actions button{min-height:38px!important;font-size:12px!important}
@media(max-width:560px){
  .invite-quick-actions{
    top:61px;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:7px;
    padding:8px 10px;
  }
  .qa-btn{min-height:35px!important;font-size:11px!important;padding:6px!important}
}

/* V8.1 微信封面＋邀请函双文件 */
.qa-wechat,.qa-download{
  white-space:normal!important;
  line-height:1.15!important;
}
@media(max-width:560px){
  .qa-wechat,.qa-download{font-size:10.5px!important}
}

/* V9.0 微信单一 PDF 分享 */
.qa-wechat{background:linear-gradient(135deg,#20a858,#137b40)!important}
.qa-download{background:linear-gradient(135deg,#e1c16b,#9b712c)!important}


/* ===== V10.0 Final：封面 → 融合海报 → Video → Gallery ===== */
.v10-content{padding-top:12px!important}
.v10-hero{
  position:relative;
  min-height:min(88vh,760px);
  display:flex;
  align-items:flex-end;
  justify-content:center;
  background-position:center;
  background-size:cover;
  overflow:hidden;
}
.v10-hero-shade{
  position:absolute;
  inset:0;
  background:
    linear-gradient(180deg,rgba(0,0,0,.12),rgba(0,0,0,.12) 42%,rgba(0,0,0,.93) 100%),
    radial-gradient(circle at 50% 22%,transparent 0,rgba(0,0,0,.16) 56%,rgba(0,0,0,.55) 100%);
}
.v10-hero-content{
  position:relative;
  z-index:1;
  width:100%;
  padding:42px 24px 48px;
  text-align:center;
}
.v10-hero-logo{
  width:82px;
  height:82px;
  object-fit:cover;
  border-radius:50%;
  border:1px solid #e5c46b;
  box-shadow:0 0 28px rgba(229,196,107,.28);
}
.v10-hero-brand{
  margin-top:15px;
  color:#e6ca7a;
  font-size:12px;
  letter-spacing:3px;
}
.v10-hero h1{
  margin:12px 0 5px;
  color:#fff7e6;
  font-size:clamp(27px,6vw,46px);
  letter-spacing:1px;
}
.v10-hero-room{
  margin-top:7px;
  color:#f1d47d;
  font-size:clamp(30px,8vw,56px);
  font-weight:950;
}
.v10-hero-sub{
  margin:13px auto 20px;
  max-width:520px;
  color:#cbb986;
  font-size:11px;
  letter-spacing:1.8px;
  line-height:1.7;
}
.v10-enter{
  width:auto!important;
  min-width:180px;
  min-height:43px!important;
  padding:9px 24px!important;
  border-radius:999px!important;
  background:linear-gradient(135deg,#ead078,#9c6c27)!important;
  color:#160f05!important;
  box-shadow:0 8px 25px rgba(213,175,80,.24);
}
.v10-actions{
  position:relative!important;
  top:auto!important;
  margin:-8px 0 18px!important;
  border:1px solid rgba(125,93,39,.58)!important;
  border-radius:13px!important;
  background:linear-gradient(145deg,rgba(24,18,10,.96),rgba(7,6,4,.98))!important;
}
.v10-video-section{margin-top:26px!important}
.v10-video-stage{
  overflow:hidden;
  border-radius:16px;
  border:1px solid color-mix(in srgb,var(--theme-accent) 48%,#32291d);
  background:#000;
  box-shadow:0 15px 38px rgba(0,0,0,.58);
}
.v10-video{
  width:100%;
  min-height:260px;
  max-height:78vh;
  object-fit:cover;
  background:#000;
}
.v10-sound-button{
  position:absolute;
  left:50%;
  bottom:18px;
  transform:translateX(-50%);
  width:auto!important;
  min-height:38px!important;
  padding:8px 16px!important;
  border-radius:999px!important;
  background:rgba(0,0,0,.68)!important;
  color:#fff!important;
  border:1px solid rgba(255,255,255,.35)!important;
  font-size:12px!important;
  backdrop-filter:blur(8px);
  transition:opacity .3s ease;
}
.v10-sound-button.hide{opacity:0;pointer-events:none}
.vip-design-row.booking-person b{
  font-size:clamp(11px,1.7vw,19px)!important;
  color:#fff8df!important;
  font-weight:950!important;
}
@media(max-width:650px){
  .v10-hero{min-height:76vh}
  .v10-hero-content{padding:34px 18px 36px}
  .v10-hero-logo{width:70px;height:70px}
  .v10-content{padding-left:0!important;padding-right:0!important}
  .v10-actions{margin:-2px 10px 16px!important}
  .v10-video-section{padding-left:10px;padding-right:10px}
  .v10-video{min-height:220px;max-height:68vh}
}
