/* 北海明珠 /dining V11.1 */
.bd-page{
  --bd-blue:#0c4f91;
  --bd-blue2:#1767ad;
  --bd-deep:#0b3e72;
  --bd-ink:#244d73;
  --bd-text:#627f9b;
  --bd-soft:#f5faff;
  --bd-line:#dbe9f5;
  --bd-gold:#b8925e;
  background:#fff;
  color:var(--bd-ink);
  overflow:hidden;
}
.bd-page *{box-sizing:border-box}
.bd-shell{width:min(1500px,calc(100% - 56px));margin:0 auto}
.bd-hero{
  min-height:580px;
  display:flex;
  align-items:center;
  background:
    radial-gradient(circle at 9% 18%,rgba(190,224,250,.42),transparent 36%),
    radial-gradient(circle at 77% 62%,rgba(219,237,250,.35),transparent 38%),
    linear-gradient(110deg,#f7fbff 0%,#edf7ff 47%,#f9fcff 100%);
  border-top:1px solid #d8e7f4;
}
.bd-hero-copy{max-width:1040px;padding:68px 0 74px 4px}
.bd-eyebrow{display:flex;align-items:center;gap:13px;color:#1765aa;font-size:12px;font-weight:900;letter-spacing:.23em}
.bd-eyebrow i{display:block;width:36px;height:2px;background:#3a88c8}
.bd-hero-lead{margin:26px 0 14px;color:#5f86aa;font-size:21px;letter-spacing:.08em}
.bd-hero h1{margin:0;color:var(--bd-deep);font-family:"Noto Serif SC","Songti SC",serif;font-size:54px;line-height:1.15;letter-spacing:.02em}
.bd-hero h2{margin:18px 0 15px;color:#24577f;font-size:34px;line-height:1.45;font-weight:800}
.bd-hero-desc{max-width:760px;margin:0;color:#6985a0;font-size:16px;line-height:2}
.bd-actions{display:flex;gap:13px;flex-wrap:wrap;margin-top:30px}
.bd-btn{min-height:50px;padding:0 25px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center;gap:14px;border:1px solid transparent;text-decoration:none;font-weight:800;font-size:15px;transition:.2s ease;cursor:pointer}
.bd-btn:hover{transform:translateY(-2px)}
.bd-btn-primary{background:linear-gradient(135deg,#0b4d91,#1265a9);color:#fff;box-shadow:0 12px 25px rgba(15,78,143,.18)}
.bd-btn-light{background:#fff;color:var(--bd-deep);border-color:#bed8ec}
.bd-hero-sign{margin:24px 0 0;color:#7392ad;font-size:16px;letter-spacing:.04em}
.bd-section{padding:76px 0}
.bd-soft{background:linear-gradient(180deg,#f8fbff,#f2f8fd)}
.bd-heading{max-width:850px;margin:0 auto 36px;text-align:center}
.bd-heading>span,.bd-small-label{display:block;margin-bottom:11px;color:#5486b2;font-size:12px;font-weight:900;letter-spacing:.2em}
.bd-heading h2,.bd-book-grid h2{margin:0;color:var(--bd-deep);font-family:"Noto Serif SC","Songti SC",serif;font-size:36px;line-height:1.4}
.bd-heading p{margin:10px 0 0;color:#748ba1;line-height:1.8}
.bd-heading:after{content:"";display:block;width:78px;height:2px;margin:17px auto 0;background:linear-gradient(90deg,transparent,#8ab9df,transparent)}
.bd-heading-row{max-width:none;text-align:left;display:flex;justify-content:space-between;align-items:end;gap:28px}
.bd-heading-row:after{display:none}
.bd-text-link{color:var(--bd-blue);text-decoration:none;font-weight:800;white-space:nowrap}
.bd-group-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bd-group-card{
  appearance:none;text-align:left;border:1px solid var(--bd-line);background:#fff;border-radius:18px;padding:24px;color:inherit;cursor:pointer;
  box-shadow:0 10px 28px rgba(22,74,120,.055);transition:.2s ease
}
.bd-group-card:hover{transform:translateY(-5px);border-color:#a9cbe6;box-shadow:0 17px 38px rgba(22,74,120,.10)}
.bd-group-no{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border-radius:50%;background:#edf6fd;color:#2b6fa8;font-size:12px;font-weight:900}
.bd-group-card>strong{display:block;margin-top:17px;color:#4e7ca3;font-size:14px}
.bd-group-card h3{margin:4px 0 10px;color:var(--bd-deep);font-size:21px}
.bd-group-card p{min-height:70px;margin:0;color:#74899c;font-size:13px;line-height:1.85}
.bd-group-card em{display:block;margin-top:16px;color:#2266a0;font-style:normal;font-size:13px;font-weight:800}
.bd-group-help{display:flex;align-items:center;justify-content:center;gap:10px;margin-top:24px;color:#758ca2;font-size:14px}
.bd-group-help a{color:var(--bd-blue);text-decoration:none;font-weight:800}
.bd-dish-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:20px}
.bd-dish-card{overflow:hidden;border:1px solid #dce9f4;border-radius:17px;background:#fff;box-shadow:0 10px 28px rgba(25,75,120,.06);transition:.22s}
.bd-dish-card:hover{transform:translateY(-4px);box-shadow:0 18px 38px rgba(25,75,120,.10)}
.bd-dish-image{display:block;aspect-ratio:4/2.75;overflow:hidden;background:#e9f3fa}
.bd-dish-image img{width:100%;height:100%;object-fit:cover;display:block;transition:.35s}
.bd-dish-card:hover img{transform:scale(1.035)}
.bd-dish-body{padding:17px 18px 19px}
.bd-dish-body>span{display:inline-block;padding:5px 9px;border-radius:999px;background:#edf6fd;color:#3976a8;font-size:11px}
.bd-dish-body h3{margin:10px 0 7px;font-size:19px}
.bd-dish-body h3 a{color:var(--bd-deep);text-decoration:none}
.bd-dish-body p{height:45px;overflow:hidden;margin:0;color:#7b8fa2;font-size:13px;line-height:1.75}
.bd-center-action{text-align:center;margin-top:30px}
.bd-room-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:20px}
.bd-room-card{overflow:hidden;border:1px solid #dce8f2;border-radius:18px;background:#fff;box-shadow:0 10px 28px rgba(21,73,118,.055)}
.bd-room-image{display:block;aspect-ratio:16/10;overflow:hidden;background:#edf3f8}
.bd-room-image img{width:100%;height:100%;object-fit:cover;display:block}
.bd-room-body{padding:19px}
.bd-room-body>span{color:#6085a4;font-size:12px}
.bd-room-body h3{margin:5px 0 11px;color:var(--bd-deep);font-size:21px}
.bd-room-meta{display:flex;gap:10px;align-items:center;color:#72889d;font-size:12px}.bd-room-meta i{width:3px;height:3px;border-radius:50%;background:#8ba9c2}
.bd-room-body>a{display:inline-block;margin-top:14px;color:var(--bd-blue);text-decoration:none;font-size:13px;font-weight:800}
.bd-room-note{margin-top:22px;padding:20px 22px;border:1px solid #d6e6f3;border-radius:15px;background:#f7fbff;display:flex;align-items:center;gap:15px}
.bd-room-note strong{color:var(--bd-deep)}.bd-room-note span{color:#71879c;flex:1}.bd-room-note a{color:var(--bd-blue);text-decoration:none;font-weight:800}
.bd-scene-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:18px}
.bd-scene-grid article{padding:25px;border-radius:17px;background:#fff;border:1px solid #dce8f3;box-shadow:0 9px 25px rgba(22,70,112,.05)}
.bd-scene-grid article>span{display:block;color:#84a9c7;font-size:12px;font-weight:900;letter-spacing:.12em}
.bd-scene-grid h3{margin:12px 0 9px;color:var(--bd-deep);font-size:21px}
.bd-scene-grid p{min-height:68px;margin:0;color:#758a9f;font-size:13px;line-height:1.8}
.bd-scene-grid strong{display:block;margin-top:13px;color:#3c76a6;font-size:12px}
.bd-why{background:#fff}
.bd-why-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:1px;border:1px solid #dce7f1;border-radius:18px;overflow:hidden;background:#dce7f1}
.bd-why-grid article{padding:28px;background:#fff}
.bd-why-grid b{color:#83a6c4;font-size:12px}.bd-why-grid h3{margin:11px 0 8px;color:var(--bd-deep);font-size:20px}.bd-why-grid p{margin:0;color:#758b9f;font-size:13px;line-height:1.8}
.bd-book-section{background:linear-gradient(135deg,#eff8ff,#f9fcff)}
.bd-book-grid{display:grid;grid-template-columns:.88fr 1.12fr;gap:34px;align-items:start}
.bd-visit,.bd-book-panel{border:1px solid #dce8f3;background:#fff;border-radius:20px;padding:31px;box-shadow:0 14px 38px rgba(18,69,111,.06)}
.bd-visit>p,.bd-book-panel>p{color:#758b9f;line-height:1.8}
.bd-visit-list{margin-top:26px;border-top:1px solid #e4edf5}
.bd-visit-list>div{display:grid;grid-template-columns:100px 1fr;gap:18px;padding:16px 0;border-bottom:1px solid #e4edf5}
.bd-visit-list span{color:#8093a4}.bd-visit-list strong{color:#355a79}.bd-visit-list a{color:var(--bd-blue);text-decoration:none}
.bd-visit-actions{display:flex;gap:10px;margin-top:22px;flex-wrap:wrap}
.bd-book-panel .booking-inquiry-form{margin-top:22px}
.bd-book-panel .booking-form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px}
.bd-book-panel .booking-field{display:block}.bd-book-panel .booking-field.full{grid-column:1/-1}
.bd-book-panel .booking-field>span{display:block;margin-bottom:6px;color:#4c6983;font-size:12px;font-weight:800}
.bd-book-panel input,.bd-book-panel select,.bd-book-panel textarea{width:100%;border:1px solid #d7e3ee;border-radius:10px;background:#fff;color:#274b68;outline:none}
.bd-book-panel input,.bd-book-panel select{height:44px;padding:0 11px}.bd-book-panel textarea{padding:11px;resize:vertical}
.bd-book-panel input:focus,.bd-book-panel select:focus,.bd-book-panel textarea:focus{border-color:#79add7;box-shadow:0 0 0 3px rgba(32,105,165,.09)}
.bd-book-panel .booking-submit{width:100%;min-height:48px;margin-top:15px;border:0;border-radius:10px;background:linear-gradient(135deg,#0b4d91,#1265a9);color:#fff;font-weight:900;cursor:pointer}
.bd-book-panel .booking-disclaimer{margin:9px 0 0;text-align:center;color:#8a9aa8;font-size:11px}
.bd-book-panel .booking-calendar{z-index:30}
@media(max-width:1180px){
  .bd-group-grid,.bd-dish-grid,.bd-scene-grid,.bd-why-grid{grid-template-columns:repeat(2,1fr)}
  .bd-room-grid{grid-template-columns:repeat(2,1fr)}
  .bd-book-grid{grid-template-columns:1fr}
}
@media(max-width:760px){
  .bd-shell{width:min(100% - 28px,1500px)}
  .bd-hero{min-height:auto}.bd-hero-copy{padding:48px 0 52px}
  .bd-hero-lead{font-size:18px}.bd-hero h1{font-size:42px}.bd-hero h2{font-size:25px}.bd-hero-desc{font-size:14px}
  .bd-section{padding:54px 0}.bd-heading h2,.bd-book-grid h2{font-size:29px}
  .bd-heading-row{display:block}.bd-heading-row .bd-text-link{display:inline-block;margin-top:13px}
  .bd-group-grid,.bd-dish-grid,.bd-room-grid,.bd-scene-grid,.bd-why-grid{grid-template-columns:1fr}
  .bd-group-card p,.bd-scene-grid p{min-height:0}
  .bd-group-help,.bd-room-note{align-items:flex-start;flex-direction:column}
  .bd-book-panel .booking-form-grid{grid-template-columns:1fr}
  .bd-book-panel .booking-field.full{grid-column:auto}
}
@media(max-width:460px){
  .bd-actions .bd-btn{width:100%}
  .bd-visit,.bd-book-panel{padding:22px}
  .bd-visit-list>div{grid-template-columns:1fr;gap:5px}
}