/* Shared Afrisol public-page primitives. No supplier prices or availability are inferred. */
:root{--af-blue:#0f6bc0;--af-ink:#132d46;--af-orange:#f15a24;--af-muted:#4a6075;--af-line:#dce5ee;--af-surface:#f4f7fb;--af-radius:1rem;--af-width:80rem}
.af-public{margin:0;color:var(--af-ink);background:var(--af-surface);font-family:"Lato-Regular",system-ui,sans-serif;line-height:1.65}
.af-public *{box-sizing:border-box}.af-public :where(h1,h2,h3){line-height:1.2;letter-spacing:-.025em}.af-public :where(p,li,dd){overflow-wrap:anywhere}
.af-public :where(a,button,input,select,textarea,summary):focus-visible{outline:3px solid var(--af-orange);outline-offset:4px}.af-public :where(input,select,textarea){max-width:100%}
.af-skip{position:absolute;left:1rem;top:-10rem;z-index:1000;background:white;color:var(--af-ink);padding:1rem;border:2px solid var(--af-blue)}.af-skip:focus{top:1rem}
.af-site-nav,.af-site-footer{padding:1.2rem max(1.25rem,calc((100% - var(--af-width))/2));display:flex;flex-wrap:wrap;align-items:center;gap:1.2rem;background:white;border-bottom:1px solid var(--af-line)}
.af-site-nav a,.af-site-footer a{color:var(--af-ink);text-decoration:none}.af-wordmark{font-size:1.55rem;font-weight:800;letter-spacing:-.05em;margin-right:auto}.af-wordmark span{color:var(--af-orange)}
.af-site-nav a:last-child{background:var(--af-blue);color:white;padding:.65rem 1rem;border-radius:.6rem}.af-site-footer{margin-top:3rem;border-top:1px solid var(--af-line);font-size:.9rem}
.af-container{width:min(100% - 2.5rem,var(--af-width));margin-inline:auto}.af-page-head{background:#102e49;color:white;padding:clamp(2rem,6vw,4.5rem) 0;border-bottom:5px solid var(--af-orange)}
.af-page-head h1{font-size:clamp(2rem,5vw,3.6rem);max-width:21ch;margin:.5rem 0 1rem}.af-page-head p{max-width:65ch;color:#d9e8f6}.af-page-head a{color:#fff}.af-eyebrow{text-transform:uppercase;font-size:.76rem;letter-spacing:.12em;font-weight:700}
.af-catalogue{padding-block:2rem}.af-catalogue .notice{background:#fff7e8;border:1px solid #ecd4a6;border-radius:var(--af-radius);padding:1.25rem;margin-block:1rem}
.af-catalogue .grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(100%,20rem),1fr));gap:1.5rem}.af-catalogue article{background:#fff;border:1px solid var(--af-line);border-radius:var(--af-radius);padding:1.5rem;display:flex;flex-direction:column;min-width:0}
.af-catalogue article h2{font-size:1.45rem}.af-catalogue a{color:#075798;text-underline-offset:.2em}.af-catalogue dt{font-size:.8rem;color:var(--af-muted);margin-top:.8rem}.af-catalogue dd{margin:0;font-weight:600}
.af-catalogue form{display:flex;flex-wrap:wrap;align-items:end;gap:1rem;margin:1.5rem 0;padding:1.25rem;background:white;border:1px solid var(--af-line);border-radius:var(--af-radius)}
.af-catalogue :where(input,select,button){font:inherit;padding:.7rem;border:1px solid #a9bdce;border-radius:.5rem}.af-catalogue label{display:grid;gap:.3rem;flex:1;min-width:min(100%,12rem)}.af-catalogue button{background:var(--af-blue);color:#fff;cursor:pointer}
.af-catalogue .badge{font-size:.75rem;background:#edf3fa;padding:.3rem .55rem;border-radius:.4rem;align-self:start}.af-catalogue small{display:block;color:var(--af-muted)}.af-catalogue summary{cursor:pointer;font-weight:700;padding:.75rem 0}.af-catalogue table{width:100%;border-collapse:collapse}.af-catalogue :where(td,th){padding:.8rem;border-bottom:1px solid var(--af-line);text-align:left;vertical-align:top}.af-catalogue .scroll{overflow:auto}
.af-pagination{display:flex;flex-wrap:wrap;justify-content:space-between;gap:1rem;padding:1.5rem 0}.af-pagination a{padding:.7rem 1rem;border:1px solid var(--af-line);background:white;border-radius:.5rem}
.af-journey{margin:2rem auto 3rem;padding:clamp(1.25rem,4vw,2.5rem);background:white;border:1px solid var(--af-line);border-top:4px solid var(--af-orange);border-radius:var(--af-radius)}
.af-journey h2{font-size:clamp(1.5rem,3vw,2rem);margin:.5rem 0}.af-journey>p{max-width:75ch;color:var(--af-muted)}.af-actions{display:flex;flex-wrap:wrap;gap:.75rem;margin-block:1.5rem}.af-actions a{display:inline-block;padding:.75rem 1rem;border-radius:.6rem;border:1px solid var(--af-line);color:#075798;font-weight:700;text-decoration:none}.af-actions a:first-child{background:var(--af-blue);color:white;border-color:var(--af-blue)}
.af-steps{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:1.25rem;list-style:none;margin:1.5rem 0;padding:0}.af-steps li{border-top:1px solid var(--af-line);padding-top:1rem}.af-steps strong{display:block}.af-steps span{font-size:.92rem;color:var(--af-muted)}
@media(max-width:640px){.af-steps{grid-template-columns:1fr}.af-site-nav{gap:.7rem;font-size:.9rem}.af-wordmark{flex-basis:100%}.af-catalogue form>*{width:100%}.af-actions a{width:100%}}
@media(prefers-reduced-motion:reduce){.af-public *,.af-public *::before,.af-public *::after{scroll-behavior:auto!important;animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}
