/* 北海明珠 V5.1.31 /dining-rooms 蓝白高级版 */
.dr31-page{
  --dr31-navy:#0b3159;
  --dr31-blue:#1d67b5;
  --dr31-blue-2:#2c7ad0;
  --dr31-pale:#edf5ff;
  --dr31-pale-2:#f6faff;
  --dr31-line:#d9e7f5;
  --dr31-text:#153452;
  --dr31-muted:#6e8195;
  --dr31-white:#fff;
  overflow:hidden;
  color:var(--dr31-text);
  background:#f7faff;
}
.dr31-page *{box-sizing:border-box}
.dr31-page a{text-decoration:none}
.dr31-page .container{width:min(1500px,calc(100% - 56px));margin:0 auto}

/* 首屏 */
.dr31-hero{position:relative;overflow:hidden;min-height:560px;background:#fff;border-bottom:1px solid var(--dr31-line)}
.dr31-hero-media{position:absolute;inset:0;overflow:hidden}
.dr31-hero-media img{position:absolute;right:0;top:0;width:66%;height:100%;object-fit:cover;object-position:center 48%;filter:saturate(.88) contrast(1.02) brightness(1.04)}
.dr31-hero-media::after{content:"";position:absolute;inset:0;background:linear-gradient(90deg,#fff 0%,rgba(255,255,255,.98) 27%,rgba(255,255,255,.90) 43%,rgba(243,248,255,.52) 58%,rgba(229,241,255,.15) 76%,rgba(219,236,255,.08) 100%)}
.dr31-hero-grid{position:relative;z-index:2;display:grid;grid-template-columns:minmax(0,1fr) 410px;gap:54px;align-items:center;min-height:560px;padding:36px 0}
.dr31-copy{max-width:690px}
.dr31-breadcrumbs{display:flex;gap:8px;align-items:center;margin:0 0 24px;color:#708399;font-size:12px}
.dr31-breadcrumbs a{color:#5f7690}
.dr31-kicker{display:block;margin-bottom:12px;color:var(--dr31-blue);font-size:11px;font-weight:900;letter-spacing:.18em}
.dr31-copy h1{position:relative;max-width:650px;margin:0 0 18px;padding-bottom:18px;color:#0e3157;font-size:clamp(43px,4.4vw,62px);line-height:1.08;letter-spacing:-.045em}
.dr31-copy h1::after{content:"";position:absolute;left:0;bottom:0;width:108px;height:3px;border-radius:99px;background:linear-gradient(90deg,var(--dr31-blue),#83b5eb)}
.dr31-copy>p{max-width:570px;margin:0;color:#657b92;font-size:14px;line-height:1.9}
.dr31-facts{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));max-width:660px;margin-top:28px;padding:16px 0;border-top:1px solid var(--dr31-line);border-bottom:1px solid var(--dr31-line)}
.dr31-facts>div{position:relative;display:grid;grid-template-columns:38px 1fr;grid-template-rows:auto auto;gap:2px 10px;align-items:center;min-width:0;padding:0 15px}
.dr31-facts>div:first-child{padding-left:0}.dr31-facts>div:last-child{padding-right:0}
.dr31-facts>div:not(:last-child)::after{content:"";position:absolute;right:0;top:4px;bottom:4px;width:1px;background:var(--dr31-line)}
.dr31-facts .site-icon{grid-row:1/3;width:36px;height:36px;padding:7px;border-radius:50%;color:var(--dr31-blue);background:var(--dr31-pale);border:1px solid #cfe2f7}
.dr31-facts b{display:block;color:#12385f;font-size:19px;line-height:1.1;font-weight:900;white-space:nowrap}
.dr31-facts small{display:block;margin-top:3px;color:#788ba0;font-size:10px;white-space:nowrap}
.dr31-actions{display:flex;gap:12px;margin-top:26px;flex-wrap:wrap}
.dr31-primary,.dr31-secondary{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:50px;padding:0 23px;border-radius:11px;font-size:13px;font-weight:850}
.dr31-primary{color:#fff;background:linear-gradient(135deg,var(--dr31-navy),var(--dr31-blue));box-shadow:0 13px 26px rgba(25,92,160,.18)}
.dr31-secondary{color:var(--dr31-blue);border:1px solid #a9c9eb;background:#fff}
.dr31-primary .site-icon,.dr31-secondary .site-icon{width:17px;height:17px}

/* 预订卡：保持窄版 */
.dr31-booking{width:100%;max-width:410px;margin-left:auto;padding:23px 22px 19px!important;border:1px solid #dbe8f5!important;border-radius:22px!important;background:rgba(255,255,255,.97)!important;box-shadow:0 24px 55px rgba(31,74,116,.13)!important;color:#20374f}
.dr31-booking-head{text-align:center;margin-bottom:14px;padding-bottom:13px;border-bottom:1px solid #e6eef7}
.dr31-booking-head>span{display:block;color:var(--dr31-blue);font-size:10px;font-weight:900;letter-spacing:.18em}
.dr31-booking-head h2{margin:7px 0 5px!important;color:#12375f!important;font-size:23px!important;line-height:1.2!important}
.dr31-booking-head p{max-width:330px;margin:0 auto!important;color:#798b9d!important;font-size:9px!important;line-height:1.6!important}
.dr31-booking .booking-form-grid{grid-template-columns:1fr 1fr!important;gap:9px 10px!important}
.dr31-booking .booking-field>span,.dr31-booking .booking-date-picker>label>span{color:#40566d!important;font-size:9px!important;font-weight:850!important}
.dr31-booking input,.dr31-booking select,.dr31-booking textarea{min-height:39px!important;padding:8px 10px!important;border:1px solid #d9e5f2!important;border-radius:9px!important;color:#28405a!important;background:#fff!important;font-size:10px!important}
.dr31-booking .booking-date-trigger{width:38px!important;height:38px!important}
.dr31-booking .booking-submit{min-height:44px!important;margin-top:10px!important;border-radius:9px!important;color:#fff!important;background:linear-gradient(135deg,var(--dr31-navy),var(--dr31-blue))!important;box-shadow:0 12px 22px rgba(29,103,181,.15)!important;font-size:13px!important}
.dr31-booking .booking-disclaimer,.dr31-booking small{color:#93a2b2!important;font-size:8px!important}

/* 公共标题 */
.dr31-section-head,.dr31-subhead{margin-bottom:20px}
.dr31-section-head{display:flex;align-items:flex-end;justify-content:space-between;gap:28px}
.dr31-section-head span,.dr31-subhead>span{display:block;margin-bottom:7px;color:var(--dr31-blue);font-size:10px;font-weight:900;letter-spacing:.16em}
.dr31-section-head h2,.dr31-subhead h2{margin:0;color:#12375d;font-size:clamp(26px,2.25vw,36px);line-height:1.2;letter-spacing:-.025em}
.dr31-section-head p,.dr31-subhead p{margin:7px 0 0;color:#77899b;font-size:11px;line-height:1.7}
.dr31-section-head>a{display:inline-flex;align-items:center;justify-content:center;min-height:42px;padding:0 17px;border:1px solid #b8d2ed;border-radius:10px;color:var(--dr31-blue);background:#fff;font-size:11px;font-weight:850}

/* 房间目录 */
.dr31-directory{padding:38px 0 42px;background:#fff}
.dr31-floor-tabs{display:grid!important;grid-template-columns:repeat(auto-fit,minmax(160px,1fr))!important;gap:10px!important;margin:0 0 18px!important}
.dr31-floor-tabs button{appearance:none;min-height:62px!important;padding:10px 13px!important;border:1px solid #d9e7f5!important;border-radius:11px!important;color:#2f4d6a!important;background:#f8fbff!important;box-shadow:none!important;cursor:pointer}
.dr31-floor-tabs button:hover{border-color:#9fc3e8!important;background:#f1f7ff!important;transform:translateY(-1px)}
.dr31-floor-tabs button.active{color:#fff!important;border-color:var(--dr31-navy)!important;background:linear-gradient(135deg,var(--dr31-navy),var(--dr31-blue))!important;box-shadow:0 11px 24px rgba(29,103,181,.16)!important}
.dr31-floor-tabs .site-icon{display:none!important}.dr31-floor-tabs span,.dr31-floor-tabs small{display:block!important;text-align:center!important}
.dr31-floor-tabs span{font-size:12px!important;font-weight:900!important}.dr31-floor-tabs small{margin-top:4px!important;color:#7a8da1!important;font-size:9px!important}.dr31-floor-tabs button.active small{color:rgba(255,255,255,.72)!important}
.dr31-page .dining-floor-panel{padding:0!important;border:0!important;background:transparent!important;box-shadow:none!important}.dr31-page .dining-floor-panel[hidden]{display:none!important}.dr31-page .dining-floor-panel>header{display:none!important}
.dr31-room-grid{display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:16px!important}
.dr31-room-card{appearance:none;display:grid!important;grid-template-columns:46% 54%!important;min-height:176px;overflow:hidden;width:100%;padding:0!important;border:1px solid #dce8f4!important;border-radius:13px!important;color:inherit;text-align:left;background:#fff!important;box-shadow:0 10px 25px rgba(32,72,110,.05)!important;cursor:pointer;transition:.18s ease}
.dr31-room-card:hover{transform:translateY(-2px);border-color:#a8c7e7!important;box-shadow:0 17px 34px rgba(32,72,110,.10)!important}
.dr31-room-card .dining-room-photo{display:block;height:100%;min-height:176px;overflow:hidden;background:#eef5fc}.dr31-room-card .dining-room-photo>img{display:block;width:100%;height:100%;min-height:176px;object-fit:cover;transition:transform .35s ease}.dr31-room-card:hover .dining-room-photo>img{transform:scale(1.03)}
.dr31-room-card .dining-room-copy{display:flex!important;flex-direction:column!important;justify-content:flex-start!important;padding:16px 16px 14px!important;min-width:0}.dr31-room-card .dining-room-copy>small{display:inline-flex!important;align-self:flex-start;margin:0 0 8px!important;padding:4px 8px!important;border-radius:999px!important;color:#2369ac!important;background:#eaf4ff!important;font-size:9px!important;font-weight:850!important}.dr31-room-card .dining-room-copy>strong{color:#12375d!important;font-size:18px!important;line-height:1.2!important}.dr31-room-card .dining-room-copy>em{display:block!important;margin-top:8px!important;color:#708397!important;font-size:10px!important;line-height:1.6!important;font-style:normal!important}.dr31-room-card .dining-room-copy>i{display:flex!important;align-items:center!important;justify-content:space-between!important;margin-top:auto!important;padding-top:11px!important;border-top:1px solid #e5eef7!important;color:#2269ad!important;font-size:10px!important;font-style:normal!important;font-weight:850!important}

/* 场景 + 实景 */
.dr31-explore{padding:42px 0;background:linear-gradient(180deg,#f4f9ff 0%,#edf5ff 100%);border-top:1px solid #e0ecf8;border-bottom:1px solid #e0ecf8}
.dr31-explore-grid{display:grid;grid-template-columns:.92fr 1.08fr;gap:34px;align-items:start}
.dr31-scene-grid{display:grid;grid-template-columns:1fr 1fr;gap:12px}
.dr31-scene-card{display:block;min-height:150px;padding:18px;border:1px solid #d5e5f5;border-radius:14px;color:inherit;background:#fff;box-shadow:0 10px 24px rgba(29,73,115,.04);transition:.18s ease}.dr31-scene-card:hover{transform:translateY(-2px);border-color:#a8c9e9;box-shadow:0 16px 30px rgba(29,73,115,.08)}
.dr31-scene-icon{display:grid;width:38px;height:38px;place-items:center;margin-bottom:12px;border-radius:10px;color:var(--dr31-blue);background:#eaf4ff}.dr31-scene-icon .site-icon{width:20px;height:20px}.dr31-scene-card strong{display:block;color:#14395f;font-size:15px}.dr31-scene-card p{min-height:3.4em;margin:7px 0 10px;color:#74879a;font-size:10px;line-height:1.7}.dr31-scene-card em{color:#2269ad;font-size:10px;font-style:normal;font-weight:850}
.dr31-gallery{display:grid;grid-template-columns:1.35fr 1fr 1fr;grid-template-rows:150px 150px;gap:10px}.dr31-gallery figure{overflow:hidden;margin:0;border-radius:14px;background:#dfeaf5;box-shadow:0 8px 20px rgba(28,66,104,.08)}.dr31-gallery figure.is-wide{grid-row:1/3}.dr31-gallery img{display:block;width:100%;height:100%;object-fit:cover;transition:transform .4s ease}.dr31-gallery figure:hover img{transform:scale(1.035)}

/* FAQ + CTA */
.dr31-bottom{padding:42px 0 50px;background:#fff}.dr31-bottom-grid{display:grid;grid-template-columns:1.18fr .82fr;gap:28px;align-items:stretch}
.dr31-faq-list{display:grid;grid-template-columns:1fr 1fr;gap:10px}.dr31-faq details{border:1px solid #dce8f4;border-radius:11px;background:#f9fbfe}.dr31-faq summary{display:flex;align-items:center;justify-content:space-between;gap:12px;min-height:48px;padding:0 14px;color:#294965;font-size:10px;font-weight:800;cursor:pointer;list-style:none}.dr31-faq summary::-webkit-details-marker{display:none}.dr31-faq summary span{color:var(--dr31-blue);font-size:18px}.dr31-faq details[open] summary span{transform:rotate(45deg)}.dr31-faq details p{margin:0;padding:0 14px 14px;color:#72869a;font-size:10px;line-height:1.7}
.dr31-cta{position:relative;overflow:hidden;padding:30px;border-radius:18px;color:#fff;background:linear-gradient(135deg,#0b3159 0%,#155596 65%,#1d67b5 100%);box-shadow:0 20px 44px rgba(15,66,115,.16)}.dr31-cta::after{content:"";position:absolute;right:-80px;bottom:-100px;width:260px;height:260px;border-radius:50%;background:rgba(255,255,255,.08)}.dr31-cta>span{position:relative;z-index:1;display:block;color:#a9d2ff;font-size:10px;font-weight:900;letter-spacing:.16em}.dr31-cta h2{position:relative;z-index:1;margin:10px 0 9px;color:#fff;font-size:29px}.dr31-cta p{position:relative;z-index:1;max-width:520px;margin:0;color:rgba(255,255,255,.78);font-size:11px;line-height:1.8}.dr31-cta>div{position:relative;z-index:1;display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.dr31-cta a{display:inline-flex;align-items:center;gap:7px;min-height:42px;padding:0 15px;border:1px solid rgba(255,255,255,.35);border-radius:10px;color:#fff;background:rgba(255,255,255,.08);font-size:10px;font-weight:850}.dr31-cta a:last-child{color:#0d3b66;background:#fff;border-color:#fff}.dr31-cta .site-icon{width:15px;height:15px}.dr31-cta small{position:relative;z-index:1;display:block;margin-top:16px;color:rgba(255,255,255,.58);font-size:8px}

/* 原房间详情弹窗继续沿用全站样式，仅做蓝白细节校正 */
.dr31-page + .dining-space-modal .dining-space-detail-meta .site-icon{color:var(--dr31-blue)}

@media(max-width:1320px){
  .dr31-hero-grid{grid-template-columns:minmax(0,1fr) 390px;gap:32px}.dr31-facts{grid-template-columns:repeat(2,1fr);max-width:500px}.dr31-facts>div{padding:9px 12px}.dr31-facts>div:nth-child(2)::after{display:none}.dr31-facts>div:nth-child(-n+2){border-bottom:1px solid var(--dr31-line)}
  .dr31-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:980px){
  .dr31-page .container{width:min(100% - 36px,1500px)}.dr31-hero{min-height:0}.dr31-hero-media img{width:100%;opacity:.32}.dr31-hero-media::after{background:linear-gradient(180deg,rgba(255,255,255,.95),rgba(244,249,255,.90))}.dr31-hero-grid{grid-template-columns:1fr;gap:24px;min-height:0;padding:30px 0}.dr31-copy{max-width:720px}.dr31-booking{max-width:540px;margin-left:0}
  .dr31-explore-grid,.dr31-bottom-grid{grid-template-columns:1fr}.dr31-gallery{grid-template-columns:1.2fr 1fr 1fr}.dr31-faq-list{grid-template-columns:1fr 1fr}
}
@media(max-width:680px){
  .dr31-page .container{width:calc(100% - 28px)}.dr31-copy h1{font-size:36px}.dr31-copy>p{font-size:12px}.dr31-facts{grid-template-columns:1fr 1fr;max-width:none}.dr31-actions{align-items:stretch;flex-direction:column}.dr31-actions a{width:100%}.dr31-booking{padding:18px 15px 16px!important;border-radius:17px!important}.dr31-booking .booking-form-grid{grid-template-columns:1fr!important}.dr31-section-head{align-items:flex-start;flex-direction:column}.dr31-floor-tabs{display:flex!important;overflow-x:auto!important;padding-bottom:4px}.dr31-floor-tabs button{flex:0 0 145px}.dr31-room-grid{grid-template-columns:1fr!important}.dr31-room-card{grid-template-columns:39% 61%!important}.dr31-scene-grid,.dr31-faq-list{grid-template-columns:1fr}.dr31-gallery{grid-template-columns:1fr 1fr;grid-template-rows:190px 150px 150px}.dr31-gallery figure.is-wide{grid-column:1/3;grid-row:auto}.dr31-cta{padding:24px 20px}
}
@media(max-width:430px){.dr31-facts{grid-template-columns:1fr}.dr31-facts>div:not(:last-child)::after{display:none}.dr31-facts>div{border-bottom:1px solid var(--dr31-line)}.dr31-room-card{grid-template-columns:1fr!important}.dr31-room-card .dining-room-photo,.dr31-room-card .dining-room-photo>img{min-height:210px}}

/* =========================================================
   V5.1.32 房间目录：三列 / 默认两行 / 人数筛选 / 服务设施
========================================================= */
.dr32-filterbar{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  margin:-2px 0 18px;
  padding:12px 14px;
  border:1px solid #dbe8f5;
  border-radius:12px;
  background:#f8fbff;
}
.dr32-capacity-filter{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.dr32-capacity-filter>span{
  margin-right:5px;
  color:#3c5670;
  font-size:11px;
  font-weight:850;
}
.dr32-capacity-filter button{
  appearance:none;
  min-height:34px;
  padding:0 13px;
  border:1px solid #cfe0f1;
  border-radius:999px;
  color:#41617f;
  background:#fff;
  font-size:10px;
  font-weight:800;
  cursor:pointer;
  transition:.18s ease;
}
.dr32-capacity-filter button:hover{border-color:#8fb8df;color:#175fa5}
.dr32-capacity-filter button.is-active{
  color:#fff;
  border-color:#12518d;
  background:linear-gradient(135deg,#0b3159,#1d67b5);
  box-shadow:0 8px 18px rgba(29,103,181,.14);
}
.dr32-filterbar>small{color:#7f91a4;font-size:10px;white-space:nowrap}

.dr31-room-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
}
.dr31-room-card.dr32-room-card{
  grid-template-columns:45% 55%!important;
  min-height:208px!important;
}
.dr31-room-card.dr32-room-card .dining-room-photo,
.dr31-room-card.dr32-room-card .dining-room-photo>img,
.dr31-room-card.dr32-room-card .dining-room-placeholder{
  min-height:208px!important;
}
.dr31-room-card.dr32-room-card .dining-room-copy{
  padding:16px 16px 14px!important;
}
.dr31-room-card.dr32-room-card .dining-room-copy>strong{
  font-size:19px!important;
  line-height:1.25!important;
}
.dr31-room-card.dr32-room-card .dining-room-copy>em{
  margin-top:8px!important;
  color:#657b91!important;
  font-size:10px!important;
  line-height:1.55!important;
}
.dr32-services{
  display:flex!important;
  flex-wrap:wrap;
  gap:5px;
  margin-top:11px;
}
.dr32-services>span{
  display:inline-flex;
  align-items:center;
  gap:4px;
  min-height:25px;
  padding:0 7px;
  border:1px solid #d9e8f6;
  border-radius:7px;
  color:#426884;
  background:#f4f9ff;
  font-size:8px;
  font-weight:780;
  white-space:nowrap;
}
.dr32-services .site-icon{width:12px!important;height:12px!important;color:#2470b6}
.dr32-services.is-empty>span{color:#94a3b1;background:#fafcff}
.dr31-room-card.dr32-room-card .dining-room-copy>i{
  margin-top:auto!important;
  font-size:10px!important;
}
.dr32-room-hidden{display:none!important}
.dr32-room-more-wrap{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:54px;
  margin-top:20px;
}
.dr32-room-more{
  appearance:none;
  min-width:188px;
  min-height:44px;
  padding:0 22px;
  border:1px solid #a9cae9;
  border-radius:999px;
  color:#155b9c;
  background:#fff;
  box-shadow:0 8px 22px rgba(28,83,133,.06);
  font-size:11px;
  font-weight:850;
  cursor:pointer;
  transition:.18s ease;
}
.dr32-room-more:hover{color:#fff;border-color:#155b9c;background:#155b9c}
.dr32-no-results{
  width:100%;
  padding:24px;
  border:1px dashed #cbddec;
  border-radius:12px;
  color:#72869a;
  background:#f8fbff;
  text-align:center;
  font-size:11px;
}
@media(max-width:1320px){
  .dr31-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dr31-room-card.dr32-room-card{grid-template-columns:45% 55%!important}
}
@media(max-width:800px){
  .dr32-filterbar{align-items:flex-start;flex-direction:column}
  .dr32-filterbar>small{white-space:normal}
}
@media(max-width:680px){
  .dr31-room-grid{grid-template-columns:1fr!important}
  .dr31-room-card.dr32-room-card{grid-template-columns:40% 60%!important;min-height:184px!important}
  .dr31-room-card.dr32-room-card .dining-room-photo,
  .dr31-room-card.dr32-room-card .dining-room-photo>img,
  .dr31-room-card.dr32-room-card .dining-room-placeholder{min-height:184px!important}
  .dr32-capacity-filter{gap:6px}
  .dr32-capacity-filter button{padding:0 10px}
}
@media(max-width:430px){
  .dr31-room-card.dr32-room-card{grid-template-columns:1fr!important}
  .dr31-room-card.dr32-room-card .dining-room-photo,
  .dr31-room-card.dr32-room-card .dining-room-photo>img,
  .dr31-room-card.dr32-room-card .dining-room-placeholder{min-height:230px!important}
}

/* =========================================================
   V5.1.32.1 房间卡片错位修复
   原因：旧 dining-redesign.css 的 aspect-ratio:16/10 参与横向卡片尺寸计算，
   导致图片/占位图撑大并挤压右侧信息。
========================================================= */
.dr31-room-grid{
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:16px!important;
  align-items:stretch!important;
}
.dr31-room-card.dr32-room-card{
  display:grid!important;
  grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
  grid-template-rows:1fr!important;
  width:100%!important;
  min-width:0!important;
  min-height:208px!important;
  height:208px!important;
  overflow:hidden!important;
  padding:0!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:208px!important;
  min-height:208px!important;
  aspect-ratio:auto!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#eef5fc!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>img{
  display:block!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  height:208px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder{
  display:flex!important;
  width:100%!important;
  min-width:0!important;
  height:208px!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:10px!important;
  color:#3a638a!important;
  background:linear-gradient(145deg,#f4f9ff 0%,#e7f1fb 100%)!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder .site-icon{
  width:32px!important;
  height:32px!important;
  padding:7px!important;
  border-radius:50%!important;
  color:#216fba!important;
  background:#fff!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder b{
  color:#355c84!important;
  font-size:18px!important;
  letter-spacing:.06em!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:208px!important;
  padding:16px 16px 14px!important;
  overflow:hidden!important;
  background:#fff!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>small{
  flex:0 0 auto!important;
  max-width:100%!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>strong{
  flex:0 0 auto!important;
  display:block!important;
  max-width:100%!important;
  margin:0!important;
  color:#12375d!important;
  font-size:19px!important;
  line-height:1.28!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>em{
  flex:0 0 auto!important;
  display:-webkit-box!important;
  max-width:100%!important;
  margin-top:8px!important;
  overflow:hidden!important;
  color:#657b91!important;
  font-size:10px!important;
  line-height:1.55!important;
  white-space:normal!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.dr31-room-card.dr32-room-card .dr32-services{
  flex:0 0 auto!important;
  max-height:58px!important;
  overflow:hidden!important;
  margin-top:10px!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>i{
  flex:0 0 auto!important;
  margin-top:auto!important;
  width:100%!important;
}
@media(max-width:1320px){
  .dr31-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
  .dr31-room-card.dr32-room-card{
    grid-template-columns:minmax(0,45%) minmax(0,55%)!important;
  }
}
@media(max-width:680px){
  .dr31-room-grid{grid-template-columns:1fr!important}
  .dr31-room-card.dr32-room-card{
    grid-template-columns:minmax(0,40%) minmax(0,60%)!important;
    height:190px!important;
    min-height:190px!important;
  }
  .dr31-room-card.dr32-room-card>.dining-room-photo,
  .dr31-room-card.dr32-room-card>.dining-room-photo>img,
  .dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder,
  .dr31-room-card.dr32-room-card>.dining-room-copy{
    height:190px!important;
    min-height:0!important;
  }
}
@media(max-width:430px){
  .dr31-room-card.dr32-room-card{
    grid-template-columns:1fr!important;
    grid-template-rows:210px auto!important;
    height:auto!important;
  }
  .dr31-room-card.dr32-room-card>.dining-room-photo,
  .dr31-room-card.dr32-room-card>.dining-room-photo>img,
  .dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder{
    height:210px!important;
  }
  .dr31-room-card.dr32-room-card>.dining-room-copy{
    height:auto!important;
    min-height:180px!important;
  }
}

/* =========================================================
   V5.1.32.2 房间卡最终布局：3列，上图16:9，下方完整信息
========================================================= */
.dr31-room-grid{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(0,1fr))!important;
  gap:18px!important;
  align-items:stretch!important;
}
.dr31-room-card.dr32-room-card{
  display:flex!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:100%!important;
  min-height:0!important;
  overflow:hidden!important;
  padding:0!important;
  border:1px solid #dce8f4!important;
  border-radius:14px!important;
  background:#fff!important;
  box-shadow:0 10px 26px rgba(30,72,111,.055)!important;
}
.dr31-room-card.dr32-room-card:hover{
  transform:translateY(-3px)!important;
  border-color:#a8c7e7!important;
  box-shadow:0 18px 38px rgba(30,72,111,.10)!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo{
  position:relative!important;
  display:block!important;
  flex:0 0 auto!important;
  width:100%!important;
  height:auto!important;
  min-height:0!important;
  aspect-ratio:16/9!important;
  overflow:hidden!important;
  border-radius:0!important;
  background:#eef5fc!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>img{
  display:block!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  object-fit:cover!important;
  object-position:center!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder{
  display:flex!important;
  width:100%!important;
  height:100%!important;
  min-height:0!important;
  aspect-ratio:auto!important;
  align-items:center!important;
  justify-content:center!important;
  flex-direction:column!important;
  gap:10px!important;
  color:#3a638a!important;
  background:linear-gradient(145deg,#f5f9fe 0%,#e7f1fb 100%)!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder .site-icon{
  width:38px!important;
  height:38px!important;
  padding:8px!important;
  border-radius:50%!important;
  color:#216fba!important;
  background:#fff!important;
  box-shadow:0 5px 14px rgba(26,94,157,.08)!important;
}
.dr31-room-card.dr32-room-card>.dining-room-photo>.dining-room-placeholder b{
  color:#355c84!important;
  font-size:20px!important;
  letter-spacing:.06em!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy{
  display:flex!important;
  flex:1 1 auto!important;
  flex-direction:column!important;
  width:100%!important;
  min-width:0!important;
  height:auto!important;
  min-height:178px!important;
  padding:15px 17px 14px!important;
  overflow:visible!important;
  background:#fff!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>small{
  flex:0 0 auto!important;
  display:inline-flex!important;
  align-self:flex-start!important;
  max-width:100%!important;
  margin:0 0 8px!important;
  padding:4px 8px!important;
  border-radius:999px!important;
  color:#2369ac!important;
  background:#eaf4ff!important;
  font-size:9px!important;
  font-weight:850!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>strong{
  display:block!important;
  margin:0!important;
  color:#12375d!important;
  font-size:20px!important;
  line-height:1.25!important;
  font-weight:900!important;
  white-space:nowrap!important;
  overflow:hidden!important;
  text-overflow:ellipsis!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>em{
  display:-webkit-box!important;
  margin-top:7px!important;
  overflow:hidden!important;
  color:#657b91!important;
  font-size:10px!important;
  line-height:1.55!important;
  white-space:normal!important;
  font-style:normal!important;
  -webkit-line-clamp:2!important;
  -webkit-box-orient:vertical!important;
}
.dr31-room-card.dr32-room-card .dr32-services{
  display:flex!important;
  flex-wrap:wrap!important;
  gap:6px!important;
  max-height:58px!important;
  margin-top:10px!important;
  overflow:hidden!important;
}
.dr31-room-card.dr32-room-card .dr32-services>span{
  min-height:26px!important;
  padding:0 8px!important;
  font-size:9px!important;
}
.dr31-room-card.dr32-room-card>.dining-room-copy>i{
  display:flex!important;
  align-items:center!important;
  justify-content:space-between!important;
  width:100%!important;
  margin-top:auto!important;
  padding-top:11px!important;
  border-top:1px solid #e5eef7!important;
  color:#2269ad!important;
  font-size:10px!important;
  font-style:normal!important;
  font-weight:850!important;
}
@media(max-width:1180px){
  .dr31-room-grid{grid-template-columns:repeat(2,minmax(0,1fr))!important}
}
@media(max-width:680px){
  .dr31-room-grid{grid-template-columns:1fr!important}
  .dr31-room-card.dr32-room-card>.dining-room-copy{min-height:170px!important}
}


/* =========================================================
   V5.1.32.4 强制隐藏修复
   原因：卡片 display:flex!important 会覆盖 HTML hidden 的 UA 样式。
   所有折叠、人数筛选均以以下规则为最终优先级。
========================================================= */
.dr31-page .dr32-room-card[hidden],
.dr31-page .dr32-room-card.dr32-room-hidden,
.dr31-page .dr31-room-card.dr32-room-card[hidden],
.dr31-page .dr31-room-card.dr32-room-card.dr32-room-hidden{
  display:none!important;
}
.dr31-page [data-room-more][hidden],
.dr31-page [data-room-empty][hidden]{
  display:none!important;
}
