/* Feature "facility-ui" (inc/modules/facility-ui.php): header card, section icons, opening times chart, walking diagram,
   "we do not have" notes. Icons inherit stroke colour; the gold accent comes through --acc (works inside <use>). */
.ukhc-fui-sprite{position:absolute;width:0;height:0;overflow:hidden}
.ukhc-fui-ico{width:1em;height:1em;flex:none;fill:none;stroke:var(--ukhc-teal);stroke-width:2;stroke-linecap:round;stroke-linejoin:round;--acc:var(--ukhc-gold)}
.ukhc-fui-sprite .g{stroke:var(--acc,currentColor)}
.ukhc-fui-sprite .f{fill:var(--acc,currentColor);stroke:none}
.ukhc-fui-inv{fill:none;stroke:#fff;stroke-width:2;stroke-linecap:round;stroke-linejoin:round;--acc:var(--ukhc-gold-soft)}
.ukhc-fui-sm{fill:none;stroke:var(--ukhc-teal);stroke-width:2.2;stroke-linecap:round;stroke-linejoin:round;--acc:var(--ukhc-gold)}

/* header card */
.ukhc-fui-head{display:grid;grid-template-columns:96px 1fr;gap:6px 20px;align-items:start;margin:0 0 22px;padding:20px 22px;background:var(--ukhc-card);
  border:1px solid var(--ukhc-line);border-top:5px solid var(--ukhc-gold-soft);border-radius:14px;box-shadow:0 2px 10px rgba(20,32,63,.06)}
.ukhc-fui-badge{width:96px;height:96px;grid-row:span 2}
.ukhc-fui-head p{margin:0}
.ukhc-fui-head p.ukhc-fui-kicker{margin:2px 0 10px;font-weight:700;font-size:1.05rem;color:var(--ukhc-gold-text);letter-spacing:.02em}
.ukhc-fui-head .ukhc-fux-status{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 10px}
.ukhc-fui-head .ukhc-fux-bh{flex-basis:100%;margin:0}
.ukhc-fui-tags{display:flex;flex-wrap:wrap;gap:8px;margin:0}
.ukhc-fui-tag{display:inline-block;padding:5px 12px;border-radius:999px;border:1.5px solid var(--ukhc-line);background:var(--ukhc-bg);font-weight:700;font-size:.95rem;color:var(--ukhc-ink)}
.ukhc-fui-tag.is-gold{background:var(--ukhc-gold-tint);border-color:#E3D3A4;color:#6E5617}
.ukhc-fui-tag.is-ok{background:var(--ukhc-green-tint);border-color:#BFD6C8;color:var(--ukhc-green)}
.ukhc-fui-tag.is-ae{background:var(--ukhc-claret-tint);border-color:#E5C5CF;color:var(--ukhc-claret)}
.ukhc-fui-acts{grid-column:1/-1;display:grid;grid-template-columns:repeat(auto-fit,minmax(150px,1fr));gap:10px;margin-top:14px}
.ukhc-fui-acts a{display:flex;align-items:center;justify-content:center;gap:10px;min-height:54px;padding:8px 14px;border-radius:12px;border:2px solid var(--ukhc-teal);
  background:#fff;color:var(--ukhc-teal);font-weight:700;font-size:1.1rem;text-decoration:none}
.ukhc-fui-acts a .ukhc-fui-ico{font-size:1.5rem}
.ukhc-fui-acts a:hover{background:var(--ukhc-teal-tint)}
.ukhc-fui-acts a.is-primary{background:var(--ukhc-teal);color:#fff}
.ukhc-fui-acts a.is-primary .ukhc-fui-ico{stroke:#fff;--acc:var(--ukhc-gold-soft)}
.ukhc-fui-acts a.is-primary:hover{background:var(--ukhc-teal-dark)}
.ukhc-fui-acts a:focus-visible{outline:3px solid var(--ukhc-focus);outline-offset:2px}
@media (max-width:600px){
  .ukhc-fui-head{grid-template-columns:64px 1fr;padding:16px;gap:4px 14px}
  .ukhc-fui-badge{width:64px;height:64px;grid-row:auto}
  .ukhc-fui-head-main{display:contents}
  .ukhc-fui-head .ukhc-fui-kicker{align-self:center;margin:0}
  .ukhc-fui-head .ukhc-fux-status,.ukhc-fui-tags{grid-column:1/-1}
  .ukhc-fui-head .ukhc-fux-status{margin:8px 0 4px}
  .ukhc-fui-acts{grid-template-columns:1fr 1fr;gap:8px;margin-top:10px}
  .ukhc-fui-acts a{flex-direction:column;gap:4px;min-height:64px;padding:8px 6px;font-size:1.05rem;text-align:center;line-height:1.2}
}

/* section headings */
.ukhc-fui-h2{display:flex;align-items:center;gap:12px}
.ukhc-fui-h2-ico{font-size:1.15em;width:1.6em;height:1.6em;padding:.25em;box-sizing:border-box;border-radius:10px;background:var(--ukhc-gold-tint)}

/* opening times chart */
.ukhc-fui-hours-fig{margin:8px 0 6px;padding:14px 16px 10px;background:#fff;border:1px solid var(--ukhc-line);border-radius:12px}
.ukhc-fui-hours-fig figcaption{margin-top:8px;font-size:.95rem}
.ukhc-fui-hours{--col:4.6em;position:relative}
.ukhc-fui-hours-scale,.ukhc-fui-hours-row{display:grid;grid-template-columns:var(--col) 1fr 12em;gap:0 14px;align-items:center}
.ukhc-fui-hours-ticks{position:relative;height:1.4em;font-size:.85rem;color:var(--ukhc-muted)}
.ukhc-fui-hours-ticks i{position:absolute;top:0;transform:translateX(-50%);font-style:normal;white-space:nowrap}
.ukhc-fui-hours-ticks i:first-child{transform:none}.ukhc-fui-hours-ticks i:last-child{transform:translateX(-100%)}
.ukhc-fui-hours-row{padding:5px 6px;margin:0 -6px;border-radius:8px}
.ukhc-fui-hours-row.is-today{background:var(--ukhc-gold-tint)}
.ukhc-fui-hours-day{font-weight:700;color:var(--ukhc-ink)}
.ukhc-fui-hours-full{display:none}
.ukhc-fui-hours-bar{position:relative;height:18px;border-radius:9px;background:repeating-linear-gradient(90deg,var(--ukhc-stone) 0 calc(25% - 1px),#D9D0BD calc(25% - 1px) 25%)}
.ukhc-fui-hours-bar b{position:absolute;top:0;bottom:0;border-radius:9px;background:var(--ukhc-teal)}
.ukhc-fui-hours-row.is-today .ukhc-fui-hours-bar b{background:var(--ukhc-green)}
.ukhc-fui-hours-t{color:var(--ukhc-text)}
.ukhc-fui-hours-t.is-closed{color:var(--ukhc-claret);font-weight:700}
.ukhc-fui-now{position:absolute;top:1.4em;bottom:0;width:3px;margin-left:-1.5px;background:var(--ukhc-gold-soft);border-radius:2px;pointer-events:none}
.ukhc-fui-now::before{content:"";position:absolute;top:-5px;left:-4px;width:11px;height:11px;border-radius:50%;background:var(--ukhc-gold-soft)}
@media (max-width:600px){
  .ukhc-fui-hours{--col:7em}
  .ukhc-fui-hours-ticks i:first-child,.ukhc-fui-hours-ticks i:last-child{display:none}
  .ukhc-fui-hours-full{display:inline}
  .ukhc-fui-hours-scale{grid-template-columns:1fr}.ukhc-fui-hours-scale>span:first-child{display:none}
  .ukhc-fui-hours-row{grid-template-columns:var(--col) 1fr;grid-template-areas:"d t" "b b";gap:4px 10px;padding:8px 6px}
  .ukhc-fui-hours-day{grid-area:d}.ukhc-fui-hours-t{grid-area:t;text-align:right}.ukhc-fui-hours-bar{grid-area:b}
}
.ukhc-fui-table summary{cursor:pointer;color:var(--ukhc-teal);font-weight:700;padding:6px 0}

/* walking diagram */
.ukhc-fui-walk{margin:6px 0 14px}
.ukhc-fui-walk-row{margin:0 0 6px}
.ukhc-fui-walk-name{display:block;font-weight:700;color:var(--ukhc-ink);font-size:1rem}
.ukhc-fui-walk-track{display:flex;align-items:center;margin-top:4px}
.ukhc-fui-walk-from,.ukhc-fui-walk-to{display:inline-flex;align-items:center;justify-content:center;flex:none;width:34px;height:34px;border-radius:50%;background:var(--ukhc-teal)}
.ukhc-fui-walk-to{border-radius:9px;background:var(--ukhc-teal-tint)}
.ukhc-fui-walk-track svg{width:22px;height:22px}
.ukhc-fui-walk-line{height:12px;margin:0 2px;background:radial-gradient(circle,var(--ukhc-gold-soft) 3.5px,transparent 4px) 0 50%/calc(100% / var(--n)) 12px repeat-x,
  linear-gradient(var(--ukhc-stone),var(--ukhc-stone)) 0 50%/100% 4px no-repeat}
.ukhc-fui-walk-track b{margin-left:10px;font-size:1.05rem;color:var(--ukhc-ink);white-space:nowrap}

/* "we do not have" notes */
.ukhc-fui-empty{display:flex;gap:16px;align-items:center;margin:10px 0 16px;padding:12px 16px;background:var(--ukhc-bg);border:1.5px dashed var(--ukhc-stone-line);border-radius:12px}
.ukhc-fui-empty p{margin:0!important;color:var(--ukhc-text)}
.ukhc-fui-empty-art{width:72px;height:60px;flex:none}
@media print{.ukhc-fui-acts,.ukhc-fui-now,.ukhc-fui-empty-art{display:none}.ukhc-fui-table[open],.ukhc-fui-table{display:block}}
