.im-directory { padding-bottom:48px; color:#222; }
.im-directory *,.im-owner-stories * { box-sizing:border-box; letter-spacing:0; }
.im-directory .im-directory-heading { display:flex; align-items:center; justify-content:space-between; gap:20px; margin:24px 0 30px; }
.im-directory-heading h1 { font-size:30px; line-height:1.2; margin:0 0 10px; }
.im-directory-heading p { margin:0; color:#62676b; font-size:15px; }
.im-directory-cabinet { display:flex; align-items:center; gap:8px; flex-shrink:0; font-size:14px; }
.im-directory .im-directory-layout { display:grid; grid-template-columns:220px minmax(0,1fr); gap:32px; }
.im-directory-sidebar { border-right:1px solid #e6e8ea; padding-right:24px; }
.im-directory .im-directory-filters summary { font-weight:700; font-size:17px; cursor:pointer; padding:0 0 16px; }
.im-directory .im-filter { display:grid; gap:8px; margin:0; }
.im-directory .im-filter label { font-size:13px; font-weight:600; margin:14px 0 0; }
.im-directory .im-filter .form-control { width:100%; min-width:0; font-size:13px; min-height:40px; border-radius:6px; background-color:#fff; }
.im-directory .im-filter-actions { display:flex; flex-wrap:wrap; align-items:center; gap:16px; margin-top:16px; font-size:13px; }
.im-directory .im-filter-actions button { padding:10px 16px; min-height:40px; }
.im-directory .im-directory-count { color:#707478; font-size:13px; margin:0 0 18px; }
.im-directory .im-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:28px 22px; }
.im-directory .im-card { display:flex; flex-direction:column; min-width:0; min-height:0; border:0; box-shadow:none; background:transparent; border-radius:0; overflow:visible; }
.im-directory .im-card-media { display:block; width:100%; aspect-ratio:16/10; overflow:hidden; border-radius:8px; background:#f1f3f4; }
.im-directory .im-card-media img { display:block; width:100%; height:100%; object-fit:cover; transition:transform .18s; }
.im-directory .im-card-media:hover img { transform:scale(1.025); }
.im-directory .im-card-avatar-fallback { display:grid; place-items:center; height:100%; color:#687c71; font-size:44px; background:#eef4f0; }
.im-directory .im-card-body { padding:12px 0 0; display:flex; flex-direction:column; gap:8px; flex:1; }
.im-directory .im-card-byline { display:flex; gap:8px; align-items:center; min-height:28px; color:#676c70; font-size:12px; }
.im-directory .im-card-byline img { width:28px; height:28px; object-fit:cover; border-radius:50%; }
.im-directory .im-card-byline span { flex:1; overflow-wrap:anywhere; }
.im-directory .im-card-verified { color:#198258; font-size:20px; }
.im-directory .im-card-body h2 { font-size:16px; line-height:1.4; margin:0; }
.im-directory .im-card-title { font-size:16px; font-weight:650; color:#222; }
.im-directory .im-card-title:hover { color:#198258; }
.im-directory .im-card-description { font-size:13px; color:#676c70; line-height:1.5; margin:0; display:-webkit-box; -webkit-line-clamp:2; -webkit-box-orient:vertical; overflow:hidden; min-height:39px; }
.im-directory .im-card-location { color:#83888c; font-size:12px; min-height:18px; }
.im-directory .im-card-open { display:flex; justify-content:space-between; align-items:center; gap:10px; font-size:13px; font-weight:600; color:#222; margin-top:auto; border-top:1px solid #e8eaeb; padding:12px 0 0; }
.im-directory .im-highlights { margin:32px 0 0; padding:24px 0 0; border-top:1px solid #e8eaeb; }
.im-directory .im-highlights h2 { font-size:19px; }
.im-directory-note { margin:22px 0 0; color:#83888c; font-size:12px; }
.im-directory-more { border-top:1px solid #e6e8ea; padding:22px 0; margin-top:36px; }
.im-directory-more summary { font-size:14px; cursor:pointer; color:#687077; }
.im-directory-more nav { display:flex; flex-wrap:wrap; gap:24px; margin:20px 0; }
.im-directory .im-empty { padding:36px 0; }
.im-owner-stories { max-width:1060px; padding-bottom:48px; }
.im-owner-stories h1 { font-size:28px; margin:20px 0 12px; }
.im-owner-stories header p { color:#676c70; max-width:720px; }
.im-owner-layout { display:grid; grid-template-columns:minmax(240px,340px) minmax(0,1fr); gap:40px; margin-top:28px; }
.im-owner-form { display:grid; gap:9px; align-content:start; }
.im-owner-form label { font-size:14px; margin:8px 0 0; }
.im-owner-form input:not([type=checkbox]),.im-owner-form textarea,.im-owner-form select { width:100%; min-width:0; }
.im-owner-form small { color:#676c70; }
.im-owner-preview { max-width:100%; width:180px; height:220px; object-fit:contain; border-radius:8px; background:#f1f3f4; }
.im-owner-preview[hidden] { display:none; }
.im-owner-consent { display:flex; align-items:flex-start; gap:10px; }
.im-owner-consent input { margin-top:4px; flex-shrink:0; }
.im-owner-list { display:grid; gap:20px; align-content:start; }
.im-owner-story { display:grid; grid-template-columns:100px minmax(0,1fr); gap:16px; border-bottom:1px solid #e6e8ea; padding-bottom:20px; }
.im-owner-story img { width:100px; height:134px; object-fit:cover; border-radius:8px; }
.im-owner-story h2 { font-size:17px; margin:0 0 8px; overflow-wrap:anywhere; }
.im-owner-story p { font-size:13px; color:#676c70; overflow-wrap:anywhere; }
.im-owner-story nav { display:flex; align-items:center; flex-wrap:wrap; gap:16px; font-size:13px; }
.im-owner-story nav form { margin:0; }
.im-owner-story nav button { border:0; background:none; color:#a13c34; padding:0; }
.im-owner-status { display:inline-block; font-size:12px; padding:4px 8px; border-radius:4px; background:#edf1f3; margin-bottom:10px; }
.im-owner-status[data-status=active] { color:#17613d; background:#e4f5eb; }
.im-owner-status[data-status=review] { color:#805714; background:#fff2d3; }
.im-owner-alert { border-left:3px solid #238556; background:#edf8f2; padding:14px 18px; margin-top:18px; }
.im-owner-alert[data-error=true] { background:#fff0ed; border-color:#bb4b39; }
@media(min-width:1600px) { .im-directory .im-grid { grid-template-columns:repeat(4,minmax(0,1fr)); } }
@media(max-width:1100px) { .im-directory .im-directory-layout { grid-template-columns:200px minmax(0,1fr); gap:24px; } .im-directory .im-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:767px) {
 .im-directory .im-directory-layout,.im-owner-layout { grid-template-columns:1fr; gap:22px; }
 .im-directory .im-directory-heading { align-items:flex-start; gap:12px; margin:16px 0 22px; flex-direction:column; }
 .im-directory-heading h1 { font-size:25px; }
 .im-directory-sidebar { border:0; padding:0; }
 .im-directory .im-directory-filters { border-bottom:1px solid #e6e8ea; padding-bottom:8px; }
 .im-directory .im-filter { padding-bottom:18px; }
 .im-directory .im-grid { gap:24px 14px; }
 .im-directory .im-card-title,.im-directory .im-card-body h2 { font-size:14px; }
 .im-directory .im-card-byline { font-size:11px; }
 .im-directory .im-card-byline img { display:none; }
 .im-directory .im-card-open { font-size:12px; }
 .im-directory .im-card-description { display:none; }
 .im-owner-layout { display:flex; flex-direction:column; }
 .im-owner-stories h1 { font-size:24px; }
}
@media(max-width:359px) { .im-directory .im-grid { grid-template-columns:1fr; } }
@media(prefers-reduced-motion:reduce) { .im-directory .im-card-media img { transition:none; } }
