/* Mersea Talk directory — intentionally separate from editorial article styles */
.directory-app .directory-eyebrow{display:block;font-size:.79rem;text-transform:uppercase;letter-spacing:.11em;font-weight:700;color:#387076;margin-bottom:.7rem}
.directory-app .page-hero{padding-bottom:2.4rem}
.directory-hero-actions{display:flex;flex-wrap:wrap;gap:1rem;align-items:center;margin-top:1.5rem}
.dir-action,.dir-search-line button{display:inline-block;background:#17343c;color:#fff!important;border:1px solid #17343c;border-radius:.4rem;padding:.8rem 1.2rem;font-size:.98rem;font-weight:650;text-decoration:none;cursor:pointer}
.dir-action:hover,.dir-search-line button:hover{background:#24515c}
.dir-secondary{color:#17343c;font-weight:600}
.dir-index-section{padding-top:1.7rem}
.dir-search-form{background:#f4f8f6;border:1px solid #d9e4e2;border-radius:.7rem;padding:1.3rem;margin-bottom:1.2rem}
.dir-search-form label{display:block;font-weight:750;margin-bottom:.5rem}
.dir-search-line{display:flex;gap:.5rem}
.dir-search-line input{flex:1;min-width:0;max-width:100%;padding:.85rem;border:1px solid #9cafb0;border-radius:.4rem;background:#fff;font:inherit}
.dir-filters{display:flex;flex-wrap:wrap;gap:.45rem;margin:1.3rem 0 1.4rem}
.dir-filters a{display:inline-block;padding:.45rem .8rem;border:1px solid #c8d5d3;color:#233f44;border-radius:1.5rem;text-decoration:none;font-size:.92rem}
.dir-filters a:hover,.dir-filters a.active{color:#fff;background:#17343c;border-color:#17343c}
.dir-count-line{display:flex;flex-wrap:wrap;gap:.6rem 2rem;justify-content:space-between;align-items:baseline;margin:0 0 1rem}
.dir-count-line p{margin:.2rem 0;color:#455e60}
.dir-cards{display:grid;grid-template-columns:repeat(auto-fill,minmax(min(100%,17rem),1fr));gap:1.1rem;align-items:stretch}
.dir-card{display:flex;flex-direction:column;padding:1.25rem;border-radius:.65rem;background:#fff;border:1px solid #d8e2df;box-shadow:0 2px 9px rgba(12,43,47,.04);scroll-margin-top:90px}
.dir-card h2{font-size:1.19rem;line-height:1.32;margin:.55rem 0 .5rem}
.dir-card h2 a{color:#17343c;text-decoration:none}
.dir-card h2 a:hover{text-decoration:underline}
.dir-card p{font-size:.94rem;line-height:1.55;margin:0 0 .65rem;color:#304e52}
.dir-category{font-size:.75rem;text-transform:uppercase;letter-spacing:.08em;font-weight:750;color:#436e6a}
.dir-card .dir-card-link{margin-top:auto;display:inline-block;padding-top:.65rem;font-weight:700;text-decoration:none}
.dir-muted{color:#596d70!important;font-size:.9rem}
.dir-profile-section{padding-top:1.6rem}
.dir-profile-grid{display:grid;grid-template-columns:minmax(0,1fr) minmax(16rem,21rem);gap:3rem;align-items:start}
.dir-profile-main{max-width:760px}
.dir-profile-main h2{font-size:1.5rem;margin:.3rem 0 1rem}
.dir-profile-main p{max-width:68ch;line-height:1.8}
.dir-related{border-top:1px solid #d9e3df;margin-top:2.5rem;padding-top:1.4rem}
.dir-related a{font-weight:700}
.dir-facts{background:#f4f8f6;padding:1.35rem;border-radius:.65rem;border:1px solid #dbe7e1}
.dir-facts h2{font-size:1.25rem;margin:0 0 1rem}
.dir-facts dl{margin:0}
.dir-facts dl div{border-top:1px solid #d7e3de;padding:.75rem 0}
.dir-facts dt{font-size:.81rem;color:#53696c;font-weight:700;margin-bottom:.2rem}
.dir-facts dd{margin:0;overflow-wrap:anywhere;line-height:1.48}
.dir-external{display:block;text-align:center;margin-top:1rem}
.dir-map-info{border-top:1px solid #d7e3de;margin-top:1.3rem;padding-top:1rem}
.dir-map-info h3{font-size:1rem;margin:0 0 .5rem}
.dir-map-info p{margin:.65rem 0}
.dir-correction{border-top:1px solid #d9e3df;padding-top:1rem;margin-top:2rem;font-size:.9rem}
.dir-back{padding-bottom:2rem}
.dir-not-found{padding:4rem 0}
.dir-empty{padding:2rem;border:1px dashed #bdd2ce;border-radius:.4rem}
.dir-map-page{padding-top:1.4rem}
.dir-map-controls{display:flex;align-items:center;gap:1rem;flex-wrap:wrap;margin-bottom:1rem}
.dir-map-controls label{font-weight:750}
.dir-map-controls select{min-width:13rem;max-width:100%;padding:.6rem;border:1px solid #a8bdb8;background:white;border-radius:.4rem;font:inherit}
.dir-map-controls span{color:#516c6c}
.dir-map-layout{display:grid;grid-template-columns:minmax(0,1.75fr) minmax(16rem,1fr);gap:1.1rem;align-items:stretch}
.dir-map-shell{min-height:470px;border-radius:.6rem;border:1px solid #bfd4d0;overflow:hidden;background:#eff5f2}
.dir-map-consent{padding:3rem 1.2rem;margin:auto;text-align:center;max-width:28rem}
.dir-map-consent h2{font-size:1.6rem}
.dir-map-canvas{height:570px;width:100%}
.dir-map-list{border:1px solid #d9e3df;border-radius:.6rem;padding:1.1rem;max-height:570px;overflow:auto}
.dir-map-list h2{font-size:1.3rem;margin:0 0 .5rem}
.dir-map-result{border-top:1px solid #dce6e1;padding:.9rem 0}
.dir-map-result h3{font-size:1rem;margin:0}
.dir-map-result p{font-size:.85rem;margin:.3rem 0}
.dir-show-pin{background:none;padding:0;color:#165568;text-decoration:underline;border:0;cursor:pointer;font:inherit}
.dir-unmapped{color:#637474;font-size:.82rem}
.dir-map-note{font-size:.88rem;margin:1rem 0 0;color:#526c6b}
@media(max-width:760px){.dir-profile-grid,.dir-map-layout{grid-template-columns:minmax(0,1fr);gap:1.5rem}.dir-facts{order:-1}.dir-map-shell{min-height:310px}.dir-map-canvas{height:380px}.dir-map-list{max-height:360px}.dir-search-line{flex-direction:column}.dir-count-line{display:block}}

/* Overlay: directory cards show name, address and profile link only. */
.directory-app .dir-card h2{margin:.1rem 0 .8rem}
.directory-app .dir-card .dir-muted{margin-bottom:1rem}
.directory-app .dir-map-link{display:block;text-align:center;margin:.75rem 0}
.directory-app .dir-map-layout-single{grid-template-columns:minmax(0,1fr)}
.directory-app .dir-map-layout-single .dir-map-canvas{height:620px}
.directory-app .dir-map-focused-count{font-weight:650;color:#455e60;margin:0 0 1rem}
@media(max-width:760px){.directory-app .dir-map-layout-single .dir-map-canvas{height:430px}}

/* Pass 8: readability and tap access on compact business profile screens. */
.directory-app .dir-profile-grid > *{min-width:0}
.directory-app .dir-facts a:not(.dir-action){text-decoration-thickness:1px;text-underline-offset:.16em}
.directory-app .dir-facts a:focus-visible,.directory-app .dir-back a:focus-visible{
    outline:3px solid #156078;outline-offset:3px;border-radius:2px;
}
.directory-app .dir-action{min-height:44px;display:flex;align-items:center;justify-content:center;line-height:1.3}
@media(max-width:760px){
    .directory-app .dir-profile-section{padding-top:.9rem}
    .directory-app .dir-profile-grid{gap:1.25rem}
    .directory-app .dir-facts{padding:1.1rem}
    .directory-app .dir-facts dd a[href^="tel:"]{display:inline-flex;align-items:center;min-height:44px;font-weight:700}
    .directory-app .dir-profile-main p{line-height:1.7}
}

/* Pass 22 — make the map's location confidence explicit. */
.directory-app .dir-map-review-toggle{display:inline-flex;align-items:center;gap:.45rem;font-weight:600;cursor:pointer;line-height:1.4}
.directory-app .dir-map-review-toggle input{width:1.15rem;height:1.15rem;accent-color:#17343c}
.directory-app .dir-map-explainer{font-size:.91rem;line-height:1.55;color:#465b60;margin:.15rem 0 1.1rem;max-width:75ch}
.directory-app .dir-map-review-warning{border-left:4px solid #a46b30;background:#fcf7ec;color:#553a25;padding:.75rem 1rem;font-size:.92rem;line-height:1.5;margin:1rem 0}
.directory-app .dir-map-review-warning strong{font-weight:750}
.directory-app .dir-map-result-needs-review{border-left:3px solid #a46b30;padding-left:.7rem}
.directory-app .dir-map-review-label{font-weight:700;color:#754b29}
.directory-app .dir-map-uncertain-icon{background:transparent;border:0}
.directory-app .dir-map-uncertain-icon span{display:flex;align-items:center;justify-content:center;width:29px;height:29px;box-sizing:border-box;background:#fff6e7;border:2px dashed #8d632d;color:#714a1d;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font-size:1rem;font-weight:800;box-shadow:0 1px 5px rgba(0,0,0,.28)}
.directory-app .dir-map-uncertain-icon b{display:inline-block;transform:rotate(45deg)}
.directory-app .dir-map-review-label{display:inline-block;margin:.1rem 0}
.directory-app .dir-map-review-toggle:focus-within,.directory-app .dir-show-pin:focus-visible{outline:3px solid #156078;outline-offset:3px}


/* Pass 23 — profile sidebar social links and richer business presentation. */
.directory-app .dir-social-block{border-top:1px solid #d7e3de;margin-top:1.15rem;padding-top:1rem}
.directory-app .dir-social-block h3{font-size:1rem;margin:0 0 .7rem}
.directory-app .dir-social-list{list-style:none;padding:0;margin:0;display:grid;gap:.65rem}
.directory-app .dir-social-link{display:flex;align-items:center;gap:.7rem;padding:.72rem .8rem;border:1px solid #d0ddd8;border-radius:.55rem;background:#fff;color:#17343c;text-decoration:none;font-weight:650}
.directory-app .dir-social-link:hover{background:#f6faf8;border-color:#bfd1cb}
.directory-app .dir-social-link:focus-visible{outline:3px solid #156078;outline-offset:3px}
.directory-app .dir-social-icon{width:1.35rem;height:1.35rem;flex:0 0 auto}
.directory-app .dir-social-arrow{margin-left:auto;color:#4a666a;font-weight:700}
.directory-app .dir-map-legend{display:flex;flex-wrap:wrap;gap:.55rem .75rem;align-items:center;margin:.2rem 0 1rem}
.directory-app .dir-map-legend-title{font-weight:750;color:#334b51;margin-right:.15rem}
.directory-app .dir-map-legend-item{display:inline-flex;align-items:center;gap:.4rem;font-size:.88rem;color:#334c50;background:#f5f8f7;border:1px solid #d9e3df;border-radius:999px;padding:.28rem .6rem}
.directory-app .dir-map-category-icon-wrap{background:transparent;border:0}
.directory-app .dir-map-category-icon,.directory-app .dir-map-key-icon{position:relative;display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;color:#fff;font-weight:800;box-shadow:0 1px 5px rgba(0,0,0,.25)}
.directory-app .dir-map-category-icon{width:30px;height:30px;border:2px solid #fff;border-radius:50% 50% 50% 0;transform:rotate(-45deg);font-size:1rem}
.directory-app .dir-map-category-icon b,.directory-app .dir-map-key-icon b{display:inline-block;line-height:1}
.directory-app .dir-map-category-icon b{transform:rotate(45deg)}
.directory-app .dir-map-category-icon small{position:absolute;top:-5px;right:-5px;display:flex;align-items:center;justify-content:center;min-width:1.15rem;height:1.15rem;border-radius:999px;background:#17343c;color:#fff;border:2px solid #fff;font-size:.68rem;font-weight:800;transform:rotate(45deg);padding:0 .12rem}
.directory-app .dir-map-key-icon{width:1.35rem;height:1.35rem;border-radius:999px;font-size:.82rem}
.directory-app .dir-map-key-review{background:#fff6e7;border:2px dashed #8d632d;color:#714a1d;box-shadow:none}
.directory-app .dir-map-category-official{background:#2c6984}
.directory-app .dir-map-category-food{background:#c06023}
.directory-app .dir-map-category-shops{background:#7c4ab7}
.directory-app .dir-map-category-services{background:#2f7c55}
.directory-app .dir-map-category-health{background:#b24471}
.directory-app .dir-map-category-marine{background:#156c86}
.directory-app .dir-map-category-stay{background:#8a6c2f}
.directory-app .dir-map-category-community{background:#5550be}
.directory-app .dir-map-category-outdoors{background:#4a8534}
.directory-app .dir-map-category-heritage{background:#8a5330}
.directory-app .dir-map-category-transport{background:#5d6570}
.directory-app .dir-map-category-mixed{background:#4f5a65}
.directory-app .dir-map-result-category{display:flex;align-items:center;gap:.4rem;font-weight:700;color:#485e63;margin:0 0 .3rem;font-size:.78rem;letter-spacing:.01em;text-transform:none}
.directory-app .dir-map-result-dot{display:inline-block;width:.75rem;height:.75rem;border-radius:999px;box-shadow:inset 0 0 0 1px rgba(255,255,255,.5)}
.directory-app .dir-map-popup-category{display:inline-block;font-size:.82rem;font-weight:700;color:#4d6368;margin:.25rem 0 .35rem}
@media(max-width:760px){.directory-app .dir-map-legend{gap:.45rem .5rem}.directory-app .dir-map-legend-item{font-size:.83rem;padding:.24rem .52rem}}


/* Pass 43B — cohesive category identity, touch-friendly contact details and map search. */
.directory-app .dir-profile-eyebrow{display:flex;align-items:center;gap:.65rem}
.directory-app .dir-profile-type-icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:.58rem;color:#fff;font-size:1.13rem;font-weight:800;box-shadow:0 2px 5px rgba(23,52,60,.13);letter-spacing:0}
.directory-app .dir-profile-also{margin:.55rem 0 0;color:#476066;font-size:.92rem}
.directory-app .dir-profile-contact-jump{display:inline-flex;align-items:center;gap:.45rem;min-height:44px;margin-top:.8rem;padding:.35rem .2rem;color:#173f4c;font-weight:750;text-underline-offset:.2em}
.directory-app .dir-profile-contact-jump:hover{text-decoration-thickness:2px}
.directory-app .dir-profile-facts{scroll-margin-top:1rem;min-width:0;border-top:4px solid #2e6f75}
.directory-app .dir-contact-value{display:flex;align-items:center;gap:.55rem;min-height:44px;padding:.45rem .65rem;border:1px solid #ccdcd6;border-radius:.5rem;background:#fff;color:#17343c;text-decoration:none;font-weight:700;overflow-wrap:anywhere}
.directory-app .dir-contact-value:hover{background:#eaf5f0;border-color:#8eb2a7}
.directory-app .dir-contact-glyph{display:inline-flex;align-items:center;justify-content:center;width:1.55rem;height:1.55rem;flex:0 0 auto;font-size:1.25rem;color:#176078}
.directory-app .dir-contact-text{min-width:0;overflow-wrap:anywhere}
.directory-app .dir-contact-verb{margin-left:auto;color:#386b71;font-size:.75rem;font-weight:750;flex:0 0 auto}
.directory-app .dir-contact-value:focus-visible,.directory-app .dir-profile-contact-jump:focus-visible,.directory-app .dir-map-search:focus-visible,.directory-app #dir-map-list:focus-visible{outline:3px solid #156078;outline-offset:3px}
.directory-app .dir-map-controls .dir-map-search{flex:1 1 13rem;min-width:10rem;max-width:22rem;min-height:44px;border:1px solid #a8bdb8;border-radius:.4rem;padding:.62rem .78rem;background:#fff;color:#17343c;font:inherit}
.directory-app #dir-map-list{scrollbar-color:#a3bcb4 #f5f8f6;scrollbar-width:thin}
@media(max-width:760px){
  .directory-app .dir-profile-section{padding-top:1rem}
  .directory-app .dir-profile-grid{gap:1.2rem}
  .directory-app .dir-profile-facts{padding:1rem}
  .directory-app .dir-contact-value{min-height:48px}
  .directory-app .dir-map-controls{align-items:stretch;gap:.55rem .7rem}
  .directory-app .dir-map-controls label[for="dir-map-category"],.directory-app .dir-map-controls label[for="dir-map-search"]{width:100%;margin-top:.2rem}
  .directory-app .dir-map-controls select,.directory-app .dir-map-controls .dir-map-search{flex:1 1 100%;width:100%;max-width:none;min-height:44px}
  .directory-app .dir-map-legend{flex-wrap:nowrap;overflow-x:auto;padding-bottom:.65rem;overscroll-behavior-x:contain;scroll-snap-type:x proximity}
  .directory-app .dir-map-legend-title,.directory-app .dir-map-legend-item{flex:0 0 auto;white-space:nowrap;scroll-snap-align:start}
}
@media(prefers-reduced-motion:reduce){.directory-app .dir-map-legend{scroll-behavior:auto}}


/* Pass 43C: interactive map key and honest no-coordinate search results. */
.directory-app .dir-map-legend-filter{font:inherit;cursor:pointer;min-height:40px}
.directory-app .dir-map-legend-filter:hover{background:#eaf3ef;border-color:#8eada3}
.directory-app .dir-map-legend-filter[aria-pressed="true"]{background:#e2f0e9;border-color:#205f55;box-shadow:inset 0 0 0 1px #205f55;font-weight:750}
.directory-app .dir-map-legend-filter:focus-visible,.directory-app .dir-map-reset:focus-visible{outline:3px solid #156078;outline-offset:3px}
.directory-app .dir-map-controls .dir-map-reset{border:1px solid #a8bdb8;background:#fff;color:#17343c;border-radius:.4rem;min-height:44px;padding:.48rem .85rem;cursor:pointer;font:inherit;font-weight:700}
.directory-app .dir-map-controls .dir-map-reset:hover{background:#eaf5f0}
.directory-app .dir-map-unmapped-title{font-size:1rem;color:#435d62;margin:1.3rem 0 .35rem;padding-top:1rem;border-top:2px solid #d7e3de}
.directory-app .dir-map-result-unmapped{background:#f7faf9;margin:0 -.4rem;padding:.85rem .4rem}
.directory-app .dir-map-result-unmapped .dir-muted{color:#566d70}
@media(max-width:760px){.directory-app .dir-map-controls .dir-map-reset{width:100%}.directory-app .dir-map-legend-filter{min-height:44px}}
