

.ec-directory__opener {
  background: var(--wp--preset--color--linen);
  margin-left: calc(-1 * var(--ec-pad, 48px));
  margin-right: calc(-1 * var(--ec-pad, 48px));
  padding: clamp(56px, 6.5vw, 96px) var(--ec-pad, 48px);
  margin-top: 0;
  margin-bottom: clamp(40px, 5vw, 64px);
}

.ec-directory__opener-inner {
}

.ec-directory__opener-eyebrow {
  display: inline-block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.16em;
  color: var(--wp--preset--color--ink);
  margin: 0 0 var(--wp--preset--spacing--s-5);
}

.ec-directory__opener-name {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(38px, 4.8vw, 56px);
  line-height: 1.1;
  letter-spacing: -0.02em;
  margin: 0 0 var(--wp--preset--spacing--s-4);
  text-wrap: balance;
  color: var(--wp--preset--color--ink);
  max-width: 20ch;
}

.ec-directory__opener-name em {
  font-style: italic;
  font-weight: 400;
}

.ec-directory__opener-intro {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 17.5px;  
  line-height: 1.65;
  color: var(--wp--preset--color--ink-soft);
  margin: 0 0 var(--wp--preset--spacing--s-5);
  max-width: 52ch;
  text-wrap: pretty;
}

.ec-directory__opener-trust {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;  
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  margin: 0;
}

.ec-card__badge-sr {
  clip: rect(1px, 1px, 1px, 1px);
  clip-path: inset(50%);
  height: 1px;
  width: 1px;
  margin: -1px;
  overflow: hidden;
  position: absolute;
  white-space: nowrap;
}

.ec-directory {
  box-sizing: border-box;
  width: 100%;
  padding: 0 var(--ec-pad, 48px) clamp(72px, 9vw, 120px);
}

.ec-directory {
  display: block;
}

@media (min-width: 1100px) {
  .ec-directory {
    display: grid;
    grid-template-columns: 280px minmax(0, 1fr);
    gap: 0 var(--wp--preset--spacing--s-8);
    align-items: start;
  }
}

.ec-directory.ec-directory--teaser {
  display: block;
  position: relative;
  padding-bottom: 0;
}

.ec-teaser-stage {
  position: relative;
}

.ecp {
  min-height: clamp(440px, 62vh, 720px);
  overflow: hidden;
  pointer-events: none;
  user-select: none;
  filter: blur(6px);
  opacity: 0.5;
  -webkit-mask-image: linear-gradient(to bottom, #000 62%, transparent 100%);
          mask-image: linear-gradient(to bottom, #000 62%, transparent 100%);
}

.ecp__opener {
  background: var(--wp--preset--color--linen);
  margin: 0 calc(-1 * var(--ec-pad, 48px)) clamp(28px, 3.5vw, 48px);
  padding: clamp(44px, 5.5vw, 80px) var(--ec-pad, 48px);
}

.ecp__bar {
  display: block;
  background: rgba(13, 27, 42, 0.12);
  border-radius: 2px;
}
.ecp__bar--eyebrow { width: 130px;  height: 11px; margin-bottom: 22px; }
.ecp__bar--title   { width: 58%;    height: 34px; margin-bottom: 12px; max-width: 460px; }
.ecp__bar--title2  { width: 38%; }
.ecp__bar--intro   { width: 80%;    height: 14px; margin-top: 20px; max-width: 520px; }

.ecp__layout {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(20px, 3vw, 48px);
}
@media (min-width: 900px) {
  .ecp__layout { grid-template-columns: 240px minmax(0, 1fr); }
}

.ecp__search {
  display: block;
  height: 42px;
  border: 1px solid rgba(13, 27, 42, 0.14);
  margin-bottom: 28px;
}
.ecp__group { margin-bottom: 26px; }
.ecp__group-label {
  display: block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.12em;
  color: var(--wp--preset--color--ink);
  margin-bottom: 14px;
}
.ecp__opt {
  display: flex;
  align-items: center;
  gap: 10px;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14px;
  color: var(--wp--preset--color--ink-soft);
  margin-bottom: 11px;
}
.ecp__box {
  flex: 0 0 auto;
  width: 14px;
  height: 14px;
  border: 1px solid rgba(13, 27, 42, 0.28);
}
.ecp__filters { display: none; }
@media (min-width: 900px) { .ecp__filters { display: block; } }

.ecp__grid {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(16px, 2vw, 28px);
}
@media (min-width: 600px)  { .ecp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 900px)  { .ecp__grid { grid-template-columns: repeat(3, minmax(0, 1fr)); } }
@media (min-width: 1200px) { .ecp__grid { grid-template-columns: repeat(4, minmax(0, 1fr)); } }

.ecp__thumb {
  aspect-ratio: 4 / 5;
  background: var(--wp--preset--color--linen);
  margin-bottom: 14px;
}
.ecp__bar--card  { height: 12px; width: 85%; margin-bottom: 8px; }
.ecp__bar--card2 { width: 50%; }

.ec-cs {
  position: absolute;
  inset: 0;
  z-index: 2;
  display: flex;
  align-items: flex-start;  
  justify-content: center;
  padding: clamp(48px, 12vh, 148px) var(--ec-pad, 48px) var(--ec-pad, 48px);
}
.ec-cs__card {
  box-sizing: border-box;
  width: 100%;
  max-width: 540px;
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--olive, var(--wp--preset--color--rule-mist, rgba(13, 27, 42, 0.18)));
  padding: clamp(32px, 4vw, 60px);
  text-align: left;
}
.ec-cs__eyebrow {
  display: inline-block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 12px;
  text-transform: uppercase;
  letter-spacing: 0.18em;
  color: var(--wp--preset--color--ink);
  margin: 0 0 var(--wp--preset--spacing--s-4);
}
.ec-cs__title {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(28px, 3.4vw, 42px);
  line-height: 1.1;
  letter-spacing: -0.015em;
  color: var(--wp--preset--color--ink);
  margin: 0;
  text-wrap: balance;
}
.ec-cs__title em { font-style: italic; font-weight: 400; }
.ec-cs__lead {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 16.5px;
  line-height: 1.65;
  color: var(--wp--preset--color--ink-soft);
  max-width: 48ch;
  margin: var(--wp--preset--spacing--s-4) 0 0;
  text-wrap: pretty;
}
.ec-cs__action { margin: var(--wp--preset--spacing--s-5) 0 0; }
.ec-cs__link {
  appearance: none;
  border: 0;
  background: none;
  padding: 0;
  cursor: pointer;
  font-family: var(--wp--preset--font-family--spectral);
  font-size: 19px;
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-underline-offset: 5px;
  text-decoration-thickness: 1px;
}
.ec-cs__link:hover { text-decoration-thickness: 2px; }
.ec-cs__meanwhile {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14px;
  color: var(--wp--preset--color--smoke);
  margin: var(--wp--preset--spacing--s-4) 0 0;
}
.ec-cs__meanwhile a { color: var(--wp--preset--color--ink); text-underline-offset: 3px; }

.ec-nl-dialog {
  box-sizing: border-box;
  width: calc(100% - 2 * var(--ec-pad, 48px));
  max-width: 440px;
  padding: clamp(28px, 4vw, 48px);
  border: 1px solid var(--wp--preset--color--olive, rgba(13, 27, 42, 0.2));
  background: var(--wp--preset--color--paper);
  color: var(--wp--preset--color--ink);
}
.ec-nl-dialog::backdrop {
  background: rgba(13, 27, 42, 0.5);
}
.ec-nl-dialog__dismiss {
  display: flex;
  justify-content: flex-end;
  margin: -8px -8px 4px 0;
}
.ec-nl-dialog__close {
  appearance: none;
  border: 0;
  background: none;
  padding: 4px;
  line-height: 1;
  font-size: 26px;
  color: var(--wp--preset--color--smoke);
  cursor: pointer;
}
.ec-nl-dialog__close:hover { color: var(--wp--preset--color--ink); }
.ec-nl-dialog .newsletter { width: 100%; max-width: 100%; margin: 0; padding: 0; background: transparent; }
.ec-nl-dialog .newsletter .container { max-width: 100%; padding: 0; margin: 0; }
.ec-nl-dialog .nl21__grid { display: block; }
.ec-nl-dialog .nl21__intro { text-align: left; max-width: none; }
.ec-nl-dialog .nl21__heading { font-size: clamp(20px, 2.6vw, 26px); }
.ec-nl-dialog .nl21__subhead { max-width: none; }
.ec-nl-dialog .nl21__body { display: block; margin-top: var(--wp--preset--spacing--s-4); }
.ec-nl-dialog .nl21__form {
  display: grid;
  grid-template-columns: 1fr;
  gap: 16px;
  width: 100%;
  max-width: 100%;
  margin: 0;
}
.ec-nl-dialog .nl21__btn { width: 100%; }
.ec-nl-dialog .nl21__status,
.ec-nl-dialog .nl21__consent { margin-inline: 0; }
.ec-nl-dialog .nl21__consent { justify-content: flex-start; }

@media (min-width: 1100px) {
  .ec-directory__controls {
    display: block;
    position: sticky;
    top: calc(72px + var(--wp--preset--spacing--s-5));
    max-height: calc(100vh - 72px - var(--wp--preset--spacing--s-7));
    overflow-y: auto;
    padding-right: var(--wp--preset--spacing--s-2);
    grid-column: 1;
    grid-row: 2 / 999;  
    scrollbar-width: thin;
    scrollbar-color: var(--wp--preset--color--rule-mist) transparent;
  }
}

@media (max-width: 1099.98px) {
  .ec-directory__controls {
    display: block;
  }

  .ec-directory.ec-has-js .ec-directory__controls {
    position: fixed;
    inset: 0;
    z-index: 200;
    background: var(--wp--preset--color--paper);
    padding: 0 var(--ec-pad) 120px;
    overflow-y: auto;
    transform: translateY(100%);
    visibility: hidden;
    transition:
      transform var(--wp--custom--transition--medium),
      visibility 0s linear var(--wp--custom--transition--medium);
  }

  .ec-directory.ec-has-js .ec-directory__controls.is-open {
    transform: translateY(0);
    visibility: visible;
    transition: transform var(--wp--custom--transition--medium);
  }
}

.ec-directory:not(.ec-has-js) .ec-directory__filter-bar {
  display: none;
}

.ec-directory.ec-has-js .ec-directory__apply {
  display: none;
}

.ec-directory__search {
  padding-bottom: var(--wp--preset--spacing--s-5);
  border-bottom: 1px solid var(--wp--preset--color--rule-light);
  margin-bottom: var(--wp--preset--spacing--s-5);
}

.ec-directory__label {
  display: block;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;   
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  margin: 0 0 14px;   
}

.ec-directory__searchrow {
  display: flex;
  gap: var(--wp--preset--spacing--s-2);
}

.ec-directory__searchrow-btn {
  flex: 0 0 auto;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--smoke);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-mist);
  border-radius: 0;
  padding: 0 var(--wp--preset--spacing--s-3);
  cursor: pointer;
  transition: color var(--wp--custom--transition--small), border-color var(--wp--custom--transition--small);
}

.ec-directory__searchrow-btn:hover {
  color: var(--wp--preset--color--ink);
  border-color: var(--wp--preset--color--smoke);
}

.ec-directory .ec-directory__searchrow-btn:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--ink);
}

.ec-directory__search input[type="search"] {
  flex: 1;
  min-width: 0;
  width: 100%;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.4;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-mist);
  border-radius: 0;
  padding: 10px var(--wp--preset--spacing--s-3);   
  transition: border-color var(--wp--custom--transition--small);
}

@media (pointer: coarse) {
  .ec-directory__search input[type="search"] { font-size: 16px; }
}

.ec-directory__search input[type="search"]::placeholder {
  color: var(--wp--preset--color--smoke);
}

.ec-directory__search input[type="search"]:hover {
  border-color: var(--wp--preset--color--smoke);
}

.ec-directory__search input[type="search"]:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__facets {
}

.ec-directory__facet {
  border: 0;        
  margin: 0;
  padding: 0 0 var(--wp--preset--spacing--s-5);
  border-top: 1px solid var(--wp--preset--color--rule-light);
  min-inline-size: 0;  
  width: 100%;        
}

.ec-directory__facet:first-child {
  border-top: 0;
  padding-top: 0;
}

.ec-directory__facet legend {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;   
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  margin: 0 0 6px;
  padding: 0;
  display: block;    
  width: 100%;
}

.ec-directory__opt {
  display: flex;
  align-items: center;
  gap: 10px;           
  min-height: 36px;
  cursor: pointer;
  transition: opacity var(--wp--custom--transition--small);
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.4;
  color: var(--wp--preset--color--ink);
}

@media (max-width: 1099.98px) {
  .ec-directory__opt {
    min-height: 44px;   
  }
}

.ec-directory__opt input[type="checkbox"] {
  appearance: none;
  -webkit-appearance: none;
  flex: 0 0 auto;
  width: 16px;
  height: 16px;
  margin: 0;
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--smoke);
  cursor: pointer;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  transition:
    border-color var(--wp--custom--transition--small),
    background-color var(--wp--custom--transition--small);
}

.ec-directory__opt input[type="checkbox"]:hover {
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__opt input[type="checkbox"]:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__opt input[type="checkbox"]:checked {
  background: var(--wp--preset--color--ink);
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__opt input[type="checkbox"]:checked::after {
  content: "";
  width: 9px;
  height: 5px;
  border-left: 1.5px solid var(--wp--preset--color--paper);
  border-bottom: 1.5px solid var(--wp--preset--color--paper);
  transform: rotate(-45deg) translate(0.5px, -0.5px);
}

.ec-directory__opt.is-empty {
  opacity: 0.4;
  cursor: default;
}

.ec-directory__opt.is-empty input {
  cursor: default;
}

.ec-directory__opt-count {
  margin-left: auto;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  letter-spacing: 0.04em;
  color: var(--wp--preset--color--smoke);
}

.ec-directory__facet-helper {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 13px;     
  line-height: 1.5;
  color: var(--wp--preset--color--smoke);
  margin: 8px 0 0 26px;   
}

.ec-directory__more {
  border-top: 1px solid var(--wp--preset--color--rule-light);
}

.ec-directory__more summary {
  display: flex;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--s-3);
  padding: 18px 0;    
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  cursor: pointer;
  list-style: none;
  transition: color var(--wp--custom--transition--small);
}

.ec-directory__more summary::-webkit-details-marker {
  display: none;
}

.ec-directory__more summary::marker {
  content: none;
}

.ec-directory__more summary:hover {
  color: var(--wp--preset--color--ink);
}

.ec-directory__more summary::after {
  content: "+";
  font-family: var(--wp--preset--font-family--mono);
  font-size: 14px;
  line-height: 1;
}

.ec-directory__more[open] > summary::after {
  content: "−";
}

.ec-directory__more summary:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
}

.ec-directory__toolbar {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  justify-content: space-between;
  gap: var(--wp--preset--spacing--s-3) var(--wp--preset--spacing--s-5);
  padding-bottom: var(--wp--preset--spacing--s-4);
  border-bottom: 1px solid var(--wp--preset--color--rule-light);
  margin-bottom: clamp(28px, 3.5vw, 44px);
}

.ec-directory__toolbar-sort {
  display: flex;
  align-items: center;
  gap: var(--wp--preset--spacing--s-3);
  margin-left: auto;
}

.ec-directory label[for="ec-dir-sort"] {
  display: inline;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  font-weight: 400;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  margin: 0;
  white-space: nowrap;
}

.ec-directory__controls-sort {
  padding: 0 0 var(--wp--preset--spacing--s-5);
  border-bottom: 1px solid var(--wp--preset--color--rule-light);
  margin-bottom: var(--wp--preset--spacing--s-5);
}

.ec-directory__controls-sort .ec-directory__label {
  display: block;
  margin: var(--wp--preset--spacing--s-5) 0 14px;
  padding-top: var(--wp--preset--spacing--s-5);
  border-top: 1px solid var(--wp--preset--color--rule-light);
}

@media (min-width: 1100px) {
  .ec-directory__controls-sort {
    display: none;
  }
}

.ec-directory__toolbar-sort {
  display: none;
}

@media (min-width: 1100px) {
  .ec-directory__toolbar-sort {
    display: flex;
    align-items: center;
    gap: var(--wp--preset--spacing--s-3);
    margin-left: auto;
  }
}

.ec-directory #ec-dir-sort,
.ec-directory #ec-dir-sort-sidebar {
  appearance: none;
  -webkit-appearance: none;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;   
  color: var(--wp--preset--color--ink);
  background-color: var(--wp--preset--color--paper);
  background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8' fill='none'%3E%3Cpath d='M1 1.5L6 6.5L11 1.5' stroke='%230D1B2A' stroke-width='1.5' stroke-linecap='round'/%3E%3C/svg%3E");
  background-repeat: no-repeat;
  background-position: right 12px center;
  border: 1px solid var(--wp--preset--color--rule-mist);
  border-radius: 0;
  padding: 10px var(--wp--preset--spacing--s-6) 10px var(--wp--preset--spacing--s-3);
  min-height: 44px;
  cursor: pointer;
  transition: border-color var(--wp--custom--transition--small);
}

@media (pointer: coarse) {
  .ec-directory #ec-dir-sort,
  .ec-directory #ec-dir-sort-sidebar {
    font-size: 16px;
  }
}

.ec-directory #ec-dir-sort:hover,
.ec-directory #ec-dir-sort-sidebar:hover {
  border-color: var(--wp--preset--color--smoke);
}

.ec-directory #ec-dir-sort:focus-visible,
.ec-directory #ec-dir-sort-sidebar:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__apply {
  display: block;
  width: 100%;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--paper);
  background: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--ink);
  border-radius: 0;
  padding: 15px var(--wp--preset--spacing--s-5);
  min-height: 48px;
  margin-top: var(--wp--preset--spacing--s-5);
  cursor: pointer;
  transition:
    background-color var(--wp--custom--transition--small),
    color var(--wp--custom--transition--small);
}

.ec-directory__apply:hover {
  background: var(--wp--preset--color--paper);
  color: var(--wp--preset--color--ink);
}

.ec-directory__apply:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
}

.ec-directory__apply[hidden] {
  display: none;
}

.ec-directory__chips {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--s-2);
  margin-bottom: var(--wp--preset--spacing--s-5);
}

.ec-directory__chip {
  display: inline-flex;
  align-items: center;
  gap: var(--wp--preset--spacing--s-2);
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--paper);
  background: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--ink);
  border-radius: 2px;   
  padding: 6px 6px 6px 12px;
  cursor: pointer;
  transition:
    background-color var(--wp--custom--transition--small),
    color var(--wp--custom--transition--small);
}

.ec-directory__chip:hover {
  background: var(--wp--preset--color--ink-soft);
  border-color: var(--wp--preset--color--ink-soft);
}

.ec-directory__chip:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 0;
}

.ec-directory__clear {
  background: none;
  border: 0;
  cursor: pointer;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  padding: var(--wp--preset--spacing--s-2);
  min-height: 32px;
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 5px;
  transition: color var(--wp--custom--transition--small);
}

.ec-directory__clear:hover {
  color: var(--wp--preset--color--ink);
}

.ec-directory__clear:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
}

.ec-directory__status {
  position: absolute;
  width: 1px;
  height: 1px;
  overflow: hidden;
  clip: rect(0 0 0 0);
  white-space: nowrap;
}

.ec-directory__count {
  font-family: var(--wp--preset--font-family--inter) !important;
  font-weight: 300 !important;
  letter-spacing: 0 !important;
  font-size: 14.5px;   
  color: var(--wp--preset--color--smoke);
  margin: 0;
}

.ec-directory__results {
  display: grid;
  grid-template-columns: 1fr;
  gap: clamp(40px, 5vw, 56px) var(--wp--preset--spacing--s-6);
}

@media (min-width: 640px) {
  .ec-directory__results {
    grid-template-columns: repeat(2, minmax(0, 1fr));
  }
}

@media (min-width: 1100px) {
  .ec-directory__results {
    grid-template-columns: repeat(3, minmax(0, 1fr));
  }
}

.ec-directory.is-loading .ec-directory__results {
  opacity: 0.5;
  pointer-events: none;
  transition: opacity var(--wp--custom--transition--medium);
}

.ec-card {
  position: relative;
  display: flex;
  flex-direction: column;
}

.ec-card__media {
  position: relative;
  aspect-ratio: 4 / 5;
  overflow: hidden;
  background: var(--wp--preset--color--mist);
  display: block;
  text-decoration: none;
}

.ec-card__media img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity 280ms cubic-bezier(0.22, 1, 0.36, 1);
}

.ec-card:hover .ec-card__media img {
  opacity: 0.85;
}

.ec-card__placeholder {
  display: block;
  position: absolute;
  inset: 0;
  background: var(--wp--preset--color--mist);
}

.ec-card__badge {
  position: absolute;
  top: var(--wp--preset--spacing--s-3);
  left: var(--wp--preset--spacing--s-3);
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10px;    
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-light);
  padding: 5px 9px;
}

.ec-card__body {
  display: flex;
  flex-direction: column;
  flex: 1;
}

.ec-card__meta {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;   
  line-height: 1.5;
  color: var(--wp--preset--color--ink-soft);
  margin: var(--wp--preset--spacing--s-1) 0 0;
}

.ec-card__category {
  color: var(--wp--preset--color--ink-soft);
  text-decoration: none;
}

.ec-card__name {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(20px, 1.6vw, 24px);
  line-height: 1.25;
  letter-spacing: -0.02em;
  margin: var(--wp--preset--spacing--s-4) 0 0;
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--wp--preset--color--ink);
}

.ec-card__name a {
  color: inherit;
  text-decoration: none;
}

.ec-card__name a::after {
  content: "";
  position: absolute;
  inset: 0;
}

.ec-card__name a:focus-visible {
  outline: none;
}

.ec-card:has(.ec-card__name a:focus-visible) {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 4px;
}

.ec-card__summary {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--wp--preset--color--ink);
  margin: 10px 0 0;   
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
}

.ec-card__chips {
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--s-2);
  margin: var(--wp--preset--spacing--s-3) 0 0;
}

.ec-card__chip {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  text-transform: uppercase;
  letter-spacing: 0.08em;
  color: var(--wp--preset--color--smoke);
}

.ec-directory__empty {
  padding: clamp(48px, 6vw, 88px) 0;
  border-top: 1px solid var(--wp--preset--color--rule-light);
  max-width: 52ch;
}

.ec-directory__empty h2,
.ec-directory__empty h3 {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 var(--wp--preset--spacing--s-4);
  text-wrap: balance;
  color: var(--wp--preset--color--ink);
}

.ec-directory__empty-lead {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 17px;
  line-height: 1.65;
  color: var(--wp--preset--color--ink);
  margin: 0 0 var(--wp--preset--spacing--s-3);
}

.ec-directory__empty .ec-directory__clear {
  white-space: nowrap;
}

.ec-directory__suggestion {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  white-space: nowrap;  
  color: var(--wp--preset--color--smoke);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  transition: color var(--wp--custom--transition--small);
}

.ec-directory__suggestion:hover {
  color: var(--wp--preset--color--ink);
}

.ec-directory__suggestion:focus-visible {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 2px;
}

.ec-directory__siblings {
  list-style: none;
  margin: var(--wp--preset--spacing--s-5) 0 0;
  padding: 0;
  display: flex;
  flex-direction: column;
  gap: var(--wp--preset--spacing--s-3);
}

.ec-directory__siblings a {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 15.5px;
  color: var(--wp--preset--color--ink);
  text-decoration: none;
  border-bottom: 1px solid var(--wp--preset--color--rule-light);
  padding-bottom: var(--wp--preset--spacing--s-2);
  display: inline-block;
}

.ec-directory__siblings a:hover {
  color: var(--wp--preset--color--ink-soft);
}

.ec-directory__pagination {
  display: flex;
  flex-wrap: wrap;
  align-items: center;
  gap: var(--wp--preset--spacing--s-2);
  margin-top: clamp(40px, 5vw, 64px);
  padding-top: var(--wp--preset--spacing--s-5);
  border-top: 1px solid var(--wp--preset--color--rule-light);
}

.ec-directory__page {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--smoke);
  padding: var(--wp--preset--spacing--s-2) var(--wp--preset--spacing--s-3);
  min-height: 36px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  border: 1px solid transparent;
  text-decoration: none;
  transition:
    color var(--wp--custom--transition--small),
    border-color var(--wp--custom--transition--small);
}

.ec-directory__page:hover {
  color: var(--wp--preset--color--ink);
  border-color: var(--wp--preset--color--rule-light);
}

.ec-directory__page:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__page.is-current {
  color: var(--wp--preset--color--ink);
  border-color: var(--wp--preset--color--ink);
  cursor: default;
  font-weight: 500;
}

.ec-directory__error {
  margin-top: var(--wp--preset--spacing--s-6);
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;
  color: var(--wp--preset--color--smoke);
}

.ec-directory__error button {
  background: none;
  border: 0;
  cursor: pointer;
  font-family: inherit;
  font-size: inherit;
  color: var(--wp--preset--color--ink);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 4px;
  padding: 0;
}

.ec-directory__error[hidden] {
  display: none;
}

.ec-directory__filter-bar {
  position: fixed;
  left: 0;
  right: 0;
  bottom: 0;
  z-index: 90;
  display: flex;
  justify-content: center;
  padding:
    var(--wp--preset--spacing--s-3)
    var(--ec-pad)
    calc(var(--wp--preset--spacing--s-3) + env(safe-area-inset-bottom, 0px));
  background: var(--wp--preset--color--paper);
  border-top: 1px solid var(--wp--preset--color--rule-mist);
}

@media (min-width: 1100px) {
  .ec-directory__filter-bar {
    display: none;
  }
}

.ec-directory__filter-bar-btn {
  width: 100%;
  max-width: 420px;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--paper);
  background: var(--wp--preset--color--ink);
  border: 1px solid var(--wp--preset--color--ink);
  border-radius: 0;
  padding: 15px var(--wp--preset--spacing--s-6);
  min-height: 48px;
  cursor: pointer;
  transition:
    background-color var(--wp--custom--transition--small),
    color var(--wp--custom--transition--small);
}

.ec-directory__filter-bar-btn:hover {
  background: var(--wp--preset--color--paper);
  color: var(--wp--preset--color--ink);
}

@media (min-width: 1100px) {
  .ec-directory__opener {
    grid-column: 1 / -1;
    grid-row: 1;
  }

  .ec-directory__controls {
    grid-column: 1;
    grid-row: 2 / 999;
  }

  .ec-directory__status,
  .ec-directory__toolbar,
  .ec-directory__results,
  .ec-directory__pagination,
  .ec-directory__error {
    grid-column: 2;
    grid-row: auto;
  }
}

body.post-type-archive-brand main.wp-block-group,
body.tax-brand_category main.wp-block-group,
body.tax-brand_production_country main.wp-block-group {
  margin-block-start: 0;
}

@media (prefers-reduced-motion: reduce) {
  .ec-directory__controls,
  .ec-card__media img,
  .ec-directory__chip,
  .ec-directory__apply,
  .ec-directory__filter-bar-btn,
  .ec-directory #ec-dir-sort,
  .ec-directory #ec-dir-sort-sidebar,
  .ec-directory__search input[type="search"],
  .ec-directory__more summary,
  .ec-directory__suggestion,
  .ec-directory__clear {
    transition: none;
  }
}

.ec-directory--product .ec-directory__results {
  display: block;
}

.ec-directory__cards {
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: clamp(32px, 4.5vw, 48px) var(--wp--preset--spacing--s-5);
  list-style: none;
  margin: 0;
  padding: 0;
}

@media (min-width: 720px) {
  .ec-directory__cards {
    grid-template-columns: repeat(3, minmax(0, 1fr));
    gap: clamp(36px, 4.5vw, 52px) var(--wp--preset--spacing--s-6);
  }
}

@media (min-width: 1440px) {
  .ec-directory__cards {
    grid-template-columns: repeat(4, minmax(0, 1fr));
  }
}

.pcard {
  position: relative;
  display: flex;
  flex-direction: column;
}

.pcard__media {
  position: relative;
  aspect-ratio: 4 / 5;    
  overflow: hidden;
  background: var(--wp--preset--color--mist);
}

.pcard__img {
  position: absolute;
  inset: 0;
  width: 100%;
  height: 100%;
  object-fit: cover;
  transition: opacity var(--wp--custom--transition--medium);
}

.pcard:hover .pcard__img {
  opacity: 0.85;    
}

.pcard__noimg {
  position: absolute;
  inset: 0;
  display: flex;
  align-items: center;
  justify-content: center;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.14em;
  color: var(--wp--preset--color--smoke);
}

.pcard__badge {
  position: absolute;
  top: var(--wp--preset--spacing--s-3);
  left: var(--wp--preset--spacing--s-3);
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-light);
  padding: 5px 9px;
}

.pcard__save {
  position: absolute;
  top: 10px;     
  right: 10px;
  z-index: 2;
  width: 40px;
  height: 40px;
  display: inline-flex;
  align-items: center;
  justify-content: center;
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-light);
  border-radius: 0;    
  color: var(--wp--preset--color--ink);
  cursor: pointer;
  transition: border-color var(--wp--custom--transition--small), color var(--wp--custom--transition--small);
}

.pcard__save:hover {
  border-color: var(--wp--preset--color--ink);
}

.pcard__save svg {
  width: 18px;
  height: 18px;
  display: block;
}

.pcard__save svg path {
  fill: none;
  stroke: currentColor;
  stroke-width: 1.6;
  transition: fill var(--wp--custom--transition--small);
}

.pcard__save[aria-pressed="true"] svg path {
  fill: var(--wp--preset--color--ink);
  stroke: var(--wp--preset--color--ink);
}

.pcard__save:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.pcard__name {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(17px, 1.5vw, 19px);
  line-height: 1.3;
  letter-spacing: -0.02em;
  margin: 14px 0 0;    
  display: -webkit-box;
  -webkit-line-clamp: 2;
  -webkit-box-orient: vertical;
  overflow: hidden;
  color: var(--wp--preset--color--ink);
}

.pcard__name a {
  color: inherit;
  text-decoration: none;
}

.pcard__name a::after {
  content: "";
  position: absolute;
  inset: 0;
  z-index: 1;
}

.pcard__name a:focus-visible {
  outline: none;
}

.pcard:has(.pcard__name a:focus-visible) {
  outline: 2px solid var(--wp--preset--color--ink);
  outline-offset: 4px;
}

.pcard__brand {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;    
  line-height: 1.5;
  color: var(--wp--preset--color--ink-soft);
  margin: 2px 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.pcard__price {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 400;
  font-size: 15.5px;    
  line-height: 1.5;
  color: var(--wp--preset--color--ink);
  margin: var(--wp--preset--spacing--s-1) 0 0;
}

.pcard__support {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 10px;
  text-transform: uppercase;
  letter-spacing: 0.1em;
  color: var(--wp--preset--color--smoke);
  margin: var(--wp--preset--spacing--s-2) 0 0;
  white-space: nowrap;
  overflow: hidden;
  text-overflow: ellipsis;
}

.ec-directory__loadmore {
  display: flex;
  flex-direction: column;
  align-items: center;
  gap: var(--wp--preset--spacing--s-3);
  margin-top: clamp(48px, 6vw, 72px);
}

.ec-directory__loadmore[hidden] {
  display: none;    
}

.ec-directory__loadmore-count {
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  letter-spacing: 0.08em;
  text-transform: uppercase;
  color: var(--wp--preset--color--smoke);
  margin: 0;
}

.ec-directory__loadmore-btn {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 500;
  font-size: 12px;
  letter-spacing: 0.16em;
  text-transform: uppercase;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--ink);
  border-radius: 0;
  padding: 15px var(--wp--preset--spacing--s-8);
  min-height: 48px;
  cursor: pointer;
  transition: background-color var(--wp--custom--transition--small), color var(--wp--custom--transition--small);
}

.ec-directory__loadmore-btn:hover {
  background: var(--wp--preset--color--ink);
  color: var(--wp--preset--color--paper);
}

.ec-directory__facet-search {
  width: 100%;
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 14.5px;
  line-height: 1.4;
  color: var(--wp--preset--color--ink);
  background: var(--wp--preset--color--paper);
  border: 1px solid var(--wp--preset--color--rule-light);
  border-radius: 0;
  padding: 10px 12px;
  margin: 0 0 var(--wp--preset--spacing--s-3);
  transition: border-color var(--wp--custom--transition--small);
}

.ec-directory__facet-search::placeholder {
  color: var(--wp--preset--color--smoke);
}

.ec-directory__facet-search:hover {
  border-color: var(--wp--preset--color--smoke);
}

.ec-directory__facet-search:focus-visible {
  outline: none;
  border-color: var(--wp--preset--color--ink);
}

.ec-directory__empty-h {
  font-family: var(--wp--preset--font-family--spectral);
  font-weight: 500;
  font-size: clamp(24px, 2.6vw, 30px);
  line-height: 1.2;
  letter-spacing: -0.02em;
  margin: 0 0 var(--wp--preset--spacing--s-4);
  text-wrap: balance;
}

.ec-directory__empty-hint {
  font-family: var(--wp--preset--font-family--inter);
  font-weight: 300;
  font-size: 15.5px;
  line-height: 1.6;
  color: var(--wp--preset--color--ink-soft);
  margin: 0 0 var(--wp--preset--spacing--s-5);
}

.ec-directory__empty-recover {
  list-style: none;
  margin: 0 0 var(--wp--preset--spacing--s-5);
  padding: 0;
  display: flex;
  flex-wrap: wrap;
  gap: var(--wp--preset--spacing--s-2) var(--wp--preset--spacing--s-4);
}

.ec-directory__empty-recover a,
.ec-directory__empty-cta {
  display: inline-flex;
  align-items: center;
  min-height: 44px;
  font-family: var(--wp--preset--font-family--mono);
  font-size: 11px;
  letter-spacing: 0.1em;
  text-transform: uppercase;
  color: var(--wp--preset--color--smoke);
  text-decoration: underline;
  text-decoration-thickness: 1px;
  text-underline-offset: 6px;
  transition: color var(--wp--custom--transition--small);
}

.ec-directory__empty-recover a:hover,
.ec-directory__empty-cta:hover {
  color: var(--wp--preset--color--ink);
}

@media (prefers-reduced-motion: reduce) {
  .pcard__img,
  .pcard__save,
  .pcard__save svg path,
  .ec-directory__loadmore-btn,
  .ec-directory__facet-search,
  .ec-directory__empty-recover a,
  .ec-directory__empty-cta {
    transition: none;
  }
}
