/* Small additions for the dynamic (server-rendered) site — everything else is the original style.css / caf-add.css */

/* language button is now a plain link */
.header .tools a.lang{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}

/* listing pages */
.caf-list{display:grid;grid-template-columns:repeat(3,1fr);gap:28px 24px}
@media (max-width:1000px){.caf-list{grid-template-columns:repeat(2,1fr)}}
@media (max-width:600px){.caf-list{grid-template-columns:1fr}}
.caf-article{max-width:76ch;font-size:1.04rem;line-height:1.9}
.caf-article p{margin:0 0 1em}
.caf-article .lead{font-size:1.15rem;color:var(--text-2)}
.caf-hero-img{aspect-ratio:21/9;overflow:hidden;background:var(--grey-2);margin-top:-34px;position:relative;box-shadow:var(--shadow-lg)}
.caf-hero-img img{width:100%;height:100%;object-fit:cover;display:block}
.caf-meta{display:flex;flex-wrap:wrap;gap:14px;align-items:center;color:var(--muted);font-size:.82rem;font-weight:700;letter-spacing:.06em;margin-bottom:18px}
.caf-meta .cat{background:var(--navy-900);color:#fff;padding:4px 12px;font-size:.7rem;letter-spacing:.1em}
.caf-meta .cat.c-red{background:var(--accent)}
.caf-meta .cat.c-grey{background:#3f4f66}
.caf-meta .cat.c-navy2{background:var(--navy-700)}
.caf-detail-grid{display:grid;grid-template-columns:minmax(0,1.4fr) minmax(280px,.8fr);gap:40px;align-items:start}
@media (max-width:900px){.caf-detail-grid{grid-template-columns:1fr}}
.caf-side{background:#fff;border:1px solid var(--line);box-shadow:var(--shadow);padding:22px}
.caf-side .row{display:grid;grid-template-columns:100px 1fr;gap:10px;padding:10px 0;border-bottom:1px dashed var(--line);font-size:.92rem}
.caf-side .row:last-of-type{border-bottom:0}
.caf-side .row span{color:var(--muted);font-size:.78rem;font-weight:700;padding-top:3px}
.caf-side .row b{color:var(--ink)}
.caf-side .form{margin-top:16px}
.caf-side .form .field label{color:var(--ink)}
.caf-side .form .field input{background:#fff;border:1px solid var(--line);color:var(--ink)}
.caf-side .form .btn{width:100%;justify-content:center}
.caf-dec-grid .btn{margin-top:22px}
.caf-qr svg{width:70px;height:70px;display:block}
.caf-verify .caf-qr{display:block}
.caf-page-hero .caf-crumbs a{text-decoration:none}
.caf-tl .it p{white-space:pre-line}
.caf-error{min-height:60vh;display:grid;place-items:center;text-align:center;padding:80px 0}
.caf-error b{font-family:var(--font-head);font-size:clamp(4rem,12vw,8rem);color:var(--blue);line-height:1;display:block}
.caf-error .btn{margin-top:22px}
.caf-events-page .ev{margin-bottom:12px}
.caf-members-grid .m-row{cursor:default}
.gal-page{display:grid;grid-template-columns:repeat(4,1fr);gap:14px}
.gal-page .g-item{aspect-ratio:4/3}
@media (max-width:900px){.gal-page{grid-template-columns:repeat(2,1fr)}}
@media (max-width:500px){.gal-page{grid-template-columns:1fr}}
.gal-page .g-item.hidden-item{display:none}
.hp{position:absolute;left:-9999px;opacity:0;height:0;width:0}
.caf-badge{display:inline-block;background:var(--grey);color:var(--ink);font-weight:700;font-size:.78rem;padding:4px 10px;margin-inline-end:6px}
.caf-verify-ok{display:inline-flex;align-items:center;gap:10px;background:#e8f7ee;color:#0d6b3a;border:1px solid #9ad6b3;padding:10px 16px;font-weight:800;font-family:var(--font-head)}
.caf-verify-bad{display:inline-flex;align-items:center;gap:10px;background:#fdecef;color:#9c0f26;border:1px solid #f2a7b3;padding:10px 16px;font-weight:800;font-family:var(--font-head)}
html[dir="ltr"] .s-btn.s-prev,html[dir="ltr"] .s-btn.s-next{transform:scaleX(-1)}
html[dir="ltr"] .lightbox .nav-btn{transform:scaleX(-1)}
html[dir="ltr"] .caf-sheet-num{text-align:end}

/* ---- dynamic flags (uploaded image / built-in symbol / emoji) ---- */
img.flag, svg.flag { width: 22px; height: 15px; object-fit: cover; vertical-align: -2px; border-radius: 2px; display: inline-block; }
.flag-emoji { font-size: 1.05em; line-height: 1; vertical-align: -1px; }

/* ---- Arab map with admin-positioned country pins (X/Y % from the admin "Countries" page) ---- */
.map .map-stage { position: relative; width: 100%; height: 100%; }
.map .map-stage > img { width: 100%; height: 100%; object-fit: contain; display: block; }
.map-pin { position: absolute; transform: translate(-50%, -100%); display: flex; flex-direction: column; align-items: center; gap: 2px; pointer-events: auto; z-index: 2; }
.map-pin::after { content: ""; width: 10px; height: 10px; border-radius: 50%; background: #dfe7f1; border: 2px solid #fff; box-shadow: 0 0 0 3px rgba(255,255,255,.18); }
.map-pin.member::after { background: #c8102e; border-color: #ff6b86; box-shadow: 0 0 0 4px rgba(200,16,46,.25); animation: pinPulse 2.4s ease-in-out infinite; }
.map-pin b { font-size: .68rem; color: #fff; background: rgba(3,14,32,.72); padding: 2px 6px; white-space: nowrap; opacity: 0; transform: translateY(4px); transition: .25s; }
.map-pin:hover b, .map-pin:focus-within b { opacity: 1; transform: none; }
.map-pin .pin-flag { width: 20px; height: 14px; object-fit: cover; border-radius: 2px; }
@keyframes pinPulse { 50% { box-shadow: 0 0 0 8px rgba(200,16,46,0); } }
@media (prefers-reduced-motion: reduce) { .map-pin.member::after { animation: none; } }

/* rich text from the admin editor */
.rich img, .caf-article img { max-width: 100%; height: auto; }
.rich table, .caf-article table { width: 100%; border-collapse: collapse; }
.rich td, .rich th, .caf-article td, .caf-article th { border: 1px solid rgba(0,0,0,.12); padding: 6px 10px; }

/* pagination (news list) */
.pager { display: flex; gap: 8px; justify-content: center; align-items: center; margin-top: 32px; flex-wrap: wrap; }
.pager a, .pager span { padding: 8px 14px; border: 1px solid var(--line, #dfe3ea); text-decoration: none; color: inherit; font-weight: 700; }
.pager a:hover { border-color: currentColor; }
.pager .cur { background: var(--navy, #0b2a52); color: #fff; border-color: var(--navy, #0b2a52); }
