
/* Design tokens (moved from shortcode inline theme block for maintainability) */
#dir-service-wrapper{
  position: relative;
  --color-brand: #0077b6;
  --color-accent: #c8e0e5;
  --color-dark-blue: #1F6184;
  --color-off-white: #F4F8FB;
}
#dir-service-wrapper button{cursor:pointer;}
.dir-btn.text-white { color:#FFF; }

/* Tailwind token compatibility layer (scoped)
   Provides fallbacks for custom utilities like bg-brand/text-brand/bg-accent/etc.
*/


a,button { cursor: pointer; }
.bg-brand{background-color:#0077b6;}
.bg-brand:hover{background-color:#1F6184 !important;}
:root :where(p) {
    font-size: 0.9em;
}
.leaflet-control-zoom-in,
.leaflet-control-zoom-out {
  color: #0077b6 !important;
}

/*
#dir-service-wrapper .bg-brand{background-color:var(--color-brand);}*/
#dir-service-wrapper .text-brand{color:var(--color-brand)!important;}
#dir-service-wrapper .border-brand{border-color:var(--color-brand)!important;}
#dir-service-wrapper .bg-accent{background-color:var(--color-accent)!important;}
#dir-service-wrapper .bg-dark-blue{background-color:var(--color-dark-blue)!important;}
#dir-service-wrapper .text-dark-blue{color:var(--color-dark-blue)!important;}
/*
#dir-service-wrapper .hover:bg-dark-blue:hover{background-color:var(--color-dark-blue)!important;}
#dir-service-wrapper .focus\\:outline-brand:focus{outline-color:var(--color-brand)!important;}
#dir-service-wrapper .focus\\:ring-brand:focus,
#dir-service-wrapper .focus\\:ring-brand:focus-visible{box-shadow:0 0 0 3px rgba(0,119,182,0.25)!important;}
*/

/* Suggest Listing form tweaks */
.dir-suggest-listing .rounded-2xl {
  padding: 1rem !important;
}

.dir-suggest-listing .dir-suggest-categories h4,
.dir-suggest-listing h4 {
  margin: 0 !important;
}

.dir-suggest-listing .max-h-72 {
  max-height: 16rem;
}

.dir-suggest-listing label {
  margin: 0;
}

/* Remove any stray paragraph spacing inside the suggestion drawer */
.dir-suggest-listing p { margin: 0; }

/* -------------------------------------------------------------------------
 * Card UX: address is now a Map View trigger.
 * Keep it obviously clickable even if utility classes change.
 * ---------------------------------------------------------------------- */
.dir-address-link {
  cursor: pointer;
  text-decoration: underline;
  text-decoration-style: dotted;
  text-underline-offset: 2px;
}

.dir-address-link:hover {
  text-decoration-style: solid;
}

.dir-grid-contact-link {
  text-decoration: underline !important;
  text-decoration-style: solid;
  text-decoration-color: currentColor;
  text-underline-offset: 2px;
}

.dir-grid-contact-link:hover,
.dir-grid-contact-link:focus-visible {
  text-decoration: underline !important;
}

.dir-inline-map-icon {
  display: inline-block;
  width: 14px;
  height: 18px;
  vertical-align: -3px;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  mask-image: url("../icons/solid/location-dot.svg");
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
  -webkit-mask-image: url("../icons/solid/location-dot.svg");
}

.dir-inline-icon {
  display: inline-block;
  width: 1rem;
  height: 1rem;
  vertical-align: -2px;
  background-color: currentColor;
  mask-repeat: no-repeat;
  mask-position: center;
  mask-size: contain;
  -webkit-mask-repeat: no-repeat;
  -webkit-mask-position: center;
  -webkit-mask-size: contain;
}

.dir-icon-envelope {
  mask-image: url("../icons/solid/envelope.svg");
  -webkit-mask-image: url("../icons/solid/envelope.svg");
}

.dir-icon-globe {
  mask-image: url("../icons/solid/globe.svg");
  -webkit-mask-image: url("../icons/solid/globe.svg");
}

.dir-icon-print {
  mask-image: url("../icons/solid/print.svg");
  -webkit-mask-image: url("../icons/solid/print.svg");
}

.dir-icon-pdf {
  mask-image: url("../icons/solid/file-pdf.svg");
  -webkit-mask-image: url("../icons/solid/file-pdf.svg");
}

.dir-icon-share {
  mask-image: url("../icons/solid/share-nodes.svg");
  -webkit-mask-image: url("../icons/solid/share-nodes.svg");
}

.dir-icon-sort {
  mask-image: url("../icons/solid/sliders-up.svg");
  -webkit-mask-image: url("../icons/solid/sliders-up.svg");
}

.dir-icon-phone {
  mask-image: url("../icons/solid/phone-volume.svg");
  -webkit-mask-image: url("../icons/solid/phone-volume.svg");
}

.dir-page-loading {
  position: absolute;
  inset: 0;
  z-index: 700;
  display: flex;
  align-items: center;
  justify-content: center;
  padding: 1.25rem;
  background: rgba(255,255,255,0.92);
  backdrop-filter: blur(2px);
}

.dir-page-loading[hidden] {
  display: none !important;
}

.dir-page-loading-card {
  max-width: 24rem;
  border: 1px solid #e2e8f0;
  border-radius: 1rem;
  background: #fff;
  padding: 1.25rem 1.5rem;
  text-align: center;
  box-shadow: 0 12px 32px rgba(15, 23, 42, 0.08);
}

.dir-page-loading-title {
  font-size: 1rem;
  font-weight: 600;
  color: #0f172a;
}

.dir-page-loading-copy {
  margin-top: 0.35rem;
  font-size: 0.9rem;
  color: #475569;
}

.dir-offline-tools {
  margin-top: 1.25rem;
  padding-top: 0.9rem;
  border-top: 1px solid #dbe4ea;
}

.dir-offline-tools__inner {
  display: flex;
  align-items: center;
  justify-content: flex-end;
  gap: 0.75rem;
  flex-wrap: wrap;
}

.dir-offline-tools__button {
  border: 0;
  padding: 0;
  background: transparent;
  color: var(--color-brand);
  font-size: 0.78rem;
  line-height: 1.4;
  text-decoration: underline;
  text-underline-offset: 2px;
}

.dir-offline-tools__button[disabled] {
  opacity: 0.65;
  cursor: wait;
}

.dir-offline-tools__status {
  font-size: 0.78rem;
  line-height: 1.4;
  color: #64748b;
}
