/* Ministerio Juvenil on advenz.com: the honors' and awards' pages and lists, the resources, the section's cards.
   Colours are the Advenz theme's palette (theme.json), with fallbacks. */
.orion-honor, .orion-areas, .mj-crumbs {
	--h-ink: var(--wp--preset--color--ink, #1c2b3a);
	--h-moss: var(--wp--preset--color--blue, #245d94);
	--h-leaf: var(--wp--preset--color--blue, #245d94);
	--h-ember: #d86018;
	--h-sand: var(--wp--preset--color--sky, #eaf2fb);
	--h-line: var(--wp--preset--color--line, #dbe5ef);
	--h-muted: var(--wp--preset--color--muted, #5a6b7d);
}

/* ALPS puts a bullet before every list item of the text (`.text ul:not(…):not(…) li::before`); these lists have their own
   letters, or are not lists to read. Only these: lists in the club's own material keep their bullets. */
.orion-req-list > li::before, .orion-honor-search__results > li::before, .orion-areas__grid > li::before, .orion-area-list__grid > li::before { content: none !important; display: none !important; }
/* …and gives the item a hanging indent for that bullet. */
.orion-req-list > li, .orion-honor-search__results > li, .orion-areas__grid > li, .orion-area-list__grid > li { text-indent: 0 !important; }

/* ---- A honor's page ---------------------------------------------------------------------------- */
.orion-honor__crumbs { display: flex; flex-wrap: wrap; gap: .4rem; align-items: center; margin: 0 0 1.25rem; font-size: .9rem; color: var(--h-muted); }
.orion-honor__crumbs a { color: var(--h-moss); font-weight: 600; text-decoration: none; }
.orion-honor__crumbs a:hover, .orion-honor__crumbs a:focus { text-decoration: underline; }

.orion-honor__head { display: flex; gap: 1.5rem; align-items: center; margin: 0 0 2rem; padding: 1.25rem; background: var(--h-sand); border: 1px solid var(--h-line); border-radius: 12px; }
.orion-honor__badge-head { flex: 0 0 150px; }
.orion-honor__badge-head img { display: block; width: 150px; height: auto; max-width: 100%; margin: 0; filter: drop-shadow(0 2px 3px rgba(30, 37, 25, .3)); }
.orion-honor__info { flex: 1 1 auto; min-width: 0; }
.orion-honor__facts { display: grid; grid-template-columns: repeat(auto-fit, minmax(150px, 1fr)); gap: .9rem 1.5rem; margin: 0; }
.orion-honor__facts > div { margin: 0; }
.orion-honor__facts dt { margin: 0 0 .15rem; font-size: .75rem; font-weight: 700; letter-spacing: .06em; text-transform: uppercase; color: var(--h-muted); }
.orion-honor__facts dd { margin: 0; font-weight: 600; color: var(--h-ink); }
.orion-honor__facts dd a { color: var(--h-moss); text-decoration: none; }
.orion-honor__fact-note { display: block; margin-top: .15rem; font-size: .8rem; font-weight: 400; color: var(--h-muted); }
.orion-honor__swatch { display: inline-block; width: .8em; height: .8em; margin-right: .4em; border-radius: 50%; background: var(--area); box-shadow: 0 0 0 1px rgba(0, 0, 0, .25); vertical-align: -.05em; }
.orion-honor__level { display: inline-flex; gap: .25rem; align-items: center; }
.orion-honor__level > span:last-child { margin-left: .35rem; }
.orion-honor__dot { width: .7rem; height: .7rem; border-radius: 50%; border: 2px solid var(--h-leaf); }
.orion-honor__dot.is-on { background: var(--h-leaf); }
.orion-honor__links { display: flex; flex-wrap: wrap; gap: .5rem; margin: 1rem 0 0; }
.orion-honor__links a { display: inline-block; padding: .4rem .85rem; border: 1.5px solid var(--h-moss); border-radius: 999px; color: var(--h-moss); font-size: .875rem; font-weight: 600; text-decoration: none; }
.orion-honor__links a:hover, .orion-honor__links a:focus { background: var(--h-moss); color: #fff; }

/* The badge is in the header; the copy inside the text is for the lists. An old post's own little badge (the first
   picture of its text) hides when the header has one, and is kept small when it does not. */
.orion-honor--has-badge .orion-honor-sync > .orion-honor__badge,
.orion-honor--has-badge:not(.orion-honor--synced) .orion-honor__body > p:first-child img.size-full { display: none; }
.orion-honor__body > p:first-child img.size-full { display: block; width: auto; max-width: 150px; height: auto; margin: 0 auto 1rem; }
.orion-honor-sync > .orion-honor__badge { margin: 0 auto 1rem; max-width: 160px; }

.orion-honor__heading { margin: 0 0 1rem; }
.orion-honor__reqs p { margin: 0 0 .85rem; }
.orion-req-n { color: var(--h-moss); }
.orion-honor__reqs .orion-req-list { margin: -.35rem 0 1rem 1.6rem; padding: 0; list-style: none; }
/* ALPS sets list items in its sans font; a requirement's sub-items read as part of it, in the text's font. */
.orion-honor__reqs .orion-req-list li { margin: 0 0 .3rem; padding: 0; font-family: inherit; font-size: 1rem; line-height: 1.6; }
.orion-honor__reqs, .orion-honor__reqs .orion-req-list { font-family: inherit; }
.orion-honor__reqs .orion-req-list .orion-req-list { margin: .3rem 0 .3rem 1.4rem; }
.orion-req-section { margin: 1.75rem 0 .75rem; font-size: 1.05rem; letter-spacing: .03em; color: var(--h-moss); }
.orion-req-note { margin: 0 0 1.25rem; padding: .85rem 1rem; background: #fdf6e3; border-left: 4px solid var(--h-ember); border-radius: 6px; }
.orion-req-note p { margin: 0; }
.orion-req-table { margin: 0 0 1.25rem; overflow-x: auto; }
.orion-req-table table { border-collapse: collapse; font-size: .9rem; min-width: 100%; }
.orion-req-table th, .orion-req-table td { padding: .35rem .6rem; border: 1px solid var(--h-line); text-align: center; }
.orion-req-table th { background: var(--h-sand); }
.orion-req-img { max-width: 100%; height: auto; vertical-align: middle; }
.orion-honor__source { margin: 1.5rem 0 0; font-size: .8rem; color: var(--h-muted); }
.orion-honor__club-title { margin-top: 2.5rem; padding-top: 1.5rem; border-top: 1px solid var(--h-line); }

.orion-honor__back { display: flex; flex-wrap: wrap; gap: .5rem 1.5rem; margin: 2.5rem 0 0; padding-top: 1rem; border-top: 1px solid var(--h-line); }
.orion-honor__back a { color: var(--h-moss); font-weight: 600; text-decoration: none; }
.orion-honor__back a:hover, .orion-honor__back a:focus { text-decoration: underline; }

@media (max-width: 600px) {
	.orion-honor__head { flex-direction: column; align-items: stretch; text-align: left; }
	.orion-honor__badge-head { flex-basis: auto; align-self: center; }
	.orion-honor__badge-head img { width: 120px; }
	.orion-honor__facts { grid-template-columns: 1fr 1fr; }
}

/* ---- The areas index ------------------------------------------------------------------------------ */
.orion-areas { margin: 0 0 2rem; }
.orion-honor-search { position: relative; margin: 0 0 1.75rem; }
.orion-honor-search__label { display: block; margin: 0 0 .5rem; font-weight: 700; color: var(--h-ink); }
.orion-honor-search__input { width: 100%; padding: .75rem 1rem; font-size: 1rem; border: 2px solid var(--h-line); border-radius: 10px; background: #fff; color: var(--h-ink); box-sizing: border-box; }
.orion-honor-search__input:focus { outline: none; border-color: var(--h-leaf); box-shadow: 0 0 0 3px rgba(74, 119, 41, .2); }
.orion-honor-search__results { margin: .5rem 0 0; padding: 0; list-style: none; border: 1px solid var(--h-line); border-radius: 10px; overflow: hidden; background: #fff; }
.orion-honor-search__results li { margin: 0; padding: 0; border-top: 1px solid var(--h-line); }
.orion-honor-search__results li:first-child { border-top: 0; }
.orion-honor-search__results a { display: flex; justify-content: space-between; gap: 1rem; padding: .6rem 1rem; color: var(--h-ink); text-decoration: none; }
.orion-honor-search__results a:hover, .orion-honor-search__results a:focus { background: var(--h-sand); }
.orion-honor-search__results a span { color: var(--h-muted); font-size: .85rem; white-space: nowrap; }
.orion-honor-search__empty { margin: .5rem 0 0; color: var(--h-muted); }

.orion-areas__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(220px, 1fr)); gap: 1rem; margin: 0; padding: 0; list-style: none; }
.orion-areas__grid > li { margin: 0; padding: 0; }
.orion-areas__card { display: flex; flex-direction: column; height: 100%; padding: 1rem 1.1rem 1.1rem; border: 1px solid var(--h-line); border-top: 8px solid var(--area); border-radius: 12px; background: #fff; color: var(--h-ink); text-decoration: none; box-sizing: border-box; transition: transform .15s ease, box-shadow .15s ease; }
.orion-areas__card:hover, .orion-areas__card:focus { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(30, 37, 25, .12); }
.orion-areas__name { font-size: 1.1rem; font-weight: 700; line-height: 1.25; }
.orion-areas__count { align-self: flex-start; margin: .5rem 0 .6rem; padding: .15rem .6rem; border-radius: 999px; background: var(--area); color: var(--area-ink); font-size: .8rem; font-weight: 700; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.orion-areas__text { font-size: .9rem; color: var(--h-muted); line-height: 1.45; }
.orion-areas__more { margin: 1.5rem 0 0; }
.orion-areas__more a { color: var(--h-moss); font-weight: 700; }

.orion-honor__old { margin: 0 0 1.5rem; padding: .75rem 1rem; background: #fdf6e3; border-left: 4px solid var(--h-ember, #d86018); border-radius: 6px; font-size: .9rem; }

/* ---- The division selector ---------------------------------------------------------------------------- */
.orion-division { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem .75rem; margin: 0 0 1.25rem; padding: .85rem 1rem; background: var(--h-sand); border: 1px solid var(--h-line); border-radius: 10px; }
.orion-division__label { font-weight: 700; color: var(--h-ink); }
.orion-division__select { flex: 1 1 260px; max-width: 100%; padding: .5rem .75rem; font-size: 1rem; border: 2px solid var(--h-line); border-radius: 8px; background: #fff; color: var(--h-ink); }
.orion-division__select:focus { outline: none; border-color: var(--h-leaf); box-shadow: 0 0 0 3px rgba(74, 119, 41, .2); }
.orion-division__go { padding: .5rem 1rem; border: 0; border-radius: 8px; background: var(--h-moss); color: #fff; font-weight: 700; cursor: pointer; }
.orion-division__note { flex-basis: 100%; margin: 0; font-size: .875rem; color: var(--h-muted); }

/* ---- An area's honors ------------------------------------------------------------------------------------ */
.orion-area-list__bar { display: flex; flex-wrap: wrap; gap: .5rem 1rem; align-items: center; margin: 0 0 1rem; }
.orion-area-list__bar .orion-honor-search__input { flex: 1 1 240px; width: auto; }
.orion-area-list__count { white-space: nowrap; color: var(--h-muted); font-size: .875rem; }
.orion-area-list__grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(150px, 1fr)); gap: .75rem; margin: 0; padding: 0; list-style: none; }
.orion-area-list__grid > li { margin: 0; padding: 0; }
.orion-area-list__grid > li[hidden] { display: none; }
.orion-area-list__item a { display: flex; flex-direction: column; height: 100%; border: 1px solid var(--h-line); border-radius: 10px; overflow: hidden; background: #fff; color: var(--h-ink); text-decoration: none; transition: transform .15s ease, box-shadow .15s ease; }
.orion-area-list__item a:hover, .orion-area-list__item a:focus { transform: translateY(-2px); box-shadow: 0 6px 18px rgba(30, 37, 25, .12); }
.orion-area-list__picture { display: flex; align-items: center; justify-content: center; aspect-ratio: 1 / 1; padding: .9rem; background: var(--h-sand); border-bottom: 3px solid var(--area, var(--h-leaf)); box-sizing: border-box; }
.orion-area-list__picture img { width: auto; height: auto; max-width: 100%; max-height: 100%; margin: 0; object-fit: contain; filter: drop-shadow(0 2px 3px rgba(30, 37, 25, .25)); }
.orion-area-list__title { padding: .6rem .75rem .75rem; font-size: .9rem; font-weight: 600; line-height: 1.3; }
.orion-area-list__none, .orion-area-list__empty { color: var(--h-muted); }
@media (max-width: 600px) {
	.orion-area-list__grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}

/* ---- Adventurers' awards: an award's page ------------------------------------------------------------------- */
/* Numbered requirements with lettered options. ALPS draws its own bullet before list items and indents them for it;
   these lists use the browser's numbers instead. */
.orion-adv__reqs li::before, .orion-adv__options li::before, .orion-adv-cats > li::before, .orion-adv-others > li::before { content: none !important; display: none !important; }
.orion-adv__reqs, .orion-adv__options, .orion-adv-cats > li, .orion-adv-others > li { text-indent: 0 !important; }
.orion-honor__reqs .orion-adv__reqs { margin: 0 0 1rem 1.75rem; padding: 0; list-style: decimal outside; }
.orion-honor__reqs .orion-adv__reqs > li { margin: 0 0 .65rem; padding-left: .3rem; font-size: 1rem; line-height: 1.6; list-style: decimal outside; text-indent: 0 !important; }
.orion-honor__reqs .orion-adv__reqs > li::marker { color: var(--h-moss); font-weight: 700; }
.orion-honor__reqs .orion-adv__options { margin: .35rem 0 .25rem 1.5rem; padding: 0; list-style: lower-alpha outside; }
.orion-honor__reqs .orion-adv__options > li { margin: 0 0 .25rem; padding-left: .2rem; font-size: 1rem; line-height: 1.55; list-style: lower-alpha outside; text-indent: 0 !important; }
/* ALPS gives every element its sans font (`*`) and sets each list item's own numbering; the text of an award reads in
   the post's serif, like a JA honor's requirements. */
.orion-adv__body, .orion-adv__body *, .orion-adv__help, .orion-adv__help *, .orion-adv .orion-req-note { font-family: inherit; }
.orion-adv .orion-req-note { margin: 0 0 1.25rem !important; padding: .85rem 1rem; background: #fdf6e3; border-left: 4px solid var(--h-ember); border-radius: 6px; }
.orion-adv__help-heading { margin-top: 2.25rem !important; padding-top: 1.5rem; border-top: 1px solid var(--h-line); }
.orion-adv__help { font-size: .95rem; }
.orion-adv__help > ol, .orion-adv__help > ul { margin: 0 0 1rem 1.6rem; padding: 0; }
.orion-adv__help > ol { list-style: decimal outside; }
.orion-adv__help > ol > li::before { content: none !important; display: none !important; }
.orion-adv__help > ol > li { list-style: decimal outside; text-indent: 0 !important; }
.orion-adv__help li { margin: 0 0 .55rem; line-height: 1.6; }
.orion-adv__help li > ul, .orion-adv__help li > ol { margin: .4rem 0 .25rem 1rem; }
.orion-adv__help p { margin: 0 0 .85rem; }
.orion-honor--adv .orion-honor__badge-head img { width: 170px; }

/* ---- Adventurers' awards: the index --------------------------------------------------------------------------- */
.orion-adv-classes { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; margin: 0 0 1rem; padding: .85rem 1rem; background: var(--h-sand); border: 1px solid var(--h-line); border-radius: 10px; }
.orion-adv-classes__label { margin-right: .25rem; font-weight: 700; color: var(--h-ink); }
.orion-adv-classes__chip { display: inline-flex; align-items: baseline; gap: .35rem; padding: .35rem .8rem; border: 1.5px solid var(--h-line); border-radius: 999px; background: #fff; color: var(--h-ink); font-size: .9rem; font-weight: 600; text-decoration: none; }
.orion-adv-classes__chip small { font-size: .78rem; font-weight: 400; color: var(--h-muted); }
.orion-adv-classes__chip:hover, .orion-adv-classes__chip:focus { border-color: var(--h-moss); }
.orion-adv-classes__chip.is-on { background: var(--h-moss); border-color: var(--h-moss); color: #fff; }
.orion-adv-classes__chip.is-on small { color: rgba(255, 255, 255, .85); }
.orion-adv-classes__note { flex-basis: 100%; margin: .25rem 0 0; font-size: .875rem; color: var(--h-muted); }
.orion-adv-cats { display: flex; flex-wrap: wrap; gap: .5rem; margin: 0 0 1.75rem; padding: 0; list-style: none; }
.orion-adv-cats > li { margin: 0; padding: 0; }
.orion-adv-cats[hidden] { display: none; }
.orion-adv-cats a { display: inline-flex; align-items: center; gap: .45rem; padding: .35rem .85rem; border-radius: 999px; background: var(--area); color: var(--area-ink); font-size: .9rem; font-weight: 700; text-decoration: none; box-shadow: 0 0 0 1px rgba(0, 0, 0, .12); }
.orion-adv-cats a span { padding: 0 .45rem; border-radius: 999px; background: rgba(255, 255, 255, .3); font-size: .8rem; }
.orion-adv-cats a:hover, .orion-adv-cats a:focus { filter: brightness(1.08); }
.orion-adv-cat { margin: 0 0 2.5rem; scroll-margin-top: 100px; }
.orion-adv-cat[hidden] { display: none; }
.orion-adv-cat__title { margin: 0 0 .3rem; padding-left: .75rem; border-left: 6px solid var(--area, var(--h-leaf)); line-height: 1.2; }
.orion-adv-cat__text { margin: 0 0 1rem; color: var(--h-muted); }
.orion-adv-index .orion-area-list__title { padding-bottom: .3rem; }
.orion-adv__class { margin-top: auto; padding: 0 .75rem .7rem; font-size: .78rem; color: var(--h-muted); }
.orion-adv-others { margin: 0; padding: 0 0 0 1.25rem; }
.orion-adv-others > li { margin: 0 0 .35rem; }
.orion-adv-others > li[hidden] { display: none; }
.orion-adv-others a { color: var(--h-moss); font-weight: 600; }

/* ---- The section's pages ---------------------------------------------------------------------------------- */
.mj-crumbs { margin: 0 0 1.5rem; }
.mj-lead { font-size: 1.15rem; line-height: 1.6; }
.mj-note { padding: .85rem 1.1rem; background: var(--wp--preset--color--sky, #eaf2fb); border-left: 4px solid var(--wp--preset--color--blue, #245d94); border-radius: 6px; font-size: .95em; }
.mj-pages { margin: 0 0 2rem; }
.mj-pages .orion-areas__card { border-top-color: var(--wp--preset--color--blue, #245d94); }
.mj-pages .orion-areas__name { font-family: var(--wp--preset--font-family--serif, inherit); }

/* ---- Resources ------------------------------------------------------------------------------------------- */
.mj-resources__list { display: grid; gap: .85rem; margin: 0; padding: 0; list-style: none; }
.mj-resources__item { margin: 0; padding: 0; }
.mj-resources__item a { display: flex; gap: 1rem; align-items: flex-start; padding: .9rem; border: 1px solid var(--h-line); border-radius: 12px; background: #fff; color: var(--h-ink); text-decoration: none; transition: box-shadow .15s ease, transform .15s ease; }
.mj-resources__item a:hover, .mj-resources__item a:focus { transform: translateY(-1px); box-shadow: 0 6px 18px rgba(20, 52, 79, .12); }
.mj-resources__picture { flex: 0 0 96px; height: 96px; display: flex; align-items: center; justify-content: center; border-radius: 8px; background: var(--h-sand); overflow: hidden; }
.mj-resources__picture img { max-width: 100%; max-height: 100%; width: auto; height: auto; object-fit: contain; }
.mj-resources__body { display: flex; flex-direction: column; gap: .3rem; min-width: 0; }
.mj-resources__title { font-weight: 700; line-height: 1.3; }
.mj-resources__text { font-size: .92rem; color: var(--h-muted); line-height: 1.45; }
.mj-resources__tags { font-size: .8rem; font-weight: 600; color: var(--h-moss); }
@media (max-width: 520px) {
	.mj-resources__picture { flex-basis: 64px; height: 64px; }
}
