/* Somerset Directory – v1.10.12
   Directory + Single Listing
   Fixes:
   - Restore chips as pill buttons
   - Contact details show contact fields
   - Suggest update in Actions box
   - Spacing between sidebar cards
   - Force white button text
   - Small directory action buttons aligned right
*/

:root{
  --susd-navy:#011e41;
  --susd-teal:#006072;
  --susd-border:#e2e6ec;
  --susd-bg:#ffffff;
  --susd-bg-page:#f5f7f9;
  --susd-radius:6px;
  --susd-focus:#6941c6;
}

/* ======================================
   DIRECTORY PAGE LAYOUT
====================================== */

body .susd-directory{
  background:var(--susd-bg-page);
  padding:2rem 1rem;
}

.susd-directory{
  max-width:1200px;
  margin:2rem auto;
  display:grid;
  grid-template-columns:340px 1fr;
  gap:2rem;
}

/* ======================================
   FILTERS
====================================== */

.susd-filter{
  background:var(--susd-bg);
  border:1px solid var(--susd-border);
  border-radius:var(--susd-radius);
  padding:1.25rem;
  position:sticky;
  top:2rem;
}

.susd-filter-header{
  display:flex;
  justify-content:space-between;
  align-items:flex-start;
  gap:1rem;
  margin-bottom:1rem;
}

.susd-filter-header h2{
  margin:0;
  font-size:1.3rem;
  font-weight:600;
  color:var(--susd-navy);
}

.susd-clear-filters{
  background:#fff;
  border:2px solid var(--susd-focus);
  color:var(--susd-focus);
  border-radius:4px;
  padding:0.4rem 0.7rem;
  font-size:0.9rem;
  font-weight:600;
  cursor:pointer;
}

.susd-clear-filters:hover{
  background:var(--susd-focus);
  color:#fff;
}

.susd-filter-section{
  border:2px solid var(--susd-navy);
  border-radius:6px;
  padding:1rem;
  margin-bottom:1.25rem;
  background:#fff;
}

.susd-filter-section > h4{
  display:inline-block;
  padding:0 0.5rem;
  margin:-1.6rem 0 0.75rem;
  background:#fff;
  color:var(--susd-navy);
  font-size:0.95rem;
  font-weight:600;
}

.susd-filter-section label{
  display:flex;
  align-items:center;
  gap:0.5rem;
  margin-bottom:0.35rem;
}

.susd-category-parent{
  background:var(--susd-navy);
  color:#fff;
  border-radius:4px;
  padding:0.45rem 0.6rem;
  font-size:0.9rem;
  font-weight:600;
  margin:0.5rem 0 0.4rem;
}

/* ======================================
   DIRECTORY RESULTS
====================================== */

.susd-results-list{
  display:flex;
  flex-direction:column;
  gap:2rem;
  list-style:none;
  padding:0;
  margin:0;
}

.susd-card{
  background:var(--susd-bg);
  border:2px solid var(--susd-border);
  border-radius:var(--susd-radius);
  padding:2rem;
}

.susd-card h3{
  margin:0 0 0.5rem;
  font-size:1.3rem;
  font-weight:600;
  color:var(--susd-navy);
}

.susd-card p{
  font-size:0.95rem;
  line-height:1.55;
  margin:0.25rem 0 1rem;
  max-width:60ch;
}

.susd-card a{
  color:var(--susd-navy);
  text-decoration:underline;
  font-weight:500;
}

.susd-card-actions{
  display:flex;
  flex-wrap:wrap;
  justify-content:flex-end;
  align-items:center;
  gap:0.5rem;
  margin-top:0.75rem;
}

/* Main listing link on its own row */
.susd-card-actions .susd-card-link{
  flex:0 0 100%;
  margin:0 0 0.5rem;
}

/* Small action buttons */
.susd-card-actions .susd-suggest-link,
.susd-card-actions .susd-report-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  width:auto !important;
  max-width:max-content;
  white-space:nowrap;
  font-size:0.85rem;
  font-weight:600;
  line-height:1.2;
  padding:0.35rem 0.7rem;
  border-radius:5px;
  text-decoration:none !important;
  transition:all 0.2s ease;
  cursor:pointer;
  margin:0;
}

/* Suggest button */
.susd-card-actions .susd-suggest-link{
  background:#fff;
  color:var(--susd-navy) !important;
  border:2px solid var(--susd-navy);
}

.susd-card-actions .susd-suggest-link:hover,
.susd-card-actions .susd-suggest-link:focus{
  background:var(--susd-navy);
  color:#fff !important;
  text-decoration:none !important;
}

/* Report button */
.susd-card-actions .susd-report-link{
  background:#fff;
  color:#d4351c !important;
  border:2px solid #d4351c;
}

.susd-card-actions .susd-report-link:hover,
.susd-card-actions .susd-report-link:focus{
  background:#d4351c;
  color:#fff !important;
  text-decoration:none !important;
}

.susd-card-actions .susd-suggest-link:focus-visible,
.susd-card-actions .susd-report-link:focus-visible{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

/* ======================================
   MAP
====================================== */

.susd-map-wrap{
  max-width:1200px;
  margin:2rem auto 1.5rem;
  background:#fff;
  border:2px solid var(--susd-navy);
  border-radius:6px;
  padding:1rem;
}

#susd-area-map{
  width:100%;
  height:360px;
  background:#e9eef2;
  border-radius:4px;
}

/* ======================================
   SINGLE LISTING PAGE
====================================== */

.susd-single{
  background:var(--susd-bg-page);
  padding:2rem 1rem;
}

.susd-single-wrap{
  max-width:1100px;
  margin:0 auto;
}

.susd-breadcrumb{
  font-size:0.95rem;
  margin:0 0 1rem;
}

.susd-breadcrumb a{
  color:var(--susd-teal);
  text-decoration:underline;
}

.susd-single-header{
  background:var(--susd-bg);
  border:2px solid var(--susd-navy);
  border-radius:10px;
  padding:1.25rem;
  margin-bottom:1rem;
}

.susd-single-title{
  margin:0 0 0.5rem;
  color:var(--susd-navy);
}

.susd-single-intro{
  margin:0 0 1rem;
  line-height:1.6;
  max-width:70ch;
}

.susd-single-grid{
  display:grid;
  grid-template-columns:2fr 1fr;
  gap:1.5rem;
}

.susd-section{
  background:var(--susd-bg);
  border:2px solid var(--susd-navy);
  border-radius:10px;
  padding:1.25rem;
  margin-bottom:1rem;
}

.susd-section h2{
  margin:0 0 0.75rem;
  color:var(--susd-navy);
  font-size:1.3rem;
  font-weight:800;
}

/* Chips: restore pill-buttons */
.susd-chip-groups{
  display:flex;
  flex-wrap:wrap;
  gap:1rem;
}

.susd-chip-label{
  font-size:0.9rem;
  font-weight:700;
  color:var(--susd-navy);
  margin:0 0 0.35rem;
}

.susd-chips{
  list-style:none;
  padding:0;
  margin:0;
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
}

.susd-chip{
  display:inline-flex;
  align-items:center;
  border:0;
  border-radius:999px;
  padding:0.35rem 0.75rem;
  font-size:0.9rem;
  font-weight:700;
  background:var(--susd-navy);
  color:#fff;
  text-decoration:none;
}

.susd-chip:hover,
.susd-chip:visited{
  color:#fff;
  text-decoration:none;
}

.susd-chip:focus-visible{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

.susd-single-aside .susd-card{
  border:2px solid var(--susd-navy);
  border-radius:10px;
  padding:1rem 1.25rem;
}

/* spacing between Contact / Actions / Report */
.susd-single-aside .susd-card + .susd-card{
  margin-top:1.5rem;
}

.susd-card-title{
  margin:0 0 0.75rem;
  font-size:1.25rem;
  color:var(--susd-navy);
}

/* Contact rows */
.susd-contact-row{
  margin:0 0 0.75rem;
}

.susd-contact-label{
  font-weight:700;
  display:block;
  margin-bottom:0.15rem;
  color:var(--susd-navy);
}

.susd-contact-link{
  color:var(--susd-teal);
  text-decoration:underline;
}

/* Buttons */
.susd-btn{
  display:inline-block;
  width:100%;
  text-align:center;
  background:var(--susd-navy);
  color:#ffffff;
  border-radius:8px;
  padding:0.7rem 0.9rem;
  text-decoration:none;
  font-weight:700;
}

.susd-btn:hover,
.susd-btn:visited{
  color:#ffffff;
  text-decoration:none;
}

/* Force white text in sidebar buttons */
.susd-single-aside .susd-btn,
.susd-single-aside .susd-btn:visited,
.susd-single-aside .susd-btn:hover{
  color:#ffffff !important;
}

/* Make secondary buttons navy too */
.susd-btn-secondary{
  background:var(--susd-navy);
}

.susd-btn:focus-visible,
.susd-contact-link:focus-visible{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

/* Screen-reader helper */
.screen-reader-text{
  position:absolute;
  width:1px;
  height:1px;
  padding:0;
  margin:-1px;
  overflow:hidden;
  clip:rect(0,0,0,0);
  white-space:nowrap;
  border:0;
}



/* ======================================
   Directory action buttons: icons + subtle hover
====================================== */

.susd-card-actions .susd-suggest-link,
.susd-card-actions .susd-report-link{
  position:relative;
  transition:
    background-color 0.2s ease,
    color 0.2s ease,
    border-color 0.2s ease,
    box-shadow 0.2s ease,
    transform 0.2s ease;
}

/* Subtle hover lift */
.susd-card-actions .susd-suggest-link:hover,
.susd-card-actions .susd-suggest-link:focus,
.susd-card-actions .susd-report-link:hover,
.susd-card-actions .susd-report-link:focus{
  transform:translateY(-1px);
  box-shadow:0 2px 6px rgba(1, 30, 65, 0.12);
}

/* Keep motion gentle for people who prefer less animation */
@media (prefers-reduced-motion: reduce){
  .susd-card-actions .susd-suggest-link,
  .susd-card-actions .susd-report-link{
    transition:none;
  }

  .susd-card-actions .susd-suggest-link:hover,
  .susd-card-actions .susd-suggest-link:focus,
  .susd-card-actions .susd-report-link:hover,
  .susd-card-actions .susd-report-link:focus{
    transform:none;
    box-shadow:none;
  }
}

/* ======================================
   MOBILE
====================================== */

@media (max-width:900px){
  .susd-directory{
    grid-template-columns:1fr;
  }

  .susd-filter{
    position:static;
  }

  .susd-single-grid{
    grid-template-columns:1fr;
  }
}

@media (max-width:600px){
  .susd-card-actions{
    justify-content:flex-start;
  }
}

/* ======================================
   PUBLIC FORMS
====================================== */

.susd-update-form,
.susd-report-form{
  max-width:900px;
  margin:2rem auto;
  background:#fff;
  border:2px solid var(--susd-navy);
  border-radius:10px;
  padding:1.5rem;
}

.susd-update-form h3,
.susd-report-form h3{
  color:var(--susd-navy);
  margin:1.5rem 0 0.75rem;
}

.susd-update-form p,
.susd-report-form p{
  margin:0 0 1rem;
}

.susd-update-form label,
.susd-report-form label{
  color:var(--susd-navy);
}

.susd-update-form input[type="text"],
.susd-update-form input[type="email"],
.susd-update-form input[type="url"],
.susd-update-form select,
.susd-update-form textarea,
.susd-report-form input[type="text"],
.susd-report-form input[type="email"],
.susd-report-form select,
.susd-report-form textarea{
  width:100%;
  border:1px solid var(--susd-border);
  border-radius:6px;
  padding:0.75rem;
  font:inherit;
  box-sizing:border-box;
}

.susd-update-form input:focus-visible,
.susd-update-form select:focus-visible,
.susd-update-form textarea:focus-visible,
.susd-report-form input:focus-visible,
.susd-report-form select:focus-visible,
.susd-report-form textarea:focus-visible{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

.susd-form-intro{
  margin:0 0 1rem;
  color:#24364b;
}

.susd-form-fieldset{
  border:2px solid var(--susd-navy);
  border-radius:8px;
  padding:1rem;
  margin:0 0 1rem;
}

.susd-form-fieldset legend{
  color:var(--susd-navy);
  padding:0 0.35rem;
}

.susd-form-checkboxes{
  display:grid;
  gap:0.65rem;
}

.susd-form-checkbox-group + .susd-form-checkbox-group{
  margin-top:0.85rem;
  padding-top:0.85rem;
  border-top:1px solid var(--susd-border);
}

.susd-form-checkbox{
  display:flex;
  gap:0.55rem;
  align-items:flex-start;
}

.susd-form-checkbox input{
  margin-top:0.2rem;
}

.susd-form-checkbox-parent{
  font-weight:700;
}

.susd-form-checkbox-children{
  display:grid;
  gap:0.55rem;
  margin:0.55rem 0 0 1.75rem;
}

.susd-update-form button,
.susd-report-form button{
  background:var(--susd-navy);
  color:#fff;
  border:0;
  border-radius:8px;
  padding:0.8rem 1rem;
  font:inherit;
  font-weight:700;
  cursor:pointer;
}

.susd-update-form button:hover,
.susd-report-form button:hover{
  box-shadow:0 2px 6px rgba(1, 30, 65, 0.12);
}

.susd-report-success{
  max-width:900px;
  margin:0 auto 1rem;
  background:#f3f8f6;
  border-left:5px solid #00703c;
  padding:1rem 1.25rem;
  border-radius:6px;
}

.susd-btn-alt{
  margin-top:0.75rem;
}


/* Directory page CTA for suggesting a new listing */
.susd-filter-cta{
  margin-top:1rem;
  padding-top:1rem;
  border-top:1px solid var(--susd-border);
}

.susd-filter-cta-text{
  margin:0 0 0.65rem;
  color:var(--susd-navy);
  font-weight:700;
}

.susd-filter-cta .susd-btn,
.susd-filter-cta .susd-btn:visited,
.susd-filter-cta .susd-btn:hover{
  color:#ffffff !important;
}


/* New listing form helpers */
.susd-form-help{
  margin:0.35rem 0 1rem;
  font-size:0.95rem;
  color:#334e68;
}

.susd-form-checkbox-hint{
  margin-bottom:0.5rem;
  font-weight:600;
}

.susd-location-fields[hidden],
.susd-location-help[hidden],
.susd-form-checkbox.is-hidden{
  display:none !important;
}

/*
  Always show Address + Postcode fields on public suggestion/update forms.
  (Some older cached JS versions hid these fields when a broad area was selected.)
*/
.susd-update-form .susd-location-fields[hidden],
.susd-new-listing-form .susd-location-fields[hidden]{
  display:block !important;
}

.susd-form-is-muted{
  opacity:0.6;
}

/* Suggest a new listing button – force white text */
.susd-directory .susd-suggest-listing-btn,
.susd-directory .susd-suggest-listing-btn:link,
.susd-directory .susd-suggest-listing-btn:visited,
.susd-directory .susd-filter-cta-button,
.susd-directory .susd-filter-cta-button:link,
.susd-directory .susd-filter-cta-button:visited {
  color: #ffffff !important;
}

/* Hover + focus (keep it accessible + consistent) */
.susd-directory .susd-suggest-listing-btn:hover,
.susd-directory .susd-suggest-listing-btn:focus,
.susd-directory .susd-filter-cta-button:hover,
.susd-directory .susd-filter-cta-button:focus {
  color: #ffffff !important;
}


/* Search */
.susd-filter-search input[type="search"]{
  width:100%;
  padding:0.7rem 0.85rem;
  border:1px solid var(--susd-border);
  border-radius:6px;
  font-size:1rem;
  background:#fff;
}

.susd-filter-help,
.susd-form-help,
.susd-filter-cta-text,
.susd-results-count{
  font-size:0.92rem;
  line-height:1.45;
}

.susd-results-count:focus{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

.susd-filter-help{
  margin:0.6rem 0 0;
  color:#44546a;
}

.susd-results{
  min-width:0;
}

.susd-results.is-loading{
  opacity:0.6;
}

.susd-results-meta{
  margin:0 0 1rem;
}

.susd-results-count{
  margin:0;
  color:var(--susd-navy);
  font-weight:600;
}

.susd-results-error{
  margin:0 0 1rem;
  padding:0.85rem 1rem;
  border-left:5px solid #b42318;
  background:#fff4f2;
  color:#7a271a;
  font-weight:700;
}

.susd-no-results{
  background:#fff;
  border:2px solid var(--susd-border);
  border-radius:var(--susd-radius);
  padding:1.25rem;
}

.susd-pagination{
  display:flex;
  flex-wrap:wrap;
  gap:0.5rem;
  margin-top:1.5rem;
}

.susd-page-btn{
  appearance:none;
  border:2px solid var(--susd-navy);
  background:#fff;
  color:var(--susd-navy);
  border-radius:6px;
  padding:0.45rem 0.75rem;
  font-weight:600;
  cursor:pointer;
}

.susd-page-btn.is-current,
.susd-page-btn:hover,
.susd-page-btn:focus{
  background:var(--susd-navy);
  color:#fff;
}

/* Suggest a new listing button – force white text */
.susd-directory .susd-suggest-listing-btn,
.susd-directory .susd-suggest-listing-btn:link,
.susd-directory .susd-suggest-listing-btn:visited {
  color: #ffffff !important;
}

/* Hover + focus (keep it accessible + consistent) */
.susd-directory .susd-suggest-listing-btn:hover,
.susd-directory .susd-suggest-listing-btn:focus {
  color: #ffffff !important;
}


/* Single listing chip links: keep white text on all states */
.susd-chip,
.susd-chip:link,
.susd-chip:visited,
.susd-chip:hover,
.susd-chip:active{
  color:#fff !important;
  text-decoration:none !important;
}

.susd-chip:focus-visible{
  color:#fff !important;
}

/* Extra space above back button on single listing */
.susd-actions-card > .susd-btn{
  display:inline-flex;
  margin-top:1rem;
}

/* Restore readable spacing inside formatted single listing content */
.susd-section-body p{
  margin:0 0 1em;
}

.susd-section-body ul,
.susd-section-body ol{
  margin:0 0 1em 1.5em;
  padding-left:1.2em;
}

.susd-section-body li{
  margin-bottom:0.35em;
}


/* ======================================
   FILTER ACCORDIONS – v1.10.12
   Consistent left-hand filter styling
====================================== */
.susd-filter{ padding:1.1rem !important; }
.susd-filter-header{ align-items:center !important; border-bottom:1px solid var(--susd-border) !important; padding-bottom:0.9rem !important; margin-bottom:1rem !important; }
.susd-filter-header h2{ margin:0 !important; color:var(--susd-navy) !important; font-size:1.15rem !important; line-height:1.25 !important; }
.susd-filter-section,.susd-filter details.susd-filter-section,.susd-filter-accordion{ display:block !important; border:1px solid var(--susd-border) !important; border-radius:8px !important; padding:0 !important; margin:0 0 0.8rem !important; background:#fff !important; overflow:hidden !important; }
.susd-filter-section > h4{ display:none !important; }
.susd-filter-summary{ display:flex !important; align-items:center !important; justify-content:space-between !important; gap:0.75rem !important; cursor:pointer !important; list-style:none !important; background:var(--susd-navy) !important; color:#fff !important; margin:0 !important; padding:0.75rem 0.9rem !important; font-size:1rem !important; line-height:1.3 !important; font-weight:700 !important; }
.susd-filter-summary::-webkit-details-marker{ display:none !important; }
.susd-filter-summary::after{ content:'+' !important; flex:0 0 auto !important; width:1.35rem !important; height:1.35rem !important; display:inline-flex !important; align-items:center !important; justify-content:center !important; border:1px solid rgba(255,255,255,.7) !important; border-radius:999px !important; font-size:1rem !important; font-weight:700 !important; line-height:1 !important; }
.susd-filter-accordion[open] > .susd-filter-summary::after{ content:'−' !important; }
.susd-filter-summary:focus-visible{ outline:3px solid var(--susd-focus) !important; outline-offset:3px !important; box-shadow:0 0 0 3px #fff !important; }
.susd-filter-content{ padding:0.85rem 0.9rem 0.95rem !important; }
.susd-filter-option,.susd-filter-section label{ display:flex !important; align-items:flex-start !important; gap:0.55rem !important; margin:0 0 0.55rem !important; color:var(--susd-navy) !important; font-size:0.95rem !important; line-height:1.35 !important; font-weight:500 !important; }
.susd-filter-option:last-child,.susd-filter-section label:last-child{ margin-bottom:0 !important; }
.susd-filter-option input[type="checkbox"],.susd-filter-section input[type="checkbox"]{ flex:0 0 auto !important; margin-top:0.12rem !important; }
.susd-filter-option-parent{ font-weight:700 !important; }
.susd-term-group{ margin:0 0 0.65rem !important; }
.susd-term-group:last-child{ margin-bottom:0 !important; }
.susd-children{ border-left:3px solid var(--susd-border) !important; margin:0.45rem 0 0.8rem 0.35rem !important; padding-left:0.75rem !important; }
.susd-filter-option-child{ font-size:0.93rem !important; font-weight:500 !important; }
.susd-category-parent{ background:transparent !important; color:var(--susd-navy) !important; border-radius:0 !important; padding:0 !important; font-size:0.95rem !important; font-weight:700 !important; margin:0 !important; }
.susd-category-group{ border:0 !important; margin:0 !important; padding:0 !important; }
.susd-filter-search input[type="search"]{ width:100% !important; min-height:42px !important; border:1px solid var(--susd-border) !important; border-radius:6px !important; padding:0.55rem 0.65rem !important; font-size:0.95rem !important; }
.susd-filter-help{ margin:0.5rem 0 0 !important; font-size:0.88rem !important; line-height:1.4 !important; color:#4b5563 !important; }
.susd-filter-cta{ margin-top:1rem !important; }

/* ======================================
   FILTER ACCORDIONS – v1.10.13
   Closed by default + simpler nested category groups
====================================== */
.susd-filter-section.susd-filter-accordion:not([open]) .susd-filter-content{
  display:none !important;
}
.susd-sub-filter{
  border:1px solid var(--susd-border) !important;
  border-radius:7px !important;
  background:#fff !important;
  margin:0 0 0.55rem !important;
  overflow:hidden !important;
}
.susd-sub-filter:last-child{
  margin-bottom:0 !important;
}
.susd-sub-filter-summary{
  display:flex !important;
  align-items:center !important;
  justify-content:space-between !important;
  gap:0.65rem !important;
  cursor:pointer !important;
  list-style:none !important;
  margin:0 !important;
  padding:0.62rem 0.72rem !important;
  background:#f5f7f9 !important;
  color:var(--susd-navy) !important;
  font-size:0.95rem !important;
  line-height:1.3 !important;
  font-weight:700 !important;
}
.susd-sub-filter-summary::-webkit-details-marker{
  display:none !important;
}
.susd-sub-filter-summary::after{
  content:'+' !important;
  flex:0 0 auto !important;
  width:1.2rem !important;
  height:1.2rem !important;
  display:inline-flex !important;
  align-items:center !important;
  justify-content:center !important;
  border:1px solid #cbd5e1 !important;
  border-radius:999px !important;
  font-size:0.9rem !important;
  font-weight:700 !important;
  line-height:1 !important;
  background:#fff !important;
}
.susd-sub-filter[open] > .susd-sub-filter-summary::after{
  content:'−' !important;
}
.susd-sub-filter-summary:focus-visible{
  outline:3px solid var(--susd-focus) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 3px #fff !important;
}
.susd-sub-filter-content{
  padding:0.68rem 0.72rem 0.72rem !important;
}
.susd-sub-filter:not([open]) .susd-sub-filter-content{
  display:none !important;
}
.susd-sub-filter-content .susd-filter-option-parent{
  padding-bottom:0.48rem !important;
  margin-bottom:0.48rem !important;
  border-bottom:1px solid var(--susd-border) !important;
}
.susd-filter-option-standalone{
  border:1px solid var(--susd-border) !important;
  border-radius:7px !important;
  padding:0.62rem 0.72rem !important;
  background:#fff !important;
}
.susd-filter-content > .susd-filter-option-standalone:last-child{
  margin-bottom:0 !important;
}
.susd-filter-accordion[open] .susd-sub-filter[open] .susd-filter-option-child{
  margin-left:0 !important;
}

/* Single listing: compact categories/filters accordion */
.susd-single-tags-accordion{
  border:1px solid var(--susd-border);
  border-radius:10px;
  background:#fff;
  margin-top:1rem;
  overflow:hidden;
}

.susd-single-tags-summary{
  cursor:pointer;
  list-style:none;
  padding:0.8rem 1rem;
  font-weight:800;
  color:var(--susd-navy);
  display:flex;
  align-items:center;
  justify-content:space-between;
}

.susd-single-tags-summary::-webkit-details-marker{
  display:none;
}

.susd-single-tags-summary::after{
  content:'+';
  font-size:1.25rem;
  line-height:1;
  color:var(--susd-navy);
}

.susd-single-tags-accordion[open] > .susd-single-tags-summary::after{
  content:'−';
}

.susd-single-tags-accordion .susd-chip-groups{
  padding:0 1rem 1rem;
}

.susd-single-tags-summary:focus-visible{
  outline:3px solid var(--susd-focus);
  outline-offset:3px;
  box-shadow:0 0 0 3px #fff;
}

/* Single listing contact box: keep address sizing consistent with links */
.susd-contact-link,
.susd-contact-text{
  font-size:0.95rem;
  line-height:1.45;
}

.susd-contact-text{
  color:#1f2937;
}

/* ======================================
   LOGOS + MODERN SINGLE LISTING – v1.12.0
====================================== */

:root{
  --susd-surface-soft:#edf7f7;
  --susd-text:#17243a;
  --susd-muted:#526174;
  --susd-shadow:0 18px 45px rgba(1,30,65,.08);
  --susd-radius-large:20px;
}

/* Directory and landing-page card logos */
.susd-card-layout{
  display:grid;
  grid-template-columns:minmax(0,1fr);
  min-width:0;
}

.susd-card-has-logo .susd-card-layout{
  grid-template-columns:104px minmax(0,1fr);
  gap:1.35rem;
}

.susd-card-content{
  min-width:0;
}

.susd-card-logo{
  width:104px;
  height:104px;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:.75rem;
  background:#fff;
  border:1px solid var(--susd-border);
  border-radius:14px;
  box-sizing:border-box;
}

.susd-service-logo{
  display:block;
  width:100%;
  height:100%;
  max-width:100%;
  object-fit:contain;
}

/* Single listing shell and return link */
.susd-single{
  color:var(--susd-text);
  background:
    radial-gradient(circle at 92% 5%, rgba(0,96,114,.08), transparent 28rem),
    var(--susd-bg-page);
  padding:2.5rem 1rem 4rem;
}

.susd-single-wrap{
  max-width:1180px;
}

.susd-breadcrumb{
  margin-bottom:1.25rem;
}

.susd-breadcrumb a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  color:var(--susd-navy);
  font-weight:700;
  text-decoration:none;
  text-underline-offset:.18em;
}

.susd-breadcrumb a:hover{
  color:var(--susd-teal);
  text-decoration:underline;
}

/* Hero */
.susd-single-header{
  position:relative;
  overflow:hidden;
  padding:clamp(1.4rem,4vw,3rem);
  margin-bottom:2rem;
  background:linear-gradient(135deg,var(--susd-surface-soft),#fff 72%);
  border:1px solid rgba(1,30,65,.12);
  border-radius:var(--susd-radius-large);
  box-shadow:var(--susd-shadow);
}

.susd-single-header::before{
  content:"";
  position:absolute;
  inset:0 auto 0 0;
  width:7px;
  background:var(--susd-teal);
}

.susd-single-hero{
  display:flex;
  align-items:center;
  gap:clamp(1.25rem,3vw,2.5rem);
}

.susd-single-logo{
  flex:0 0 clamp(130px,18vw,190px);
  width:clamp(130px,18vw,190px);
  height:clamp(105px,14vw,145px);
  display:flex;
  align-items:center;
  justify-content:center;
  padding:1rem;
  box-sizing:border-box;
  background:#fff;
  border:1px solid rgba(1,30,65,.12);
  border-radius:18px;
  box-shadow:0 10px 28px rgba(1,30,65,.08);
}

.susd-single-heading{
  min-width:0;
}

.susd-single-kicker,
.susd-aside-kicker{
  margin:0 0 .45rem;
  color:var(--susd-teal);
  font-size:.78rem;
  font-weight:800;
  letter-spacing:.09em;
  line-height:1.3;
  text-transform:uppercase;
}

.susd-single-title{
  max-width:20ch;
  margin:0 0 .8rem;
  color:var(--susd-navy);
  font-size:clamp(1.85rem,3.8vw,2.75rem);
  font-weight:800;
  letter-spacing:-.035em;
  line-height:1.05;
}

.susd-single-intro{
  max-width:68ch;
  margin:0;
  color:#34445a;
  font-size:clamp(1rem,2vw,1.16rem);
  line-height:1.65;
}

.susd-single-intro > :last-child{
  margin-bottom:0;
}

.susd-single-tags-accordion{
  margin-top:1.5rem;
  border-color:rgba(1,30,65,.14);
  box-shadow:0 5px 18px rgba(1,30,65,.04);
}

/* Main content and sidebar */
.susd-single-grid{
  grid-template-columns:minmax(0,1fr) minmax(290px,360px);
  gap:clamp(1.25rem,3vw,2rem);
  align-items:start;
}

.susd-section{
  position:relative;
  margin-bottom:1.25rem;
  padding:clamp(1.25rem,3vw,1.8rem);
  background:#fff;
  border:1px solid var(--susd-border);
  border-radius:18px;
  box-shadow:0 8px 28px rgba(1,30,65,.045);
}

.susd-section::before{
  content:"";
  position:absolute;
  top:1.35rem;
  bottom:1.35rem;
  left:0;
  width:4px;
  border-radius:0 4px 4px 0;
  background:var(--susd-teal);
}

.susd-section h2{
  margin-bottom:.9rem;
  font-size:clamp(1.25rem,2vw,1.55rem);
  letter-spacing:-.015em;
}

.susd-section-body{
  color:#334155;
  font-size:1rem;
  line-height:1.7;
}

.susd-section-body > :last-child{
  margin-bottom:0;
}

.susd-single-aside{
  position:sticky;
  top:1.5rem;
}

.susd-single-aside .susd-card{
  padding:1.45rem;
  border:1px solid var(--susd-border);
  border-radius:18px;
  box-shadow:0 10px 32px rgba(1,30,65,.06);
}

.susd-single-aside .susd-card + .susd-card{
  margin-top:1.25rem;
}

.susd-card-title{
  margin-bottom:1rem;
  font-size:1.35rem;
  line-height:1.2;
}

.susd-primary-action-wrap{
  max-width:none !important;
  margin:0 0 1.25rem !important;
}

.susd-primary-action{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  width:100%;
  min-height:48px;
  padding:.75rem 1rem;
  box-sizing:border-box;
  color:#fff !important;
  background:var(--susd-teal);
  border:2px solid var(--susd-teal);
  border-radius:10px;
  font-weight:800 !important;
  line-height:1.3;
  text-decoration:none !important;
}

.susd-primary-action:hover{
  color:#fff !important;
  background:var(--susd-navy);
  border-color:var(--susd-navy);
}

.susd-contact-row{
  position:relative;
  max-width:none !important;
  margin:0 !important;
  padding:.85rem 0;
  border-top:1px solid var(--susd-border);
}

.susd-contact-label{
  margin-bottom:.25rem;
  color:var(--susd-muted);
  font-size:.78rem;
  letter-spacing:.04em;
  text-transform:uppercase;
}

.susd-contact-link{
  overflow-wrap:anywhere;
  color:var(--susd-teal) !important;
  font-weight:700 !important;
  text-underline-offset:.17em;
}

.susd-contact-text{
  line-height:1.6;
}

.susd-contact-unavailable,
.susd-actions-copy{
  color:var(--susd-muted);
  line-height:1.55;
}

.susd-actions-copy{
  margin-top:-.35rem !important;
}

.susd-card-actions-single{
  justify-content:flex-start;
  gap:.65rem;
}

.susd-card-actions-single .susd-suggest-link,
.susd-card-actions-single .susd-report-link{
  min-height:40px;
  padding:.55rem .75rem;
  white-space:normal;
}

/* Strong, consistent keyboard focus without relying on yellow. */
.susd-single a:focus-visible,
.susd-single summary:focus-visible{
  outline:3px solid #6941c6 !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 3px #fff !important;
}

/* WCAG 2.2: consistent, high-contrast focus indicators. */
.susd-directory a:focus-visible,
.susd-directory button:focus-visible,
.susd-directory input:focus-visible,
.susd-directory select:focus-visible,
.susd-directory summary:focus-visible,
.susd-map-wrap button:focus-visible,
#susd-area-map:focus-visible,
.susd-update-form button:focus-visible,
.susd-report-form button:focus-visible{
  outline:3px solid var(--susd-focus) !important;
  outline-offset:3px !important;
  box-shadow:0 0 0 3px #fff !important;
}

@media (max-width:900px){
  .susd-single-grid{
    grid-template-columns:1fr;
  }

  .susd-single-aside{
    position:static;
  }
}

@media (max-width:650px){
  .susd-single{
    padding:1.25rem .75rem 3rem;
  }

  .susd-single-header{
    border-radius:16px;
  }

  .susd-single-hero{
    align-items:flex-start;
    flex-direction:column;
  }

  .susd-single-logo{
    flex-basis:auto;
    width:130px;
    height:96px;
  }

  .susd-single-title{
    font-size:clamp(1.75rem,8vw,2.3rem);
  }

  .susd-card-has-logo .susd-card-layout{
    grid-template-columns:72px minmax(0,1fr);
    gap:.9rem;
  }

  .susd-card-logo{
    width:72px;
    height:72px;
    padding:.5rem;
    border-radius:10px;
  }
}

@media print{
  .susd-single{
    background:#fff;
  }

  .susd-breadcrumb,
  .susd-actions-card{
    display:none !important;
  }

  .susd-single-header,
  .susd-section,
  .susd-single-aside .susd-card{
    box-shadow:none;
  }

  .susd-single-grid{
    display:block;
  }

  .susd-single-aside{
    margin-top:1rem;
  }
}
/* v1.13.0: shared directory layout and area coverage map */
.susd-directory{
  grid-template-columns:minmax(270px,32%) minmax(0,1fr);
  gap:1.5rem;
  align-items:start;
}
.susd-directory-sidebar{min-width:0;}
.susd-directory .susd-filter{position:static;}
.susd-directory .susd-map-wrap{
  max-width:none;
  margin:1rem 0 0;
  padding:1rem;
  border:1px solid var(--susd-border);
  border-radius:12px;
}
.susd-map-header{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem;}
.susd-map-heading{flex:1 1 100%;font-size:1.25rem;line-height:1.3;margin:0;color:var(--susd-navy);}
.susd-map-instructions{font-size:.9rem;line-height:1.45;color:#3f4f60;}
.susd-directory #susd-area-map{height:260px;min-height:240px;}
.susd-map-expand,.susd-map-clear{
  min-height:40px;padding:.4rem .65rem;background:#fff;color:var(--susd-navy);
  border:1px solid var(--susd-navy);border-radius:6px;cursor:pointer;font-size:.9rem;font-weight:700;
}
.susd-map-expand:hover,.susd-map-clear:hover{background:var(--susd-navy);color:#fff;}
.susd-map-expand:focus-visible,.susd-map-clear:focus-visible{
  outline:3px solid var(--susd-focus);outline-offset:3px;
}
.susd-search-field{margin-bottom:.8rem;}
.susd-search-field label{display:block;font-weight:700;color:var(--susd-navy);margin-bottom:.35rem;}
.susd-search-field input[type="search"]{
  width:100%;min-height:44px;border:1px solid #9ba9b8;border-radius:6px;
  padding:.55rem .7rem;font-size:1rem;
}
.susd-search-field input[type="search"]:focus-visible{outline:3px solid var(--susd-focus);outline-offset:2px;}
.susd-directory .susd-results-list{gap:1rem;}
.susd-directory .susd-card,.susd-embedded-card{padding:1.2rem;border-width:1px;border-left:4px solid var(--susd-teal);border-radius:10px;}
.susd-directory .susd-card h3,.susd-embedded-card .susd-embedded-title{font-size:1.2rem;line-height:1.3;margin:0 0 .4rem;}
.susd-directory .susd-card p.susd-excerpt,.susd-embedded-card p.susd-excerpt{margin:.25rem 0 .6rem;max-width:75ch;}
.susd-directory .susd-card p.susd-card-areas,.susd-embedded-card p.susd-card-areas{
  margin:.2rem 0 .75rem;color:#37485b;font-size:.92rem;line-height:1.4;max-width:none;
}
.susd-directory .susd-card-actions,.susd-embedded-card .susd-card-actions{
  justify-content:flex-start;gap:.5rem .85rem;margin-top:.4rem;
}
.susd-directory .susd-card-actions .susd-card-link,.susd-embedded-card .susd-card-link{
  display:inline-flex;align-items:center;justify-content:center;flex:0 0 auto;
  width:auto;margin:0 100% .2rem 0;padding:.5rem .85rem;border-radius:6px;
  background:var(--susd-navy);color:#fff;text-decoration:none;font-weight:700;
}
.susd-directory .susd-card-actions .susd-card-link:hover,.susd-embedded-card .susd-card-link:hover{
  background:#fff;color:var(--susd-navy);box-shadow:inset 0 0 0 2px var(--susd-navy);
}
.susd-directory .susd-card-actions .susd-suggest-link,
.susd-directory .susd-card-actions .susd-report-link{
  background:transparent;color:var(--susd-navy) !important;border:0;padding:.2rem 0;
  text-decoration:underline !important;box-shadow:none;
}
.susd-directory .susd-card-actions .susd-suggest-link:hover,
.susd-directory .susd-card-actions .susd-report-link:hover{
  background:transparent;color:var(--susd-teal) !important;transform:none;
}
.susd-single-areas{margin-top:1rem;}
.susd-single-areas .susd-chip-group{margin:0;}
.susd-hero-action{margin:1.2rem 0 0;}
.susd-hero-action .susd-primary-action{display:inline-flex;width:auto;max-width:100%;}
@media (min-width:901px){
  .susd-directory-sidebar{position:sticky;top:1rem;}
  .susd-directory.susd-map-expanded{grid-template-columns:1fr;}
  .susd-directory.susd-map-expanded .susd-directory-sidebar{
    position:static;display:grid;grid-template-columns:minmax(270px,32%) minmax(0,1fr);gap:1.5rem;
  }
  .susd-directory.susd-map-expanded .susd-map-wrap{margin:0;}
  .susd-directory.susd-map-expanded #susd-area-map{height:460px;}
}
@media (max-width:900px){
  .susd-directory{grid-template-columns:1fr;}
  .susd-directory-sidebar{position:static;}
  .susd-directory.susd-map-expanded #susd-area-map{height:420px;}
}
@media (max-width:600px){
  .susd-card-has-logo .susd-card-layout{grid-template-columns:76px minmax(0,1fr);gap:.8rem;}
  .susd-card-logo{width:76px;height:76px;padding:.4rem;}
  .susd-directory.susd-map-expanded #susd-area-map{height:330px;}
}

/* Navigation and direct entry to the update form on normal site pages. */
.susd-directory-nav{margin:1rem 0 1.5rem;border-bottom:1px solid var(--susd-border);}
.susd-directory-nav ul{display:flex;flex-wrap:wrap;gap:.25rem 1.25rem;list-style:none;margin:0;padding:0;}
.susd-directory-nav li{margin:0;padding:0;}
.susd-directory-nav a{display:inline-block;padding:.65rem .15rem;color:var(--susd-navy);font-weight:700;text-decoration:none;border-bottom:3px solid transparent;}
.susd-directory-nav a:hover,.susd-directory-nav a[aria-current="page"]{border-bottom-color:var(--susd-teal);text-decoration:underline;}
.susd-directory-nav a:focus-visible{outline:3px solid var(--susd-focus);outline-offset:2px;}
.susd-choose-service{max-width:680px;margin:1.2rem 0;padding:1.3rem;background:#f5f7f9;border-left:4px solid var(--susd-teal);}
.susd-choose-service label{display:block;margin:1rem 0 .35rem;font-weight:700;color:var(--susd-navy);}
.susd-choose-service select{display:block;width:100%;min-height:44px;margin-bottom:1rem;padding:.5rem;border:1px solid #8995a4;border-radius:6px;}
.susd-choose-service button{min-height:44px;padding:.55rem 1rem;border:2px solid var(--susd-navy);border-radius:6px;background:var(--susd-navy);color:#fff;font-weight:700;cursor:pointer;}
.susd-choose-service button:hover{background:#fff;color:var(--susd-navy);}
.susd-choose-service select:focus-visible,.susd-choose-service button:focus-visible{outline:3px solid var(--susd-focus);outline-offset:3px;}

/* Shared top section for the two public suggestion pages. */
.susd-directory-hero{
  background:#001323;color:#fff;border-radius:42px;
  width:calc(100vw - 2rem);box-sizing:border-box;
  margin:0 0 2rem calc(50% - 50vw + 1rem);
  padding:clamp(2rem,5vw,5rem) clamp(1.5rem,8vw,8rem);
}
.susd-directory-hero-inner{max-width:1200px;margin:0 auto;}
.susd-directory-hero h1{color:#fff;font-size:clamp(2.4rem,5vw,5.5rem);line-height:1.08;margin:0 0 1.4rem;font-weight:800;}
.susd-directory-hero p{color:#fff;font-size:clamp(1.25rem,2.3vw,2.35rem);line-height:1.3;margin:0 0 1.8rem;font-weight:700;}
.susd-directory-hero .susd-directory-nav{margin:0;border:0;}
.susd-directory-hero .susd-directory-nav ul{gap:.6rem 1.2rem;}
.susd-directory-hero .susd-directory-nav a{
  color:#fff;border:2px solid transparent;border-radius:6px;
  padding:.65rem .9rem;font-size:1rem;text-decoration:none;
}
.susd-directory-hero .susd-directory-nav a:hover,
.susd-directory-hero .susd-directory-nav a[aria-current="page"]{
  color:#fff;border-color:#fff;text-decoration:underline;
}
.susd-directory-hero .susd-directory-nav a:focus-visible{outline:3px solid #ffd700;outline-offset:3px;}
@media(max-width:600px){
  .susd-directory-hero{border-radius:22px;padding:2rem 1.25rem;}
  .susd-directory-hero .susd-directory-nav ul{gap:.25rem;}
  .susd-directory-hero .susd-directory-nav a{padding:.55rem .65rem;}
}
