
/* Shared searchable control: native select remains the form value and fallback. */
.public-page-content .bf-select{position:relative;display:flex;align-items:center;gap:4px;box-sizing:border-box;width:100%;min-width:0;height:44px;min-height:44px;border:0;background:transparent;color:var(--public-ink);cursor:text}
.public-page-content .bf-select>input.bf-select-input[type=text],.public-page-content .bf-select>input.bf-select-input[type=text]:is(:focus,:focus-visible,:disabled){flex:1 1 0%;display:block;width:0;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;color:inherit;font:inherit;font-size:15px;line-height:1.6;text-overflow:ellipsis;cursor:inherit}
.public-page-content .bf-select-input::placeholder{color:var(--public-muted);opacity:1}
.public-page-content .bf-select>button{display:grid;place-items:center;flex:0 0 28px;width:28px;height:36px;min-height:36px;margin:0;padding:0;border:0;border-radius:4px;background:transparent;color:var(--public-green);font:inherit;cursor:pointer}
.public-page-content .bf-select>.bf-select-clear{font-size:22px;color:var(--public-muted)}
.public-page-content .bf-select>.bf-select-clear:hover{background:#2c645b0a;color:#b33730}
.public-page-content .bf-select>.bf-select-arrow::before{content:"";width:7px;height:7px;margin-block-start:-4px;border:solid currentColor;border-width:0 1.7px 1.7px 0;transform:rotate(45deg);transition:transform .15s}
.public-page-content .bf-select.is-open>.bf-select-arrow::before{transform:rotate(225deg);margin-block-start:4px}
.public-page-content .public-select:has(.bf-select)>.cat-select-arrow,.public-page-content .public-select--compact:has(.bf-select)>.cat-select-arrow{display:none}
.public-page-content .public-select--compact>.bf-select{height:48px;min-height:48px;padding-inline:14px;border:1px solid #ccd6ce;border-radius:6px;background:var(--public-surface);color:var(--public-green)}
.public-page-content .public-select--compact>.bf-select:focus-within{border-color:var(--public-green);box-shadow:0 0 0 3px #2c645b12}
.public-page-content .bf-select.is-disabled{opacity:.6;cursor:not-allowed}
.bf-select-popup--public{position:fixed;inset:auto;z-index:10060;box-sizing:border-box;max-width:calc(100vw - 16px);margin:0;padding:5px;border:1px solid #ccd6ce;border-radius:7px;background:#fcfaf5;color:#203b35;box-shadow:0 12px 32px #203b3526;text-align:start;overflow:hidden}
.bf-select-popup--public[hidden]{display:none!important}
.bf-select-popup--public:popover-open{animation:public-select-enter .14s ease-out}
.bf-select-popup--public .bf-select-results{max-height:280px;overflow-y:auto;overflow-x:hidden;overflow-anchor:none;overscroll-behavior:contain;scrollbar-width:thin;scrollbar-color:#a6b4a6 #f6f1e8}
.bf-select-popup--public .bf-select-window{margin:0;padding-inline:0}
.bf-select-popup--public .bf-select-option{display:flex;align-items:center;justify-content:space-between;gap:12px;box-sizing:border-box;min-width:0;min-height:44px;height:auto;padding:10px 12px;border-radius:4px;font-size:13px;line-height:1.8;white-space:normal;overflow-wrap:anywhere;cursor:pointer}
.bf-select-popup--public .bf-select-option.is-active{background:#f0eee4;color:#2c645b}
.bf-select-popup--public .bf-select-option[aria-selected=true]{background:#e5eee4;color:#234e43;font-weight:600}
.bf-select-popup--public .bf-select-option[aria-selected=true]::after{content:"";flex:none;width:5px;height:10px;margin-inline:3px;border:solid #2c645b;border-width:0 1.6px 1.6px 0;transform:rotate(45deg)}
.bf-select-popup--public .bf-select-option[aria-disabled=true]{opacity:.5;cursor:not-allowed}
.bf-select-popup--public .bf-select-status{margin-block-start:5px;padding:8px 12px;border-block-start:1px solid #e3e0d5;color:#617369;font-size:11px;line-height:1.7}
@keyframes public-select-enter{from{opacity:0;transform:translateY(-3px)}to{opacity:1;transform:translateY(0)}}
@media(max-width:700px){.public-page-content .bf-select>input.bf-select-input[type=text],.public-page-content .bf-select>input.bf-select-input[type=text]:is(:focus,:focus-visible,:disabled){font-size:16px}}
@media(prefers-reduced-motion:reduce){.bf-select-popup--public:popover-open{animation:none}}
@media(forced-colors:active){.public-field{border-color:ButtonText}.bf-select-popup--public{border-color:ButtonText;background:Canvas;color:CanvasText}.bf-select-popup--public .bf-select-option:is(.is-active,[aria-selected=true]){forced-color-adjust:none;background:Highlight;color:HighlightText}}
/* Catalogue is the reference for every internal public section. Homepage/shell stay untouched. */
.public-page-content{--public-paper:#f8f4ed;--public-surface:#fcfaf5;--public-stripe:#f6f1e8;--public-card:#f4eee4;--public-green:#2c645b;--public-ink:#203b35;--public-muted:#617369;--public-line:#ded7cb;background:var(--public-paper);color:var(--public-ink)}
.public-page-content:focus{outline:0}
html.public-modal-open{overflow:hidden;scrollbar-gutter:stable}
.public-page-content .container,.public-page-content .public-section-header,.public-page-content .article-detail{box-sizing:border-box;width:calc(100% - 48px);max-width:1296px;margin-inline:auto}
.public-page-content .page-body,.public-page-content .professional-public-body{padding-block:0 64px;min-height:19rem}
.public-page-content .public-section-header.is-embedded{width:100%;max-width:none;margin:0}
.public-breadcrumb{display:flex;align-items:center;flex-wrap:wrap;gap:12px;padding-block-start:28px;font-size:13px;line-height:1.8;color:var(--public-muted)}
.public-breadcrumb a{color:inherit;text-decoration:none}.public-breadcrumb a:hover{color:var(--public-green);text-decoration:underline;text-underline-offset:4px}
.public-breadcrumb [aria-current]{color:var(--public-green)}
.public-section-intro{display:flex;align-items:center;justify-content:space-between;gap:48px;padding-block:32px 40px}
.public-section-copy{min-width:0;flex:1}
.public-kicker{display:flex;align-items:center;gap:12px;font-size:13px;line-height:1.8;color:var(--public-green)}
.public-kicker img{width:27px;height:16px;object-fit:contain}
.public-page-content .public-section-copy h1{font-family:URW,Arial,sans-serif;font-size:clamp(36px,4vw,56px);font-weight:500;line-height:1.55;color:var(--public-green);margin:6px 0;overflow-wrap:anywhere}
.public-section-copy h1>span{color:#c9382a}
.public-section-description{font-size:16px;line-height:1.9;color:var(--public-muted);white-space:pre-line;margin:8px 0 0;overflow-wrap:anywhere}
.public-section-date{display:flex;align-items:center;gap:8px;margin:16px 0 0;font-size:13px;color:var(--public-muted)}.public-section-date svg{width:17px;height:17px}
.public-section-art{direction:rtl;position:relative;flex:0 0 290px;padding:16px 46px;text-align:center;transform:rotate(-3deg)}
.public-section-art>p{font-size:27px;line-height:1.9;color:var(--public-green);white-space:nowrap}.public-section-art>p span{color:#c9382a}
.public-quote-open,.public-quote-close{position:absolute;width:33px;height:51px;object-fit:contain}.public-quote-open{right:0;top:0}.public-quote-close{left:0;bottom:4px}
.public-page-content .public-filter-panel{padding:24px;margin:0 0 32px;border:1px solid var(--public-line);border-top:3px solid var(--public-green);border-radius:6px;background:#fbf8f2}
.public-filter-heading{display:flex;justify-content:space-between;align-items:center;gap:20px;margin-block-end:20px}.public-filter-heading h2{font-size:20px;font-weight:600;color:var(--public-green)}.public-filter-heading>span{font-size:13px;color:var(--public-muted);line-height:1.8}
.public-fields{display:flex;flex-wrap:wrap;align-items:flex-start;gap:16px}
.public-fields>.public-field{flex:1 1 calc(33.333% - 11px)}.public-fields--two>.public-field{flex-basis:calc(50% - 8px)}
.public-field{min-width:0;padding:10px 14px;border:1px solid #ccd6ce;border-radius:6px;background:var(--public-paper);transition:border-color .15s,box-shadow .15s}
.public-field:focus-within{border-color:var(--public-green);box-shadow:0 0 0 3px #2c645b12}
.public-page-content .public-filter-panel .public-field{box-sizing:border-box;align-self:flex-start;height:86px;min-height:86px;max-height:86px;aspect-ratio:auto}
.public-page-content .public-filter-panel .public-field>label{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.public-page-content .public-field>label{display:block;font-size:12px;line-height:1.6;font-weight:500;color:var(--public-muted);margin:0}
.public-input,.public-select{position:relative;display:flex;align-items:center;gap:8px;min-width:0;min-height:44px}
.public-page-content .public-field>.public-input>input,.public-page-content .public-field>.public-select>select,.public-page-content .public-field>input{
 display:block;box-sizing:border-box;width:100%;min-width:0;max-width:100%;height:44px;min-height:44px;margin:0;padding:6px 0;border:0;border-radius:0;background:transparent;background-image:none;color:var(--public-ink);font:inherit;font-size:15px;line-height:1.6;box-shadow:none;
}
.public-page-content .public-field>.public-select>select{appearance:none;padding-inline-end:28px;text-overflow:ellipsis;cursor:pointer}
.public-page-content .public-filter-panel .public-field>.public-input>input,
.public-page-content .public-filter-panel .public-field>.public-input>input:is(:focus,:focus-visible,:disabled,[readonly]){appearance:none;-webkit-appearance:none;border:0;border-radius:0;background:transparent;box-shadow:none;outline:0;height:44px;min-height:44px;max-height:44px;padding:6px 0}
.public-page-content .public-field :is(input,select):focus-visible{outline:0;box-shadow:none}
.public-field input::placeholder{color:#7a877e;opacity:1;font-size:14px}
.public-select>.cat-select-arrow{position:absolute;inset-inline-end:0;top:14px;width:17px;height:17px;pointer-events:none;color:var(--public-green)}
.public-select>.cat-select-arrow svg{display:block;width:100%;height:100%}
.public-filter-actions{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;margin-block-start:20px}
.public-filter-actions>p{font-size:12px;color:var(--public-muted)}.public-filter-actions>div{display:flex;align-items:center;gap:10px}
.public-page-content .public-button{display:inline-flex;align-items:center;justify-content:center;gap:12px;min-height:46px;box-sizing:border-box;padding:10px 20px;margin:0;border:1px solid var(--public-line);border-radius:5px;background:transparent;color:var(--public-green);font:inherit;font-size:14px;line-height:1.6;text-decoration:none;cursor:pointer}
.public-page-content .public-button.is-primary{background:var(--public-green);color:#fff;border-color:var(--public-green);min-width:112px}
.public-page-content .public-button:hover{border-color:var(--public-green);background:#2c645b06}.public-page-content .public-button.is-primary:hover{background:#24564f}
.public-button svg{width:18px;height:18px;flex:none}
.public-filter-actions>div{margin-inline-start:auto}
.public-page-content .public-search{display:flex;align-items:center;gap:16px;flex-wrap:wrap}
.public-page-content .public-programme-filters.public-search{display:block}
.public-search>.public-field{flex:1 1 320px}.public-search-actions{display:flex;align-items:center;gap:10px;flex-wrap:wrap}
.public-search-summary{display:flex;align-items:center;gap:10px;flex-wrap:wrap;margin:0 0 20px;color:var(--public-muted);font-size:14px;line-height:1.8;overflow-wrap:anywhere}
.public-search-summary>bdi{color:var(--public-green)}.public-search-summary>span{border-inline-start:1px solid var(--public-line);padding-inline-start:10px;font-variant-numeric:tabular-nums}
@media(max-width:700px){.public-search>.public-field{flex-basis:100%}.public-search-actions{width:100%;justify-content:flex-end}.public-search-actions .public-button{flex:1}}
.public-page-content :is(a,button,input,select,summary):focus-visible{outline:2px solid var(--public-green);outline-offset:3px}
.public-results-toolbar{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:18px;margin-block:0 14px}
.public-results-title{display:flex;align-items:center;flex-wrap:wrap;gap:14px;min-width:0}.public-results-title h2{font-size:23px;line-height:1.6;font-weight:600;color:var(--public-green)}
.public-results-count{font-size:13px;line-height:1.8;color:var(--public-muted);font-variant-numeric:tabular-nums}.public-results-title .public-results-count{border-inline-start:1px solid var(--public-line);padding-inline-start:14px;white-space:nowrap}
.public-page-content .public-card{box-sizing:border-box;min-width:0;overflow:hidden;border:1px solid var(--public-line);border-radius:6px;background:var(--public-card);box-shadow:none;color:var(--public-ink)}
.public-page-content .public-dialog{box-sizing:border-box;height:fit-content;min-height:0;max-width:calc(100% - 32px);max-height:calc(100dvh - 32px);border:1px solid var(--public-line);border-radius:4px;background:var(--public-paper);color:var(--public-ink);font:inherit;overflow:auto;overscroll-behavior:contain;box-shadow:0 18px 80px #142e2940}
.public-dialog::backdrop{background:#142e2999;backdrop-filter:blur(3px)}
.public-dialog-close{position:absolute;left:14px;right:auto;top:14px;z-index:2}
.public-page-content a.public-card:hover{border-color:var(--public-green);box-shadow:none}
.public-page-content .public-card :is(h2,h3){color:var(--public-green);font-weight:600;line-height:1.7;overflow-wrap:anywhere}
.public-page-content .public-message,.public-page-content .pending-content,.public-page-content .program-message{box-sizing:border-box;width:100%;max-width:none;margin:0;padding:32px 24px;border:1px solid var(--public-line);border-radius:6px;background:var(--public-surface);color:var(--public-muted);text-align:start;line-height:1.9}
.public-page-content .public-supplement{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:20px;margin:0 0 28px;padding:20px;border:1px solid var(--public-line);border-radius:6px;background:var(--public-surface)}
.public-page-content .public-prose{max-width:900px;margin-inline:0;font-size:17px;line-height:2;white-space:pre-line}
.public-page-content .formatted-content{margin-inline:0}
.public-page-content .public-pagination{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:16px;padding:18px 20px;margin-block-start:28px;border:1px solid var(--public-line);border-radius:6px;background:var(--public-stripe)}
.public-page-content .public-pagination-summary,.public-page-content .public-list-summary{margin:0;color:var(--public-muted);font-size:13px;line-height:1.8}
.public-pagination-links{display:flex;align-items:center;justify-content:center;flex-wrap:wrap;gap:6px;list-style:none;margin:0;padding:0}.public-pagination-links li{display:flex;align-items:center;justify-content:center;margin:0;padding:0}
.public-page-content .public-pagination-links :is(a,button,span.is-current,span.is-disabled){display:inline-flex;align-items:center;justify-content:center;gap:8px;min-width:38px;min-height:38px;padding:6px 10px;box-sizing:border-box;border:1px solid transparent;border-radius:4px;background:transparent;color:var(--public-green);font:inherit;font-size:14px;line-height:1.25;text-decoration:none;box-shadow:none}
.public-page-content .public-pagination-links :is(a,button:not(:disabled)):hover{border-color:var(--public-green)}.public-page-content .public-pagination-links :is(.is-current,[aria-current=page]){background:var(--public-green);color:#fff}.public-page-content .public-pagination-links :is(.is-disabled,button:disabled){opacity:.4;cursor:default}
.public-pagination-gap{min-width:20px;color:var(--public-muted)}.public-pagination svg{width:17px;height:17px;flex:none;fill:none;stroke:currentColor;stroke-width:1.8;stroke-linecap:round;stroke-linejoin:round}html[dir=rtl] .public-pagination svg{transform:rotate(180deg)}
.public-page-content .public-table-panel>.public-pagination{margin:0;border:0;border-block-start:1px solid var(--public-line);border-radius:0}
.public-page-content .public-table-panel.is-cards>.public-pagination{margin-block-start:24px;border:1px solid var(--public-line);border-radius:6px}
.public-page-content .public-table-panel>.public-list-summary{padding:18px 20px;border-block-start:1px solid var(--public-line);background:var(--public-stripe)}
.public-page-content .public-field .bf-date-control{border:0;border-radius:0;background:transparent;min-height:44px}
.public-page-content .public-filter-panel .public-field .bf-date-control:focus-within{box-shadow:none}
.public-page-content .public-field .bf-date-control>input.bf-date-text{padding:6px 0!important;height:44px;font-size:15px}
.public-page-content .public-field .bf-date-trigger{background:transparent!important;margin:0!important;color:var(--public-green)!important}
.public-page-content .public-field .bf-control-error{padding:0}
.public-page-content .visually-hidden{position:absolute;width:1px;height:1px;margin:-1px;padding:0;overflow:hidden;clip-path:inset(50%);white-space:nowrap;border:0}
@media(max-width:900px){.public-fields>.public-field{flex-basis:calc(50% - 8px)}.public-filter-heading{align-items:start;flex-direction:column;gap:6px}}
@media(max-width:700px){
 .public-page-content .container,.public-page-content .public-section-header,.public-page-content .article-detail{width:calc(100% - 32px)}.public-page-content .public-section-header.is-embedded{width:100%}
 .public-breadcrumb{padding-block-start:20px}.public-section-intro{padding-block:24px 28px;gap:24px}.public-section-art{display:none}
 .public-section-description{font-size:14px}.public-page-content .page-body,.public-page-content .professional-public-body{padding-block:0 40px}
 .public-page-content .public-filter-panel{padding:18px}.public-filter-heading h2{font-size:18px}.public-filter-heading>span{font-size:12px}.public-fields{gap:12px}.public-field{padding:8px 12px}
 .public-fields>.public-field{flex-basis:calc(50% - 6px)}.public-page-content .public-filter-panel .public-field{height:82px;min-height:82px;max-height:82px}
 .public-filter-actions{align-items:start;flex-direction:column}.public-filter-actions>div{width:100%;justify-content:flex-end}.public-results-title h2{font-size:20px}
 .public-page-content .public-pagination{justify-content:center;padding:16px}.public-pagination-summary{width:100%;text-align:center}.public-pagination-step>span{position:absolute;width:1px;height:1px;overflow:hidden;clip-path:inset(50%)}
 .public-page-content .public-supplement{padding:18px;align-items:start;flex-direction:column}
}
@media(max-width:440px){.public-fields>.public-field{flex-basis:100%}.public-filter-actions>div>*{flex:1}}
@media(prefers-reduced-motion:reduce){.public-page-content *{scroll-behavior:auto}.public-field{transition:none}}
