/* Fewlink frontend — driven by the admin brand colour (--brand r g b, --on-brand) */
body.fl-body{background:var(--fl-bg,#f7faea);color:var(--fl-text,#1f2328);font-family:var(--font-body,system-ui,sans-serif)}
.fl-logo,.fl-hero h1,.fl-sec-head h2,.fl-card h3,.fl-feat-cap h3,.fl-profile h1,.fl-empty h3,.fl-footer h4{font-family:var(--font-heading,var(--font-body,system-ui,sans-serif))}
.fl-i{flex:none;display:inline-block;vertical-align:-3px}
.fl-wrap{max-width:1180px;margin:0 auto;padding:0 16px}
@media(min-width:768px){.fl-wrap{padding:0 28px}}
.fl-btn{display:inline-flex;align-items:center;justify-content:center;gap:8px;height:40px;padding:0 18px;border-radius:999px;font-size:14px;font-weight:600;background:rgb(var(--brand));color:var(--on-brand);border:1px solid rgb(var(--brand));cursor:pointer;transition:filter .15s,transform .15s;text-decoration:none;white-space:nowrap}
.fl-btn:hover{filter:brightness(.95)}.fl-btn:active{transform:scale(.97)}
.fl-btn.ghost{background:#fff;color:#374151;border-color:#e5e7eb}
.fl-btn.ghost:hover{border-color:rgb(var(--brand));filter:none}

/* Header */
.fl-header{position:sticky;top:0;z-index:50;background:var(--fl-header-bg,rgb(255 255 255/.92));backdrop-filter:saturate(1.4) blur(10px);border-bottom:1px solid rgb(0 0 0/.06)}
.fl-header-in{display:flex;align-items:center;gap:20px;height:64px}
.fl-logo{display:flex;align-items:center;font-weight:800;font-size:20px;color:var(--fl-heading,#111);text-decoration:none;letter-spacing:-.02em;flex:none}
.fl-logo img{height:50px;width:auto;max-width:300px;object-fit:contain}
@media(max-width:520px){.fl-logo img{max-width:min(300px,calc(100vw - 120px))}} /* keeps the menu button on screen on small phones */
@media(max-width:520px){.fl-header.is-auth .fl-logo img{max-width:min(300px,calc(100vw - 235px))}}
.fl-nav{display:none;gap:4px;margin-left:8px}
.fl-nav a{padding:8px 12px;border-radius:999px;font-size:14px;font-weight:500;color:#4b5563;text-decoration:none;transition:background .15s,color .15s}
.fl-nav a:hover{background:rgb(var(--brand)/.14);color:#111}
.fl-header-end{display:flex;align-items:center;gap:10px;margin-left:auto}
.fl-hsearch{display:none;position:relative}
.fl-hsearch input{width:230px;height:40px;border-radius:999px;border:1px solid #e5e7eb;background:#f8f8f6;padding:0 14px 0 38px;font-size:14px;outline:none;transition:border-color .15s,box-shadow .15s,width .2s}
.fl-hsearch input:focus{border-color:rgb(var(--brand));box-shadow:0 0 0 3px rgb(var(--brand)/.2);width:280px;background:#fff}
.fl-hsearch .fl-i{position:absolute;left:13px;top:12px;color:#9ca3af}
.fl-x{display:none!important}
.fl-cta-d{display:none}
.fl-cta-m{display:inline-flex;height:40px;padding:0 14px;font-size:13.5px;white-space:nowrap}
.fl-burger{display:inline-flex;width:42px;height:42px;align-items:center;justify-content:center;border-radius:12px;border:1px solid #e5e7eb;background:#fff;color:#111;cursor:pointer}
.fl-drawer{display:none;border-top:1px solid rgb(0 0 0/.06);background:#fff;padding:14px 16px 18px}
.fl-drawer.open{display:block}
.fl-drawer form{position:relative;margin-bottom:10px}
.fl-drawer form input{width:100%;height:46px;border-radius:14px;border:1px solid #e5e7eb;background:#f8f8f6;padding:0 14px 0 42px;font-size:15px;outline:none}
.fl-drawer form input:focus{border-color:rgb(var(--brand));box-shadow:0 0 0 3px rgb(var(--brand)/.2)}
.fl-drawer form .fl-i{position:absolute;left:14px;top:14px;color:#9ca3af}
.fl-drawer nav a,.fl-drawer nav button{display:block;width:100%;text-align:left;padding:13px 6px;font-size:15px;font-weight:500;color:#1f2937;border-bottom:1px solid #f1f1ee;background:none;border-left:0;border-right:0;border-top:0;text-decoration:none;cursor:pointer}
.fl-drawer,.fl-drawer *{box-sizing:border-box}
.fl-drawer{max-width:100%;overflow-x:hidden}
.fl-drawer .fl-btn{display:flex;width:100%;max-width:100%;margin-top:14px;height:46px}
.fl-header-in{min-width:0}.fl-header-end{min-width:0}
@media(min-width:900px){.fl-cta-m{display:none!important}.fl-nav,.fl-hsearch,.fl-cta-d{display:flex}.fl-burger,.fl-drawer{display:none!important}}

/* Hero */
.fl-hero{position:relative;overflow:hidden;padding:34px 0 22px}
.fl-hero:before{content:"";position:absolute;inset:-40% -10% auto auto;width:520px;height:520px;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--brand)/.32),transparent);pointer-events:none}
.fl-hero:after{content:"";position:absolute;left:-120px;bottom:-200px;width:420px;height:420px;border-radius:50%;background:radial-gradient(closest-side,rgb(var(--brand)/.18),transparent);pointer-events:none}
.fl-hero-in{position:relative;z-index:1;max-width:760px}
.fl-hero h1{font-size:clamp(26px,5.4vw,46px);line-height:1.1;font-weight:800;letter-spacing:-.025em;color:var(--fl-heading,#111);margin:0 0 10px}
.fl-hero p{font-size:clamp(14px,2.4vw,17px);color:#4b5563;margin:0 0 20px;line-height:1.55;max-width:600px}
.fl-search{display:flex;align-items:center;background:#fff;border:1px solid #e8e8e3;border-radius:999px;padding:5px 5px 5px 18px;box-shadow:0 8px 28px rgb(0 0 0/.06);transition:border-color .15s,box-shadow .15s}
.fl-search:focus-within{border-color:rgb(var(--brand));box-shadow:0 8px 28px rgb(0 0 0/.06),0 0 0 3px rgb(var(--brand)/.22)}
.fl-search .fl-i{color:#9ca3af;margin-right:8px}
.fl-search input{flex:1;min-width:0;border:0;outline:0;background:transparent;height:44px;font-size:15px;color:#111}
.fl-search button{height:44px;padding:0 22px}

/* Chips */
.fl-chips{display:flex;gap:8px;overflow-x:auto;padding:16px 0 4px;scrollbar-width:none;-webkit-overflow-scrolling:touch}
.fl-chips::-webkit-scrollbar{display:none}
.fl-chip{flex:none;display:inline-flex;align-items:center;height:38px;padding:0 16px;border-radius:999px;font-size:13.5px;font-weight:600;color:#374151;background:#fff;border:1px solid #e8e8e3;text-decoration:none;transition:all .15s;white-space:nowrap}
.fl-chip:hover{border-color:rgb(var(--brand));transform:translateY(-1px)}
.fl-chip.on{background:rgb(var(--brand));border-color:rgb(var(--brand));color:var(--on-brand)}

/* Section heads */
.fl-sec{padding:26px 0 6px}
.fl-sec-head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-bottom:14px}
.fl-sec-head h2{font-size:clamp(19px,3.2vw,26px);font-weight:800;letter-spacing:-.02em;margin:0;color:var(--fl-heading,#111)}
.fl-sec-head p{margin:2px 0 0;font-size:13.5px;color:#6b7280}
.fl-arrows{display:none;gap:8px}
.fl-arrow{width:38px;height:38px;border-radius:50%;border:1px solid #e5e7eb;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;color:#111;transition:all .15s}
.fl-arrow:hover{background:rgb(var(--brand));border-color:rgb(var(--brand));color:var(--on-brand)}
@media(min-width:768px){.fl-arrows{display:flex}}

/* Featured carousel */
.fl-rail{display:flex;gap:14px;overflow-x:auto;scroll-snap-type:x mandatory;padding:2px 16px 14px;margin:0 -16px;scroll-padding-left:16px;scrollbar-width:none;scroll-behavior:smooth}
.fl-rail::-webkit-scrollbar{display:none}
@media(min-width:768px){.fl-rail{gap:18px;padding:2px 28px 14px;margin:0 -28px;scroll-padding-left:28px}}
.fl-feat{flex:none;scroll-snap-align:start;width:min(78vw,300px);border-radius:24px;overflow:hidden;background:rgb(var(--brand));color:var(--on-brand);text-decoration:none;display:flex;flex-direction:column;box-shadow:0 10px 30px rgb(0 0 0/.1);transition:transform .2s,box-shadow .2s}
.fl-feat:hover{transform:translateY(-4px);box-shadow:0 16px 38px rgb(0 0 0/.16)}
.fl-feat-img{aspect-ratio:4/3;overflow:hidden;background:#e5e7eb}
.fl-feat-img img{width:100%;height:100%;object-fit:cover;display:block;transition:transform .4s}
.fl-feat:hover .fl-feat-img img{transform:scale(1.05)}
.fl-feat-cap{padding:14px 16px 16px}
.fl-feat-cap h3{margin:0 0 8px;font-size:16px;font-weight:700;line-height:1.3;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:inherit}
.fl-meta{display:flex;flex-wrap:wrap;align-items:center;gap:4px 12px;font-size:12px;opacity:.85}
.fl-meta span{display:inline-flex;align-items:center;gap:5px}
@media(min-width:768px){.fl-feat{width:320px}}
@media(min-width:1100px){.fl-feat{width:340px}}

/* Post cards: rows on mobile, tiles on desktop */
.fl-grid{display:grid;grid-template-columns:1fr;gap:0}
.fl-card{display:flex;gap:14px;align-items:center;padding:14px 0;border-bottom:1px solid rgb(0 0 0/.07);text-decoration:none;color:inherit}
.fl-card-img{position:relative;flex:none;width:92px;height:92px;border-radius:18px;overflow:hidden;background:#e5e7eb}
.fl-card-img img{width:100%;height:100%;object-fit:cover;display:block}
.fl-card-body{min-width:0;flex:1}
.fl-card h3{margin:0 0 5px;font-size:15.5px;font-weight:700;line-height:1.3;color:var(--fl-heading,#111);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
.fl-card:hover h3{color:rgb(var(--brand-dark))}
.fl-card p{display:none;margin:0 0 10px;font-size:13.5px;line-height:1.55;color:#6b7280}
.fl-card .fl-meta{font-size:12px;color:#6b7280;opacity:1}
.fl-tag{position:absolute;left:8px;top:8px;display:none;background:rgb(var(--brand));color:var(--on-brand);font-size:11.5px;font-weight:700;padding:4px 10px;border-radius:999px}
.fl-tag-i{display:inline-block;background:rgb(var(--brand)/.2);color:#374151;font-size:11px;font-weight:700;padding:2px 8px;border-radius:999px;margin-right:2px}
@media(min-width:640px){
  .fl-grid{grid-template-columns:repeat(2,1fr);gap:20px}
  .fl-card{flex-direction:column;align-items:stretch;gap:0;padding:0;border:0;background:#fff;border-radius:22px;overflow:hidden;box-shadow:0 2px 14px rgb(0 0 0/.05);transition:transform .2s,box-shadow .2s}
  .fl-card:hover{transform:translateY(-4px);box-shadow:0 14px 34px rgb(0 0 0/.11)}
  .fl-card-img{width:100%;height:auto;aspect-ratio:16/10;border-radius:0}
  .fl-card-img img{transition:transform .4s}.fl-card:hover .fl-card-img img{transform:scale(1.05)}
  .fl-card-body{padding:16px 18px 18px}
  .fl-card h3{font-size:16.5px;margin-bottom:8px}
  .fl-card p{display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
  .fl-tag{display:inline-block}.fl-tag-i{display:none}
}
@media(min-width:1000px){.fl-grid{grid-template-columns:repeat(3,1fr);gap:24px}}
@media(min-width:1260px){.fl-grid{grid-template-columns:repeat(4,1fr)}}

.fl-empty{background:#fff;border-radius:22px;padding:42px 20px;text-align:center;box-shadow:0 2px 14px rgb(0 0 0/.05)}
.fl-empty h3{margin:0 0 6px;font-size:18px}.fl-empty p{margin:0 0 16px;color:#6b7280}

/* Pagination */
.fl-pager{display:flex;justify-content:center;align-items:center;gap:6px;margin:34px 0 8px;flex-wrap:wrap}
.fl-pager a,.fl-pager span{min-width:40px;height:40px;padding:0 14px;display:inline-flex;align-items:center;justify-content:center;border-radius:999px;font-size:14px;font-weight:600;background:#fff;border:1px solid #e8e8e3;color:#374151;text-decoration:none;transition:all .15s}
.fl-pager a:hover{border-color:rgb(var(--brand))}
.fl-pager .on{background:rgb(var(--brand));border-color:rgb(var(--brand));color:var(--on-brand)}
@media(max-width:560px){.fl-pager .num{display:none}}

/* Profile */
.fl-profile{display:flex;align-items:center;gap:18px;background:#fff;border-radius:24px;padding:20px;margin:26px 0 8px;box-shadow:0 2px 14px rgb(0 0 0/.05)}
.fl-profile img{width:72px;height:72px;border-radius:50%;object-fit:cover}
.fl-profile h1{margin:0;font-size:22px;font-weight:800}.fl-profile p{margin:2px 0 0;font-size:13.5px;color:#6b7280}

/* Footer */
.fl-footer{margin-top:48px;background:var(--fl-footer-bg,#0f1115);color:var(--fl-footer-text,#c7cad1);padding:46px 0 0;border-radius:30px 30px 0 0}
.fl-foot-grid{display:grid;gap:28px;grid-template-columns:1fr}
@media(min-width:760px){.fl-foot-grid{grid-template-columns:1.4fr 1fr 1fr}}
.fl-footer .fl-logo{color:inherit;margin-bottom:12px}
.fl-footer p{font-size:14px;line-height:1.7;margin:0 0 16px;max-width:420px;color:color-mix(in srgb,currentColor 80%,transparent)}
.fl-footer h4{margin:0 0 12px;font-size:12px;font-weight:700;letter-spacing:.1em;text-transform:uppercase;color:inherit}
.fl-footer ul{list-style:none;margin:0;padding:0;display:grid;gap:9px}
.fl-footer li a{color:inherit;font-size:14px;text-decoration:none;transition:color .15s}
.fl-footer li a:hover{color:rgb(var(--brand))}
.fl-social{display:flex;gap:10px}
.fl-social a{width:40px;height:40px;border-radius:50%;display:inline-flex;align-items:center;justify-content:center;background:color-mix(in srgb,currentColor 12%,transparent);color:inherit;transition:all .15s}
.fl-social a:hover{background:rgb(var(--brand));color:var(--on-brand);transform:translateY(-2px)}
.fl-foot-bot{margin-top:34px;padding:18px 0 24px;border-top:1px solid color-mix(in srgb,currentColor 14%,transparent);font-size:13px;color:color-mix(in srgb,currentColor 65%,transparent);display:flex;flex-wrap:wrap;gap:6px 18px;justify-content:space-between}
.fl-foot-bot a{color:inherit}.fl-foot-bot a:hover{color:rgb(var(--brand))}

/* Static pages (privacy, about, ...) */
.fl-page{max-width:760px;margin:0 auto;padding:36px 0 56px}
.fl-page h1{font-family:var(--font-heading,var(--font-body,system-ui,sans-serif));font-size:clamp(26px,5vw,38px);line-height:1.15;font-weight:800;letter-spacing:-.02em;margin:0 0 18px;color:var(--fl-heading,#111)}
.fl-prose{font-size:16.5px;line-height:1.75;color:var(--fl-text,#1f2328);overflow-wrap:anywhere}
.fl-prose>*:first-child{margin-top:0}
.fl-prose p{margin:0 0 1.1em}
.fl-prose h2,.fl-prose h3,.fl-prose h4{font-family:var(--font-heading,var(--font-body,system-ui,sans-serif));color:var(--fl-heading,#111);line-height:1.25;margin:1.7em 0 .5em;font-weight:800}
.fl-prose h2{font-size:1.45em}.fl-prose h3{font-size:1.2em}.fl-prose h4{font-size:1.05em}
.fl-prose ul,.fl-prose ol{margin:0 0 1.1em;padding-left:1.4em}.fl-prose li{margin:.3em 0}
.fl-prose a{color:rgb(var(--brand));text-decoration:underline;text-underline-offset:2px}
.fl-prose blockquote{margin:1.2em 0;padding:.2em 0 .2em 1em;border-left:4px solid rgb(var(--brand));color:#4b5563}
.fl-bio{margin:4px 0 6px;font-size:14px;line-height:1.5;color:#4b5563;max-width:60ch;overflow-wrap:anywhere}

/* Error pages (404, 403, 419, 503, 500) */
.fl-err{padding:clamp(28px,7vw,84px) 0}
.fl-err-card{max-width:620px;margin:0 auto;background:#fff;border-radius:28px;padding:clamp(28px,6vw,56px) clamp(20px,5vw,48px);text-align:center;box-shadow:0 2px 14px rgb(0 0 0/.05),0 24px 60px -30px rgb(0 0 0/.18);position:relative;overflow:hidden}
.fl-err-card::before{content:"";position:absolute;inset:-40% -20% auto -20%;height:70%;background:radial-gradient(closest-side,rgb(var(--brand)/.22),transparent);pointer-events:none}
.fl-err-card>*{position:relative}
.fl-err-code{display:flex;justify-content:center;gap:clamp(6px,2vw,12px);margin-bottom:10px;font-family:var(--font-heading,var(--font-body,system-ui,sans-serif));font-weight:800;line-height:1}
.fl-err-code span{display:inline-flex;align-items:center;justify-content:center;width:clamp(56px,16vw,92px);height:clamp(72px,20vw,116px);border-radius:22px;background:#f4f5f0;color:var(--fl-heading,#111);font-size:clamp(38px,11vw,64px)}
.fl-err-code span.is-brand{background:rgb(var(--brand));color:var(--on-brand);transform:rotate(-5deg) translateY(-4px);box-shadow:0 14px 28px -12px rgb(var(--brand)/.8)}
.fl-err-eyebrow{margin:14px 0 6px;font-size:12px;font-weight:700;letter-spacing:.14em;text-transform:uppercase;color:#6b7280}
.fl-err h1{margin:0 0 10px;font-family:var(--font-heading,var(--font-body,system-ui,sans-serif));font-size:clamp(24px,5vw,34px);line-height:1.2;color:var(--fl-heading,#111)}
.fl-err-msg{margin:0 auto 6px;max-width:460px;color:#4b5563;line-height:1.65}
.fl-err-hint{margin:0 auto;max-width:460px;color:#9ca3af;font-size:14px}
.fl-err-search{position:relative;max-width:380px;margin:22px auto 0}
.fl-err-search input{width:100%;height:48px;border-radius:999px;border:1px solid #e5e7eb;background:#f8f8f6;padding:0 16px 0 44px;font-size:15px;outline:none;transition:border-color .15s,box-shadow .15s,background .15s}
.fl-err-search input:focus{border-color:rgb(var(--brand));box-shadow:0 0 0 3px rgb(var(--brand)/.2);background:#fff}
.fl-err-search .fl-i{position:absolute;left:16px;top:15px;color:#9ca3af}
.fl-err-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:center;margin-top:24px}
.fl-err-actions .fl-btn{height:46px;padding:0 24px}
@media(max-width:420px){.fl-err-actions .fl-btn{width:100%}}
