/* ═══════════════════════════════════════════════════════
   YOKA! — Styles globaux (style.css)
═══════════════════════════════════════════════════════ */

*{box-sizing:border-box;margin:0;padding:0;}
button,input,textarea,select{font-family:inherit;}
:root{
  --app-shell-width:390px;
  --app-shell-height:844px;
  --app-shell-radius:42px;
  --bg-main:#f6efe6;
  --bg-shell:#f8f5f1;
  --ink:#201510;
  --muted:#75665a;
  --brand:#355b42;
  --brand-dark:#244131;
  --leaf:#48684c;
  --sand:#ece4db;
  --card:#ffffff;
  --card-border:rgba(32,21,16,0.06);
  --card-shadow:rgba(71,42,24,0.06);
  --inp-bg:#fff;
  --inp-border:rgba(32,21,16,0.1);
  --divider:rgba(0,0,0,0.06);
}
body.dark{
  --bg-main:#1a1917;
  --bg-shell:#1e1d1b;
  --ink:#f0ece7;
  --muted:#9a9088;
  --brand:#78c486;
  --brand-dark:#55a865;
  --leaf:#68b876;
  --sand:#2a2825;
  --card:#262523;
  --card-border:rgba(255,255,255,0.10);
  --card-shadow:rgba(0,0,0,0.35);
  --inp-bg:#2e2c2a;
  --inp-border:rgba(255,255,255,0.13);
  --divider:rgba(255,255,255,0.09);
}
body.dark{background:#141312;}
body.dark #phone{
  background:var(--bg-shell);
  border-color:rgba(255,255,255,0.04);
  box-shadow:0 30px 70px rgba(0,0,0,0.6);
}
body.dark .card{
  background:var(--card);
  box-shadow:0 8px 20px var(--card-shadow);
  border:1px solid var(--card-border);
}
body.dark .inp{
  background:var(--inp-bg);
  border-color:var(--inp-border);
  color:var(--ink);
}
body.dark .inp:focus{
  border-color:var(--brand);
  box-shadow:0 0 0 4px rgba(109,181,122,0.12);
}
body.dark .lbl{color:#918880;}
body.dark .btn-green{background:var(--brand-dark);}
body.dark .profil-hero-light{
  background:linear-gradient(180deg,#1c1b1a 0%,#1a1918 100%);
  border-color:var(--card-border);
}
body.dark .profil-hero-title,
body.dark .profil-role-title{color:var(--ink);}
body.dark .profil-hero-kicker,
body.dark .profil-hero-sub{color:var(--muted);}
body.dark .profil-hero-copy,
body.dark .profil-role-copy{color:var(--muted);}
body.dark .profil-chip{background:var(--sand);color:var(--muted);}
body.dark .profil-stat-card{background:var(--card);border-color:var(--card-border);box-shadow:0 8px 16px var(--card-shadow);}
body.dark .profil-stat-card strong{color:var(--ink);}
body.dark .profil-stat-card span{color:var(--muted);}
body.dark .profil-role-card{background:var(--card);border-color:var(--card-border);box-shadow:0 10px 22px var(--card-shadow);}
body.dark .profil-role-card-brand{background:linear-gradient(180deg,#1e2b1e 0%,#223022 100%);border-color:rgba(120,196,134,0.15);}
body.dark .profil-btn-sand{background:var(--sand);color:#d5cdc5;border-color:var(--card-border);}
body.dark .profil-btn-muted{background:var(--sand);color:#b5aca3;}
body.dark .profil-btn-brand{background:#458c55;color:#fff;}
body.dark .profil-btn-brand-ghost{background:var(--card);color:var(--brand);border-color:rgba(120,196,134,0.18);}
body.dark .profil-btn-dark{background:var(--ink);color:#fff;}
body.dark .profil-avatar{background:#253228;color:var(--brand);}
body.dark .profil-grid{gap:8px;}
@media (max-width:430px){body.dark{background:var(--bg-shell);}}

/* Dark mode — topbars, navbar, pages */
body.dark #tb [style*="background:#fff"],
body.dark #tb [style*="background: #fff"]{background:var(--card)!important;border-color:var(--card-border)!important;}
body.dark #tb [style*="background:linear-gradient(180deg,#f6f1eb"],
body.dark #tb [style*="background:linear-gradient(180deg,#fcfaf7"]{background:var(--card)!important;}
body.dark #nb [style*="background:#fff"]{background:var(--card)!important;border-color:var(--card-border)!important;}
body.dark #sc{background:var(--bg-shell);}
body.dark #sc .card{background:var(--card);border:1px solid var(--card-border);}
body.dark [style*="color:#1a1a1a"],
body.dark [style*="color:#201510"],
body.dark [style*="color:#333"]{color:var(--ink)!important;}
body.dark [style*="color:#888"],
body.dark [style*="color:#555"],
body.dark [style*="color:#5c5148"],
body.dark [style*="color:#7a6c61"],
body.dark [style*="color:#8a7a6b"],
body.dark [style*="color:#6b6057"],
body.dark [style*="color:#75665a"],
body.dark [style*="color:#675b51"],
body.dark [style*="color:#7b6d63"],
body.dark [style*="color:#8c7d70"]{color:var(--muted)!important;}
body.dark [style*="background:#f7f4ef"],
body.dark [style*="background:#f6f2ec"],
body.dark [style*="background:#f7f1eb"],
body.dark [style*="background:#efe7dd"],
body.dark [style*="background:#efe3d6"],
body.dark [style*="background:#f0ede8"],
body.dark [style*="background:#eaf0e4"]{background:var(--sand)!important;}
body.dark [style*="background:#fff"],
body.dark [style*="background: #fff"]{background:var(--card)!important;}
body.dark [style*="border-bottom:0.5px solid rgba(0,0,0"],
body.dark [style*="border-top:0.5px solid rgba(0,0,0"]{border-color:var(--divider)!important;}
body.dark [style*="border:1px solid rgba(0,0,0,0.08)"],
body.dark [style*="border:0.5px solid rgba(0,0,0"]{border-color:var(--card-border)!important;}
body.dark [style*="background:rgba(255,255,255,0.92)"]{background:rgba(38,37,35,0.94)!important;color:var(--ink)!important;}
body.dark .sw{border:1px solid var(--card-border);}
body.dark .hero-shell{background:linear-gradient(180deg,#1e1d1b 0%,#222120 100%)!important;}
body.dark .entry-card-light{background:linear-gradient(180deg,#262523 0%,#2a2927 100%);border-color:var(--card-border);box-shadow:0 16px 34px rgba(0,0,0,0.25);}
body.dark .entry-card-brand{background:linear-gradient(180deg,#1e2b1e 0%,#223022 100%);box-shadow:0 16px 34px rgba(0,0,0,0.25);}
body.dark .entry-title{color:var(--ink);}
body.dark .entry-copy{color:var(--muted);}
body.dark .entry-eyebrow{color:var(--brand);}
body.dark .favs-empty-btn-ghost{background:var(--sand)!important;color:var(--muted)!important;}
body{
  background:
    radial-gradient(circle at top left, rgba(53,91,66,0.16), transparent 30%),
    radial-gradient(circle at bottom right, rgba(118,98,77,0.10), transparent 34%),
    linear-gradient(180deg,#ece6df 0%,#f3eee8 45%,#f7f4f0 100%);
  font-family:"Segoe UI",sans-serif;
  display:flex;justify-content:center;align-items:center;padding:24px 20px 32px;min-height:100vh;
  overscroll-behavior:none;
}
#phone{
  width:min(100%,var(--app-shell-width));height:min(calc(100vh - 56px),var(--app-shell-height));border-radius:var(--app-shell-radius);overflow:hidden;border:1px solid rgba(32,21,16,0.08);
  background:var(--bg-shell);display:flex;flex-direction:column;overscroll-behavior:none;
  box-shadow:0 30px 70px rgba(74,40,18,0.18), inset 0 1px 0 rgba(255,255,255,0.65);
}
@media (min-width:768px){
  :root{
    --app-shell-width:min(92vw,860px);
    --app-shell-height:min(92vh,1180px);
    --app-shell-radius:34px;
  }
  body{
    padding:22px;
    align-items:center;
  }
  #phone{
    min-height:720px;
  }
  #tb,
  #nb{
    flex-shrink:0;
  }
}
@media (min-width:1024px){
  :root{
    --app-shell-width:min(88vw,980px);
    --app-shell-height:min(90vh,1220px);
    --app-shell-radius:30px;
  }
}
@media (max-width:430px){
  body{padding:0;background:#f2efe9;overflow:hidden;position:fixed;width:100%;height:100%;}
  #phone{width:100%;height:100%;border-radius:0;border:none;box-shadow:none;position:fixed;top:0;left:0;inset:0;}
  #tb{padding-top:env(safe-area-inset-top);}
  #nb{padding-bottom:env(safe-area-inset-bottom);}
  .hero-shell{border-radius:0;}
}
@media (min-width:768px){
  .hero-title,
  .profil-hero-title,
  .favs-hero-title{
    max-width:560px;
  }
  .hero-copy,
  .profil-hero-copy,
  .favs-hero-copy,
  .fiche-sub{
    max-width:620px;
  }
  .favs-empty-card{
    max-width:420px;
  }
}
@media (min-width:768px){
  #phone[data-screen="home"] #sc,
  #phone[data-screen="profil"] #sc,
  #phone[data-screen="favs"] #sc,
  #phone[data-screen="msgs"] #sc,
  #phone[data-screen="dash"] #sc,
  #phone[data-screen="auth"] #sc,
  #phone[data-screen="notifs"] #sc,
  #phone[data-screen="legal"] #sc,
  #phone[data-screen="insc"] #sc{
    scrollbar-gutter:stable;
  }

  .screen-home,
  .screen-profile,
  .screen-favs,
  .screen-msgs,
  .screen-dash-home,
  .screen-dash-msgs,
  .screen-dash-profile,
  .screen-auth,
  .screen-insc{
    width:100%;
  }

  .screen-home .home-top,
  .screen-home .home-content,
  .screen-profile .profile-content,
  .screen-favs,
  .screen-msgs,
  .screen-dash-home,
  .screen-dash-msgs,
  .screen-dash-profile,
  .screen-auth,
  .screen-insc,
  #phone[data-screen="auth"] #sc > div,
  #phone[data-screen="legal"] #sc > div,
  #phone[data-screen="notifs"] #sc > div,
  #phone[data-screen="insc"] #sc > div{
    max-width:940px;
    margin-left:auto;
    margin-right:auto;
  }

  .screen-home .home-summary-grid{
    grid-template-columns:1.2fr 0.8fr!important;
  }

  .screen-home .home-sort-row{
    flex-wrap:wrap;
    overflow:visible!important;
  }

  .screen-home .home-spotlight-row{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    overflow:visible!important;
    align-items:stretch;
  }

  .screen-home .home-spotlight-row > div{
    min-width:0!important;
    height:100%;
  }

  .screen-home .home-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important;
    align-items:start;
  }

  .screen-home .home-list > div{
    height:100%;
  }

  #homePromos > div{
    max-width:940px;
    margin-left:auto;
    margin-right:auto;
  }

  #homePromos [style*="overflow-x:auto"]{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr));
    overflow:visible!important;
  }

  #homePromos [style*="min-width:220px"]{
    min-width:0!important;
  }

  .screen-favs #favsList{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px!important;
    align-items:start;
  }

  .screen-favs .favs-hero{
    padding:24px 24px 22px;
  }

  .screen-msgs .msgs-list{
    display:flex!important;
    flex-direction:column;
    gap:8px!important;
    max-width:600px;
  }

  .screen-auth{
    display:grid;
    grid-template-columns:minmax(0,1fr);
    align-content:start;
  }

  .screen-auth .auth-card{
    width:min(100%,560px);
    margin:0 auto;
  }

  .screen-profile.is-guest,
  .screen-profile.is-producer{
    max-width:940px;
    margin:0 auto;
  }

  .screen-profile.is-guest{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:14px!important;
    align-items:start;
  }

  .screen-profile.is-guest > div:first-child{
    grid-column:1 / -1;
  }

  .screen-profile.is-user .profile-content{
    display:grid!important;
    grid-template-columns:1.15fr 0.85fr;
    gap:14px!important;
    align-items:start;
  }

  .screen-profile.is-user .profile-content > *:first-child{
    grid-column:1;
  }

  .screen-profile.is-user .profile-content > *:nth-child(2),
  .screen-profile.is-user .profile-content > *:nth-child(3),
  .screen-profile.is-user .profile-content > *:nth-child(4){
    grid-column:2;
  }

  .screen-profile.is-user #profBanner{
    border-radius:0 0 28px 28px;
  }

  .screen-dash-home .dash-quick-grid,
  .screen-dash-home .dash-stats-grid{
    grid-template-columns:repeat(4,minmax(0,1fr))!important;
  }

  .screen-dash-home > .card,
  .screen-dash-home > div[class="card"]{
    width:100%;
  }

  .screen-dash-msgs .dash-msgs-list{
    display:grid!important;
    grid-template-columns:repeat(2,minmax(0,1fr));
    gap:12px!important;
    align-items:start;
  }

  .screen-dash-profile{
    display:grid!important;
    grid-template-columns:1.05fr 0.95fr;
    gap:12px!important;
    align-items:start;
  }

  .screen-dash-profile > .card{
    grid-row:span 2;
    margin-bottom:0;
  }

  .screen-insc{
    max-width:760px;
    margin:0 auto;
  }

  .screen-insc .insc-head,
  .screen-insc .insc-body{
    max-width:640px;
    margin-left:auto;
    margin-right:auto;
  }
}
@media (min-width:1024px){
  .screen-home .home-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  .screen-favs #favsList,
  .screen-dash-msgs .dash-msgs-list{
    grid-template-columns:repeat(3,minmax(0,1fr));
  }

  #homePromos [style*="overflow-x:auto"]{
    grid-template-columns:repeat(4,minmax(0,1fr));
  }
}
@media (min-width:768px) and (max-width:940px){
  .screen-home .home-list,
  .screen-favs #favsList,
  .screen-dash-msgs .dash-msgs-list{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }

  .screen-dash-home .dash-quick-grid,
  .screen-dash-home .dash-stats-grid{
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
  }

  .screen-profile.is-user .profile-content{
    grid-template-columns:1fr;
  }

  .screen-profile.is-user .profile-content > *{
    grid-column:auto!important;
  }

  .screen-dash-profile{
    grid-template-columns:1fr;
  }

  .screen-dash-profile > .card{
    grid-row:auto;
  }
}
#sc{flex:1;overflow-y:auto;min-height:0;overscroll-behavior:none;}
#sc::-webkit-scrollbar{display:none;}
#nb{flex-shrink:0;}
.inp{width:100%;padding:13px 14px;border:1px solid rgba(32,21,16,0.1);border-radius:14px;font-size:14px;font-family:"Segoe UI",sans-serif;outline:none;background:#fff;color:var(--ink);}
.inp:focus{border-color:var(--brand);box-shadow:0 0 0 4px rgba(53,91,66,0.08);}
.lbl{font-size:11px;color:#888;font-weight:500;text-transform:uppercase;letter-spacing:0.4px;display:block;margin-bottom:6px;}
.card{background:#fff;border-radius:20px;padding:14px;margin-bottom:10px;box-shadow:0 10px 26px rgba(71,42,24,0.06);}
.sw{width:42px;height:24px;border-radius:12px;position:relative;flex-shrink:0;transition:background 0.2s;cursor:pointer;align-self:center;}
.sb{width:20px;height:20px;border-radius:50%;background:#fff;position:absolute;top:2px;transition:all 0.2s;pointer-events:none;}

.hero-shell{
  min-height:100%;
  background:
    radial-gradient(circle at 15% 20%, rgba(230,239,232,0.18), transparent 22%),
    radial-gradient(circle at 85% 18%, rgba(201,215,198,0.15), transparent 18%),
    linear-gradient(180deg,#24362b 0%,#2f4a3a 34%,#46634f 56%,#edf0ea 100%);
  overflow:hidden;
}
.hero-orb{position:absolute;border-radius:50%;filter:blur(2px);}
.hero-orb-a{width:180px;height:180px;background:rgba(233,242,235,0.14);top:-42px;right:-44px;}
.hero-orb-b{width:140px;height:140px;background:rgba(99,123,101,0.12);bottom:128px;left:-34px;}
.hero-brand{display:flex;align-items:center;gap:12px;}
.hero-kicker{font-size:12px;letter-spacing:0.24em;text-transform:uppercase;color:#eef4ef;font-weight:700;}
.hero-sub{font-size:13px;color:rgba(238,244,239,0.72);margin-top:2px;}
.hero-title{font-size:34px;line-height:1.08;font-weight:700;color:#f6faf6;max-width:320px;}
.hero-copy{font-size:14px;line-height:1.7;color:rgba(246,250,246,0.78);max-width:320px;margin-top:12px;}
.hero-panel{margin-top:22px;display:flex;flex-direction:column;gap:12px;}
.entry-card{
  width:100%;border:none;border-radius:26px;padding:20px 18px;text-align:left;cursor:pointer;
  display:flex;flex-direction:column;gap:6px;font-family:"Segoe UI",sans-serif;
  box-shadow:0 16px 34px rgba(71,42,24,0.12);
}
.entry-card-light{
  background:linear-gradient(180deg,#f7f0e8 0%,#efe4d7 100%);
  color:#201510;
  border:1px solid rgba(32,21,16,0.08);
}
.entry-card-brand{background:linear-gradient(180deg,#f4f2ed 0%,#e7ede7 100%);color:#201510;}
.entry-eyebrow{font-size:11px;text-transform:uppercase;letter-spacing:0.16em;color:#667164;font-weight:700;}
.entry-title{font-size:20px;font-weight:700;line-height:1.15;}
.entry-copy{font-size:13px;line-height:1.6;color:#5e5a53;}

.fiche-hero{position:relative;height:278px;overflow:hidden;background:#2a3d31;}
.fiche-hero-img{width:100%;height:100%;object-fit:cover;display:block;filter:saturate(0.92) contrast(0.98);}
.fiche-hero-overlay{
  position:absolute;inset:0;
  background:linear-gradient(180deg, rgba(18,28,22,0.18) 0%, rgba(18,28,22,0.06) 28%, rgba(18,28,22,0.72) 100%);
}
.fiche-hero-top{
  position:absolute;top:16px;left:16px;right:16px;display:flex;align-items:center;justify-content:space-between;gap:12px;
}
.fiche-hero-copy{position:absolute;left:16px;right:16px;bottom:18px;z-index:2;}
.fiche-kicker{font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(247,244,240,0.8);font-weight:700;}
.fiche-title{font-size:28px;line-height:1.15;font-weight:700;color:#fff7f1;margin-top:8px;word-break:break-word;}
.fiche-sub{font-size:13px;line-height:1.65;color:rgba(255,247,241,0.84);margin-top:10px;word-break:break-word;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;}
.fiche-shell{padding:0 14px 18px;margin-top:-18px;position:relative;z-index:2;}
.fiche-summary-card{
  background:rgba(255,252,248,0.92);backdrop-filter:blur(16px);border-radius:24px;padding:18px;
  border:1px solid rgba(255,255,255,0.56);box-shadow:0 18px 40px rgba(37,28,21,0.12);
}
.fiche-summary-head{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;}
.fiche-summary-title{font-size:11px;letter-spacing:0.15em;text-transform:uppercase;color:#7b6d63;font-weight:700;}
.fiche-summary-meta{font-size:14px;color:#2f2823;font-weight:600;margin-top:5px;line-height:1.4;word-break:break-word;}
.fiche-summary-score{
  display:inline-flex;flex-direction:column;align-items:flex-end;gap:4px;cursor:pointer;
  font-size:12px;color:#5b534d;font-weight:600;white-space:nowrap;
}
.fiche-summary-score span{font-size:16px;color:#1f1713;font-weight:700;}
.fiche-summary-score small{font-size:11px;color:#85776d;}
.fiche-chip-row{display:flex;flex-wrap:wrap;gap:8px;margin-top:14px;}
.fiche-badge{
  display:inline-flex;align-items:center;justify-content:center;gap:6px;padding:7px 12px;border-radius:999px;
  font-size:11px;font-weight:700;letter-spacing:0.06em;text-transform:uppercase;
}
.fiche-badge-soft{background:rgba(255,249,243,0.18);border:1px solid rgba(255,255,255,0.34);color:#fff7f1;backdrop-filter:blur(8px);}
.fiche-badge-line{background:#f1ece4;border:1px solid rgba(53,91,66,0.12);color:#355b42;}
.fiche-icon-btn{
  width:40px;height:40px;border-radius:50%;border:none;background:rgba(255,249,243,0.14);
  backdrop-filter:blur(8px);display:flex;align-items:center;justify-content:center;cursor:pointer;
}
.fiche-tabs{
  margin-top:12px;background:#f7f1eb;border-radius:20px;padding:4px;display:flex;gap:4px;
  border:1px solid rgba(32,21,16,0.05);
}
.fiche-tab{
  flex:1;padding:11px 0;border:none;background:transparent;border-radius:16px;cursor:pointer;
  font-family:"Segoe UI",sans-serif;font-size:13px;font-weight:600;color:#7d7168;
}
.fiche-tab-on{background:#fff;color:#244131;box-shadow:0 8px 18px rgba(71,42,24,0.08);}
.fiche-content-wrap{padding:14px 0 0;display:flex;flex-direction:column;gap:12px;}
.fiche-section-label{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#7b6d63;font-weight:700;margin-bottom:10px;
}
.fiche-product-pill{
  font-size:12px;padding:7px 12px;border-radius:999px;background:#e9efe7;color:#244131;font-weight:600;
}
.fiche-gallery{display:grid;grid-template-columns:1fr 1fr;gap:10px;}
.fiche-gallery-card{
  position:relative;overflow:hidden;border-radius:20px;height:160px;background:#d9dfd6;
  box-shadow:0 14px 24px rgba(71,42,24,0.08);
}
.fiche-gallery-img{width:100%;height:100%;object-fit:cover;display:block;}
.fiche-gallery-caption{
  position:absolute;left:10px;right:10px;bottom:10px;padding:7px 10px;border-radius:14px;
  background:rgba(255,249,243,0.82);backdrop-filter:blur(8px);font-size:11px;color:#2f2823;font-weight:600;
}
.fiche-footer{
  position:sticky;bottom:0;background:#f8f5f1;backdrop-filter:blur(12px);
  border-top:1px solid rgba(32,21,16,0.06);padding:12px 16px 26px;
  z-index:10;
}
body.dark .fiche-gallery-card{background:#2a2825;box-shadow:0 14px 24px rgba(0,0,0,0.2);}
body.dark .fiche-gallery-caption{background:rgba(30,29,27,0.85);color:var(--ink);}
body.dark .fiche-footer{background:var(--bg-shell);border-top-color:var(--card-border);}
.fiche-cta{
  width:100%;padding:14px;border-radius:16px;border:none;background:#d7dece;color:#516048;
  font-size:14px;font-weight:600;cursor:pointer;font-family:"Segoe UI",sans-serif;
  display:flex;align-items:center;justify-content:center;gap:8px;
}
.leaflet-container{
  font-family:"Segoe UI",sans-serif;
  background:#f2efe9!important;
}
.leaflet-tile-pane{background:#f2efe9!important;}
.leaflet-tile{background:transparent!important;}
.leaflet-map-pane{background:#f2efe9!important;}
.leaflet-control-zoom{
  border:none!important;
  box-shadow:0 14px 24px rgba(68,49,30,0.10)!important;
}
.leaflet-control-zoom a{
  width:34px!important;height:34px!important;line-height:34px!important;
  background:rgba(255,252,248,0.94)!important;color:#244131!important;border:none!important;
}
.leaflet-bar a:hover{background:#f2ece5!important;color:#1e3528!important;}
.leaflet-control-attribution{
  background:rgba(255,252,248,0.88)!important;
  color:#6d6158!important;
}
.leaflet-control-attribution a{color:#355b42!important;}
.yoka-map-pin-wrap{background:transparent;border:none;}
.yoka-map-pin{
  width:44px;height:44px;border-radius:18px;display:flex;align-items:center;justify-content:center;
  box-shadow:0 16px 28px rgba(44,37,31,0.24);border:3px solid rgba(255,252,248,0.94);
  background:var(--pin);transform:translateZ(0);position:relative;
}
.yoka-map-pin span{font-size:20px;line-height:1;}
.yoka-map-pin i{
  position:absolute;inset:-5px;border-radius:22px;border:1px solid color-mix(in srgb, var(--pin) 54%, white);
  opacity:0.48;
}
.yoka-map-pin-sel{transform:scale(1.2);box-shadow:0 16px 32px rgba(44,37,31,0.32);}
.yoka-map-pin-sel i{inset:-8px;opacity:0.72;animation:pinPulse 1.5s ease infinite;}
@keyframes pinPulse{0%,100%{inset:-8px;opacity:0.72;}50%{inset:-12px;opacity:0.4;}}
.map-peek-wrap{
  position:absolute;left:12px;right:12px;bottom:18px;z-index:11;
}
.map-peek-head{
  display:flex;align-items:center;justify-content:space-between;margin-bottom:8px;padding:0 4px;
}
.map-peek-head span{
  font-size:12px;font-weight:700;color:#f7fbf7;letter-spacing:0.08em;text-transform:uppercase;
  text-shadow:0 2px 10px rgba(18,28,22,0.28);
}
.map-peek-link{
  border:none;background:rgba(255,252,248,0.88);backdrop-filter:blur(10px);border-radius:999px;padding:7px 10px;
  font-size:11px;font-weight:700;color:#4e443c;cursor:pointer;
}
.map-peek-row{display:flex;gap:8px;overflow-x:auto;padding-bottom:4px;}
.map-peek-card{
  min-width:152px;height:108px;border:none;border-radius:22px;overflow:hidden;position:relative;cursor:pointer;
  box-shadow:0 18px 30px rgba(42,31,24,0.18);background:#d8dfd3;padding:0;
}
.map-peek-img{width:100%;height:100%;object-fit:cover;display:block;}
.map-peek-grad{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.04) 0%,rgba(0,0,0,0.54) 100%);
}
.map-peek-icon{
  position:absolute;left:10px;top:10px;width:32px;height:32px;border-radius:12px;background:rgba(255,252,248,0.82);
  display:flex;align-items:center;justify-content:center;font-size:16px;backdrop-filter:blur(8px);
}
.map-peek-copy{
  position:absolute;left:10px;right:10px;bottom:10px;display:flex;flex-direction:column;gap:3px;text-align:left;
}
.map-peek-copy strong{font-size:13px;line-height:1.2;color:#fff7f1;}
.map-peek-copy small{font-size:11px;line-height:1.3;color:rgba(255,247,241,0.84);}
.map-empty-wrap{
  position:absolute;left:14px;right:14px;top:108px;z-index:11;pointer-events:none;
}
.map-empty-card{
  max-width:288px;background:rgba(255,252,248,0.96);backdrop-filter:blur(16px);border-radius:24px;padding:16px;
  border:1px solid rgba(255,255,255,0.76);box-shadow:0 20px 34px rgba(42,31,24,0.16);pointer-events:auto;
}
.map-empty-kicker{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#7b6d63;font-weight:700;
}
.map-empty-title{
  font-size:17px;line-height:1.2;font-weight:700;color:#201510;margin-top:7px;
}
.map-empty-copy{
  font-size:12px;line-height:1.65;color:#675b51;margin-top:8px;
}
.map-empty-actions{display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;}
.map-empty-btn-main,.map-empty-btn-ghost{
  border:none;border-radius:14px;padding:11px 12px;font-family:"Segoe UI",sans-serif;font-size:12px;font-weight:700;cursor:pointer;
}
.map-empty-btn-main{background:#244131;color:#fff;}
.map-empty-btn-ghost{background:#efe7dd;color:#5d5148;}
.map-prompt-wrap{
  position:absolute;left:14px;right:14px;top:104px;z-index:1000;pointer-events:none;
}
.map-prompt-card{
  max-width:276px;background:rgba(255,252,248,0.96);backdrop-filter:blur(16px);
  border-radius:24px;padding:16px;border:1px solid rgba(255,255,255,0.74);
  box-shadow:0 20px 34px rgba(42,31,24,0.16);pointer-events:auto;
}
.map-prompt-kicker{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#7b6d63;font-weight:700;
}
.map-prompt-title{
  font-size:17px;line-height:1.2;font-weight:700;color:#201510;margin-top:7px;
}
.map-prompt-copy{
  font-size:12px;line-height:1.65;color:#675b51;margin-top:8px;
}
.map-prompt-actions{
  display:flex;gap:8px;margin-top:14px;
}
.map-prompt-btn{
  border:none;border-radius:14px;padding:11px 12px;font-family:"Segoe UI",sans-serif;
  font-size:12px;font-weight:700;cursor:pointer;
}
.map-prompt-btn-main{
  flex:1;background:#244131;color:#fff;
}
.map-prompt-btn-ghost{
  background:#efe7dd;color:#5d5148;
}
.favs-hero{
  background:linear-gradient(145deg,#244131 0%,#355b42 56%,#5a7860 100%);
  border-radius:28px;padding:20px 18px;color:#f7fbf7;box-shadow:0 18px 34px rgba(37,65,49,0.18);
  margin-bottom:14px;
}
.favs-hero-kicker{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:rgba(247,251,247,0.68);font-weight:700;
}
.favs-hero-title{
  font-size:24px;line-height:1.12;font-weight:700;color:#f7fbf7;margin-top:8px;max-width:280px;
}
.favs-hero-copy{
  font-size:13px;line-height:1.65;color:rgba(247,251,247,0.82);margin-top:10px;max-width:305px;
}
.favs-hero-pills{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.favs-pill{
  padding:7px 10px;border-radius:999px;background:rgba(255,252,248,0.14);border:1px solid rgba(255,255,255,0.14);
  font-size:11px;font-weight:700;color:#f7fbf7;
}
.fav-card{
  background:#fff;border-radius:24px;overflow:hidden;border:1px solid rgba(32,21,16,0.06);
  box-shadow:0 14px 28px rgba(68,49,30,0.08);cursor:pointer;
}
.fav-card-media{
  position:relative;height:154px;background:#dfe5d8;
}
.fav-card-img{width:100%;height:100%;object-fit:cover;display:block;}
.fav-card-grad{
  position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,0.03) 0%,rgba(0,0,0,0.28) 100%);
}
.fav-card-icon{
  position:absolute;left:12px;top:12px;width:40px;height:40px;border-radius:14px;background:rgba(255,252,248,0.84);
  display:flex;align-items:center;justify-content:center;font-size:21px;backdrop-filter:blur(8px);
}
.fav-card-dist{
  position:absolute;right:12px;top:12px;padding:7px 10px;border-radius:999px;background:rgba(255,252,248,0.88);
  font-size:11px;font-weight:700;color:#355b42;
}
.fav-card-body{padding:14px;}
.fav-card-title{
  font-size:17px;font-weight:700;color:#201510;line-height:1.2;
}
.fav-card-meta{
  font-size:12px;color:#7b6d63;margin-top:4px;
}
.fav-card-remove{
  width:34px;height:34px;border-radius:50%;border:none;background:#fdf0ed;display:flex;align-items:center;justify-content:center;cursor:pointer;flex-shrink:0;
}
.fav-card-copy{
  font-size:12px;line-height:1.65;color:#5f544c;margin-top:10px;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;
}
.fav-card-foot{
  display:flex;align-items:flex-end;justify-content:space-between;gap:12px;margin-top:12px;
}
.fav-card-score{
  font-size:12px;font-weight:700;color:#40362f;
}
.fav-card-reviews{
  font-size:11px;color:#8a7c6f;
}
.fav-mini-pill{
  font-size:10px;padding:5px 8px;border-radius:999px;font-weight:700;
}
.fav-mini-pill-bio{background:#e8f0e8;color:#355b42;}
.fav-mini-pill-market{background:#f3ece2;color:#7a5a34;}
.fav-mini-pill-plain{background:#f1efea;color:#665d56;}
.favs-empty-shell{
  min-height:100%;display:flex;align-items:center;justify-content:center;padding:22px;
}
.favs-empty-card{
  width:100%;max-width:320px;background:rgba(255,252,248,0.96);backdrop-filter:blur(16px);
  border-radius:28px;padding:22px;border:1px solid rgba(255,255,255,0.76);box-shadow:0 22px 38px rgba(42,31,24,0.14);
}
.favs-empty-kicker{
  font-size:11px;letter-spacing:0.14em;text-transform:uppercase;color:#7b6d63;font-weight:700;
}
.favs-empty-title{
  font-size:22px;line-height:1.15;font-weight:700;color:#201510;margin-top:10px;
}
.favs-empty-copy{
  font-size:13px;line-height:1.7;color:#675b51;margin-top:10px;
}
.favs-empty-actions{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:16px;
}
.favs-empty-btn-main,.favs-empty-btn-ghost{
  border:none;border-radius:14px;padding:12px 13px;font-family:"Segoe UI",sans-serif;font-size:12px;font-weight:700;cursor:pointer;
}
.favs-empty-btn-main{background:#244131;color:#fff;}
.favs-empty-btn-ghost{background:#efe7dd;color:#5d5148;}
.profil-hero{
  border-radius:28px;padding:20px 18px;box-shadow:0 18px 34px rgba(42,31,24,0.12);
}
.profil-hero-light{
  background:linear-gradient(180deg,#fff 0%,#f5eee6 100%);
  border:1px solid rgba(32,21,16,0.06);
}
.profil-hero-brand{
  background:linear-gradient(145deg,#244131 0%,#355b42 56%,#5a7860 100%);
  color:#f7fbf7;
}
.profil-hero-top{
  display:flex;align-items:center;gap:12px;
}
.profil-avatar{
  width:58px;height:58px;border-radius:18px;background:#e8f0e8;color:#244131;
  display:flex;align-items:center;justify-content:center;font-size:22px;font-weight:700;
}
.profil-hero-kicker{
  font-size:11px;letter-spacing:0.16em;text-transform:uppercase;color:#7a6c61;font-weight:700;
}
.profil-hero-brand .profil-hero-kicker{color:rgba(247,251,247,0.68);}
.profil-hero-sub{
  font-size:12px;color:#8c7d70;margin-top:3px;
}
.profil-hero-brand .profil-hero-sub{color:rgba(247,251,247,0.78);}
.profil-hero-title{
  font-size:24px;line-height:1.12;font-weight:700;color:#201510;margin-top:14px;max-width:290px;
}
.profil-hero-brand .profil-hero-title{color:#f7fbf7;}
.profil-hero-copy{
  font-size:13px;line-height:1.7;color:#675b51;margin-top:10px;max-width:320px;
}
.profil-hero-brand .profil-hero-copy{color:rgba(247,251,247,0.82);}
.profil-hero-chips{
  display:flex;gap:8px;flex-wrap:wrap;margin-top:14px;
}
.profil-chip{
  padding:7px 10px;border-radius:999px;background:#efe7dd;color:#5d5148;font-size:11px;font-weight:700;
}
.profil-chip-soft{
  padding:7px 10px;border-radius:999px;background:rgba(255,252,248,0.14);border:1px solid rgba(255,255,255,0.14);
  color:#f7fbf7;font-size:11px;font-weight:700;
}
.profil-grid{
  display:grid;grid-template-columns:1fr 1fr;gap:10px;
}
.profil-stat-card{
  background:#fff;border-radius:20px;padding:16px;border:1px solid rgba(32,21,16,0.06);box-shadow:0 12px 24px rgba(68,49,30,0.06);
}
.profil-stat-card strong{
  display:block;font-size:20px;line-height:1.1;color:#201510;font-weight:700;
}
.profil-stat-card span{
  display:block;font-size:11px;color:#7b6d63;margin-top:5px;text-transform:uppercase;letter-spacing:0.12em;font-weight:700;
}
.profil-role-card{
  background:#fff;border-radius:24px;padding:18px;border:1px solid rgba(32,21,16,0.06);box-shadow:0 14px 28px rgba(68,49,30,0.06);
}
.profil-role-card-brand{
  background:linear-gradient(180deg,#edf3ee 0%,#e6ede7 100%);
  border-color:rgba(53,91,66,0.12);
}
.profil-role-title{
  font-size:16px;font-weight:700;color:#201510;
}
.profil-role-copy{
  font-size:13px;line-height:1.65;color:#5f544c;margin-top:8px;margin-bottom:14px;
}
.profil-btn{
  width:100%;padding:13px;border-radius:14px;border:none;font-size:14px;font-weight:700;cursor:pointer;font-family:"Segoe UI",sans-serif;
}
.profil-btn + .profil-btn{margin-top:8px;}
.profil-btn-brand{background:#244131;color:#fff;}
.profil-btn-brand-ghost{background:#fff;color:#355b42;border:1px solid rgba(53,91,66,0.18);}
.profil-btn-dark{background:#2b211a;color:#fff;}
.profil-btn-sand{background:#efe3d6;color:#2b211a;border:1px solid rgba(43,33,26,0.08);}
.profil-btn-muted{background:#f7f1eb;color:#5d5148;}

@keyframes pulse{0%,100%{opacity:1;}50%{opacity:0.3;}}
@keyframes up{from{transform:translateY(10px);opacity:0;}to{transform:translateY(0);opacity:1;}}
@keyframes ring{0%,100%{transform:scale(1);opacity:0.3;}50%{transform:scale(2.2);opacity:0;}}
.btn-green{width:100%;padding:14px;border-radius:14px;border:none;background:#2d5a1b;color:#fff;font-size:14px;font-weight:600;cursor:pointer;}
.btn-green:disabled{opacity:0.6;cursor:default;}
.text-muted{font-size:11px;color:#888;}
.text-sm{font-size:12px;color:#7a6d61;}
@keyframes spin{to{transform:rotate(360deg);}}
.spinner{display:inline-block;width:16px;height:16px;border:2px solid rgba(255,255,255,0.3);border-top-color:#fff;border-radius:50%;animation:spin 0.6s linear infinite;vertical-align:middle;margin-right:6px;}
