/* Forma Artist Directory — canonical isolated component.
 * Visual contract follows the tuned Artist Profile while keeping independent markup and layout.
 */
.forma-directory{
  padding:24px 0 64px;
  color:var(--forma-text);
}
.forma-directory *{box-sizing:border-box;min-width:0}
.forma-directory a{text-decoration:none;color:inherit}
.forma-directory button,.forma-directory input,.forma-directory select{font:inherit}

/* Directory hero */
.forma-directory__hero{
  position:relative;overflow:hidden;margin:0 0 14px;padding:20px 30px 18px;
  border:1px solid var(--forma-border);border-radius:18px;
  background:linear-gradient(110deg,color-mix(in srgb,var(--forma-accent) 11%,transparent),transparent 44%),linear-gradient(180deg,color-mix(in srgb,var(--forma-panel-2) 92%,transparent),var(--forma-panel));
}
.forma-directory__hero:before{content:"";position:absolute;inset:auto -90px -130px auto;width:430px;height:250px;border-radius:50%;background:radial-gradient(circle,color-mix(in srgb,var(--forma-accent) 14%,transparent),transparent 70%);pointer-events:none}
.forma-directory__hero>div{position:relative;z-index:1;max-width:650px;margin-inline-start:auto;text-align:right}
.forma-directory__hero span{display:block;margin-bottom:5px;color:var(--forma-accent);font-size:9px;font-weight:900;letter-spacing:.16em}
.forma-directory__hero h1{margin:0;color:var(--forma-text);font-size:29px;line-height:1.25;font-weight:900;letter-spacing:-.025em}
.forma-directory__hero p{max-width:600px;margin:6px 0 0;color:var(--forma-text-2);font-size:12px;line-height:1.8}

/* Filters + summary */
.forma-directory__controls{margin-bottom:14px;border:1px solid var(--forma-border);border-radius:16px;background:var(--forma-panel);padding:10px}
.forma-directory__filters{display:grid;grid-template-columns:minmax(300px,1.55fr) minmax(150px,.75fr) minmax(150px,.75fr) minmax(140px,.7fr) auto;gap:8px;align-items:center;margin:0}
.forma-directory__filters label{display:block;margin:0}
.forma-directory__filters input{padding:0 40px 0 13px}
.forma-directory__filters select{padding-inline:12px 34px;cursor:pointer}
.forma-directory__search{position:relative}
.forma-directory__search-icon{position:absolute;right:14px;top:50%;transform:translateY(-52%);z-index:1;color:var(--forma-muted);font-size:18px;pointer-events:none}
.forma-directory__submit{height:var(--forma-control-touch,44px);padding:0 15px;border:1px solid var(--forma-accent);border-radius:11px;background:color-mix(in srgb,var(--forma-accent) 12%,var(--forma-panel));color:var(--forma-accent);font-size:10px;font-weight:900;cursor:pointer}
.forma-directory__submit:hover,.forma-directory__submit:focus-visible{background:var(--forma-accent);color:#fff;outline:0}
.forma-directory__summary{display:flex;align-items:center;justify-content:space-between;gap:14px;margin-top:10px;padding-top:10px;border-top:1px solid var(--forma-border)}
.forma-directory__summary>div:first-child{display:flex;align-items:baseline;gap:8px}
.forma-directory__summary strong{color:var(--forma-accent);font-size:18px;font-weight:900}
.forma-directory__summary small{color:var(--forma-muted);font-size:10px}
.forma-directory__view-actions{display:flex;gap:6px;align-items:center}
.forma-directory__view-actions button{display:inline-flex;width:38px;height:38px;align-items:center;justify-content:center;border:1px solid var(--forma-border);border-radius:9px;background:var(--forma-panel-2);color:var(--forma-muted);font-size:16px;cursor:pointer}
.forma-directory__view-actions button.is-active{border-color:var(--forma-accent);color:var(--forma-accent);background:color-mix(in srgb,var(--forma-accent) 11%,var(--forma-panel))}
.forma-directory__filter-toggle{display:none}

/* Canonical artist cards — exact profile-header anatomy for the directory. */
.forma-directory__grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;align-items:start}
.forma-directory-card{min-width:0}
.forma-directory-card__link{
  --forma-directory-cover-height:112px;--forma-directory-avatar-size:86px;
  position:relative;display:flex;flex-direction:column;overflow:hidden;
  border:1px solid var(--forma-border);border-radius:16px;
  background:var(--forma-panel);color:var(--forma-text);
  box-shadow:0 8px 26px rgba(0,0,0,.09);
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.forma-directory-card__link:hover,.forma-directory-card__link:focus-visible{transform:translateY(-2px);border-color:color-mix(in srgb,var(--forma-accent) 52%,var(--forma-border));box-shadow:0 15px 36px rgba(0,0,0,.16);outline:0}
.forma-directory-card__media{position:relative;height:var(--forma-directory-cover-height);overflow:hidden;background:var(--forma-panel-2);border-bottom:1px solid var(--forma-border)}
.forma-directory-card__media>img{display:block;width:100%;height:100%;max-width:none;object-fit:cover;border:0;border-radius:0;transition:transform .3s ease}
.forma-directory-card__link:hover .forma-directory-card__media>img{transform:scale(1.025)}
.forma-directory-card__placeholder{position:absolute;inset:0;display:block;overflow:hidden;background:linear-gradient(140deg,color-mix(in srgb,var(--forma-panel-2) 92%,var(--forma-accent) 4%),var(--forma-panel-2))}
.forma-directory-card__placeholder:before,.forma-directory-card__placeholder:after,.forma-directory-card__placeholder i{content:"";position:absolute;width:78px;height:78px;border:1px solid color-mix(in srgb,var(--forma-text) 5%,transparent);transform:rotate(45deg)}
.forma-directory-card__placeholder:before{right:18px;top:4px}.forma-directory-card__placeholder:after{left:-18px;bottom:-32px;width:112px;height:112px}.forma-directory-card__placeholder i{left:42%;top:26%;width:68px;height:68px}
.forma-directory-card__avatar{
  position:absolute;top:var(--forma-directory-cover-height);left:50%;right:auto;z-index:2;
  width:var(--forma-directory-avatar-size);height:var(--forma-directory-avatar-size);transform:translate(-50%,-50%);
  border:5px solid var(--forma-panel);border-radius:50%;overflow:hidden;background:var(--forma-panel-2);box-shadow:0 10px 24px rgba(0,0,0,.28)
}
.forma-directory-card__avatar img{display:block;width:100%;height:100%;object-fit:cover;border-radius:50%}
.forma-directory-card__content{display:flex;flex-direction:column;align-items:center;padding:calc((var(--forma-directory-avatar-size) / 2) + 22px) 18px 16px;text-align:center}
.forma-directory-card__name{display:flex;align-items:center;justify-content:center;gap:8px;width:100%}
.forma-directory-card__name h3{margin:0;color:var(--forma-text);font-size:20px;line-height:1.42;font-weight:900;letter-spacing:-.02em;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forma-directory-card__name .ecm-verified-badge,.forma-directory-card__name .forma-verified-badge{flex:0 0 18px;width:18px;height:18px}
.forma-directory-card__identity{max-width:100%;margin:9px 0 0;color:var(--forma-text-2);font-size:13px;line-height:1.75;font-weight:750;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.forma-directory-card__cta{display:inline-flex;width:100%;min-height:38px;align-items:center;justify-content:center;gap:8px;margin-top:18px;border:1px solid color-mix(in srgb,var(--forma-accent) 70%,var(--forma-border));border-radius:10px;color:var(--forma-accent);font-size:11px;font-weight:900;transition:background .18s ease,border-color .18s ease}
.forma-directory-card__cta b{font-size:14px;transition:transform .18s ease}
.forma-directory-card__link:hover .forma-directory-card__cta{background:color-mix(in srgb,var(--forma-accent) 10%,transparent);border-color:var(--forma-accent)}
.forma-directory-card__link:hover .forma-directory-card__cta b{transform:translateX(-3px)}

/* List toggle only changes column density; the card itself remains identical. */
.forma-directory__grid.is-list{grid-template-columns:repeat(3,minmax(0,1fr))}

.forma-directory__pagination{display:flex;align-items:center;justify-content:center;gap:6px;margin-top:24px}
.forma-directory__pagination a{display:inline-flex;width:34px;height:34px;align-items:center;justify-content:center;border:1px solid var(--forma-border);border-radius:9px;background:var(--forma-panel);color:var(--forma-text-2);font-size:10px;font-weight:850}
.forma-directory__pagination a.is-current,.forma-directory__pagination a:hover{border-color:var(--forma-accent);background:color-mix(in srgb,var(--forma-accent) 14%,var(--forma-panel));color:var(--forma-accent)}
.forma-directory__empty{display:flex;min-height:260px;flex-direction:column;align-items:center;justify-content:center;padding:28px;border:1px dashed var(--forma-border);border-radius:16px;background:var(--forma-panel);text-align:center}
.forma-directory__empty>span{display:flex;width:44px;height:var(--forma-control-touch,44px);align-items:center;justify-content:center;margin-bottom:9px;border-radius:50%;background:color-mix(in srgb,var(--forma-accent) 12%,var(--forma-panel));color:var(--forma-accent);font-size:22px}
.forma-directory__empty strong{font-size:14px;font-weight:900}.forma-directory__empty p{margin:6px 0 0;color:var(--forma-muted);font-size:11px}.forma-directory__empty a{margin-top:12px;color:var(--forma-accent);font-size:10px;font-weight:850}

@media (min-width:1320px){
  .forma-directory__grid{grid-template-columns:repeat(5,minmax(0,1fr))}
  .forma-directory__grid.is-list{grid-template-columns:repeat(4,minmax(0,1fr))}
}

@media(max-width:899px){
  .forma-directory{padding:20px 0 52px}
  .forma-directory-card__link{--forma-directory-cover-height:100px;--forma-directory-avatar-size:82px}
  .forma-directory-card__content{padding:calc((var(--forma-directory-avatar-size) / 2) + 20px) 16px 15px}
  .forma-directory-card__identity{font-size:12px}
  .forma-directory__hero{padding:16px 20px 15px}
  .forma-directory__hero h1{font-size:24px}
  .forma-directory__hero p{font-size:11px}
  .forma-directory__filters{grid-template-columns:1fr 1fr}
  .forma-directory__search{grid-column:1/-1}
  .forma-directory__submit{grid-column:1/-1}
  .forma-directory__grid,.forma-directory__grid.is-list{grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
}

@media(max-width:639px){
  .forma-directory{padding:16px 0 42px}
  .forma-directory-card__link{--forma-directory-cover-height:124px;--forma-directory-avatar-size:94px;border-radius:16px}
  .forma-directory-card__avatar{border-width:4px}
  .forma-directory-card__content{padding:calc((var(--forma-directory-avatar-size) / 2) + 24px) 18px 16px}
  .forma-directory-card__name .ecm-verified-badge,.forma-directory-card__name .forma-verified-badge{width:20px;height:20px;flex-basis:20px}
  .forma-directory-card__identity{margin-top:10px;font-size:14px;white-space:normal}
  .forma-directory__hero{padding:14px 15px 13px;border-radius:14px}
  .forma-directory__hero span{font-size:8px}
  .forma-directory__hero h1{font-size:19px;line-height:1.35}
  .forma-directory__hero p{font-size:10px;line-height:1.75}
  .forma-directory__controls{padding:9px;border-radius:14px}
  .forma-directory__filter-shell{display:none}
  .forma-directory__controls.is-filter-open .forma-directory__filter-shell{display:block}
  .forma-directory__filters{grid-template-columns:1fr;gap:7px}
  .forma-directory__search,.forma-directory__submit{grid-column:auto}
  .forma-directory__filters :is(input,select),.forma-directory__submit{height:var(--forma-control-touch,44px)}
  .forma-directory__filters :is(input,select){font-size:12px}
  .forma-directory__submit{font-size:12px}
  .forma-directory__summary{margin-top:0;padding-top:0;border-top:0}
  .forma-directory__summary strong{font-size:17px}
  .forma-directory__summary small{font-size:9px}
  .forma-directory__filter-toggle{display:inline-flex}
  .forma-directory__grid,.forma-directory__grid.is-list{display:flex;flex-direction:column;align-items:stretch;gap:12px}
  .forma-directory-card,.forma-directory-card__link{width:100%;max-width:none}
  .forma-directory__pagination{margin-top:20px}
}

/* Native /artists/ shell: Elementor-free page ownership. */
.forma-native-artists-page{margin:0;background:var(--forma-page);color:var(--forma-text)}
.forma-native-artists-main{display:block;width:100%;min-height:60vh}

/* People and organizations share the same canonical profile card. */
.forma-community-tabs{display:flex;gap:var(--forma-space-3);padding:var(--forma-space-3);margin-bottom:var(--forma-space-7);background:var(--forma-panel-2);border:1px solid var(--forma-border);border-radius:var(--forma-radius-lg)}
.forma-community-tabs a{flex:1;text-align:center;padding:var(--forma-space-4) var(--forma-space-6);border-radius:var(--forma-radius-md);color:var(--forma-text-2);text-decoration:none;font-weight:var(--forma-weight-bold)}
.forma-community-tabs a[aria-current=page]{background:var(--forma-accent);color:var(--forma-accent-text)}
.forma-directory .forma-community-card{border:1px solid var(--forma-border);border-radius:var(--forma-radius-lg);background:var(--forma-panel);overflow:hidden;min-width:0;transition:border-color .18s,transform .18s}
.forma-directory .forma-community-card:hover{border-color:var(--forma-accent);transform:translateY(-2px)}
.forma-directory .forma-community-card .forma-directory-card__media{height:var(--forma-directory-cover-height);aspect-ratio:auto;background:var(--forma-accent-soft)}
.forma-directory .forma-community-card .forma-directory-card__media img{width:100%;height:100%;object-fit:cover}
.forma-directory .forma-community-card .forma-directory-card__content{padding:calc((var(--forma-directory-avatar-size) / 2) + 22px) var(--forma-space-6) var(--forma-space-6);min-width:0}
.forma-directory .forma-community-card .forma-directory-card__name h3{overflow-wrap:anywhere;color:var(--forma-text);font-size:var(--forma-card-title-size)}
.forma-directory .forma-community-card .forma-directory-card__identity{min-height:3.2em;line-height:1.6;color:var(--forma-text-2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.forma-directory .forma-community-card .forma-directory-card__cta{padding-top:var(--forma-space-4);border-top:1px solid var(--forma-border);color:var(--forma-accent)}
@media(prefers-reduced-motion:reduce){.forma-directory .forma-community-card{transition:none}}


/* 1.84.68 — Community card mobile overlap repair. Presentation only. */
@media(max-width:639px){
  .forma-directory .forma-community-card .forma-directory-card__content{padding-block-start:calc((var(--forma-directory-avatar-size) / 2) + 24px)}
  .forma-directory .forma-community-card .forma-directory-card__name{position:relative;z-index:1;min-height:1.5em}
  .forma-directory .forma-community-card .forma-directory-card__name h3{max-width:100%;white-space:normal;overflow-wrap:anywhere;text-wrap:balance}
}
