/* The two directories, an entry's page and the registration form (4.3.13: moved out of boards.css with their markup). */
.bnb-directory-filters{align-items:end;background:var(--bnb-surface);border:1px solid var(--bnb-line);border-radius:var(--bnb-r-lg);display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr)) auto;margin-block:1.5rem;padding:1rem}
.bnb-directory-filters label,.bnb-time-row label{display:grid;gap:.35rem}.bnb-directory-filters select{font-weight:500}.bnb-directory-filters button{min-block-size:52px;padding-inline:1.4rem}
.bnb-directory-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,minmax(0,1fr))}
.bnb-directory-grid article{background:var(--bnb-surface);border:1px solid var(--bnb-line);border-radius:var(--bnb-r-lg);padding:1.25rem}
.bnb-directory-grid :is(h2,h3) a{text-decoration:none}.bnb-directory-grid dl div{display:flex;gap:.5rem}.bnb-directory-grid dt{font-weight:800}.bnb-directory-grid dd{margin:0}
.bnb-directory-card-head{align-items:center;display:flex;gap:1rem}.bnb-directory-card-head img{block-size:4rem;border-radius:.75rem;inline-size:4rem;object-fit:cover}
.bnb-directory-card-head :is(h1,h2,h3){margin:0}.bnb-directory-card-head :is(p,h1){margin-block:0 .35rem}.bnb-directory-card-head span{color:var(--bnb-muted);font-size:.875rem;font-weight:700}
.bnb-verified-label{align-items:center;background:var(--bnb-verified-soft);border-radius:var(--bnb-r-pill);color:var(--bnb-verified);display:inline-flex;font-size:.875rem;gap:.35rem;padding:.1rem .7rem}.bnb-verified-label::before{content:"✓"}
.bnb-phone-reveal{align-items:center;display:flex;flex-wrap:wrap;gap:.75rem}.bnb-phone-reveal output{font-weight:800}
.bnb-check-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}
.bnb-directory-form fieldset{border:1px solid var(--bnb-line);border-radius:.75rem;padding:1rem}
.bnb-location,.bnb-location-group{display:grid;gap:.6rem}.bnb-location-group[hidden]{display:none}
.bnb-directory-profile-card{background:var(--bnb-surface);border:1px solid var(--bnb-line);border-radius:var(--bnb-r-lg);margin-block:1rem;padding:clamp(1rem,3vw,2rem)}
.bnb-directory-profile-fields{display:grid;gap:.75rem;grid-template-columns:repeat(2,minmax(0,1fr));margin-block:1.5rem}
.bnb-directory-profile-fields div{border-block-end:1px solid var(--bnb-line);padding-block-end:.75rem}.bnb-directory-profile-fields dt{font-weight:800}.bnb-directory-profile-fields dd{margin:.25rem 0 0}
/* REQ-336: the topics, as one row of chips with their counts; the referral to the other board on the same topic. */
.bnb-topic-nav{display:flex;flex-wrap:wrap;gap:.5rem;margin-block:1rem}
.bnb-topic-nav a{align-items:center;background:var(--bnb-surface);border:1px solid var(--bnb-line);border-radius:var(--bnb-r-pill);display:inline-flex;font-weight:700;gap:.4rem;min-block-size:var(--bnb-tap);padding:.35rem .9rem;text-decoration:none}
.bnb-topic-nav a span{color:var(--bnb-muted);font-size:.85rem;font-variant-numeric:tabular-nums}
.bnb-topic-nav a.is-active{background:var(--bnb-navy-900);border-color:var(--bnb-navy-900);color:#fff}.bnb-topic-nav a.is-active span{color:inherit}
.bnb-topic-heading{font-size:1.25rem;margin-block:1.75rem .75rem}
.bnb-topic-referral a,.bnb-rec-count a{align-items:center;background:var(--bnb-gold-pale);border-radius:var(--bnb-r);color:var(--bnb-gold-ink);display:inline-flex;font-weight:800;min-block-size:var(--bnb-tap);padding:.5rem 1rem;text-decoration:none}
.bnb-rec-count{margin:.25rem 0}.bnb-rec-count a{background:none;min-block-size:0;padding:0;text-decoration:underline}
/* REQ-335: what neighbours wrote, and the short form under it. */
.bnb-recommendations{background:var(--bnb-surface);border:1px solid var(--bnb-line);border-radius:var(--bnb-r-lg);margin-block:1rem;padding:clamp(1rem,3vw,2rem)}
.bnb-recommendations h2{margin-block-start:0}.bnb-recommendation-list{display:grid;gap:.75rem;list-style:none;margin:0 0 1rem;padding:0}
.bnb-recommendation-list li{border-inline-start:4px solid var(--bnb-gold);padding-inline-start:1rem}.bnb-recommendation-list p{margin:0 0 .25rem}.bnb-recommendation-list small{color:var(--bnb-muted)}
.bnb-recommend-form{display:grid;gap:.5rem;max-inline-size:40rem}.bnb-recommend-form button{justify-self:start}
@media(max-width:800px){.bnb-directory-grid,.bnb-directory-filters,.bnb-directory-profile-fields{grid-template-columns:1fr}.bnb-check-grid{grid-template-columns:repeat(2,1fr)}}
@media (max-width:40rem){.bnb-directory-filters{border:0;padding:0}}
/* REQ-377 (4.3.13): single days' hours, holidays and payment methods. */
.bnb-hours-more .bnb-time-row{margin-block:.5rem}.bnb-hours-days ul,.bnb-hours-holidays ul{list-style:none;margin:0;padding:0}
.bnb-business-page{margin-block:1.5rem}
.bnb-business-page h3{font-size:1.1rem;margin:1.25rem 0 .5rem}
.bnb-business-page ul{list-style:none;margin:0;padding:0}
.bnb-bp-offer{border:1px dashed currentColor;border-radius:8px;display:grid;gap:.25rem;margin-block:.5rem;padding:.75rem}
.bnb-bp-gallery ul{display:grid;gap:.75rem;grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}
.bnb-bp-gallery img{border-radius:8px;height:auto;max-width:100%}
.bnb-bp-prices table{border-collapse:collapse;width:100%}
.bnb-bp-prices th,.bnb-bp-prices td{border-bottom:1px solid rgba(127,127,127,.35);padding:.4rem .25rem;text-align:start}
.bnb-bp-form fieldset{border:1px solid rgba(127,127,127,.4);border-radius:8px;display:grid;gap:.4rem;margin-block:.75rem;padding:.75rem}
.bnb-bp-form input,.bnb-bp-form textarea{max-width:100%}
