.channel-catalogue-page [hidden], .channel-category-overview [hidden] { display: none !important; }
.channel-shortlist { padding: 1.4rem; margin: 1.5rem 0; background: #fff; border: 1px solid #cbd5de; border-radius: 1.25rem; scroll-margin-top: 7rem; }
.channel-shortlist h2 { font-size: clamp(1.3rem, 3vw, 1.75rem); margin: 0 0 .6rem; }
.channel-shortlist > p { max-width: 75ch; line-height: 1.65; }
.channel-shortlist [role="status"] { font-weight: 800; }
.channel-shortlist ul { list-style: none; padding: 0; display: flex; flex-wrap: wrap; gap: .6rem; }
.channel-shortlist li { display: flex; align-items: center; flex-wrap: wrap; gap: .5rem; max-width: 100%; padding: .55rem .8rem; border-radius: .8rem; background: #edf3f6; }
.channel-shortlist li span { overflow-wrap: anywhere; }
.channel-shortlist li button { background: transparent; border: 0; padding: .3rem; text-decoration: underline; cursor: pointer; font: inherit; color: #153b41; }
.shortlist-actions { display: flex; align-items: center; flex-wrap: wrap; gap: .8rem; margin: 1rem 0; }
.shortlist-plan { max-width: 40rem; margin-top: 1rem; }
.shortlist-plan label { display: block; margin-bottom: .45rem; font-weight: 750; }
.shortlist-plan select { width: 100%; min-height: 48px; padding: .7rem; border: 1px solid #7d9298; border-radius: .5rem; background: white; color: var(--text-dark); font: inherit; }
.shortlist-plan a { text-decoration: underline; text-underline-offset: .2em; }
.shortlist-plan select:focus-visible { outline: 3px solid #427086; outline-offset: 3px; }
.catalogue-entry-count { display: block; margin-bottom: .35rem; font-weight: 700; }
.catalogue-category-guide dd a { display: inline-block; margin-top: .35rem; text-decoration: underline; text-underline-offset: .2em; font-weight: 700; }
.channel-selection-button { margin-top: auto; padding: .65rem .7rem; min-height: 44px; width: 100%; font: inherit; font-size: .85rem; font-weight: 750; border: 1px solid #b8c6ce; border-radius: .65rem; background: #f4f8fa; color: #152731; cursor: pointer; }
.channel-selection-button[aria-pressed="true"] { background: #dcf7c2; border-color: #83ac56; color: #173620; }
.channel-shortlist button:focus-visible, .channel-selection-button:focus-visible, .channel-shortlist [tabindex]:focus { outline: 3px solid #427086; outline-offset: 3px; }
.catalogue-hero { padding: calc(var(--header-h) + 2rem) 0 3.5rem; background: radial-gradient(ellipse at 90% 0%, #153d36 0%, transparent 55%), var(--ink); }
.catalogue-hero-grid { display: grid; grid-template-columns: minmax(0, 1.55fr) minmax(0, .8fr); align-items: end; gap: 4rem; margin-top: 2rem; }
.catalogue-hero h1 { margin: .8rem 0 1.3rem; font-size: clamp(2.5rem, 5.8vw, 4.8rem); line-height: 1.06; letter-spacing: -.045em; }
.catalogue-hero h1 span { color: var(--lime); }
.catalogue-hero .lead { max-width: 48rem; color: #c2cfd4; font-size: 1.13rem; }
.catalogue-hero-link { display: inline-flex; gap: 2rem; align-items: center; margin-top: .5rem; color: var(--lime); font-weight: 700; }
.catalogue-note { padding: 1.7rem; border: 1px solid #4e6a65; border-radius: 1rem; background: #ffffff05; }
.catalogue-note p { margin: 0 0 1rem; font-size: .96rem; color: #c2cfd4; }
.catalogue-note .catalogue-note-label { color: var(--lime); font-size: .76rem; text-transform: uppercase; letter-spacing: .09em; font-weight: 700; }
.catalogue-note time { display: block; margin-top: .35rem; color: #c2cfd4; text-transform: none; letter-spacing: normal; font-weight: 400; }
.catalogue-note a { color: white; text-decoration: underline; text-underline-offset: .25em; font-weight: 700; }
.catalogue-body { padding: 3.5rem 0 4.5rem; color: var(--text-dark); background: var(--paper); }
.catalogue-body h2 { font-size: clamp(1.6rem, 3vw, 2.2rem); margin: 0 0 1.5rem; letter-spacing: -.03em; }
.channel-filters { margin: 0; padding: 1.5rem; border: 1px solid #c9d6d9; border-radius: 1rem; background: #fff; }
.channel-search-row { display: grid; grid-template-columns: minmax(0, 1.5fr) minmax(0, 1fr) auto; align-items: end; gap: 1rem; }
.channel-search-row label { display: block; font-size: .85rem; font-weight: 700; margin-bottom: .4rem; }
.channel-search-row input, .channel-search-row select { width: 100%; min-height: 3rem; padding: .65rem .8rem; border: 1px solid #7d9298; border-radius: .5rem; background: white; color: var(--text-dark); }
.channel-search-row select { padding-right: 1.8rem; }
.channel-reset { min-height: 3rem; border: 1px solid #bccacc; border-radius: .5rem; background: #eaf0f1; padding: .65rem 1rem; color: #213d48; font-weight: 700; }
.channel-filters fieldset { padding: 0; border: 0; margin: 1.3rem 0 0; min-width: 0; }
.channel-filters legend { padding: 0; margin-bottom: .55rem; font-size: .85rem; font-weight: 700; }
.category-pills { display: flex; flex-wrap: wrap; gap: .45rem; }
.category-pills button { border: 1px solid #bccacc; background: white; border-radius: 2rem; padding: .6rem .85rem; min-height: 2.75rem; color: #314e59; font-size: .85rem; font-weight: 600; }
.category-pills button[aria-pressed="true"] { background: var(--ink); color: var(--lime); border-color: var(--ink); }
.catalogue-body :focus-visible { outline-color: #236d49; }
.catalogue-help { color: #4c6470; font-size: .86rem; max-width: 85ch; }
.catalogue-list-heading { display: flex; justify-content: space-between; align-items: center; gap: 1rem; margin: 1.8rem 0 1rem; }
.catalogue-list-heading p { margin: 0; font-weight: 700; }
.catalogue-list-heading > span { color: #57717c; font-size: .75rem; letter-spacing: .1em; }
.channel-list { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .9rem; padding: 0; margin: 0; list-style: none; }
.channel-card { display: flex; flex-direction: column; min-width: 0; padding: 1.2rem; background: #fff; border: 1px solid #d1dcdf; border-radius: .85rem; }
.channel-card-top { display: flex; justify-content: space-between; align-items: start; gap: .5rem; }
.channel-monogram { display: grid; place-items: center; flex: 0 0 2.6rem; height: 2.6rem; color: #1b5135; background: #e9f6dd; border-radius: .6rem; font-weight: 800; font-size: .9rem; letter-spacing: -.05em; }
.channel-country { max-width: 13ch; color: #526d78; font-size: .7rem; line-height: 1.5; text-align: right; }
.channel-card h3 { color: #102c39; font-size: 1.04rem; line-height: 1.35; margin: 1rem 0 .4rem; overflow-wrap: anywhere; }
.channel-card > p { margin: 0 0 1.1rem; color: #506c77; font-size: .78rem; }
.channel-enquiry { margin-top: auto; padding-top: .75rem; border-top: 1px solid #e0e8eb; color: #166044; font-weight: 700; font-size: .82rem; text-decoration: underline; text-underline-offset: .2em; }
.catalogue-empty { padding: 2rem; border: 1px dashed #92a9ad; border-radius: .8rem; background: #fff; }
.catalogue-selection-note { margin-top: 1.6rem; }
.catalogue-next { padding: 3.5rem 0; }
.catalogue-next > .container { display: flex; justify-content: space-between; align-items: center; gap: 3rem; }
.catalogue-next h2 { font-size: clamp(1.8rem, 3.5vw, 2.7rem); line-height: 1.15; margin: 0 0 1rem; }
.catalogue-next p { color: #a8bfc8; max-width: 42rem; }
.catalogue-next-actions { display: flex; flex-direction: column; gap: 1rem; flex-shrink: 0; }
.catalogue-next-actions .text-link { text-align: center; }
.channel-category-overview { margin: 2rem 0 0; padding-top: 2rem; border-top: 1px solid #ffffff25; }
.channel-category-overview h3 { font-size: clamp(1.35rem, 2.5vw, 1.8rem); margin: 0 0 .6rem; }
.channel-category-overview > p { color: #b2c4ce; max-width: 65ch; }
.channel-category-grid { display: grid; grid-template-columns: repeat(4, minmax(0, 1fr)); gap: .75rem; margin: 1.2rem 0; }
.channel-category-grid a { min-width: 0; display: flex; flex-direction: column; padding: 1.2rem; border: 1px solid #ffffff30; border-radius: .75rem; background: #ffffff04; transition: border-color .15s; }
.channel-category-grid a:hover { border-color: var(--lime); }
.channel-category-grid strong { color: #eef5f7; line-height: 1.35; font-size: 1rem; }
.channel-category-grid span { color: #a9bec7; font-size: .77rem; margin-top: .55rem; }
.catalogue-faq-link { padding-bottom: 1.8rem; }
.catalogue-category-guide { margin: 0 0 1.2rem; border: 1px solid #c9d6d9; border-radius: .75rem; background: #fff; }
.catalogue-category-guide > summary { padding: 1rem 1.2rem; cursor: pointer; font-weight: 700; color: #204936; }
.catalogue-category-guide dl { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 1.5rem; padding: 0 1.2rem 1.2rem; margin: 0; }
.catalogue-category-guide dt { font-weight: 750; color: #123543; }
.catalogue-category-guide dd { margin: .4rem 0 0; font-size: .88rem; color: #4c6470; }
.catalogue-faq { margin-top: 3rem; padding-top: 2rem; border-top: 1px solid #c9d6d9; }
.catalogue-faq > p a { text-decoration: underline; text-underline-offset: .2em; }
.pricing-page-link a { text-decoration: underline; text-underline-offset: .2em; font-weight: 650; }
@media(max-width: 700px) { .catalogue-category-guide dl { grid-template-columns: 1fr; } }
@media(max-width: 1000px) { .channel-list { grid-template-columns: repeat(3, minmax(0, 1fr)); } .catalogue-hero-grid { gap: 2rem; } .channel-category-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); } }
@media(max-width: 700px) { .catalogue-hero { padding-top: calc(var(--header-h) + 1rem); } .catalogue-hero-grid { grid-template-columns: 1fr; } .catalogue-note { padding: 1.2rem; } .channel-search-row { grid-template-columns: 1fr; gap: .8rem; } .channel-reset { justify-self: start; } .channel-filters { padding: 1rem; } .channel-list { grid-template-columns: repeat(2, minmax(0, 1fr)); gap: .65rem; } .channel-card { padding: .9rem; } .catalogue-body { padding: 2.3rem 0; } .catalogue-list-heading { align-items: start; } .catalogue-list-heading > span { max-width: 9ch; } .catalogue-next > .container { display: block; } .catalogue-next-actions { margin-top: 1.5rem; align-items: start; } .channel-category-grid a { padding: 1rem; } }
@media(prefers-reduced-motion: reduce) { .channel-category-grid a { transition: none; } }
