/* Roots & Routes — Digital Cultural Heritage & Sustainable Tourism Platform
 * Result 1 (platform) styles
 * Licence: CC BY 4.0
 */

:root{
  /* Screenshot_7 uyumlu palet — canlı yeşil marka, menekşe ikincil, turuncu-kızıl vurgu */
  --earth:#4c8a3d;      --earth-dark:#2d5926; --earth-hi:#5fa347;
  --olive:#6b5a9b;      --olive-dark:#3d3266; --olive-hi:#816bb0;
  --sand:#fdfbf5;       --sand-2:#f5eee0;
  --ink:#1a2814;        --ink-2:#2a3d20;      --muted:#5f6b6f;
  --gold:#e04a2c;       --gold-hi:#f26244;    --gold-warm:#f2a83f;
  --card:#ffffff;       --line:#e5dcc7;       --blue:#003399; --red:#a63a2f;
  --shadow:0 6px 22px rgba(45,89,38,.10);
  --shadow-lg:0 12px 36px rgba(45,89,38,.16);
  --shadow-hero:0 20px 60px rgba(26,40,20,.35);
  --radius:16px; --radius-lg:24px;
}
*{box-sizing:border-box}
html{scroll-behavior:smooth}
body{margin:0;font-family:'Manrope','Segoe UI',system-ui,-apple-system,Roboto,Helvetica,Arial,sans-serif;font-weight:500;color:var(--ink);background:var(--sand);line-height:1.65;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}
a{color:var(--earth)}
img{max-width:100%}
h1,h2,h3,h4,h5{font-family:'Manrope','Segoe UI',system-ui,sans-serif;font-weight:800;line-height:1.15;letter-spacing:-.015em;color:var(--earth-dark)}
h2{letter-spacing:-.02em}
h1{letter-spacing:-.025em}
.wrap{max-width:1180px;margin:0 auto;padding:0 20px}

/* Buttons */
.btn{display:inline-block;background:var(--earth);color:#fff;padding:12px 24px;border-radius:40px;text-decoration:none;font-weight:700;border:none;cursor:pointer;transition:transform .2s ease,box-shadow .2s ease,background .2s ease;font-size:.98rem;letter-spacing:.01em;box-shadow:0 4px 14px rgba(45,89,38,.25)}
.btn:hover{background:var(--earth-hi);transform:translateY(-2px);box-shadow:0 8px 22px rgba(45,89,38,.35)}
.btn:active{transform:translateY(0)}
.btn.olive{background:var(--olive);box-shadow:0 4px 14px rgba(61,50,102,.25)}
.btn.olive:hover{background:var(--olive-hi);box-shadow:0 8px 22px rgba(61,50,102,.35)}
.btn.warm{background:var(--gold);box-shadow:0 4px 14px rgba(224,74,44,.28)}
.btn.warm:hover{background:var(--gold-hi);box-shadow:0 8px 22px rgba(224,74,44,.38)}
.btn.ghost{background:transparent;color:var(--earth);border:2px solid var(--earth);box-shadow:none}
.btn.ghost:hover{background:var(--earth);color:#fff}
.btn.sm{padding:6px 14px;font-size:.82rem;box-shadow:none}
.btn.red{background:var(--red);box-shadow:0 4px 14px rgba(166,58,47,.25)}
.btn.red:hover{background:#8e2a1e}

.tag{display:inline-block;background:var(--sand-2);color:var(--earth-dark);border:1px solid var(--line);padding:4px 14px;border-radius:30px;font-size:.76rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase}

/* Header */
header{position:sticky;top:0;z-index:1000;background:rgba(244,236,225,.94);backdrop-filter:blur(8px);border-bottom:1px solid var(--line)}
.nav{display:flex;align-items:center;justify-content:space-between;gap:16px;padding:10px 0}
.brand{display:flex;align-items:center;gap:12px;text-decoration:none;color:var(--earth-dark)}
.logo{width:140px;height:140px;flex:0 0 140px;object-fit:contain;display:block;transition:transform .25s ease;margin:-24px 0}
.brand:hover .logo{transform:scale(1.04) rotate(-2deg)}
@media(max-width:1100px){.logo{width:115px;height:115px;flex:0 0 115px;margin:-16px 0}}
@media(max-width:900px){.logo{width:96px;height:96px;flex:0 0 96px;margin:-10px 0}}
@media(max-width:640px){.logo{width:74px;height:74px;flex:0 0 74px;margin:-6px 0}}
nav ul{display:flex;gap:6px;list-style:none;margin:0;padding:0;flex-wrap:wrap}
nav a{text-decoration:none;color:var(--ink);padding:8px 12px;border-radius:20px;font-weight:600;font-size:.92rem}
nav a:hover{background:var(--sand-2)}

/* Language switcher */
.lang{display:flex;gap:4px;align-items:center}
.lang button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:5px 9px;font-size:.72rem;font-weight:700;cursor:pointer;color:var(--muted);transition:.15s}
.lang button:hover{border-color:var(--earth);color:var(--earth)}
.lang button.active{background:var(--earth);color:#fff;border-color:var(--earth)}

/* Admin login pill */
.admin-pill{display:flex;align-items:center;gap:8px;background:#fff;border:1px solid var(--line);border-radius:30px;padding:4px 10px 4px 4px;font-size:.78rem;font-weight:600;color:var(--muted);cursor:pointer}
.admin-pill:hover{border-color:var(--earth)}
.admin-pill .avatar{width:22px;height:22px;border-radius:50%;background:var(--olive);color:#fff;display:flex;align-items:center;justify-content:center;font-size:.72rem;font-weight:700}
.admin-pill.logged{background:var(--olive);color:#fff;border-color:var(--olive)}
.admin-pill.logged .avatar{background:#fff;color:var(--olive-dark)}
.admin-pill.logged.admin{background:var(--earth);border-color:var(--earth)}
.admin-pill.logged.admin .avatar{color:var(--earth-dark)}

.menu-toggle{display:none;background:none;border:none;font-size:1.6rem;cursor:pointer;color:var(--earth)}

/* Hero — Screenshot_7 inspired centred hero with dominant logo */
.hero{position:relative;overflow:hidden;color:#fff;
  background:
    radial-gradient(ellipse 60% 50% at 20% 20%, rgba(129,107,176,.35), transparent 60%),
    radial-gradient(ellipse 50% 40% at 85% 80%, rgba(226,164,65,.20), transparent 60%),
    linear-gradient(135deg,#152110 0%,var(--earth-dark) 32%,var(--earth) 62%,var(--olive) 100%);
}
.hero::before{content:'';position:absolute;inset:0;z-index:1;pointer-events:none;
  background:
    radial-gradient(1.5px 1.5px at 12% 18%, rgba(255,255,255,.65), transparent),
    radial-gradient(2px 2px at 78% 22%, rgba(255,255,255,.75), transparent),
    radial-gradient(1.5px 1.5px at 25% 65%, rgba(255,255,255,.55), transparent),
    radial-gradient(1.2px 1.2px at 55% 40%, rgba(255,255,255,.4), transparent),
    radial-gradient(2px 2px at 88% 55%, rgba(242,168,63,.6), transparent),
    radial-gradient(1.5px 1.5px at 40% 85%, rgba(255,255,255,.5), transparent),
    radial-gradient(1.2px 1.2px at 65% 75%, rgba(255,255,255,.5), transparent),
    radial-gradient(2px 2px at 8% 90%, rgba(255,255,255,.6), transparent);
  background-size:100% 100%;opacity:.85}
.hero .wrap{padding:70px 20px 80px;position:relative;z-index:3;text-align:center;display:flex;flex-direction:column;align-items:center}

.hero-logo{width:380px;max-width:78%;height:auto;margin:0 auto 24px;filter:drop-shadow(0 14px 36px rgba(0,0,0,.4));animation:heroFloat 6s ease-in-out infinite}
@keyframes heroFloat{0%,100%{transform:translateY(0)}50%{transform:translateY(-8px)}}
@media(max-width:900px){.hero-logo{width:320px}}
@media(max-width:640px){.hero-logo{width:240px;margin-bottom:18px}}

/* EU Co-funded badge — hero top-right (Screenshot_7 layout) */
.hero-eu-badge{position:absolute;top:22px;right:22px;z-index:5;background:#fff;padding:10px 14px;border-radius:10px;box-shadow:0 8px 24px rgba(0,0,0,.35),0 0 0 1px rgba(255,255,255,.4)}
.hero-eu-badge img{display:block;height:52px;width:auto}
@media(max-width:900px){.hero-eu-badge{top:16px;right:16px;padding:8px 12px}.hero-eu-badge img{height:42px}}
@media(max-width:640px){.hero-eu-badge{top:12px;right:12px;padding:6px 10px;border-radius:8px}.hero-eu-badge img{height:32px}}

.hero h1{color:#fff;font-size:3.1rem;margin:.15em 0 .45em;max-width:18ch;font-weight:800;line-height:1.1}
.hero p.lead{font-size:1.18rem;max-width:58ch;margin-left:auto;margin-right:auto;color:#f4ece1;font-weight:400}
.hero .pills{display:flex;flex-wrap:wrap;gap:8px;margin:22px auto 28px;justify-content:center}
.hero .pill{background:rgba(255,255,255,.16);border:1px solid rgba(255,255,255,.4);color:#fff;padding:6px 15px;border-radius:30px;font-size:.82rem;font-weight:600;backdrop-filter:blur(4px)}
.hero-cta{display:flex;gap:12px;flex-wrap:wrap;justify-content:center;margin-top:6px}
.hero .btn.ghost{color:#fff;border-color:rgba(255,255,255,.75);background:rgba(255,255,255,.06);backdrop-filter:blur(4px)}
.hero .btn.ghost:hover{background:#fff;color:var(--earth-dark);border-color:#fff}
.hero .btn{box-shadow:0 6px 18px rgba(0,0,0,.25)}
.route-svg{position:absolute;inset:0;z-index:1;opacity:.18}
.stats{display:flex;flex-wrap:wrap;gap:38px;margin-top:38px;justify-content:center}
.stat{text-align:center}
.stat b{display:block;font-family:'Manrope',sans-serif;font-size:2.1rem;font-weight:800;color:var(--gold-warm);letter-spacing:-.02em}
.stat span{font-size:.8rem;opacity:.92;text-transform:uppercase;letter-spacing:.06em;font-weight:600}

/* Hero pill (Erasmus badge) */
.hero .top-pill{display:inline-flex;align-items:center;gap:8px;background:rgba(255,255,255,.14);border:1px solid rgba(255,255,255,.35);color:#fff;padding:7px 18px;border-radius:30px;font-size:.78rem;font-weight:700;letter-spacing:.06em;text-transform:uppercase;margin-bottom:8px;backdrop-filter:blur(6px)}
.hero .top-pill::before{content:'';width:6px;height:6px;border-radius:50%;background:var(--gold-warm);box-shadow:0 0 12px var(--gold-warm)}

@media(max-width:640px){.hero h1{font-size:2.15rem}.hero p.lead{font-size:1.02rem}.stats{gap:22px}.stat b{font-size:1.7rem}}

/* Sections */
section.block{padding:72px 0;border-bottom:1px solid var(--line);position:relative}
section.block:nth-of-type(even){background:var(--sand-2)}
/* subtle decorative dot on odd sections */
section.block:nth-of-type(odd)::before{content:'';position:absolute;top:20px;right:5%;width:120px;height:120px;border-radius:50%;background:radial-gradient(circle,var(--olive) 0%,transparent 70%);opacity:.08;pointer-events:none}
.sec-head{max-width:720px;margin-bottom:38px}
.sec-head .tag{margin-bottom:14px}
.sec-head h2{font-size:2.15rem;margin:.15em 0 .4em}
.sec-head p{color:var(--muted);font-size:1.05rem;margin:0;font-weight:400}
.feature-num{color:var(--gold);font-weight:800}

/* Map */
#map{height:460px;border-radius:var(--radius);box-shadow:var(--shadow);border:1px solid var(--line);z-index:1}
.map-grid{display:grid;grid-template-columns:1fr 320px;gap:22px}
.map-side{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:18px;box-shadow:var(--shadow)}
.map-side h3{margin:.1em 0 .5em;font-size:1.1rem}
.filter-row{display:flex;gap:6px;flex-wrap:wrap;margin-bottom:14px}
.filter-row button{border:1px solid var(--line);background:#fff;border-radius:20px;padding:6px 12px;font-size:.8rem;font-weight:600;cursor:pointer;color:var(--muted)}
.filter-row button.active{background:var(--olive);color:#fff;border-color:var(--olive)}
.add-form label{display:block;font-size:.8rem;font-weight:600;margin:8px 0 3px;color:var(--muted)}
.add-form input,.add-form select,.add-form textarea{width:100%;padding:9px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.9rem;background:#fff}
.add-form .btn{margin-top:12px;width:100%}
.poi-list{max-height:280px;overflow:auto;margin-top:6px}
.poi-item{padding:10px;border-radius:10px;cursor:pointer;border:1px solid transparent;position:relative;display:flex;align-items:flex-start;gap:8px}
.poi-item:hover{background:var(--sand);border-color:var(--line)}
.poi-item b{display:block;font-size:.92rem;color:var(--earth-dark)}
.poi-item span{font-size:.78rem;color:var(--muted)}
.poi-item .content{flex:1;min-width:0}
.poi-item .del{background:var(--red);color:#fff;border:none;border-radius:6px;width:26px;height:26px;font-size:.9rem;cursor:pointer;flex-shrink:0;display:none;align-items:center;justify-content:center}
.admin-mode .poi-item[data-user="1"] .del{display:flex}
.poi-item[data-can-delete="1"] .del{display:flex}
.poi-item .badge-user{background:var(--gold);color:#fff;font-size:.68rem;padding:1px 6px;border-radius:8px;margin-left:4px;font-weight:700}
.poi-item .badge-mine,.idea .badge-mine{background:var(--olive);color:#fff;font-size:.66rem;padding:1px 6px;border-radius:8px;margin-left:4px;font-weight:700;letter-spacing:.04em}

/* Cards & grid */
.grid{display:grid;gap:22px}
.grid.c3{grid-template-columns:repeat(3,1fr)}
.grid.c2{grid-template-columns:repeat(2,1fr)}
.card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);overflow:hidden;box-shadow:var(--shadow);display:flex;flex-direction:column;transition:transform .25s ease,box-shadow .25s ease}
.card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.card .body{padding:22px}
.card h3{margin:.1em 0 .4em;font-size:1.2rem;font-weight:700}
.card p{margin:.2em 0;color:var(--muted);font-size:.95rem;font-weight:400}
.card .meta{font-size:.76rem;color:var(--gold);font-weight:800;text-transform:uppercase;letter-spacing:.08em}

/* Panorama */
.pano{height:300px;border-radius:14px 14px 0 0;overflow:hidden;position:relative;cursor:grab;background:#20140f}
.pano:active{cursor:grabbing}
.pano-scene{position:absolute;top:0;left:0;height:100%;width:200%;background-size:cover;transition:none}
.pano .badge{position:absolute;top:10px;left:10px;background:rgba(0,0,0,.55);color:#fff;padding:4px 12px;border-radius:20px;font-size:.72rem;font-weight:700;letter-spacing:.03em}
.pano .hint{position:absolute;bottom:10px;right:12px;background:rgba(0,0,0,.45);color:#fff;padding:4px 10px;border-radius:20px;font-size:.72rem}
.hotspot{position:absolute;width:26px;height:26px;border-radius:50%;background:rgba(201,138,43,.9);border:2px solid #fff;color:#fff;font-weight:800;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:.8rem;box-shadow:0 0 0 6px rgba(201,138,43,.25)}

/* Training modules */
.module{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);box-shadow:var(--shadow);overflow:hidden;margin-bottom:16px;transition:box-shadow .2s ease}
.module:hover{box-shadow:var(--shadow-lg)}
.module.open{box-shadow:var(--shadow-lg);border-color:var(--earth)}
.module-head{display:flex;align-items:center;gap:16px;padding:18px 22px;cursor:pointer}
.module-head .n{width:44px;height:44px;flex:0 0 44px;border-radius:12px;background:var(--olive);color:#fff;display:flex;align-items:center;justify-content:center;font-family:'Manrope',sans-serif;font-size:1.3rem;font-weight:700}
.module-head h3{margin:0;font-size:1.15rem}
.module-head p{margin:0;font-size:.85rem;color:var(--muted)}
.module-head .chev{margin-left:auto;font-size:1.3rem;color:var(--muted);transition:.2s}
.module.open .chev{transform:rotate(180deg)}
.module-body{display:none;padding:0 22px 22px;border-top:1px solid var(--line)}
.module.open .module-body{display:block}
.module-body h4{margin:18px 0 6px;font-size:.95rem;color:var(--olive-dark)}
.module-body ul{margin:.2em 0;padding-left:20px}
.module-body li{margin:4px 0;font-size:.94rem}
.quiz{background:var(--sand);border:1px dashed var(--line);border-radius:12px;padding:16px;margin-top:14px}
.quiz .q{font-weight:600;margin-bottom:8px}
.quiz .opt{display:block;padding:8px 12px;border:1px solid var(--line);border-radius:10px;margin:6px 0;background:#fff;cursor:pointer;font-size:.9rem;transition:.15s;width:100%;text-align:left}
.quiz .opt:hover{border-color:var(--olive)}
.quiz .opt.correct{background:#e5f0d8;border-color:var(--olive);color:var(--olive-dark);font-weight:600}
.quiz .opt.wrong{background:#f7e0da;border-color:var(--earth);color:var(--earth-dark)}
.quiz .fb{margin-top:8px;font-size:.88rem;font-weight:600;min-height:1.2em}
.badge-row{display:flex;gap:8px;flex-wrap:wrap;margin-top:10px}
.yp{background:#eef2e2;border:1px solid #cdd9b3;color:var(--olive-dark);padding:4px 12px;border-radius:20px;font-size:.76rem;font-weight:600}

/* Community */
.idea-board{display:grid;grid-template-columns:repeat(3,1fr);gap:16px}
.idea{background:var(--card);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:12px;padding:18px;box-shadow:var(--shadow);position:relative;transition:transform .2s ease,box-shadow .2s ease}
.idea:hover{transform:translateY(-3px);box-shadow:var(--shadow-lg)}
.idea h4{margin:.1em 0 .3em;font-size:1rem}
.idea p{margin:.2em 0;font-size:.88rem;color:var(--muted)}
.idea .who{font-size:.76rem;color:var(--olive-dark);font-weight:700;margin-top:8px}
.idea .del{position:absolute;top:8px;right:8px;background:var(--red);color:#fff;border:none;border-radius:6px;width:26px;height:26px;font-size:.9rem;cursor:pointer;display:none;align-items:center;justify-content:center}
.admin-mode .idea[data-user="1"] .del{display:flex}
.idea[data-can-delete="1"] .del{display:flex}
.idea .badge-user{display:inline-block;background:var(--gold);color:#fff;font-size:.66rem;padding:1px 6px;border-radius:8px;margin-left:6px;font-weight:700;vertical-align:middle}

.events{list-style:none;padding:0;margin:0}
.events li{display:flex;gap:16px;padding:14px 0;border-bottom:1px solid var(--line);position:relative}
.events .date{flex:0 0 64px;text-align:center;background:var(--earth);color:#fff;border-radius:10px;padding:8px 0}
.events .date b{display:block;font-size:1.3rem;font-family:'Manrope',sans-serif;line-height:1}
.events .date span{font-size:.7rem;text-transform:uppercase;letter-spacing:.05em}
.events .info b{display:block;color:var(--earth-dark)}
.events .info span{font-size:.85rem;color:var(--muted)}
.events .del{position:absolute;top:14px;right:0;background:var(--red);color:#fff;border:none;border-radius:6px;width:26px;height:26px;font-size:.9rem;cursor:pointer;display:none;align-items:center;justify-content:center}
.admin-mode .events li[data-user="1"] .del{display:flex}

/* Forms */
.form-card{background:var(--card);border:1px solid var(--line);border-radius:var(--radius);padding:24px;box-shadow:var(--shadow)}
.form-card label{display:block;font-size:.85rem;font-weight:600;margin:12px 0 4px;color:var(--muted)}
.form-card input,.form-card select,.form-card textarea{width:100%;padding:11px;border:1px solid var(--line);border-radius:10px;font-family:inherit;font-size:.95rem;background:#fff}
.ok-msg{display:none;background:#e5f0d8;border:1px solid var(--olive);color:var(--olive-dark);padding:12px;border-radius:10px;margin-top:14px;font-weight:600}
.err-msg{display:none;background:#f7e0da;border:1px solid var(--red);color:var(--earth-dark);padding:12px;border-radius:10px;margin-top:14px;font-weight:600}

/* Priorities */
.prio{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.prio .p{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 22px;box-shadow:var(--shadow);transition:transform .25s ease,box-shadow .25s ease}
.prio .p:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.prio .p .k{font-size:.7rem;font-weight:800;letter-spacing:.08em;color:var(--gold);text-transform:uppercase}
.prio .p h4{margin:.3em 0}
.prio .p p{margin:0;color:var(--muted);font-size:.9rem}

/* Partners */
.partners{display:grid;grid-template-columns:repeat(3,1fr);gap:18px}
.partner{background:var(--card);border:1px solid var(--line);border-radius:14px;padding:24px 20px;box-shadow:var(--shadow);text-align:center;transition:transform .25s ease,box-shadow .25s ease}
.partner:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg)}
.flag{display:block;width:72px;height:48px;margin:0 auto 14px;border-radius:6px;overflow:hidden;box-shadow:0 4px 12px rgba(0,0,0,.15);border:1px solid rgba(0,0,0,.08);font-size:0}
.flag svg{display:block;width:100%;height:100%}
.partner b{display:block;margin-top:8px;color:var(--earth-dark)}
.partner span{font-size:.85rem;color:var(--muted)}
.partner em{display:block;margin-top:8px;font-size:.8rem;color:var(--olive-dark);font-style:normal;font-weight:600}

/* Footer */
footer{background:linear-gradient(180deg,#2d5926 0%,#1e3d1a 100%);color:#e9ddcd;padding:56px 0 30px;font-size:.92rem;position:relative}
footer::before{content:'';position:absolute;top:0;left:0;right:0;height:4px;background:linear-gradient(90deg,var(--gold-warm) 0%,var(--gold) 35%,var(--olive-hi) 70%,var(--earth-hi) 100%)}
footer h4{color:#fff;margin:.2em 0 .6em}
.foot-grid{display:grid;grid-template-columns:1.4fr 1fr 1fr;gap:30px}
footer a{color:#e9c98a}
.eu-note{background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.15);border-radius:12px;padding:20px 22px;display:flex;gap:24px;align-items:center;margin-top:26px}
.eu-emblem{flex:0 0 200px;max-width:200px;height:auto}
.eu-note p{margin:0;font-size:.86rem;line-height:1.55;color:#dcccb6}
@media(max-width:900px){.eu-note{flex-direction:column;text-align:left;gap:14px}.eu-emblem{flex:0 0 auto;max-width:220px;align-self:flex-start}}

/* Project identity card (footer) — kept minimal */
.project-id{background:rgba(255,255,255,.05);border:1px solid rgba(255,255,255,.12);border-radius:12px;padding:20px 24px;margin-top:22px}
.project-id h5{margin:0 0 14px;color:#fff;font-size:.9rem;font-weight:700;text-transform:uppercase;letter-spacing:.08em}
.project-id dl{display:grid;grid-template-columns:auto 1fr;gap:8px 20px;margin:0;font-size:.9rem}
.project-id dt{color:var(--gold-hi);font-weight:600;letter-spacing:.01em}
.project-id dd{margin:0;color:#f0e3ce;word-break:break-word;font-weight:400}
@media(max-width:640px){.project-id dl{grid-template-columns:1fr}.project-id dt{margin-top:8px}}

/* Developed-by strip at very bottom of footer */
.dev-by{margin-top:22px;padding-top:18px;border-top:1px solid rgba(255,255,255,.12);display:flex;justify-content:space-between;align-items:center;gap:14px;flex-wrap:wrap;font-size:.82rem;color:#c9baa6}
.dev-by a{color:var(--gold-hi);font-weight:700;text-decoration:none}
.dev-by a:hover{color:#fff}

/* Partner OID badge */
.partner .oid{display:inline-block;margin-top:8px;background:var(--sand);color:var(--muted);border:1px solid var(--line);border-radius:20px;padding:2px 10px;font-size:.72rem;font-weight:700;letter-spacing:.02em}
.partner .oid b{color:var(--earth-dark)}
.foot-bottom{margin-top:26px;padding-top:16px;border-top:1px solid rgba(255,255,255,.15);font-size:.8rem;opacity:.8;display:flex;justify-content:space-between;flex-wrap:wrap;gap:10px}

/* Admin banner */
.admin-banner{display:none;background:var(--olive);color:#fff;text-align:center;padding:8px 20px;font-size:.85rem;font-weight:600;position:sticky;top:0;z-index:1001}
body.admin-mode .admin-banner{display:block}
body.admin-mode header{top:34px}

/* Admin panel drawer — right-hand side sheet, opens when admin clicks the pill */
.admin-drawer{position:fixed;top:0;right:0;bottom:0;width:min(440px,92vw);background:var(--sand);box-shadow:-20px 0 60px rgba(45,89,38,.28);z-index:2000;transform:translateX(100%);transition:transform .3s ease;display:flex;flex-direction:column;overflow:hidden}
.admin-drawer.open{transform:none}
.admin-drawer-backdrop{position:fixed;inset:0;background:rgba(26,40,20,.45);z-index:1999;opacity:0;pointer-events:none;transition:opacity .25s ease;backdrop-filter:blur(3px)}
.admin-drawer-backdrop.on{opacity:1;pointer-events:auto}
.admin-drawer h3{margin:0;font-size:1.15rem;color:var(--earth-dark);font-weight:800}
.ad-head{padding:18px 20px 12px;border-bottom:1px solid var(--line);background:linear-gradient(135deg,var(--earth) 0%,var(--olive) 100%);color:#fff;display:flex;align-items:center;justify-content:space-between}
.ad-head h3{color:#fff}
.ad-head small{display:block;font-size:.75rem;opacity:.9;margin-top:2px}
.ad-close{background:rgba(255,255,255,.2);border:none;color:#fff;width:34px;height:34px;border-radius:50%;font-size:1.3rem;cursor:pointer;transition:background .15s ease}
.ad-close:hover{background:rgba(255,255,255,.35)}
.ad-tabs{display:grid;grid-template-columns:repeat(4,1fr);background:var(--card);border-bottom:1px solid var(--line);flex-shrink:0}
.ad-tab{border:none;background:none;padding:12px 4px;font-size:.7rem;font-weight:800;letter-spacing:.04em;text-transform:uppercase;color:var(--muted);cursor:pointer;border-bottom:3px solid transparent;transition:.15s;font-family:inherit}
.ad-tab.active{color:var(--earth-dark);border-bottom-color:var(--gold)}
.ad-body{flex:1;overflow-y:auto;padding:18px 20px 28px}
.ad-pane{display:none}
.ad-pane.active{display:block;animation:adFade .2s ease}
@keyframes adFade{from{opacity:0;transform:translateY(4px)}to{opacity:1;transform:none}}
.ad-stat{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-bottom:16px}
.ad-stat .cell{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:14px}
.ad-stat .cell b{display:block;font-size:1.7rem;font-weight:800;color:var(--earth);letter-spacing:-.02em}
.ad-stat .cell span{font-size:.72rem;font-weight:700;color:var(--muted);text-transform:uppercase;letter-spacing:.06em}
.ad-note{background:var(--sand-2);border:1px solid var(--line);border-radius:12px;padding:12px 14px;font-size:.82rem;color:var(--muted);margin-bottom:12px;line-height:1.5}
.ad-form label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.06em;color:var(--muted);margin:12px 0 4px}
.ad-form input,.ad-form select,.ad-form textarea{width:100%;padding:10px 12px;border:1px solid var(--line);border-radius:10px;background:#fff;font-family:inherit;font-size:.92rem;color:var(--ink)}
.ad-form input:focus,.ad-form select:focus,.ad-form textarea:focus{outline:none;border-color:var(--earth);box-shadow:0 0 0 3px rgba(76,138,61,.15)}
.ad-form textarea{resize:vertical;min-height:70px}
.ad-form .row{display:grid;grid-template-columns:1fr 1fr;gap:10px}
.ad-form .btn{width:100%;margin-top:14px}
.ad-import{background:var(--card);border:2px dashed var(--gold);border-radius:12px;padding:18px;margin-top:12px}
.ad-import h4{margin:0 0 6px;font-size:1rem;color:var(--gold);font-weight:800}
.ad-import p{margin:0 0 12px;font-size:.85rem;color:var(--muted);line-height:1.55}
.ad-import ul{margin:0 0 12px;padding-left:20px;font-size:.82rem;color:var(--ink)}
.ad-import ul li{margin:3px 0}
.ad-progress{margin-top:12px;font-size:.82rem;color:var(--earth-dark);font-weight:700}
@media(max-width:640px){.admin-drawer{width:100vw}.ad-tabs{grid-template-columns:repeat(4,1fr)}.ad-tab{font-size:.62rem;padding:10px 2px}}

/* User drawer — user-facing sibling of the admin drawer */
.user-drawer .ad-head.user-head{background:linear-gradient(135deg,var(--olive) 0%,var(--olive-hi) 100%)}
.user-drawer .ad-tabs{grid-template-columns:repeat(3,1fr)}
.user-avatar-img{width:44px;height:44px;border-radius:50%;object-fit:cover;background:rgba(255,255,255,.2);border:2px solid rgba(255,255,255,.35)}
.user-avatar-img[src=""]{visibility:hidden}
.contrib-item{background:var(--card);border:1px solid var(--line);border-radius:12px;padding:12px 14px;margin-bottom:10px;position:relative}
.contrib-item .type{font-size:.68rem;font-weight:800;color:var(--gold);text-transform:uppercase;letter-spacing:.06em}
.contrib-item b{display:block;font-size:.95rem;color:var(--earth-dark);font-weight:700;margin:2px 0}
.contrib-item p{margin:2px 0;font-size:.82rem;color:var(--muted);line-height:1.5}
.contrib-item .del-own{position:absolute;top:10px;right:10px;background:var(--red);color:#fff;border:none;border-radius:8px;width:28px;height:28px;font-size:1rem;cursor:pointer}
.contrib-empty{text-align:center;padding:24px 12px;color:var(--muted);font-size:.85rem}
.profile-row{display:grid;grid-template-columns:120px 1fr;gap:8px 14px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.88rem}
.profile-row:last-child{border-bottom:none}
.profile-row dt{color:var(--gold);font-weight:700;letter-spacing:.02em}
.profile-row dd{margin:0;color:var(--ink);word-break:break-word}
.danger-zone{background:#fef4f2;border:1px solid #f5d5cd;border-radius:12px;padding:16px;margin-top:16px}
.danger-zone h4{margin:0 0 6px;color:var(--red);font-size:.95rem}
.danger-zone p{margin:0 0 10px;font-size:.82rem;color:var(--muted);line-height:1.5}

/* First-sign-in info dialog (neutral class names — see index.html comment) */
.rr-info-dialog{position:fixed;inset:0;z-index:3000;display:flex;align-items:center;justify-content:center;padding:20px}
.rr-info-shade{position:absolute;inset:0;background:rgba(26,40,20,.55);backdrop-filter:blur(6px)}
.rr-info-panel{position:relative;background:#fff;border-radius:20px;max-width:520px;width:100%;max-height:90vh;box-shadow:0 30px 80px rgba(0,0,0,.35);animation:rrInfoIn .25s ease;display:flex;flex-direction:column;overflow:hidden}
@keyframes rrInfoIn{from{transform:translateY(16px);opacity:0}to{transform:none;opacity:1}}
.rr-info-body{flex:1 1 auto;overflow-y:auto;padding:24px 26px 8px}
.rr-info-body h2{margin:0 0 12px;color:var(--earth-dark);font-size:1.35rem;font-weight:800}
.rr-info-body p{margin:.4em 0;color:var(--ink);font-size:.92rem;line-height:1.6}
.rr-info-body ul{margin:14px 0;padding-left:22px}
.rr-info-body ul li{margin:6px 0;font-size:.9rem;color:var(--ink);line-height:1.55}
.rr-info-foot{flex-shrink:0;display:flex;gap:10px;padding:16px 22px 22px;background:#fff;border-top:1px solid var(--line);flex-wrap:wrap;justify-content:flex-end}
.rr-info-foot .btn{flex:1 1 auto;min-width:120px}
.rr-info-foot .btn.ghost{border-color:var(--muted);color:var(--muted);background:transparent}
.rr-info-foot .btn.ghost:hover{background:var(--muted);color:#fff}
@media(min-width:520px){.rr-info-foot .btn{flex:0 0 auto}}

/* Loading indicator */
.loading{color:var(--muted);font-size:.85rem;font-style:italic;padding:10px}

/* Responsive */
@media(max-width:900px){
  .map-grid{grid-template-columns:1fr}
  .grid.c3,.prio,.partners,.idea-board{grid-template-columns:1fr 1fr}
  .foot-grid{grid-template-columns:1fr}
}
@media(max-width:640px){
  nav ul{display:none;position:absolute;top:100%;left:0;right:0;background:var(--sand);flex-direction:column;padding:10px 20px;border-bottom:1px solid var(--line)}
  nav ul.show{display:flex}
  .menu-toggle{display:block}
  .hero h1{font-size:2rem}
  .grid.c3,.grid.c2,.prio,.partners,.idea-board{grid-template-columns:1fr}
  .lang button{padding:4px 7px;font-size:.68rem}
}
