/* The root 404 (src/app/not-found.tsx): unmatched English and Arabic addresses, unknown product slugs, unknown
   workspace subdomains and notFound() inside a workspace. The same "Town Market" look as the marketing site
   (src/app/_site/site.css: the .ws-nf card, header bar, Fraunces headings, Figtree text), kept in its own file because
   the 404 is part of EVERY route's tree (CRM included): an import there would be bundled with every page, while this
   file is only fetched when the 404 actually renders. The fonts are copies of the site's own files in /fonts. */
@font-face{font-family:"BWS Fraunces";font-style:normal;font-weight:100 900;font-display:swap;src:url(/fonts/fraunces-latin-wght.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"BWS Figtree";font-style:normal;font-weight:300 900;font-display:swap;src:url(/fonts/figtree-latin-wght.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"BWS Tajawal";font-style:normal;font-weight:700;font-display:swap;src:url(/fonts/tajawal-arabic-700.woff2) format("woff2");unicode-range:U+0600-06FF,U+0750-077F,U+0870-088E,U+0890-0891,U+0897-08E1,U+08E3-08FF,U+200C-200E,U+2010-2011,U+204F,U+2E41,U+FB50-FDFF,U+FE70-FE74,U+FE76-FEFC}
html:has(.nf-page) body{background:#FBFAF7}
.nf-page{--nf-navy:#0A3561;--nf-navy-2:#11507B;--nf-teal:#1E6A7C;--nf-green:#46906A;--nf-green-ink:#2E6B4C;--nf-text:#2E3A47;--nf-muted:#56606C;--nf-line:#E6E0D4;--nf-line-strong:#D3CABA;--nf-sand:#F4F0E7;--nf-tint:#CFE5D6;--nf-display:"BWS Fraunces",Georgia,"Times New Roman",serif;--nf-body:"BWS Figtree",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--nf-ar:"BWS Tajawal","Noto Sans Arabic",system-ui,sans-serif;min-height:100vh;min-height:100dvh;display:flex;flex-direction:column;background:#FBFAF7;color:var(--nf-text);font:400 17px/1.6 var(--nf-body);-webkit-font-smoothing:antialiased;overflow-x:clip}
.nf-page,.nf-page *,.nf-page *::before,.nf-page *::after{box-sizing:border-box}
.nf-page :where(h1,p){margin:0}
.nf-page :where(a:focus-visible){outline:3px solid var(--nf-teal);outline-offset:3px;border-radius:6px}
/* Header bar: brand, then a quiet language link and "Log in" at the end (as on the site) */
.nf-bar{border-block-end:1px solid var(--nf-line);background:rgba(251,250,247,.95)}
.nf-bar__in{max-width:1240px;margin-inline:auto;padding-inline:20px;min-height:72px;display:flex;align-items:center;gap:12px}
.nf-brand{display:inline-flex;align-items:center;gap:10px;min-height:44px;color:var(--nf-navy);text-decoration:none;min-width:0}
.nf-brand img{width:40px;height:40px;display:block;flex:none}
.nf-brand span{font:700 19px/1 var(--nf-display);letter-spacing:-.01em;white-space:nowrap}
.nf-tools{margin-inline-start:auto;display:flex;align-items:center;gap:8px}
.nf-tools a{display:inline-flex;align-items:center;justify-content:center;min-height:44px;min-width:44px;padding-inline:6px;text-decoration:none;white-space:nowrap}
.nf-lang{font:700 17px/1 var(--nf-ar);color:var(--nf-navy)}
.nf-login{font-weight:500;font-size:15px;color:var(--nf-muted)}
.nf-tools a:hover{color:var(--nf-navy);text-decoration:underline;text-underline-offset:4px}
/* The card: a shop front with a round hanging sign (same measures as the site's .ws-nf card) */
.nf-main{flex:1;display:grid;justify-items:center;align-content:start;padding:56px 20px 104px}
.nf-card{width:100%;max-width:760px;background:#fff;border:1px solid var(--nf-line);border-radius:28px;overflow:hidden;text-align:center;box-shadow:0 1px 2px rgba(10,53,97,.06),0 2px 10px rgba(10,53,97,.05)}
.nf-awning{--r:14px;height:48px;border-block-start:6px solid var(--nf-navy);background:repeating-linear-gradient(90deg,var(--nf-tint) 0 calc(var(--r)*2),#FFFDF8 calc(var(--r)*2) calc(var(--r)*4));-webkit-mask:linear-gradient(#000 0 0) top/100% calc(100% - var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 0,#000 97%,transparent) bottom/calc(var(--r)*2) var(--r) repeat-x;mask:linear-gradient(#000 0 0) top/100% calc(100% - var(--r)) no-repeat,radial-gradient(circle var(--r) at 50% 0,#000 97%,transparent) bottom/calc(var(--r)*2) var(--r) repeat-x}
.nf-body{padding:0 28px 44px}
.nf-sign{display:grid;place-items:center;width:58px;height:58px;margin:-10px auto 18px;position:relative;border-radius:50%;background:#fff;border:1.5px solid var(--nf-line);color:var(--nf-navy);box-shadow:0 3px 8px rgba(10,53,97,.08)}
.nf-sign svg,.nf-btn svg{fill:none;stroke:currentColor;stroke-width:1.9;stroke-linecap:round;stroke-linejoin:round}
.nf-sign svg{width:28px;height:28px}
.nf-kicker{display:inline-flex;align-items:center;gap:8px;font:700 14px/1 var(--nf-body);letter-spacing:.1em;text-transform:uppercase;color:var(--nf-green-ink)}
.nf-kicker::before{content:"";width:18px;height:2px;background:var(--nf-green);border-radius:2px}
.nf-page h1{margin-block-start:20px;font:650 clamp(34px,4.4vw,52px)/1.06 var(--nf-display);letter-spacing:-.02em;color:var(--nf-navy);text-wrap:balance}
.nf-text{margin:16px auto 0;max-width:32em;font-size:19px;color:var(--nf-muted);text-wrap:pretty}
.nf-btn{display:inline-flex;align-items:center;justify-content:center;gap:.55em;min-height:50px;margin-block-start:28px;padding:0 22px;border-radius:12px;background:var(--nf-navy);color:#fff;font:600 16px/1.15 var(--nf-body);text-decoration:none;transition:background-color .15s}
.nf-btn:hover{background:var(--nf-navy-2)}
.nf-btn svg{width:1.25em;height:1.25em}
.nf-links{margin-block-start:18px;display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:0 18px;font-size:16px;color:var(--nf-muted)}
.nf-links span{flex-basis:100%}
.nf-links a,.nf-alt a{display:inline-flex;align-items:center;min-height:44px;color:var(--nf-navy);font-weight:600;text-decoration:underline;text-decoration-thickness:1.5px;text-underline-offset:3px;text-decoration-color:var(--nf-green)}
/* The Arabic version of the message, for visitors who came from an Arabic page (/ar/...) */
.nf-alt{margin-block-start:14px;padding-block-start:16px;border-block-start:1px dashed var(--nf-line-strong);font:700 17px/1.75 var(--nf-ar)}
.nf-alt p{color:var(--nf-navy);font-size:19px}
.nf-alt a{font-weight:700}
@media (max-width:720px){
  .nf-bar__in{min-height:64px;padding-inline:16px;gap:6px}
  .nf-brand{gap:8px}
  .nf-brand img{width:32px;height:32px}
  .nf-brand span{font-size:16px}
  .nf-main{padding:24px 16px 56px}
  .nf-card{border-radius:24px}
  .nf-awning{--r:9px;height:30px;border-block-start-width:4px}
  .nf-body{padding:0 18px 30px}
  .nf-sign{width:48px;height:48px}
  .nf-sign svg{width:24px;height:24px}
  .nf-text{font-size:17px}
  .nf-btn{width:100%}
}
@media (prefers-reduced-motion:reduce){.nf-btn{transition:none}}
