/* Hanamori — public site */
*{box-sizing:border-box}
.yad{--ink:#211c16;--ink-soft:#6a6052;--line:rgba(33,28,22,.13);--paper-2:#ece3d3;--accent-ink:#fbf7ef;
  margin:0;font-family:"Zen Kaku Gothic New",sans-serif;color:var(--ink);-webkit-font-smoothing:antialiased;background:var(--paper)}
.serif,.yad h1,.yad h2,.yad h3{font-family:"Shippori Mincho B1",serif}
.mincho{font-family:"Zen Old Mincho",serif}
a{color:inherit;text-decoration:none}

.site{background:var(--paper);position:relative;overflow:hidden}
.site::before{content:"";position:absolute;inset:0;pointer-events:none;opacity:.5;
  background-image:radial-gradient(rgba(33,28,22,.04) 1px,transparent 1px);background-size:5px 5px}
.wrap{max-width:1080px;margin:0 auto;padding:0 32px;position:relative}
.vlabel{writing-mode:vertical-rl;text-orientation:upright;letter-spacing:.45em;font-size:11px;color:var(--accent);font-family:"Zen Old Mincho",serif}
.kicker{font-size:11px;letter-spacing:.42em;text-transform:uppercase;color:var(--accent);font-weight:500}
.rule{width:46px;height:1px;background:var(--accent);margin-bottom:14px}

.nav{position:sticky;top:0;z-index:30;backdrop-filter:blur(8px);background:rgba(244,239,230,.82);border-bottom:1px solid var(--line)}
.nav-in{display:flex;align-items:center;justify-content:space-between;height:64px;gap:16px}
.brand{font-size:21px;font-weight:600;letter-spacing:.06em;display:flex;gap:10px;align-items:baseline}
.brand small{font-size:11px;letter-spacing:.3em;color:var(--ink-soft);font-family:"Zen Kaku Gothic New"}
.lang-pick{display:flex;gap:2px;background:var(--paper-2);border:1px solid var(--line);border-radius:999px;padding:3px;flex-wrap:wrap}
.lang-pick a{font-size:12px;padding:5px 10px;border-radius:999px;color:var(--ink-soft);transition:.18s;white-space:nowrap}
.lang-pick a.on{background:var(--ink);color:var(--paper)}

.btn{display:inline-flex;align-items:center;gap:9px;cursor:pointer;border:0;font:inherit;font-size:14px;letter-spacing:.04em;padding:14px 26px;border-radius:2px;transition:.2s}
.btn-primary{background:var(--accent);color:var(--accent-ink)}
.btn-primary:hover{filter:brightness(1.08);transform:translateY(-1px)}

.hero{padding:78px 0 86px}
.hero-grid{display:grid;grid-template-columns:1.15fr .85fr;gap:48px;align-items:center}
.hero h1{font-weight:600;font-size:clamp(34px,5.6vw,64px);line-height:1.06;letter-spacing:.01em;margin:18px 0 0}
.hero .tag{margin:22px 0 32px;font-size:17px;line-height:1.85;color:var(--ink-soft);max-width:30em}
.hero-photo{aspect-ratio:3/4;border-radius:3px;position:relative;overflow:hidden;box-shadow:0 30px 70px -36px rgba(33,28,22,.55);background-size:cover;background-position:center}
.hero-photo .stamp{position:absolute;right:16px;bottom:16px;width:58px;height:58px;border:1.5px solid rgba(251,247,239,.9);border-radius:6px;color:#fbf7ef;display:flex;align-items:center;justify-content:center;font-size:24px;background:rgba(138,58,46,.42);backdrop-filter:blur(2px)}
.hero-meta{display:flex;gap:26px;margin-top:30px}
.hero-meta b{font-family:"Shippori Mincho B1",serif;font-size:24px;display:block}
.hero-meta span{font-size:11.5px;letter-spacing:.16em;color:var(--ink-soft);text-transform:uppercase}

.sec{padding:74px 0;border-top:1px solid var(--line)}
.sec-head{display:flex;gap:16px;align-items:flex-end;margin-bottom:40px}
.sec-head--tight{margin-bottom:18px}
.sec-head h2{font-size:clamp(26px,3.4vw,38px);font-weight:600;line-height:1.12;margin:8px 0 0}
.lede{font-size:16px;line-height:1.95;color:var(--ink-soft);max-width:38em}

.story-grid{display:grid;grid-template-columns:.9fr 1.1fr;gap:46px;align-items:center}
.story-photo{aspect-ratio:4/3;border-radius:3px;background-size:cover;background-position:center;box-shadow:0 24px 56px -34px rgba(33,28,22,.5)}

.rooms{display:grid;grid-template-columns:repeat(3,1fr);gap:22px}
.room{background:var(--paper-2);border:1px solid var(--line);border-radius:3px;overflow:hidden;transition:.25s}
.room:hover{transform:translateY(-4px);box-shadow:0 22px 44px -30px rgba(33,28,22,.5)}
.room .ph{aspect-ratio:4/3;background-size:cover;background-position:center}
.room .body{padding:18px 18px 20px}
.room h3{font-size:19px;margin:0 0 6px}
.room p{font-size:13.5px;line-height:1.7;color:var(--ink-soft);margin:0 0 12px}
.room .price{font-family:"Shippori Mincho B1",serif;font-size:17px;color:var(--accent)}
.room .price small{font-size:11px;color:var(--ink-soft)}

.amen{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.amen .a{display:flex;gap:13px;align-items:center;padding:18px 16px;background:var(--paper-2);border:1px solid var(--line);border-radius:3px}
.amen .a svg{color:var(--accent);flex:none;width:20px;height:20px}
.amen .a span{font-size:13.5px;line-height:1.4}

.gal{display:grid;grid-template-columns:repeat(4,1fr);grid-auto-rows:150px;gap:10px}
.gal i{display:block;background-size:cover;background-position:center;border-radius:2px}
.gal i:nth-child(1){grid-column:span 2;grid-row:span 2}
.gal i:nth-child(4){grid-row:span 2}

.access-grid{display:grid;grid-template-columns:1fr 1fr;gap:40px}
.acc-row{display:flex;gap:14px;padding:16px 0;border-bottom:1px solid var(--line)}
.acc-row svg{color:var(--accent);flex:none;width:18px;height:18px;margin-top:2px}
.acc-row b{font-size:14px;display:block;margin-bottom:3px}
.acc-row span{font-size:13.5px;color:var(--ink-soft);line-height:1.6}
.map-faux{aspect-ratio:1/1;border-radius:3px;border:1px solid var(--line);position:relative;
  background:linear-gradient(rgba(33,28,22,.06) 1px,transparent 1px) 0 0/26px 26px,linear-gradient(90deg,rgba(33,28,22,.06) 1px,transparent 1px) 0 0/26px 26px,var(--paper-2)}
.map-faux .pin{position:absolute;top:46%;left:52%;transform:translate(-50%,-100%);color:var(--accent)}
.map-faux .pin svg{width:30px;height:30px}

.book{background:var(--ink);color:var(--paper);border-radius:4px;padding:54px 48px;position:relative;overflow:hidden}
.book::after{content:"宿";position:absolute;right:-10px;bottom:-26px;font-family:"Zen Old Mincho",serif;font-size:200px;color:rgba(244,239,230,.05)}
.book h2{font-size:34px;margin:0 0 12px;position:relative}
.book p{color:rgba(244,239,230,.72);max-width:36em;line-height:1.8;position:relative}
.book .btn-primary{margin-top:24px;position:relative}

.cform{max-width:680px}
.cform .grid2{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin-bottom:14px}
.cform label{display:flex;flex-direction:column;gap:6px;margin-bottom:14px}
.cform span{font-size:11.5px;letter-spacing:.06em;color:var(--ink-soft);text-transform:uppercase}
.cform input,.cform textarea{border:1px solid var(--line);border-radius:3px;padding:11px 13px;font:inherit;font-size:14px;background:#fdfbf7;color:var(--ink)}
.cform input:focus,.cform textarea:focus{outline:2px solid var(--accent);outline-offset:-1px}
.hp{position:absolute;left:-9999px;width:1px;height:1px;opacity:0}
.note{padding:14px 18px;border-radius:3px;margin-bottom:22px;font-size:14px}
.note.ok{background:rgba(90,107,59,.12);color:#3f4a28}
.note.err{background:rgba(138,58,46,.12);color:var(--accent)}

.foot{border-top:1px solid var(--line);padding:38px 0;font-size:12.5px;color:var(--ink-soft);display:flex;justify-content:space-between;flex-wrap:wrap;gap:12px}
.foot .skw-link{color:inherit;text-decoration:none;border-bottom:1px dotted transparent;transition:.15s}
.foot .skw-link:hover{color:var(--accent);border-bottom-color:currentColor}

.reveal{animation:rise .7s both}
@keyframes rise{from{opacity:0;transform:translateY(16px)}to{opacity:1;transform:none}}

@media(max-width:820px){
  .hero-grid,.story-grid,.access-grid,.cform .grid2{grid-template-columns:1fr}
  .rooms,.amen,.gal{grid-template-columns:1fr 1fr}
  .wrap{padding:0 20px}
}

/* ---------------------------------------------------------
   Admin-Bar (v1.1.0) — sichtbar nur für eingeloggte Admins
--------------------------------------------------------- */
.adminbar{position:fixed;top:0;left:0;right:0;height:38px;z-index:1000;background:#1f1b16;color:#f4efe6;border-bottom:1px solid #332e26;display:flex;align-items:center;font-size:13px}
.adminbar-in{max-width:1180px;margin:0 auto;padding:0 18px;width:100%;display:flex;align-items:center;gap:14px}
.adminbar-brand{font-family:"Shippori Mincho B1",serif;font-size:12px;color:#7a7268;letter-spacing:.18em;text-transform:uppercase;font-weight:400}
.adminbar-segs{display:flex;gap:3px;background:#2c2620;border-radius:6px;padding:3px;margin-left:8px}
.adminbar-segs .seg{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;padding:5px 13px;border-radius:4px;color:#b9b0a0;text-decoration:none;font-family:inherit;cursor:pointer}
.adminbar-segs .seg.on{background:#f4efe6;color:#1f1b16;font-weight:500;cursor:default}
.adminbar-segs a.seg:hover{background:#332e26;color:#fff}
.adminbar-user{margin-left:auto;font-size:12px;color:#9a9182;font-family:ui-monospace,monospace}
.adminbar-logout{font-size:12px;color:#cfc6b6;text-decoration:none;border:1px solid #3a342c;padding:5px 12px;border-radius:5px;letter-spacing:.04em}
.adminbar-logout:hover{background:#332e26;color:#fff}
body.has-adminbar{padding-top:38px}
body.has-adminbar .nav{top:38px}
@media(max-width:600px){
  .adminbar-brand,.adminbar-user{display:none}
  .adminbar-in{gap:8px}
}
