/* facilities */
.fart{position:absolute;left:0;top:0;width:1430px;overflow:hidden;border:3px solid var(--brown);border-radius:11px;box-shadow:0 4px 0 rgba(0,0,0,.4)}
.fbg{position:absolute;inset:0;background-image:url(../assets/bg_facilities.jpg);background-repeat:no-repeat}
.frib{position:absolute;left:0;top:10px;display:flex;align-items:center;gap:14px}
.frib .ph{position:relative;margin:0;border-radius:0 8px 8px 0;border:3px solid #4a2418;border-left:0;padding-right:36px;font-size:32px;min-height:44px;font-style:italic;box-shadow:0 3px 0 rgba(0,0,0,.4)}
.frib p{margin:0;max-width:430px;font-size:15px;line-height:1.1;background:rgba(255,248,225,.82);padding:3px 8px;border-radius:5px}
.fcap{position:absolute;right:12px;top:10px;padding:4px 14px 6px;background:url(../assets/tex_washi.jpg);background-size:300px;border:3px solid var(--brown);border-radius:9px;box-shadow:0 3px 0 rgba(0,0,0,.4);text-align:center;min-width:150px}
.fcap small{display:block;font-size:16px;color:#5a4630;line-height:1}.fcap b{font-family:'Brush';font-weight:400;font-size:34px;line-height:1}
.dn2{color:#b3382f}
.ftag{position:absolute;transform:translate(-50%,-50%);display:flex;align-items:center;gap:6px;padding:3px 12px 3px 7px;border:2px solid var(--brown);border-radius:8px;background:url(../assets/tex_washi.jpg);background-size:260px;box-shadow:0 3px 0 rgba(0,0,0,.45);cursor:pointer;text-align:left;line-height:1;white-space:nowrap;z-index:2}
.ftag::after{content:"";position:absolute;left:50%;bottom:-9px;width:10px;height:10px;margin-left:-5px;border-radius:50%;background:var(--red);border:2px solid var(--cream)}
.ftag .fi{width:28px;height:28px;stroke:var(--red2,#951f19);fill:none;stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;flex:none}
.ftag span{display:flex;flex-direction:column;gap:1px}.ftag b{font-family:'Brush';font-weight:400;font-size:20px}.ftag i{font-style:normal;font-size:16px;color:#5a4630}
.ftag:hover,.ftag.on{filter:brightness(1.08);z-index:3;border-color:var(--red);box-shadow:0 0 0 3px #f2c94c,0 3px 0 rgba(0,0,0,.45)}
.ftag.none{border-style:dashed;background:rgba(255,248,225,.78)}.ftag em{font-style:normal;font-family:'Brush';font-size:18px;background:var(--red);color:var(--cream);border-radius:5px;padding:0 7px}
.fupg .pb{padding:6px 8px}.fgrid{display:grid;grid-template-columns:repeat(4,1fr);grid-template-rows:repeat(2,1fr);gap:7px;height:100%}
.fcard{position:relative;display:flex;flex-direction:column;gap:1px;padding:3px 8px 5px;border:2px solid #a98b5c;border-radius:8px;background:rgba(255,248,225,.55);min-height:0;transition:box-shadow .2s}
.fcard.on{border-color:var(--red);box-shadow:0 0 0 3px #f2c94c;background:rgba(255,244,200,.9)}
.fh2{display:flex;align-items:center;gap:5px;line-height:1}.fh2 b{font-family:'Brush';font-weight:400;font-size:21px;white-space:nowrap}.fh2 .fi{width:24px;height:24px;stroke:var(--red2,#951f19);fill:none;stroke-width:2.2;flex:none}
.fh2 .lv{margin-left:auto;font-size:15px;white-space:nowrap}.fh2 u{text-decoration:none;color:var(--red);font-weight:700}
.fth{height:54px;border:2px solid var(--brown);border-radius:5px;background-repeat:no-repeat;flex:none}.fth.big{height:130px;box-sizing:border-box;width:100%;margin-bottom:8px}
.bn{display:flex;justify-content:space-between;font-size:16px;line-height:1.15}.bn b{font-weight:700}
.cd{display:flex;justify-content:space-between;font-size:16px;line-height:1.2;margin-top:1px}.cd span{display:flex;align-items:center;gap:3px}.cd svg{width:16px;height:16px;stroke:var(--red2,#951f19);fill:none;stroke-width:2.4}
.fup{width:100%;margin-top:auto;min-height:26px;font-size:19px;padding:0 6px}
.fcard.max{opacity:.8}
.fnp .pb{padding:6px 170px 6px 10px}.fnotes{margin:0;padding-left:18px;font-size:15px;line-height:1.1}.fnotes li{margin-bottom:3px}
.carp{position:absolute;right:8px;bottom:6px;width:112px;height:112px;object-fit:cover;border-radius:8px;border:3px solid var(--brown)}
.fq{height:100%}.fqp .pb{padding:4px 8px}
.qr{display:flex;align-items:center;gap:8px;padding:4px 4px;border-bottom:1px dashed #a98b5c;font-size:18px}.qr.act{background:rgba(255,244,200,.7)}
.qn{flex:none;width:26px;height:26px;border-radius:50%;background:var(--red);color:var(--cream);text-align:center;line-height:26px;font-family:'Brush'}
.qr .fi{width:24px;height:24px;stroke:var(--red2,#951f19);fill:none;stroke-width:2.2;flex:none}
.qt{flex:1;line-height:1.1}.qt small{font-size:15px;color:#5a4630}.qt .bar{height:9px;margin-top:3px}
.qd{display:flex;align-items:center;gap:3px;font-size:16px;white-space:nowrap}.qd svg{width:16px;height:16px;stroke:currentColor;fill:none;stroke-width:2.4}
.qr .pill{font-size:15px;padding:0 8px}
.fpv .t{width:100%}.fpv .t td,.fpv .t th{font-size:20px}
.fpl{display:flex;justify-content:space-between;margin-top:12px;font-size:22px}.fpl span{display:flex;align-items:center;gap:6px}.fpl svg{width:24px;height:24px;stroke:var(--red2,#951f19);fill:none;stroke-width:2.4}
.fpb{display:flex;justify-content:flex-end;gap:12px;margin-top:14px}

.fcard.branch .fth{height:20px}.fbranch{font-size:13px;line-height:1.05}.fbranch>b{display:block;font-size:14px;color:#852820}.fbranch button{display:block;width:100%;text-align:left;font:inherit;line-height:1.1;border:1px solid #b99a6d;border-radius:3px;background:#fff3d4;padding:1px 3px;margin-top:2px;cursor:pointer;color:#493123}.fbranch button:disabled{opacity:.65;cursor:default}.fbranch button strong{color:#842721}.fcard.branch .bn{font-size:14px}.fcard.branch .fup{font-size:16px;min-height:22px}

/* Let complete branch details scroll while each card keeps its primary action in view. */
.fcard>.fh2,.fcard>.fup{flex:none}.fcard>.fup{margin-top:2px}
.f-details{flex:1;min-height:0;display:flex;flex-direction:column;gap:1px;overflow-x:hidden;scrollbar-gutter:stable}
.f-details>*{flex:none}
/* The portrait owns a real column; long notes retain their readable scrolling area. */
.panel.fnp>.pb{display:grid;grid-template-columns:minmax(0,1fr) 112px;grid-template-rows:minmax(0,1fr);gap:12px;padding:6px 10px}
.fnp .fnotes{min-width:0;min-height:0;overflow-x:hidden;scrollbar-gutter:stable}
.fnp .carp{position:static;align-self:end;justify-self:end}
