:root{
  --xn-access-bg:var(--xn-access-light-bg,#F6F1E8);
  --xn-access-section:var(--xn-access-light-section,#FFFDFC);
  --xn-access-card:var(--xn-access-light-card,#fff);
  --xn-access-text:var(--xn-access-light-text,#2F241C);
  --xn-access-sub:var(--xn-access-light-sub,#5A4A3D);
  --xn-access-muted:var(--xn-access-light-muted,#8A7A68);
  --xn-access-accent:var(--xn-access-light-accent,#C89A4B);
  --xn-access-red:var(--xn-access-light-red,#9E2A22);
  --xn-access-border:rgba(110,80,45,.16);
  --xn-access-soft:rgba(200,154,75,.10);
  --xn-access-shadow:0 18px 50px rgba(62,42,22,.10);
}
html[data-xnhs-theme="dark"]{
  --xn-access-bg:var(--xn-access-dark-bg,#12100E);
  --xn-access-section:var(--xn-access-dark-section,#17130F);
  --xn-access-card:var(--xn-access-dark-card,#1F1A15);
  --xn-access-text:var(--xn-access-dark-text,#F3EBDD);
  --xn-access-sub:var(--xn-access-dark-sub,#C9B8A4);
  --xn-access-muted:var(--xn-access-dark-muted,#9E8E7A);
  --xn-access-accent:var(--xn-access-dark-accent,#D6A85A);
  --xn-access-red:var(--xn-access-dark-red,#B63A2B);
  --xn-access-border:rgba(214,168,90,.20);
  --xn-access-soft:rgba(214,168,90,.10);
  --xn-access-shadow:0 22px 58px rgba(0,0,0,.40);
}
html.xn-access-global-skin body{background:var(--xn-access-bg);color:var(--xn-access-text)}
.xn-access-page,.xn-access-page *{box-sizing:border-box}
.xn-access-page{background:var(--xn-access-bg);color:var(--xn-access-text);padding:var(--xn-access-pt,72px) 20px var(--xn-access-pb,86px);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI","Noto Sans JP","Hiragino Kaku Gothic ProN",Meiryo,sans-serif}
.xn-access-page a{text-decoration:none;color:inherit}
.xn-access-page__inner{max-width:var(--xn-access-max,1180px);margin:0 auto}

.xn-access-page__map-shell{position:relative;margin-bottom:38px}
.xn-access-page__map{height:var(--xn-access-map-h,430px);border-radius:calc(var(--xn-access-card-r,24px) + 6px);overflow:hidden;border:1px solid var(--xn-access-border);box-shadow:var(--xn-access-shadow);background:var(--xn-access-card)}
.xn-access-page__map iframe{width:100%!important;height:100%!important;border:0!important;display:block;filter:saturate(.95) contrast(.98)}
html[data-xnhs-theme="dark"] .xn-access-page__map iframe{filter:saturate(.75) contrast(.92) brightness(.84)}
.xn-access-page__map-empty{height:100%;display:flex;align-items:center;justify-content:center;color:var(--xn-access-muted);font-weight:800;background:linear-gradient(135deg,rgba(200,154,75,.12),rgba(158,42,34,.08))}

.xn-access-page__head{text-align:center;max-width:760px;margin:0 auto 36px}
.xn-access-page__eyebrow{display:inline-flex;align-items:center;gap:12px;color:var(--xn-access-accent);font-size:12px;letter-spacing:.24em;font-weight:900;margin-bottom:12px;text-transform:uppercase}
.xn-access-page__eyebrow:before,.xn-access-page__eyebrow:after{content:"";width:34px;height:1px;background:currentColor;opacity:.68}
.xn-access-page__title{margin:0;color:var(--xn-access-text);font-size:var(--xn-access-title,42px);line-height:1.16;letter-spacing:.06em;font-family:"Noto Serif JP","Yu Mincho","Hiragino Mincho ProN",serif;font-weight:700}
.xn-access-page__subtitle{margin:14px 0 0;color:var(--xn-access-sub);font-size:var(--xn-access-subtitle,16px);line-height:1.8}

.xn-access-page__visit{display:grid;grid-template-columns:minmax(280px,40%) minmax(0,1fr);gap:var(--xn-access-gap,24px);align-items:stretch;margin-bottom:var(--xn-access-gap,24px)}
.xn-access-page__hero{margin:0;min-height:var(--xn-access-hero-h,420px);height:100%;border-radius:var(--xn-access-hero-r,28px);overflow:hidden;background:var(--xn-access-section);box-shadow:var(--xn-access-shadow);border:1px solid var(--xn-access-border)}
.xn-access-page__hero img{width:100%;height:100%;min-height:var(--xn-access-hero-h,420px);object-fit:cover;display:block;transform:scale(1.002)}
.xn-access-page__placeholder{height:100%;min-height:var(--xn-access-hero-h,420px);display:flex;align-items:center;justify-content:center;background:radial-gradient(circle at 25% 20%,rgba(200,154,75,.28),transparent 38%),linear-gradient(135deg,rgba(158,42,34,.14),rgba(200,154,75,.22))}
.xn-access-page__placeholder span{font-size:30px;letter-spacing:.18em;color:var(--xn-access-accent);font-family:"Noto Serif JP","Yu Mincho",serif}

.xn-access-page__panel{background:linear-gradient(145deg,var(--xn-access-card),var(--xn-access-section));border:1px solid var(--xn-access-border);box-shadow:var(--xn-access-shadow);border-radius:var(--xn-access-card-r,24px);padding:var(--xn-access-card-p,28px);display:flex;flex-direction:column;min-height:var(--xn-access-hero-h,420px)}
.xn-access-page__panel-head{padding-bottom:18px;border-bottom:1px solid var(--xn-access-border)}
.xn-access-page__panel-head span{display:block;color:var(--xn-access-accent);font-size:12px;letter-spacing:.2em;font-weight:900;margin-bottom:8px;text-transform:uppercase}
.xn-access-page__panel-head h3{margin:0;color:var(--xn-access-text);font-size:30px;line-height:1.35;font-family:"Noto Serif JP","Yu Mincho",serif}
.xn-access-page__panel-head p{margin:10px 0 0;color:var(--xn-access-sub);font-size:var(--xn-access-body,15px);line-height:1.8}
.xn-access-page__quick-list{display:grid;gap:0;margin-top:4px;flex:1}
.xn-access-page__quick-row{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;padding:17px 0;border-bottom:1px solid var(--xn-access-border)}
.xn-access-page__quick-row:last-child{border-bottom:0}
.xn-access-page__icon{width:42px;height:42px;border-radius:15px;display:flex;align-items:center;justify-content:center;background:var(--xn-access-soft);font-size:19px;line-height:1;flex:0 0 auto}
.xn-access-page__quick-body strong{display:block;margin:0 0 5px;color:var(--xn-access-text);font-size:var(--xn-access-label,13px);letter-spacing:.10em;font-weight:900}
.xn-access-page__quick-body span{display:block;color:var(--xn-access-sub);font-size:var(--xn-access-body,15px);line-height:1.75}
.xn-access-page__buttons{display:flex;flex-wrap:wrap;gap:12px;margin-top:20px;padding-top:20px;border-top:1px solid var(--xn-access-border)}
.xn-access-page__btn{display:flex;align-items:center;justify-content:center;min-height:var(--xn-access-btn-h,46px);padding:0 20px;border-radius:999px;border:1px solid var(--xn-access-border);background:var(--xn-access-bg);color:var(--xn-access-text);font-size:var(--xn-access-btn-fs,14px);font-weight:900;transition:transform .2s ease,box-shadow .2s ease,background .2s ease}
.xn-access-page__btn:hover{transform:translateY(-1px);box-shadow:0 14px 32px rgba(0,0,0,.12)}
.xn-access-page__btn--primary{background:var(--xn-access-red);border-color:var(--xn-access-red);color:#fff}

.xn-access-page__info-section{background:var(--xn-access-section);border:1px solid var(--xn-access-border);border-radius:calc(var(--xn-access-card-r,24px) + 8px);padding:calc(var(--xn-access-card-p,28px) + 4px);box-shadow:var(--xn-access-shadow)}
.xn-access-page__section-title{display:flex;align-items:end;justify-content:space-between;gap:18px;margin-bottom:20px;padding-bottom:16px;border-bottom:1px solid var(--xn-access-border)}
.xn-access-page__section-title span{color:var(--xn-access-accent);font-size:12px;letter-spacing:.24em;font-weight:900}
.xn-access-page__section-title h3{margin:0;color:var(--xn-access-text);font-size:24px;font-family:"Noto Serif JP","Yu Mincho",serif;letter-spacing:.06em}
.xn-access-page__info{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.xn-access-page__info-card{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:start;background:var(--xn-access-card);border:1px solid var(--xn-access-border);border-radius:calc(var(--xn-access-card-r,24px) - 6px);padding:20px;min-height:0}
.xn-access-page__info-card--access,.xn-access-page__info-card--hours{grid-column:span 1}
.xn-access-page__info-card h3,.xn-access-page__note h3{margin:0 0 8px;color:var(--xn-access-text);font-size:var(--xn-access-label,13px);letter-spacing:.10em;font-weight:900}
.xn-access-page__info-card p,.xn-access-page__note p{margin:0;color:var(--xn-access-sub);font-size:var(--xn-access-body,15px);line-height:1.78}
.xn-access-page__note{margin-top:14px;background:linear-gradient(135deg,rgba(200,154,75,.12),var(--xn-access-card));border:1px solid rgba(200,154,75,.32);border-radius:calc(var(--xn-access-card-r,24px) - 6px);padding:20px 22px}

.xn-access-theme-toggle{position:fixed;right:18px;bottom:18px;z-index:9999;display:flex;gap:6px;padding:6px;border-radius:999px;background:rgba(255,255,255,.76);border:1px solid rgba(120,90,50,.18);box-shadow:0 14px 38px rgba(0,0,0,.16);backdrop-filter:blur(14px)}
html[data-xnhs-theme="dark"] .xn-access-theme-toggle{background:rgba(18,16,14,.78);border-color:rgba(214,168,90,.22)}
.xn-access-theme-toggle button{border:0;border-radius:999px;padding:8px 12px;background:transparent;color:var(--xn-access-sub);font-weight:800;cursor:pointer}.xn-access-theme-toggle button.is-active{background:var(--xn-access-red);color:#fff}

@media(max-width:980px){
  .xn-access-page__visit{grid-template-columns:1fr}
  .xn-access-page__hero,.xn-access-page__panel{min-height:auto}
  .xn-access-page__hero img,.xn-access-page__placeholder{height:var(--xn-access-mhero-h,240px);min-height:var(--xn-access-mhero-h,240px)}
}
@media(max-width:767px){
  .xn-access-page{padding:var(--xn-access-mpt,42px) 14px var(--xn-access-mpb,54px)}
  .xn-access-page__map{height:var(--xn-access-mmap-h,260px);border-radius:18px}
  .xn-access-page__map-shell{margin-bottom:26px}
  .xn-access-page__head{margin-bottom:24px}
  .xn-access-page__title{font-size:var(--xn-access-mtitle,30px)}
  .xn-access-page__subtitle{font-size:var(--xn-access-msubtitle,14px)}
  .xn-access-page__visit{gap:var(--xn-access-mgap,14px);margin-bottom:var(--xn-access-mgap,14px)}
  .xn-access-page__hero{border-radius:var(--xn-access-hero-r,28px)}
  .xn-access-page__panel,.xn-access-page__info-section{padding:var(--xn-access-mcard-p,18px);border-radius:var(--xn-access-card-r,24px)}
  .xn-access-page__panel-head h3{font-size:22px}
  .xn-access-page__panel-head p,.xn-access-page__quick-body span,.xn-access-page__info-card p,.xn-access-page__note p{font-size:var(--xn-access-mbody,14px)}
  .xn-access-page__quick-row{grid-template-columns:36px 1fr;gap:12px;padding:15px 0}
  .xn-access-page__icon{width:36px;height:36px;border-radius:13px;font-size:17px}
  .xn-access-page__buttons{display:grid;gap:10px}
  .xn-access-page__btn{min-height:var(--xn-access-mbtn-h,42px);font-size:var(--xn-access-mbtn-fs,13px)}
  .xn-access-page__section-title{display:block;margin-bottom:16px}
  .xn-access-page__section-title h3{font-size:21px;margin-top:4px}
  .xn-access-page__info{grid-template-columns:1fr;gap:var(--xn-access-mgap,14px)}
  .xn-access-page__info-card{grid-template-columns:36px 1fr;gap:12px;padding:var(--xn-access-mcard-p,18px)}
  .xn-access-theme-toggle{right:12px;bottom:12px}.xn-access-theme-toggle button{padding:7px 10px}
}
/* v1.1.2: 店铺信息只保留一处，避免上方和下方重复 */
.xn-access-page__quick-list{display:grid;gap:12px;margin-top:20px}
.xn-access-page__quick-row{display:grid;grid-template-columns:42px 1fr;gap:14px;align-items:flex-start;padding:14px 0;border-top:1px solid var(--xn-access-border)}
.xn-access-page__quick-row:first-child{border-top:0;padding-top:0}
.xn-access-page__quick-body strong{display:block;margin:0 0 5px;color:var(--xn-access-text);font-size:var(--xn-access-label,13px);letter-spacing:.12em;font-weight:900}
.xn-access-page__quick-body span{display:block;color:var(--xn-access-sub);font-size:var(--xn-access-body,15px);line-height:1.75}
.xn-access-page__panel-note{margin-top:18px;padding:16px 18px;border-radius:18px;border:1px solid rgba(200,154,75,.30);background:linear-gradient(135deg,rgba(200,154,75,.10),rgba(200,154,75,.04))}
.xn-access-page__panel-note strong{display:block;margin-bottom:6px;color:var(--xn-access-text);font-size:var(--xn-access-label,13px);letter-spacing:.12em;font-weight:900}
.xn-access-page__panel-note span{display:block;color:var(--xn-access-sub);font-size:var(--xn-access-body,15px);line-height:1.75}
@media(max-width:767px){.xn-access-page__quick-row{grid-template-columns:36px 1fr;gap:12px;padding:12px 0}.xn-access-page__quick-body span,.xn-access-page__panel-note span{font-size:var(--xn-access-mbody,14px)}}
