:root{
  --bg:#EDF2F3; --surface:#FFFFFF; --surface-2:#E2EBED; --ink:#0F2429; --ink-2:#44606A; --muted:#728A92; --line:#CAD7DB;
  --accent:#0A7285; --accent-soft:#D3E9EC; --brass:#A87717; --night:#16323D;
  --good:#2C8452; --good-soft:#DCEFE3; --warn:#B8740E; --warn-soft:#F6E8CF; --bad:#BD3F36; --bad-soft:#F6DDDA;
  --shadow:0 1px 2px rgba(15,36,41,.06),0 4px 18px rgba(15,36,41,.05);
  --f-body:"IBM Plex Sans Arabic",system-ui,"Segoe UI",Tahoma,sans-serif;
  --f-disp:"Readex Pro","IBM Plex Sans Arabic",system-ui,sans-serif;
}
@media (prefers-color-scheme: dark){
  :root:not([data-theme="light"]){
    color-scheme:dark;
    --bg:#081418; --surface:#0F2127; --surface-2:#163039; --ink:#E2EEF0; --ink-2:#A5BEC5; --muted:#6F8A92; --line:#25414B;
    --accent:#3FB5C7; --accent-soft:#123C45; --brass:#E0B458; --night:#02090C;
    --good:#55C283; --good-soft:#133626; --warn:#E6A63C; --warn-soft:#3A2B10; --bad:#EE6B5F; --bad-soft:#3D1814;
    --shadow:0 1px 2px rgba(0,0,0,.3);
  }
}
:root[data-theme="dark"]{
  color-scheme:dark;
  --bg:#081418; --surface:#0F2127; --surface-2:#163039; --ink:#E2EEF0; --ink-2:#A5BEC5; --muted:#6F8A92; --line:#25414B;
  --accent:#3FB5C7; --accent-soft:#123C45; --brass:#E0B458; --night:#02090C;
  --good:#55C283; --good-soft:#133626; --warn:#E6A63C; --warn-soft:#3A2B10; --bad:#EE6B5F; --bad-soft:#3D1814;
  --shadow:0 1px 2px rgba(0,0,0,.3);
}
*{box-sizing:border-box}
html{background:var(--bg)}
body{margin:0;background:var(--bg);color:var(--ink);font-family:var(--f-body);line-height:1.55;-webkit-font-smoothing:antialiased;transition:background-color .4s}
body.has-flag{background:
    radial-gradient(1200px 500px at 15% -10%, color-mix(in oklab, var(--flag-a) 10%, transparent), transparent 60%),
    radial-gradient(1200px 500px at 85% 0%, color-mix(in oklab, var(--flag-b) 8%, transparent), transparent 60%),
    var(--bg)}
h1,h2,h3{font-family:var(--f-disp);color:var(--ink);line-height:1.25;margin:0 0 6px}
a{color:var(--accent)}
.muted{color:var(--muted)}
.small{font-size:.85rem}
.en{font-family:system-ui,sans-serif;font-weight:500}

/* header */
.site-hd{position:sticky;top:0;z-index:50;background:var(--surface);border-bottom:1px solid var(--line);backdrop-filter:blur(6px)}
.site-hd-in{max-width:1180px;margin:0 auto;display:flex;align-items:center;gap:20px;padding:8px 16px}
.brand{display:flex;align-items:center;gap:9px;text-decoration:none;color:var(--ink)}
.brand .brand-banner{height:96px;width:auto;display:block;border-radius:6px;transition:transform .2s ease}
@media (max-width:640px){.brand .brand-banner{height:58px}}
.brand:hover .brand-banner{transform:scale(1.03)}
.nav{display:flex;gap:4px;margin-inline-start:auto;flex-wrap:nowrap}
.nav a{position:relative;color:var(--ink-2);text-decoration:none;font-weight:700;font-size:.98rem;padding:8px 9px;border-radius:8px;white-space:nowrap;transition:color .18s ease,transform .18s ease,background-color .18s ease}
.nav a:hover,.nav a:focus-visible{color:var(--accent);background:var(--accent-soft);transform:translateY(-2px) scale(1.08)}
@media (prefers-reduced-motion:reduce){.nav a{transition:none}.nav a:hover{transform:none}}
.burger{display:none;background:none;border:none;font-size:1.4rem;color:var(--ink);cursor:pointer}
.hd-pickers{display:flex;align-items:center;gap:6px}
@media (max-width:900px){
  .nav{position:absolute;top:100%;right:0;left:0;background:var(--surface);border-bottom:1px solid var(--line);flex-direction:column;padding:10px 16px;gap:4px;display:none}
  .nav.open{display:flex}
  .nav a{padding:10px 4px;border-bottom:1px solid var(--line)}
  .burger{display:block}
}

/* language + country switcher */
.lang-switch{position:relative}
.lang-btn{display:flex;align-items:center;gap:4px;background:var(--surface-2);border:1px solid var(--line);color:var(--ink);border-radius:999px;padding:8px 14px;font-size:.88rem;font-weight:700;cursor:pointer;font-family:inherit;white-space:nowrap;transition:transform .15s ease,border-color .15s ease}
.lang-btn:hover{border-color:var(--accent);transform:translateY(-1px)}
.lang-btn .car{font-size:.7em;transition:transform .15s}
.lang-btn[aria-expanded="true"] .car{transform:rotate(180deg)}
.lang-menu{position:absolute;top:calc(100% + 6px);inset-inline-end:0;background:var(--surface);border:1px solid var(--line);border-radius:10px;box-shadow:var(--shadow);min-width:130px;padding:6px;display:none;z-index:60}
.lang-menu.open{display:block}
.lang-menu a{display:block;padding:8px 10px;border-radius:8px;color:var(--ink);text-decoration:none;font-size:.88rem}
.lang-menu a:hover{background:var(--surface-2)}
.lang-menu a.on{color:var(--accent);font-weight:700}
.ctry-menu{min-width:230px;max-height:min(70vh,520px);overflow-y:scroll;scrollbar-width:thin;background-image:linear-gradient(var(--surface) 30%,transparent),linear-gradient(transparent,var(--surface) 70%) 0 100%;background-repeat:no-repeat;background-size:100% 40px,100% 40px;background-attachment:local,local}
.ctry-item{display:flex!important;align-items:center;gap:8px;padding:6px 10px!important;font-size:.85rem!important}
.ctry-item .cc{font-family:var(--f-num,monospace);font-weight:700;font-size:.72rem;color:var(--muted);min-width:22px}
.ctry-item .cn{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}
.ctry-grp-label{padding:8px 10px 3px;font-size:.68rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.03em}
.ctry-grp-label:first-child{padding-top:3px}
.flag-ico{border-radius:2px;display:inline-block;vertical-align:middle;box-shadow:0 0 0 1px rgba(0,0,0,.08);object-fit:cover}

/* buttons */
.btn{display:inline-block;padding:10px 18px;border-radius:12px;font-weight:700;text-decoration:none;font-size:.95rem;border:1px solid var(--line);color:var(--ink)}
.btn-acc{background:var(--accent);color:#fff;border-color:transparent}
.btn-gh{background:var(--surface);color:var(--ink)}
.btn-lg{padding:13px 26px;font-size:1.02rem;border-radius:14px}
.hero-cta{display:flex;gap:10px;flex-wrap:wrap}

/* hero home */
.hero-home{background:linear-gradient(160deg,var(--night),var(--accent) 140%);padding:16px 16px 14px}
.hero-home-in{max-width:1100px;margin:0 auto;text-align:center;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:6px 14px}
.hero-home h1{color:#fff;font-size:clamp(1.05rem,2.4vw,1.5rem);margin:0;white-space:nowrap}
.hero-home .lead{color:#EAF6F8;font-size:clamp(.72rem,1.4vw,.88rem);margin:0;white-space:nowrap;position:relative}
@media (min-width:720px){.hero-home .lead::before{content:"·";margin-inline-end:14px;opacity:.6}}
.hero-home .hero-cta{justify-content:center}
.hero-home .btn-gh{background:rgba(255,255,255,.12);color:#fff;border-color:rgba(255,255,255,.35)}

/* contact form */
.contact-form{display:flex;flex-direction:column;gap:14px;max-width:480px;margin-top:18px}
.contact-form label{display:flex;flex-direction:column;gap:5px;font-size:.86rem;font-weight:700;color:var(--ink-2)}
.contact-form input,.contact-form select,.contact-form textarea{font:inherit;padding:9px 12px;border-radius:10px;border:1px solid var(--line);background:var(--surface);color:var(--ink)}
.contact-form textarea{resize:vertical}
.contact-form button{align-self:start;cursor:pointer}

.section{max-width:1180px;margin:0 auto;padding:26px 16px}
.section.narrow{max-width:760px}
.sec-title{font-size:1.25rem;margin-bottom:4px}

/* country cards */
.ctry-region{margin-top:18px}
.ctry-region:first-child{margin-top:4px}
.ctry-region-title{font-size:.82rem;font-weight:700;color:var(--ink-2);margin:0 0 8px}
.ccard-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:8px;padding:14px 4px 22px}
.ccard{flex:0 0 auto;width:112px;background:var(--surface);border:1px solid var(--line);border-radius:10px;padding:10px 6px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .25s cubic-bezier(.2,.8,.3,1.3),box-shadow .25s ease,border-color .25s ease;display:flex;flex-direction:column;align-items:center;text-align:center;gap:5px;transform-style:preserve-3d;will-change:transform}
.ccard:hover,.ccard:focus-visible{transform:perspective(600px) scale(1.5) translateY(-6px) rotateX(6deg);border-color:var(--accent);box-shadow:0 18px 30px -8px rgba(15,36,41,.35);z-index:5;position:relative}
.ccard-flag{width:26px;height:19px}
.ccard-n{font-weight:700;font-family:var(--f-disp);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:100%}
@media (prefers-reduced-motion:reduce){.ccard{transition:none}.ccard:hover{transform:none}}

/* features */
.feat-grid{display:flex;flex-wrap:wrap;justify-content:center;gap:10px;margin-top:12px}
.feat{flex:0 1 230px;width:230px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:12px 14px;box-shadow:var(--shadow);display:flex;align-items:center;gap:10px}
.feat-i{font-size:1.3rem;flex:none}
.feat h3{font-size:.88rem;margin-bottom:1px}
.feat p{margin:0;color:var(--ink-2);font-size:.78rem;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}

/* articles */
.art-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(240px,1fr));gap:14px;margin-top:16px}
.art-card{display:flex;flex-direction:column;gap:6px;background:var(--surface);border:1px solid var(--line);border-radius:14px;padding:16px;text-decoration:none;color:var(--ink);box-shadow:var(--shadow);transition:transform .2s ease,border-color .2s ease;overflow:hidden}
.art-card:hover{transform:translateY(-3px);border-color:var(--accent)}
.art-card-img{width:auto;margin:-16px -16px 4px;border-radius:0;box-shadow:none}
.art-card-img .ph-img{aspect-ratio:16/9}
.art-card-i{font-size:1.8rem}
.art-card h3{font-size:1.02rem;margin-top:2px}
.art-hero-img{width:auto;margin:14px 0;box-shadow:none;background:transparent}
.art-hero-img .ph-img{aspect-ratio:16/7;border-radius:14px}
.art-hero-img img{border-radius:14px}
.art-card p{margin:0;color:var(--ink-2);font-size:.86rem;flex:1}
.art-card-link{color:var(--accent);font-weight:700;font-size:.85rem}
.art-back{display:inline-block;margin-bottom:12px;color:var(--accent);font-weight:700;text-decoration:none;font-size:.9rem}
.art-body{line-height:1.8}
.art-body h2{margin-top:26px;font-size:1.2rem}
.art-body p{margin:10px 0}
.art-body ul,.art-body ol{margin:10px 0;padding-inline-start:22px;display:flex;flex-direction:column;gap:6px}
.art-body .note{margin-top:18px}

/* map */
.map-box{width:100%;height:340px;border-radius:16px;overflow:hidden;border:1px solid var(--line);box-shadow:var(--shadow);margin-top:10px}
.map-box-lg{height:420px}
.leaflet-popup-content-wrapper{background:var(--surface);color:var(--ink);border-radius:10px}
.leaflet-popup-tip{background:var(--surface)}
.map-pop b{display:block;margin-bottom:2px}
.map-pop .mp-links{display:flex;gap:8px;margin-top:8px}
.map-pop .mp-links a{font-size:.8rem;font-weight:700}

/* country hero */
.c-hero{max-width:1180px;margin:20px auto 0;padding:0 16px;display:flex;gap:14px;align-items:flex-start}
.c-hero-flag{line-height:1}
.c-hero-flag .flag-ico{width:52px;height:38px;border-radius:4px}
.c-hero h1{font-size:1.4rem;display:flex;gap:10px;align-items:baseline;flex-wrap:wrap}
.pills{display:flex;gap:6px;flex-wrap:wrap;margin:6px 0}
.pill{background:var(--accent-soft);color:var(--accent);font-size:.76rem;font-weight:700;padding:3px 9px;border-radius:999px}
.lead{color:var(--ink-2);max-width:640px;font-size:.92rem}

/* photos */
.ph-row{display:flex;gap:8px;overflow-x:auto;padding-top:0}
.ph-card{margin:0;flex:none;width:170px;border-radius:10px;overflow:hidden;background:var(--surface-2);box-shadow:var(--shadow)}
.ph-hero{width:200px}
.ph-img{aspect-ratio:4/3;background:var(--surface-2);position:relative;overflow:hidden}
.ph-img img{width:100%;height:100%;object-fit:cover;display:block;opacity:0;transition:opacity .3s}
.ph-img img.on{opacity:1}
.ph-card figcaption{padding:6px 8px;font-size:.76rem}
.fish-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:10px;margin-top:10px}

/* tables */
.tbl-wrap{overflow-x:auto;margin-top:8px}
.tbl{border-collapse:collapse;width:100%;font-size:.84rem;background:var(--surface);border-radius:12px;overflow:hidden;box-shadow:var(--shadow)}
.tbl th,.tbl td{border-bottom:1px solid var(--line);padding:6px 9px;text-align:start;vertical-align:top}
.tbl th{background:var(--surface-2);font-size:.74rem;color:var(--ink-2)}
.tbl-cal th{text-align:center;font-size:.68rem}
.tbl-cal td{text-align:center}

.note{background:var(--surface-2);border-radius:10px;padding:8px 12px;font-size:.82rem;color:var(--ink-2)}
.join-box{background:var(--accent-soft);border-radius:16px;text-align:center}
.en-note{border-top:1px solid var(--line);padding-top:24px}
.en-note,.en-note *{direction:ltr;text-align:left}

.site-ft{background:var(--night);color:#D7E7EA;margin-top:26px}
.site-ft-in{max-width:1180px;margin:0 auto;padding:16px 16px;display:flex;align-items:center;gap:20px;flex-wrap:wrap;justify-content:center}
.ft-banner{display:block;width:min(100%,240px);height:auto;border-radius:12px;flex:none}
.ft-text{flex:1;min-width:240px;text-align:start}
.ft-text>p{margin:2px 0}
.ft-links{display:flex;gap:14px;justify-content:flex-start;flex-wrap:wrap;margin:8px 0;padding-bottom:2px}
.ft-links a{color:#BFDEE2;text-decoration:none;font-size:.86rem;white-space:nowrap;flex:none}
@media (max-width:560px){.site-ft-in{flex-direction:column;text-align:center}.ft-text{text-align:center;min-width:0}.ft-links{justify-content:center}}
@media (max-width:480px){.ft-links{gap:9px}.ft-links a{font-size:.74rem}}
.site-ft .muted{color:#8FB0B6}
