/* NewsCore directory */
.nwc-dir { --nwc-d-accent: #e2133a; --nwc-d-ink: #171d29; --nwc-d-text: #3c4252; --nwc-d-muted: #737a8c; --nwc-d-line: #e3e6ec; --nwc-d-soft: #f5f6f9; --nwc-d-radius: var(--nwc-radius, 0); --nwc-d-shadow: 0 1px 2px rgba(23,29,41,.06), 0 8px 24px rgba(23,29,41,.07); color: var(--nwc-d-text); }
.nwc-dir h1, .nwc-dir h2 { color: var(--nwc-d-ink); padding: 0; }
.nwc-dir--rtl, .nwc-dir--rtl * { letter-spacing: 0 !important; }

/* Hero and search */
.nwc-dir-hero { position: relative; z-index: 5; overflow: visible; background: var(--nwc-d-ink); color: #c9cdd6; border-radius: var(--nwc-radius, 0); padding: clamp(28px, 5vw, 56px) clamp(20px, 5vw, 56px); margin: 0 0 22px; }
.nwc-dir-hero::after { content: ""; position: absolute; inset: 0; background: radial-gradient(circle 212px at calc(100% - 60px) 60px, rgba(226,19,58,.5), rgba(226,19,58,0) 70%); pointer-events: none; }
.nwc-dir--rtl .nwc-dir-hero::after { background: radial-gradient(circle 212px at 60px 60px, rgba(226,19,58,.5), rgba(226,19,58,0) 70%); }
.nwc-dir .nwc-dir-hero__title { position: relative; z-index: 1; color: #fff; font-size: clamp(28px, 4.4vw, 46px); font-weight: 800; line-height: 1.12; margin: 0 0 10px; }
.nwc-dir-hero__intro { position: relative; z-index: 1; font-size: 17px; line-height: 1.6; max-width: 62ch; margin: 0 0 24px; }
.nwc-dir-search__label { position: relative; z-index: 1; display: block; font-size: 13px; font-weight: 700; letter-spacing: .08em; text-transform: uppercase; color: #fff; opacity: .7; margin: 0 0 10px; padding: 0; }
.nwc-dir-search { position: relative; z-index: 1; display: flex; align-items: stretch; gap: 0; background: #fff; border: 2px solid transparent; border-radius: var(--nwc-radius, 0); padding: 6px; box-shadow: 0 18px 40px rgba(0,0,0,.3); transition: border-color .2s ease, box-shadow .2s ease; }
.nwc-dir-search:focus-within { border-color: var(--nwc-d-accent); box-shadow: 0 0 0 4px rgba(226,19,58,.12), 0 18px 40px rgba(0,0,0,.3); }
.nwc-dir-search__field { position: relative; flex: 1 1 auto; min-width: 0; display: flex; }
.nwc-dir .nwc-dir-search__input { flex: 1 1 auto; width: 100%; min-width: 0; border: 0 !important; background: transparent !important; box-shadow: none !important; font: inherit; font-size: 18px; color: var(--nwc-d-ink); padding: 10px 18px !important; margin: 0; outline: 0; }
.nwc-dir .nwc-dir-search__select { flex: 0 0 auto; max-width: 200px; min-width: 0; border: 0 !important; border-inline-start: 1px solid var(--nwc-d-line) !important; border-radius: var(--nwc-radius, 0) !important; background-color: transparent !important; font: inherit; font-size: 15px; color: var(--nwc-d-text); padding: 0 14px !important; margin: 0; cursor: pointer; }
.nwc-dir-search__button { flex: 0 0 auto; border: 0; border-radius: var(--nwc-radius, 0); background: var(--nwc-d-accent); color: #fff; font: inherit; font-weight: 700; font-size: 16px; padding: 0 28px; min-height: 48px; cursor: pointer; transition: background .2s ease, transform .2s ease; }
.nwc-dir-search__button:hover { background: #a80d2a; }
.nwc-dir-search__button:active { transform: scale(.97); }

/* Suggestions while typing */
.nwc-dir .nwc-dir-suggest { position: absolute; inset-inline: -8px; top: calc(100% + 12px); z-index: 60; list-style: none; margin: 0; padding: 6px 0; background: #fff; border: 1px solid var(--nwc-d-line); border-top: 3px solid var(--nwc-d-accent); border-radius: var(--nwc-radius, 0); box-shadow: 0 18px 40px rgba(23,29,41,.22); max-height: 420px; overflow-y: auto; text-align: start; }
.nwc-dir .nwc-dir-suggest[hidden] { display: none; }
.nwc-dir .nwc-dir-suggest__item { margin: 0; padding: 0; list-style: none; }
.nwc-dir .nwc-dir-suggest__item a { display: flex; flex-direction: column; gap: 2px; padding: 9px 16px; color: var(--nwc-d-ink) !important; text-decoration: none !important; border-inline-start: 3px solid transparent; }
.nwc-dir .nwc-dir-suggest__item.is-active a { background: var(--nwc-d-soft); border-inline-start-color: var(--nwc-d-accent); }
.nwc-dir .nwc-dir-suggest__item strong { font-size: 16px; font-weight: 500; line-height: 1.35; }
.nwc-dir .nwc-dir-suggest__item strong em { font-style: normal; font-size: 12px; font-weight: 800; color: var(--nwc-d-accent); }
.nwc-dir .nwc-dir-suggest__item mark { background: none; color: var(--nwc-d-accent); font-weight: 800; padding: 0; }
.nwc-dir .nwc-dir-suggest__item small { font-size: 12.5px; color: var(--nwc-d-muted); }
.nwc-dir .nwc-dir-suggest__item.is-featured strong::after { content: "★"; margin-inline-start: 6px; color: #f5b400; font-size: 12px; }

.nwc-dir-bar { display: flex; align-items: center; justify-content: space-between; gap: 12px; margin: 0 0 14px; }
.nwc-dir-count { font-size: 14px; font-weight: 700; color: var(--nwc-d-muted); margin: 0; padding: 0; }
.nwc-dir-reset { font-size: 14px; font-weight: 700; color: var(--nwc-d-accent) !important; text-decoration: none !important; }
.nwc-dir-none { background: var(--nwc-d-soft); border-inline-start: 4px solid var(--nwc-d-accent); border-radius: var(--nwc-radius, 0); padding: 14px 18px; }

/* Cards */
.nwc-dir-grid { display: grid; grid-template-columns: repeat(3, minmax(0, 1fr)); gap: 20px; }
.nwc-dir-card { margin: 0; min-width: 0; }
.nwc-dir-card__link { display: flex; flex-direction: column; gap: 12px; height: 100%; background: #fff; border: 1px solid var(--nwc-d-line); border-radius: var(--nwc-radius, 0); padding: 20px; box-shadow: var(--nwc-d-shadow); color: inherit !important; text-decoration: none !important; transition: transform .25s ease, box-shadow .25s ease, border-color .25s ease; }
.nwc-dir-card__link:hover, .nwc-dir-card__link:focus-visible { transform: translateY(-4px); box-shadow: 0 2px 4px rgba(23,29,41,.08), 0 16px 36px rgba(23,29,41,.14); border-color: transparent; }
.nwc-dir-card--featured .nwc-dir-card__link { border: 2px solid #f5b400; }
.nwc-dir-card__head { display: flex; align-items: center; gap: 14px; }
.nwc-dir-card__titles { display: flex; flex-direction: column; gap: 2px; min-width: 0; }
.nwc-dir-card__name { font-size: 17px; font-weight: 800; line-height: 1.3; color: var(--nwc-d-ink); }
.nwc-dir-card__short { font-size: 13px; font-weight: 700; color: var(--nwc-d-accent); }
.nwc-dir-card__badges, .nwc-dir-listing__badges { display: flex; flex-wrap: wrap; gap: 6px; margin: 0; padding: 0; }
.nwc-dir-card__text { font-size: 14px; line-height: 1.6; color: var(--nwc-d-text); }
.nwc-dir-card__foot { display: flex; flex-wrap: wrap; align-items: center; gap: 6px; margin-top: auto; padding-top: 4px; }
.nwc-dir-card__place { font-size: 13px; font-weight: 600; color: var(--nwc-d-muted); margin-inline-end: 4px; }

.nwc-dir-avatar { flex: 0 0 auto; display: inline-flex; align-items: center; justify-content: center; width: 54px; height: 54px; border-radius: var(--nwc-radius, 0); background: var(--nwc-d-ink); color: #fff; font-weight: 800; font-size: 15px; letter-spacing: .02em; overflow: hidden; direction: ltr; }
.nwc-dir-avatar--c1 { background: var(--nwc-d-accent); }
.nwc-dir-avatar--c2 { background: #2f3a52; }
.nwc-dir-avatar--c3 { background: #a80d2a; }
.nwc-dir-avatar--logo { background: #fff; border: 1px solid var(--nwc-d-line); }
.nwc-dir-avatar--logo img { width: 100%; height: 100%; object-fit: contain; }
.nwc-dir-avatar--big { width: 96px; height: 96px; border-radius: var(--nwc-radius, 0); font-size: 24px; }

.nwc-dir-badge { display: inline-block; font-size: 11px; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; line-height: 1; padding: 6px 9px; border-radius: var(--nwc-radius, 0); background: var(--nwc-d-soft); color: var(--nwc-d-ink); }
.nwc-dir-badge--world { background: var(--nwc-d-accent); color: #fff; }
.nwc-dir-badge--continental { background: var(--nwc-d-ink); color: #fff; }
.nwc-dir-badge--featured { background: #f5b400; color: var(--nwc-d-ink); }
.nwc-dir-chip { display: inline-block; font-size: 12px; font-weight: 600; line-height: 1; color: var(--nwc-d-text) !important; background: var(--nwc-d-soft); border-radius: var(--nwc-radius, 0); padding: 6px 10px; white-space: nowrap; text-decoration: none !important; }
a.nwc-dir-chip:hover { background: var(--nwc-d-accent); color: #fff !important; }

.nwc-dir-pages { display: flex; align-items: center; justify-content: center; gap: 16px; margin: 26px 0 0; font-weight: 700; }
.nwc-dir-pages a { color: #fff !important; background: var(--nwc-d-ink); border-radius: var(--nwc-radius, 0); padding: 10px 20px; text-decoration: none !important; }
.nwc-dir-pages a:hover { background: var(--nwc-d-accent); }

/* Listing page */
.nwc-dir-crumbs { font-size: 14px; color: var(--nwc-d-muted); margin: 0 0 16px; }
.nwc-dir-crumbs a { color: var(--nwc-d-accent); font-weight: 700; text-decoration: none; }
.nwc-dir-listing { background: #fff; border: 1px solid var(--nwc-d-line); border-radius: var(--nwc-radius, 0); box-shadow: 0 2px 4px rgba(23,29,41,.05), 0 22px 50px rgba(23,29,41,.1); overflow: hidden; margin: 0 0 36px; }
.nwc-dir-listing__head { position: relative; display: flex; flex-wrap: wrap; align-items: center; gap: 22px; background: var(--nwc-d-ink); color: #c9cdd6; padding: clamp(24px, 4vw, 40px); overflow: hidden; }
.nwc-dir-listing__head::after { content: ""; position: absolute; inset-inline-end: -80px; top: -80px; width: 260px; height: 260px; border-radius: 50%; background: radial-gradient(circle, rgba(226,19,58,.5), rgba(226,19,58,0) 70%); pointer-events: none; }
.nwc-dir-listing__head > * { position: relative; z-index: 1; }
.nwc-dir-listing__titles { flex: 1 1 320px; min-width: 0; }
.nwc-dir .nwc-dir-listing__name { color: #fff; font-size: clamp(26px, 3.6vw, 40px); font-weight: 800; line-height: 1.15; margin: 0 0 8px; }
.nwc-dir-listing__meta { font-size: 15px; margin: 0 0 12px; }
.nwc-dir-listing__meta strong { color: #fff; }
.nwc-dir-listing__head .nwc-dir-badge { background: rgba(255,255,255,.12); color: #fff; }
.nwc-dir-listing__head .nwc-dir-badge--world { background: var(--nwc-d-accent); }
.nwc-dir-listing__head .nwc-dir-badge--featured { background: #f5b400; color: var(--nwc-d-ink); }
.nwc-dir-listing__site { display: inline-flex; align-items: center; min-height: 48px; padding: 10px 26px; background: var(--nwc-d-accent); color: #fff !important; font-weight: 800; border-radius: var(--nwc-radius, 0); text-decoration: none !important; transition: background .2s ease, transform .2s ease; }
.nwc-dir-listing__site:hover { background: #a80d2a; transform: translateY(-2px); }
.nwc-dir-listing__body { padding: clamp(22px, 4vw, 40px); }
.nwc-dir-section { margin: 0 0 26px; }
.nwc-dir-section:last-child { margin-bottom: 0; }
.nwc-dir-section h2 { display: inline-flex; align-items: center; gap: 10px; font-size: 14px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--nwc-d-accent) !important; margin: 0 0 12px !important; }
.nwc-dir-section h2::before { content: ""; width: 26px; height: 3px; border-radius: var(--nwc-radius, 0); background: var(--nwc-d-accent); }
.nwc-dir-section p { font-size: 18px; line-height: 1.7; color: var(--nwc-d-ink); margin: 0 0 10px; }
.nwc-dir-chips, .nwc-dir-links { display: flex; flex-wrap: wrap; gap: 8px; }
.nwc-dir-links a { display: inline-flex; align-items: center; padding: 9px 16px; border: 1.5px solid var(--nwc-d-ink); border-radius: var(--nwc-radius, 0); font-size: 14px; font-weight: 700; color: var(--nwc-d-ink) !important; text-decoration: none !important; }
.nwc-dir-links a:hover { background: var(--nwc-d-ink); color: #fff !important; }
.nwc-dir-related { margin: 0 0 30px; }
.nwc-dir-related__title { font-size: 15px !important; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; color: var(--nwc-d-accent) !important; margin: 0 0 14px !important; }
.nwc-dir-claim { font-size: 14px; color: var(--nwc-d-muted); }

/* Gallery */
.nwc-dir-gallery { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: 10px; }
.nwc-dir-gallery a { display: block; aspect-ratio: 4 / 3; overflow: hidden; border-radius: var(--nwc-radius, 0); }
.nwc-dir-gallery img { width: 100%; height: 100%; object-fit: cover; transition: transform .4s ease; }
.nwc-dir-gallery a:hover img { transform: scale(1.06); }
@media (max-width: 640px) { .nwc-dir-gallery { grid-template-columns: repeat(2, minmax(0, 1fr)); } }

/* Add listing box */
.nwc-dir-add { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: 16px; margin: 30px 0 0; padding: 24px 28px; border-radius: var(--nwc-radius, 0); background: linear-gradient(135deg, rgba(226,19,58,.07), rgba(23,29,41,.04)); border: 2px dashed rgba(226,19,58,.35); }
.nwc-dir-add__text { margin: 0; font-size: 17px; font-weight: 600; color: var(--nwc-d-ink); max-width: 60ch; }
.nwc-dir-add__cta { display: inline-flex; align-items: center; min-height: 46px; padding: 10px 24px; background: var(--nwc-d-ink); color: #fff !important; font-weight: 800; border-radius: var(--nwc-radius, 0); text-decoration: none !important; }
.nwc-dir-add__cta:hover { background: var(--nwc-d-accent); }

@media (max-width: 980px) { .nwc-dir-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media (max-width: 640px) {
	.nwc-dir-grid { grid-template-columns: minmax(0, 1fr); gap: 14px; }
	.nwc-dir-search { flex-wrap: wrap; padding: 8px; gap: 8px; }
	.nwc-dir-search__field { flex-basis: 100%; }
	.nwc-dir .nwc-dir-search__input { padding: 8px 10px !important; font-size: 17px; }
	.nwc-dir .nwc-dir-search__select { flex: 1 1 auto; max-width: none; min-height: 44px; border: 1px solid var(--nwc-d-line) !important; }
	.nwc-dir-search__button { flex: 1 1 auto; min-height: 44px; padding: 0 20px; }
	.nwc-dir-avatar--big { width: 72px; height: 72px; font-size: 19px; }
}
@media (prefers-reduced-motion: reduce) { .nwc-dir * { transition: none !important; } }

/* Search strip on top of a listing (same as the dictionary term pages) */
.nwc-dir-strip { position: relative; z-index: 5; background: var(--nwc-d-ink); border-radius: var(--nwc-radius, 0); border-bottom: 3px solid var(--nwc-d-accent); padding: 20px clamp(16px, 3vw, 28px) 22px; margin: 0 0 18px; }
.nwc-dir-strip::before { content: ""; position: absolute; inset: 0; background: radial-gradient(circle 160px at calc(100% - 40px) 20px, rgba(226,19,58,.45), rgba(226,19,58,0) 70%); pointer-events: none; }
.nwc-dir--rtl .nwc-dir-strip::before { background: radial-gradient(circle 160px at 40px 20px, rgba(226,19,58,.45), rgba(226,19,58,0) 70%); }
