/* Extends HOOPERLAND's existing paper/ink/orange palette. */
.ed-wrap { max-width: 1320px; margin: 0 auto; padding: 0 32px 72px; }
.ed-toolbar { display:flex; flex-wrap:wrap; gap:10px; align-items:center; margin:24px 0; }
.ed-toolbar button, .ed-toolbar input { font:inherit; min-height:44px; border:1px solid #c8c6c0; border-radius:4px; padding:10px 16px; background:#fff; color:#1a1a1a; }
.ed-toolbar button { cursor:pointer; }
.ed-toolbar button[aria-pressed="true"] { background:#1a1a1a; color:#fff; border-color:#1a1a1a; }
.ed-toolbar input { flex:1; min-width:180px; max-width:380px; }
.ed-scope { max-width:900px; font:400 14px/1.65 Inter,sans-serif; color:#54534f; margin:16px 0 24px; }
.ed-count { font:500 12px/1.5 Inter,sans-serif; letter-spacing:.03em; color:#54534f; margin:20px 0; }
.ed-grid { display:grid; grid-template-columns:repeat(3,minmax(0,1fr)); gap:24px; }
.ed-card { border:1px solid #d9d7d1; background:#fff; display:flex; flex-direction:column; min-width:0; overflow:hidden; border-radius:4px; scroll-margin-top:100px; }
.ed-media { margin:0; }
.ed-media>a { display:block; background:#eeede8; }
.ed-media img { display:block; width:100%; height:230px; object-fit:cover; }
.ed-media-poster img { object-fit:contain; height:320px; background:#e9e8e3; }
.ed-media-logo img { object-fit:contain; padding:48px; }
.ed-media figcaption { font:400 10px/1.5 Inter,sans-serif; padding:8px 18px; color:#555; border-bottom:1px solid #eee; }
.ed-media figcaption a { color:inherit; text-decoration:underline; text-underline-offset:2px; }
.ed-copy { padding:20px; display:flex; flex-direction:column; flex:1; }
.ed-meta { display:flex; flex-wrap:wrap; gap:8px 14px; color:#555; font:500 11px/1.5 Inter,sans-serif; }
.ed-meta>span { color:#a43300; text-transform:uppercase; letter-spacing:.06em; }
.ed-copy h2 { font:600 23px/1.2 Inter,sans-serif; letter-spacing:-.035em; margin:16px 0 12px; color:#191919; }
.ed-copy>p { font:400 14px/1.65 Inter,sans-serif; margin:0 0 14px; color:#45443f; }
.ed-copy .ed-place { font-weight:600; color:#191919; }
.ed-copy .ed-fact { font-size:12px; margin-bottom:8px; }
.ed-contact { border-top:1px solid #e7e5de; padding:14px 0; margin-top:12px; display:flex; flex-direction:column; gap:4px; font:500 12px/1.6 Inter,sans-serif; }
.ed-contact a { color:#1a1a1a; overflow-wrap:anywhere; text-decoration:underline; text-underline-offset:3px; min-height:26px; }
.ed-contact>span { color:#666; font-size:11px; }
.ed-copy .ed-contact-note { font-size:12px; color:#666; }
.ed-links { display:flex; flex-wrap:wrap; gap:4px 16px; margin-top:auto; padding-top:12px; }
.ed-links a { color:#a43300; display:inline-flex; align-items:center; min-height:44px; font:500 12px/1.45 Inter,sans-serif; text-underline-offset:3px; }
.ed-copy .ed-byline { font-size:10px; color:#686762; margin:12px 0 0; }
.ed-empty { grid-column:1/-1; padding:32px; background:#fff; border:1px solid #ddd; line-height:1.7; }
.ed-section-title { font:600 28px/1.2 Inter,sans-serif; margin:36px 0 14px; }
.ed-toolbar button:focus-visible,.ed-toolbar input:focus-visible,.ed-card a:focus-visible { outline:3px solid #ff5102; outline-offset:3px; }
#tnFilter { overflow-x:auto; max-width:100%; }
.tn-organize { gap:20px; flex-wrap:wrap; }
.tn-organize>div { min-width:0; flex:1 1 280px; }
@media(max-width:1000px) { .ed-grid { grid-template-columns:repeat(2,minmax(0,1fr)); } }
@media(max-width:640px) { .ed-wrap { padding:0 18px 48px; } .ed-grid { grid-template-columns:1fr; gap:20px; } .ed-copy h2 { font-size:22px; } .ed-toolbar input { width:100%; max-width:none; } .ed-media img { height:220px; } .ed-media-poster img { height:330px; } }
