/* ---------- Design tokens ----------
   Ink (primary navy):  #17223F — header, hero, dark navy elements
   Paper (background):  #F5F4EF light / #0F1318 dark
   Surface (cards):     #FFFFFF light / #1A202B dark
   Card hover:          #F0EEE7 light / #222A38 dark
   Gold (orange accent):#F5A623 — price, labels, active accents
   Teal:                #159B8A — buttons, links, interactive elements
   Line (border):       #E3E0D6 light / rgba(255,255,255,.10) dark
   Ink-soft (muted):    #5B6472 light / #9AA3B2 dark
   Display font: Big Shoulders Display (сжатый, спортивный, как номер на форме)
   Body font: Inter
------------------------------------ */

:root{
  --ink:#17223F;
  --paper:#F5F4EF;
  --surface:#FFFFFF;
  --card-hover:#F0EEE7;
  --text:#17223F;
  --gold:#F5A623;
  --gold-dark:#D68C12;
  --teal:#159B8A;
  --line:#E3E0D6;
  --ink-soft:#5B6472;
  --white:#F5F5F2;
  --danger:#C1443A;
  --radius:10px;
  --overlay:rgba(23,34,63,.06);
  --overlay-strong:rgba(23,34,63,.12);
  --map-land:#EDE8D6;
  --map-water:rgba(21,155,138,.16);
  --map-water-line:#159B8A;
  --map-region:#4A4F57;
  --map-region-stroke:#1C1E22;
  --cta-bg:linear-gradient(160deg, var(--surface) 55%, var(--card-hover) 100%);
  --cta-border:1px solid var(--line);
  --cta-text:var(--text);
  --cta-text-soft:var(--ink-soft);
  --cta-shadow:0 14px 30px -20px rgba(23,34,63,.18);
  /* Футер — тот же surface/line, что у карточек, в обеих темах (см.
     [data-theme="dark"] ниже, где токены просто становятся тёмными). */
  --footer-bg:var(--surface);
  --footer-border:1px solid var(--line);
  --footer-strong:var(--text);
  --footer-text:var(--ink-soft);
  --footer-muted:var(--ink-soft);
  --footer-line:var(--line);
}

[data-theme="dark"]{
  --paper:#0F1318;
  --surface:#1A202B;
  --card-hover:#222A38;
  --text:#F5F5F2;
  --ink-soft:#9AA3B2;
  --line:rgba(255,255,255,0.10);
  --map-land:#232B3A;
  --map-water:rgba(21,155,138,.22);
  --map-water-line:#2CBBA6;
  --map-region:#6B7280;
  --map-region-stroke:#0B0C0E;
  --overlay:rgba(255,255,255,.08);
  --overlay-strong:rgba(255,255,255,.16);
  /* CTA-блок «Vai esi treneris?» — в тёмной теме тоже тёмный (surface/
     card-hover, как везде на странице), а не отдельный синий акцент. */
  --cta-bg:linear-gradient(160deg, var(--surface) 55%, var(--card-hover) 100%);
  --cta-border:1px solid var(--line);
  --cta-text:var(--text);
  --cta-text-soft:var(--ink-soft);
  --cta-shadow:0 20px 36px -22px rgba(0,0,0,.5);
  --footer-bg:var(--surface);
  --footer-border:1px solid var(--line);
  --footer-strong:var(--text);
  --footer-text:var(--ink-soft);
  --footer-muted:var(--ink-soft);
  --footer-line:var(--line);
}

*{box-sizing:border-box;}
html,body{margin:0;padding:0;}
body{
  background:var(--paper);
  color:var(--text);
  font-family:'Inter',system-ui,sans-serif;
  line-height:1.5;
  -webkit-font-smoothing:antialiased;
  transition:background .2s ease, color .2s ease;
}
h1,h2,h3,.display{
  font-family:'Big Shoulders Display',sans-serif;
  font-weight:900;
  letter-spacing:0.2px;
  line-height:0.95;
  color:var(--text);
  margin:0 0 .4em;
}
h1{font-size:clamp(2.4rem,5vw,3.6rem);}
h2{font-size:clamp(1.6rem,3vw,2.2rem);}
h3{font-size:1.3rem;}
a{color:var(--teal);text-decoration:none;}
a:hover{text-decoration:underline;}
p{margin:0 0 .8em;color:var(--ink-soft);}
button{font-family:inherit;cursor:pointer;}
img{max-width:100%;display:block;}
:focus-visible{outline:3px solid var(--teal);outline-offset:2px;}

/* Layout helpers */
.container{max-width:1160px;margin:0 auto;padding:0 20px;}
.grid{display:grid;gap:20px;}
.grid-3{grid-template-columns:repeat(3,1fr);}
.grid-4{grid-template-columns:repeat(4,1fr);}
@media(max-width:900px){.grid-3,.grid-4{grid-template-columns:repeat(2,1fr);}}
@media(max-width:560px){.grid-3,.grid-4{grid-template-columns:1fr;}}
.cicon{vertical-align:-2px;flex-shrink:0;}

/* Header */
.site-header{background:var(--paper);color:var(--text);position:sticky;top:0;z-index:50;border-bottom:1px solid var(--line);}
.site-header .bar{display:flex;align-items:center;gap:16px;padding:12px 28px;width:100%;flex-wrap:wrap;row-gap:10px;}
.logo{display:inline-flex;align-items:center;flex-shrink:0;}
.logo img{height:36px;width:auto;display:block;}
.logo .logo-light{display:none;}
[data-theme="light"] .logo .logo-dark{display:none;}
[data-theme="light"] .logo .logo-light{display:block;}
.logo span{color:var(--gold);}
.nav-home-link{flex-shrink:0;}
.nav-links{display:flex;gap:6px;align-items:center;flex-wrap:wrap;row-gap:10px;}
.nav-links--right{margin-left:auto;}
.nav-group{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
.nav-group.nav-utils{gap:12px;}
.nav-divider{width:1px;height:22px;background:var(--line);margin:0 10px;flex-shrink:0;}
.nav-links a,.nav-links button.linklike,.nav-home-link{color:var(--text);font-size:.92rem;font-weight:600;background:none;border:0;padding:8px 10px;border-radius:6px;}
.nav-links button.linklike:hover,.nav-links a:hover,.nav-home-link:hover{background:var(--overlay);text-decoration:none;}
.nav-links .linklike.active,.nav-links a.active,.nav-home-link.active{background:var(--gold);color:var(--ink);}
.lang-switch{display:flex;gap:3px;background:var(--overlay);border:1px solid var(--line);border-radius:8px;padding:3px;}
.lang-btn{background:transparent;border:0;color:var(--ink-soft);font-size:.76rem;font-weight:700;letter-spacing:.3px;padding:5px 9px;border-radius:6px;}
.lang-btn:hover{color:var(--text);}
.lang-btn.active{background:var(--gold);color:var(--ink);}
.theme-toggle{background:var(--overlay);border:1px solid var(--line);color:var(--text);width:38px;height:38px;border-radius:50%;font-size:1.05rem;display:flex;align-items:center;justify-content:center;flex-shrink:0;}
.theme-toggle:hover{background:var(--overlay-strong);}
.btn{display:inline-block;border:0;border-radius:8px;padding:10px 18px;font-weight:700;font-size:.95rem;transition:transform .12s ease,background-color .18s ease,border-color .18s ease,color .18s ease;}
.btn:hover{text-decoration:none;}
.btn:active{transform:scale(.97);}
.btn-gold{background:var(--gold);color:var(--ink);}
.btn-gold:hover{background:var(--gold-dark);}
.btn-teal{background:var(--teal);color:var(--white);}
.btn-outline{background:transparent;border:2px solid var(--white);color:var(--white);}
.btn-ghost{background:transparent;border:2px solid var(--line);color:var(--text);}
.btn-danger{background:var(--danger);color:var(--white);}
.btn-block{width:100%;text-align:center;}
.btn[disabled]{opacity:.55;cursor:not-allowed;}

/* Hero */
.hero{
  position:relative;
  overflow:hidden;
  background:linear-gradient(160deg,var(--ink) 55%, #223058 100%);
  color:var(--white);
  padding:56px 0 44px;
  text-align:center;
  box-shadow:0 24px 40px -24px rgba(0,0,0,.55);
}
.hero::before{
  content:'';
  position:absolute;
  inset:0;
  background-image:url('hero-bg.jpg');
  background-size:cover;
  background-position:center 30%;
  filter:blur(4px);
  transform:scale(1.08);
  z-index:0;
}
.hero::after{
  content:'';
  position:absolute;
  inset:0;
  background:linear-gradient(180deg, rgba(15,20,35,.5) 0%, rgba(15,20,35,.78) 45%, rgba(15,20,35,.96) 78%, #0F1318 100%);
  z-index:1;
}
.hero h1,.hero h2,.hero h3{color:var(--white);}
.hero p{color:#C7CCDA;}
.hero .container{position:relative;z-index:2;display:flex;flex-direction:column;align-items:center;}

/* Hero search — крупная строка поиска прямо в hero */
.hero-search{display:flex;gap:12px;margin-top:28px;max-width:640px;width:100%;flex-wrap:wrap;justify-content:center;}
.hero-search-box{flex:1;min-width:220px;display:flex;align-items:center;gap:10px;background:rgba(0,0,0,.32);border:1px solid rgba(255,255,255,.14);border-radius:10px;padding:0 16px;text-align:left;}
.hero-search-box .icon{color:#9AA3B0;font-size:1rem;flex-shrink:0;}
.hero-search-box input{flex:1;background:transparent;border:0;color:var(--white);font-size:.98rem;padding:14px 0;}
.hero-search-box input:focus{outline:none;}
.hero-search-box input::placeholder{color:#9AA3B0;}
.hero-search-box:focus-within{border-color:var(--teal);}
.hero-search button{padding:14px 26px;font-size:.98rem;flex-shrink:0;}
@media(max-width:560px){.hero-search{flex-direction:column;}.hero-search button{width:100%;}}

.hero-cities{margin-top:36px;text-align:center;}
.hero-cities-label{display:block;font-size:.78rem;text-transform:uppercase;letter-spacing:1.4px;color:#9AA3B2;font-weight:700;margin-bottom:14px;}
.hero-cities-row{display:flex;gap:10px;flex-wrap:wrap;justify-content:center;}
.city-pill{
  display:inline-flex;align-items:center;
  padding:10px 22px;
  border-radius:999px;
  background:rgba(255,255,255,.06);
  border:1px solid rgba(255,255,255,.16);
  color:var(--white);
  font-size:.92rem;
  font-weight:600;
  white-space:nowrap;
  cursor:pointer;
  transition:transform .18s ease,background-color .18s ease,border-color .18s ease,box-shadow .18s ease;
}
.city-pill:hover{
  text-decoration:none;
  transform:translateY(-2px);
  background:rgba(255,255,255,.11);
  border-color:var(--teal);
  box-shadow:0 6px 18px rgba(21,155,138,.28);
}
.city-pill:active{
  transform:translateY(0);
  background:var(--teal);
  border-color:var(--teal);
  color:var(--white);
  box-shadow:0 4px 14px rgba(21,155,138,.4);
}
.city-pill.active{
  background:var(--teal);
  border-color:var(--teal);
  color:var(--white);
  box-shadow:0 4px 14px rgba(21,155,138,.35);
}
.city-pill-more{
  background:transparent;
  border-style:dashed;
  border-color:rgba(255,255,255,.28);
  color:#C7CCDA;
}
.city-pill-more:hover{
  border-style:solid;
  color:var(--white);
}
@media(max-width:560px){
  .hero-cities-row{gap:8px;}
  .city-pill{padding:9px 16px;font-size:.86rem;}
}

.panel-card{flex:1;min-width:230px;background:rgba(255,255,255,.06);border:1px solid rgba(255,255,255,.18);border-radius:var(--radius);padding:20px;cursor:pointer;transition:background .15s;}
.panel-card:hover{background:rgba(255,255,255,.13);}
.panel-card .k{font-size:.78rem;text-transform:uppercase;letter-spacing:1px;color:var(--gold);font-weight:700;}
.panel-card .v{font-family:'Big Shoulders Display';font-weight:700;font-size:1.5rem;margin-top:4px;}

/* Sport cards (Populārākie sporta veidi) — нарочно другой стиль,
   чем у карточек объявлений (.card), чтобы их не путали:
   эмодзи в кружке вместо фото, текст по центру, нет цены/сердечка. */
.sport-grid{margin-top:0;}
.sport-card{
  display:flex;flex-direction:column;align-items:center;text-align:center;
  height:100%;
  background:var(--surface);
  border:1px solid var(--line);
  border-radius:var(--radius);
  padding:28px 20px 24px;
  transition:transform .2s ease,border-color .2s ease,background-color .2s ease,box-shadow .2s ease;
}
.sport-card:hover{text-decoration:none;transform:translateY(-3px);border-color:var(--teal);background:var(--card-hover);box-shadow:0 10px 24px rgba(0,0,0,.18);}
.sport-card-icon{
  width:64px;height:64px;flex-shrink:0;
  display:flex;align-items:center;justify-content:center;
  font-size:1.9rem;
  border-radius:50%;
  background:linear-gradient(160deg, rgba(21,155,138,.16), rgba(245,166,35,.14));
  border:1px solid var(--line);
  margin-bottom:14px;
}
.sport-card-title{margin:0 0 8px;font-size:1.05rem;color:var(--text);}
.sport-card-desc{margin:0 0 16px;color:var(--ink-soft);font-size:.86rem;line-height:1.45;min-height:calc(1.45em * 3);display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden;}
.sport-card-count{
  margin-top:auto;
  font-size:.78rem;font-weight:700;
  color:var(--teal);
  background:rgba(21,155,138,.12);
  border:1px solid rgba(21,155,138,.3);
  padding:4px 12px;
  border-radius:999px;
}

/* Cards */
.card-link{text-decoration:none;color:inherit;display:block;height:100%;}
.card{background:var(--surface);border:1px solid var(--line);border-radius:14px;overflow:hidden;display:flex;flex-direction:column;height:100%;transition:transform .2s ease,box-shadow .2s ease,border-color .2s ease,background-color .2s ease;}
.card-link:hover .card{transform:translateY(-3px);box-shadow:0 14px 28px rgba(0,0,0,.16);border-color:var(--teal);background:var(--card-hover);}

.card .thumb{aspect-ratio:16/9;flex-shrink:0;background:linear-gradient(135deg,var(--teal),#123a35);display:flex;align-items:flex-end;justify-content:flex-start;position:relative;background-size:cover;background-position:center;}
.card .thumb-icon{position:absolute;top:41%;left:50%;transform:translate(-50%,-50%);font-size:2.2rem;color:rgba(255,255,255,.9);}
.thumb-placeholder-text{position:absolute;top:64%;left:50%;transform:translate(-50%,-50%);font-size:.74rem;font-weight:600;color:rgba(255,255,255,.75);white-space:nowrap;}
.card .like-btn{position:absolute;top:8px;right:8px;background:rgba(23,33,58,.55);border:0;color:#fff;border-radius:50%;width:34px;height:34px;display:flex;align-items:center;justify-content:center;cursor:pointer;transition:transform .15s ease,background .15s ease,color .15s ease;z-index:2;}
.card .like-btn:hover{background:rgba(23,33,58,.78);transform:scale(1.1);}
.card .like-btn.is-liked{color:var(--gold);background:rgba(23,33,58,.55);}
.card .like-btn.is-liked:hover{color:var(--gold-dark);}
.card-sport-pill{position:relative;z-index:1;margin:10px;padding:4px 10px;border-radius:999px;background:rgba(17,23,40,.6);backdrop-filter:blur(2px);color:#fff;font-size:.78rem;font-weight:700;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:calc(100% - 54px);}

.card .body{padding:16px 18px 18px;flex:1;display:flex;flex-direction:column;gap:0;}
.card-title{margin:0 0 8px;font-size:1.05rem;font-weight:800;line-height:1.3;min-height:calc(1.3em * 2);display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;letter-spacing:.1px;}
.card-location{display:flex;align-items:center;gap:5px;font-size:.85rem;color:var(--ink-soft);margin-bottom:10px;white-space:nowrap;overflow:hidden;text-overflow:ellipsis;}
.card-location .cicon{flex-shrink:0;color:var(--ink-soft);}
.card-tags{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:auto;padding-bottom:14px;min-height:26px;}
.card-tag{display:inline-flex;align-items:center;gap:4px;font-size:.76rem;font-weight:600;color:var(--ink-soft);background:transparent;border:1px solid var(--line);border-radius:999px;padding:3px 10px;white-space:nowrap;}
.card-tag .cicon{color:var(--teal);flex-shrink:0;}
.card-footer{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-top:auto;padding-top:12px;border-top:1px solid var(--line);}
.card .price{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.2rem;color:var(--gold-dark);letter-spacing:.2px;}
.card .price span{font-family:'Inter',sans-serif;font-size:.72rem;font-weight:600;color:var(--ink-soft);margin-left:2px;}
.likes-badge{font-size:.82rem;font-weight:700;color:var(--ink-soft);white-space:nowrap;flex-shrink:0;display:inline-flex;align-items:center;gap:4px;}
.likes-badge svg{color:var(--gold-dark);flex-shrink:0;}

/* Sections */
/* CTA — приглашение тренерам создать объявление */
.trainer-cta{
  position:relative;
  overflow:hidden;
  background:var(--cta-bg);
  border:var(--cta-border);
  border-radius:var(--radius);
  padding:44px 32px;
  text-align:center;
  box-shadow:var(--cta-shadow);
}
.trainer-cta::before{
  content:'';
  position:absolute;
  top:-70px; right:-70px;
  width:220px; height:220px;
  border-radius:50%;
  background:radial-gradient(circle, rgba(21,155,138,.28) 0%, rgba(21,155,138,0) 70%);
}
.trainer-cta .icon{font-size:2.2rem;margin-bottom:10px;display:block;}
.trainer-cta h2{color:var(--cta-text);margin:0 0 8px;}
.trainer-cta p{color:var(--cta-text-soft);max-width:480px;margin:0 auto 22px;}
.trainer-cta .btn{position:relative;z-index:2;padding:13px 28px;font-size:1rem;}

.section{padding:48px 0;}

/* Страница "Par mums" */
.about-page h2{text-align:center;}
.about-intro{max-width:640px;margin:10px auto 36px;text-align:center;color:var(--ink-soft);font-size:1.02rem;line-height:1.6;}
.about-features{display:grid;grid-template-columns:repeat(3,1fr);gap:20px;}
.about-feature{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 22px;text-align:center;}
.about-feature-icon{font-size:1.8rem;display:block;margin-bottom:12px;}
.about-feature h3{margin:0 0 8px;font-size:1.05rem;}
.about-feature p{margin:0;color:var(--ink-soft);font-size:.9rem;line-height:1.55;}
@media (max-width:760px){.about-features{grid-template-columns:1fr;}}
.section-head{display:flex;align-items:baseline;justify-content:space-between;margin-bottom:16px;flex-wrap:wrap;gap:8px;}
.see-all-link{display:inline-flex;align-items:center;font-size:.86rem;font-weight:700;color:var(--teal);padding:8px 16px;border:1.5px solid var(--teal);border-radius:999px;white-space:nowrap;transition:background .18s ease,color .18s ease,transform .18s ease;}
.see-all-link:hover{background:var(--teal);color:var(--white);text-decoration:none;transform:translateX(3px);}

/* How it works */
.how-section{padding-top:8px;}
.how-head{text-align:center;max-width:560px;margin:0 auto 30px;}
.how-head h2{margin-bottom:8px;}
.how-head p{color:var(--ink-soft);margin:0;}
.how-grid{display:flex;align-items:stretch;gap:18px;}
.how-step{flex:1;background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px 24px;text-align:center;cursor:pointer;transition:transform .2s ease,border-color .2s ease,background-color .2s ease;}
.how-step:hover{transform:translateY(-3px);border-color:var(--teal);background:var(--card-hover);}
.how-num{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.5rem;color:var(--gold);line-height:1;margin-bottom:8px;}
.how-icon{font-size:1.9rem;margin-bottom:12px;}
.how-step h3{font-size:.98rem;letter-spacing:.4px;margin-bottom:8px;color:var(--text);}
.how-step p{color:var(--ink-soft);font-size:.88rem;margin:0;}
.how-arrow{display:flex;align-items:center;justify-content:center;color:var(--teal);font-size:1.3rem;font-weight:700;flex-shrink:0;}
@media(max-width:800px){
  .how-grid{flex-direction:column;}
  .how-arrow{transform:rotate(90deg);margin:-6px 0;}
}

/* ---------- Listings catalog page ---------- */
.listings-page{padding-top:28px;}
.listings-head{margin-bottom:18px;}
.listings-title{font-size:clamp(1.5rem,2.6vw,2rem);margin-bottom:4px;}
.listings-subtitle{margin:0;color:var(--ink-soft);font-size:.95rem;}

/* Filters bar — компактная горизонтальная панель */
.filters{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:10px 12px;margin-bottom:16px;}
.filters-row{display:flex;align-items:center;gap:8px;flex-wrap:wrap;}
.filters .field{display:flex;flex-direction:column;gap:4px;font-size:.82rem;color:var(--ink-soft);font-weight:600;}
.filters select,.filters input{padding:8px 10px;border:1px solid var(--line);border-radius:6px;font-family:inherit;font-size:.9rem;background:var(--surface);color:var(--text);}
.filters .field--compact{flex-direction:row;align-items:center;gap:6px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:6px 12px 6px 10px;flex:1 1 150px;min-width:130px;}
.filters .field--search-bar{
  flex-direction:row;align-items:center;gap:10px;
  background:var(--paper);border:1px solid var(--line);border-radius:14px;
  padding:13px 16px;margin-bottom:12px;width:100%;
  transition:border-color .15s ease;
}
.filters .field--search-bar:focus-within{border-color:var(--teal);}
.filters .field--search-bar .field-icon{color:var(--ink-soft);flex-shrink:0;display:flex;}
.filters .field--search-bar input{border:0;background:transparent;padding:0;font-size:.95rem;font-weight:500;color:var(--text);flex:1;min-width:0;}
.filters .field--search-bar input:focus{outline:none;}
.filters .field--search-bar input::placeholder{color:var(--ink-soft);font-weight:500;}
.field--compact .field-icon{color:var(--teal);flex-shrink:0;display:flex;}
.field--compact select,.field--compact input{border:0;background:transparent;padding:2px 0;font-size:.85rem;font-weight:600;color:var(--text);flex:1;min-width:0;}
.field--compact select:focus,.field--compact input:focus{outline:none;}
.field--compact input::placeholder{color:var(--ink-soft);font-weight:600;}
.filters-more-btn{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--line);background:var(--paper);color:var(--text);border-radius:999px;padding:9px 14px;font-size:.85rem;font-weight:700;flex-shrink:0;transition:border-color .15s ease,color .15s ease;}
.filters-more-btn:hover{border-color:var(--teal);color:var(--teal);}
.filters-more-btn.has-value{border-color:var(--teal);color:var(--teal);background:rgba(21,155,138,.08);}
.clear-filters-btn{display:inline-flex;align-items:center;gap:5px;border:1px solid transparent;background:transparent;color:var(--danger);border-radius:999px;padding:9px 10px;font-size:.85rem;font-weight:700;flex-shrink:0;cursor:pointer;transition:background .15s ease;}
.clear-filters-btn:hover{background:rgba(193,68,58,.1);}
.filters-submit-btn{border-radius:999px;padding:9px 22px;font-size:.85rem;flex-shrink:0;margin-left:auto;}
.filters-extra{display:none;align-items:center;gap:10px;flex-wrap:wrap;margin-top:12px;padding-top:12px;border-top:1px solid var(--line);}
.filters-extra .field-label{font-size:.82rem;color:var(--ink-soft);font-weight:600;}
.filters.filters--expanded .filters-extra{display:flex;}
@media(max-width:700px){
  .filters-row{gap:8px;}
  .field--compact{flex:1 1 100%;}
  .filters-submit-btn{margin-left:0;flex:1 1 100%;}
}

/* Toolbar: результаты + сортировка */
.listings-toolbar{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:16px;flex-wrap:wrap;}
.results-count{font-size:.9rem;font-weight:700;color:var(--ink-soft);}
.sort-select{display:inline-flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ink-soft);font-weight:600;}
.sort-select select{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-family:inherit;font-size:.85rem;font-weight:700;cursor:pointer;}
.sort-select select:hover{border-color:var(--teal);}

/* Custom dropdown (replaces native <select> for city/sport/sort in the filters bar) */
.dd{position:relative;}
.dd-trigger{width:100%;display:flex;align-items:center;gap:6px;background:transparent;border:0;padding:0;font-family:inherit;font-size:.85rem;font-weight:600;color:var(--text);cursor:pointer;}
.dd-trigger:focus{outline:none;}
.dd-trigger-label{flex:1;text-align:left;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
.dd-chevron{color:var(--ink-soft);flex-shrink:0;font-size:.68rem;line-height:1;transition:transform .15s ease;}
.dd.open .dd-chevron{transform:rotate(180deg);color:var(--teal);}
.field--compact.dd.open{border-color:var(--teal);}

.dd-panel{position:absolute;top:calc(100% + 8px);left:0;min-width:100%;width:max-content;max-width:300px;background:var(--surface);border:1px solid var(--line);border-radius:14px;box-shadow:0 18px 40px rgba(0,0,0,.4);padding:6px;z-index:40;max-height:320px;overflow-y:auto;display:none;}
.dd.open > .dd-panel{display:block;}
.dd-item{display:flex;align-items:center;gap:8px;padding:10px 12px;border-radius:9px;cursor:pointer;font-size:.88rem;font-weight:600;color:var(--text);white-space:nowrap;}
.dd-item:hover{background:var(--card-hover);}
.dd-item.active{background:var(--gold);color:#241a06;}
.dd-item .dd-check{width:14px;flex-shrink:0;opacity:0;font-size:.8rem;}
.dd-item.active .dd-check{opacity:1;}

/* sort dropdown — keeps the boxed look of the old <select>, not the pill field style */
.dd--sort{display:inline-flex;}
.dd--sort .dd-trigger{border:1px solid var(--line);background:var(--surface);color:var(--text);border-radius:8px;padding:6px 10px;font-weight:700;gap:8px;}
.dd--sort .dd-trigger:hover{border-color:var(--teal);}
.dd--sort.open .dd-trigger{border-color:var(--teal);}
.dd--sort .dd-panel{left:auto;right:0;}

/* Rajons chip — компактная кнопка внутри поля города, видна только когда
   выбрана Rīga; открывает свою мини-панель, не мешая основному дропдауну
   городов (не занимает отдельного места в строке фильтров). */
.field--compact.dd .dd-trigger{width:auto;flex:1;min-width:0;}
.dd-back{display:flex;align-items:center;gap:6px;width:100%;background:transparent;border:0;border-bottom:1px solid var(--line);margin-bottom:6px;padding:8px 8px 10px;font-family:inherit;font-size:.82rem;font-weight:700;color:var(--teal);cursor:pointer;text-align:left;}
.dd-back:hover{color:var(--gold-dark);}
.dd-back .cicon{flex-shrink:0;}

.days-picker{display:flex;gap:6px;}
.day-btn{width:34px;height:34px;border-radius:50%;border:1px solid var(--line);background:var(--surface);color:var(--text);font-size:.78rem;font-weight:700;}
.day-btn.active{background:var(--teal);color:#fff;border-color:var(--teal);}

/* Forms */
.form-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:28px;max-width:480px;margin:0 auto;}
.form-card.wide{max-width:640px;}
.field-row{margin-bottom:16px;}
.field-row label{display:block;font-size:.85rem;font-weight:700;margin-bottom:6px;color:var(--text);}
.field-row input,.field-row select,.field-row textarea{width:100%;padding:11px 12px;border:1px solid var(--line);border-radius:8px;font-family:inherit;font-size:.95rem;background:var(--surface);color:var(--text);}
.field-row textarea{resize:vertical;min-height:80px;}

/* Тот же выпадающий список ("dd"), что и в фильтрах каталога/шапке, но в
   полноширинном варианте формы вместо узкой пилюли. */
.field-row .dd-field{width:100%;}
.field-row .dd-field .dd-trigger{width:100%;background:var(--surface);border:1px solid var(--line);border-radius:8px;padding:11px 12px;font-size:.95rem;font-weight:500;}
.field-row .dd-field.open .dd-trigger{border-color:var(--teal);}
.field-row .dd-field .dd-panel{width:100%;max-width:none;}
.dd-group-label{padding:10px 12px 4px;font-size:.72rem;font-weight:800;letter-spacing:.03em;text-transform:uppercase;color:var(--ink-soft);}
.dd-group-label:first-child{padding-top:6px;}
.dd-search{position:sticky;top:0;background:var(--surface);padding:4px 4px 10px;margin-bottom:4px;z-index:1;display:flex;align-items:center;gap:8px;border-bottom:1px solid var(--line);}
.dd-search-icon{flex-shrink:0;font-size:.95rem;opacity:.6;}
.dd-search-input{flex:1;min-width:0;width:auto;background:var(--card-hover);border:1.5px solid var(--line);border-radius:10px;padding:11px 14px;font-family:inherit;font-size:.95rem;color:var(--text);box-shadow:inset 0 1px 2px rgba(0,0,0,.15);}
.dd-search-input:focus{outline:none;border-color:var(--teal);background:var(--surface);}
.dd-search-input::placeholder{color:var(--ink-soft);}
.two-col{display:grid;grid-template-columns:1fr 1fr;gap:12px;}
.hint{font-size:.82rem;color:var(--ink-soft);margin-top:-8px;margin-bottom:14px;}
.error-text{color:var(--danger);font-size:.85rem;margin:-8px 0 12px;}
.switch-line{text-align:center;margin-top:16px;font-size:.9rem;color:var(--ink-soft);}
.auth-consent{text-align:center;margin-top:18px;font-size:.8rem;line-height:1.5;color:var(--ink-soft);}
.auth-consent a{color:var(--ink-soft);text-decoration:underline;text-underline-offset:2px;}
.auth-consent a:hover{color:var(--text);}
.auth-divider{display:flex;align-items:center;gap:12px;margin:18px 0;color:var(--ink-soft);font-size:.78rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;}
.auth-divider::before,.auth-divider::after{content:'';flex:1;height:1px;background:var(--line);}
.btn-google{display:flex;align-items:center;justify-content:center;gap:10px;}
.btn-google svg{flex-shrink:0;}

/* Wizard (multi-step listing form) */
.wizard-progress{display:flex;align-items:center;gap:10px;margin-bottom:22px;}
.wizard-progress-track{flex:1;height:6px;border-radius:999px;background:var(--line);overflow:hidden;}
.wizard-progress-fill{height:100%;background:var(--teal);border-radius:999px;transition:width .3s ease;}
.wizard-progress-label{font-size:.76rem;font-weight:700;color:var(--ink-soft);white-space:nowrap;letter-spacing:.2px;}
.wizard-head{margin-bottom:20px;}
.wizard-head h2{margin:0 0 4px;}
.wizard-hint{margin:0;color:var(--ink-soft);font-size:.88rem;}

.form-step{display:none;}
.form-step.active{display:block;animation:stepIn .28s ease;}
@keyframes stepIn{from{opacity:0;transform:translateX(10px);}to{opacity:1;transform:translateX(0);}}

.field-hint{font-size:.8rem;color:var(--ink-soft);margin-top:6px;}

.pill-grid{display:flex;flex-wrap:wrap;gap:8px;}
.pill-btn{padding:9px 16px;border-radius:999px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:.86rem;cursor:pointer;transition:border-color .15s ease,background-color .15s ease,color .15s ease,transform .15s ease;}
.pill-btn:hover{border-color:var(--teal);color:var(--teal);transform:translateY(-1px);}
.pill-btn.active{background:var(--teal);border-color:var(--teal);color:#fff;}

.sport-pill-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(112px,1fr));gap:10px;}
.sport-pill{display:flex;flex-direction:column;align-items:center;gap:6px;padding:14px 8px;border-radius:12px;border:1.5px solid var(--line);background:var(--surface);color:var(--text);font-weight:600;font-size:.8rem;cursor:pointer;transition:border-color .15s ease,transform .15s ease,background-color .15s ease,color .15s ease,box-shadow .15s ease;text-align:center;}
.sport-pill .emoji{font-size:1.5rem;line-height:1;}
.sport-pill:hover{border-color:var(--teal);transform:translateY(-2px);}
.sport-pill.active{background:var(--teal);border-color:var(--teal);color:#fff;box-shadow:0 10px 20px -10px rgba(21,155,138,.7);}

.price-hint{display:flex;align-items:center;gap:6px;font-size:.8rem;color:var(--gold-dark);margin-top:6px;font-weight:600;}

.tip-banner{display:flex;align-items:center;gap:10px;background:rgba(245,166,35,.1);border:1px solid rgba(245,166,35,.35);border-radius:10px;padding:12px 14px;font-size:.85rem;color:var(--text);font-weight:600;margin-top:16px;}

.dropzone{border-radius:14px;transition:box-shadow .15s ease;}
.dropzone.drag-over{box-shadow:0 0 0 2px var(--teal) inset;border-radius:14px;}

.step-actions{display:flex;justify-content:space-between;align-items:center;gap:12px;margin-top:28px;}
.step-actions .btn{flex:1;text-align:center;}
.step-actions-group{display:flex;gap:10px;flex:1;}

/* Listing detail */
.listing-hero{display:grid;grid-template-columns:1.3fr 1fr;gap:28px;}
@media(max-width:800px){.listing-hero{grid-template-columns:1fr;}}
.gallery-main{height:320px;background:linear-gradient(135deg,var(--teal),#123a35);border-radius:var(--radius);display:flex;align-items:center;justify-content:center;font-size:4rem;color:rgba(255,255,255,.85);}
.gallery-thumbs{display:flex;gap:8px;margin-top:10px;}
.gallery-thumbs div{width:56px;height:56px;border-radius:6px;background:linear-gradient(135deg,#2a3a63,var(--ink));}
.info-box{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:22px;}
.info-box dl{display:grid;grid-template-columns:auto 1fr;gap:8px 14px;margin:0;}
.info-box dt{color:var(--ink-soft);font-size:.85rem;}
.info-box dd{margin:0;font-weight:600;}
.tag{display:inline-block;background:rgba(30,127,114,.15);color:var(--teal);border-radius:6px;padding:4px 10px;font-size:.8rem;font-weight:700;}

/* Reviews */
.review{border-top:1px solid var(--line);padding:14px 0;}
.review .who{font-weight:700;font-size:.9rem;}
.empty-note{color:var(--ink-soft);font-style:italic;}

/* Profile */
.profile-tabs-bar{display:flex;justify-content:center;margin-bottom:28px;}
.segmented-lg{padding:5px;gap:4px;}
.segmented-lg .segmented-btn{padding:12px 28px;font-size:.95rem;}
@media(max-width:480px){.profile-tabs-bar{width:100%;}}

.profile-account-grid{display:grid;grid-template-columns:1fr 1fr;gap:24px;align-items:start;max-width:820px;margin:0 auto;}
@media(max-width:700px){.profile-account-grid{grid-template-columns:1fr;}}
.side-card{background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);padding:20px;}
.side-card .row{display:flex;justify-content:space-between;align-items:flex-start;gap:10px;padding:10px 0;border-bottom:1px solid var(--line);font-size:.92rem;}
.side-card .row:last-child{border-bottom:0;}
.side-card .row span{flex-shrink:0;color:var(--ink-soft);}
.side-card .row b{flex:1;min-width:0;text-align:right;font-weight:700;overflow-wrap:anywhere;word-break:break-word;}
.tabs{display:flex;gap:8px;margin-bottom:16px;}
.tab{background:transparent;border:0;border-bottom:3px solid transparent;padding:8px 4px;font-weight:700;color:var(--ink-soft);}
.tab.active{color:var(--text);border-color:var(--gold);}

/* Profile — compact left card (тот же язык, что у .sport-card / .trainer-cta:
   градиентный круг-аватар, мягкое свечение, приподнятые карточки) */
.profile-compact{
  position:relative;overflow:hidden;
  box-shadow:0 16px 36px -26px rgba(0,0,0,.35);
}
.profile-compact::before{
  content:'';position:absolute;top:-60px;right:-60px;width:180px;height:180px;border-radius:50%;
  background:radial-gradient(circle, rgba(245,166,35,.16) 0%, rgba(245,166,35,0) 72%);
  pointer-events:none;
}
.profile-summary{position:relative;z-index:1;text-align:center;}
.profile-avatar{
  width:64px;height:64px;margin:0 auto 12px;border-radius:50%;
  display:flex;align-items:center;justify-content:center;
  font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.6rem;color:var(--white);
  background:linear-gradient(160deg,var(--teal) 0%, #0c5a50 100%);
  box-shadow:0 8px 20px -6px rgba(21,155,138,.55);
}
.profile-summary-name{font-family:'Big Shoulders Display',sans-serif;font-weight:900;font-size:1.25rem;margin-bottom:10px;text-align:center;}
.profile-summary-rows{text-align:left;}
.profile-summary .row{padding:6px 0;font-size:.85rem;}
.profile-settings-card{position:relative;overflow:hidden;box-shadow:0 16px 36px -26px rgba(0,0,0,.35);}
.settings-accordion-title{font-size:.74rem;font-weight:700;letter-spacing:.5px;text-transform:uppercase;color:var(--ink-soft);margin-bottom:10px;}
.settings-accordion{display:flex;flex-direction:column;}
.settings-item-wrap{border-bottom:1px solid var(--line);}
.settings-item-wrap:last-child{border-bottom:0;}
.settings-item{display:flex;align-items:center;gap:10px;width:100%;background:none;border:0;padding:11px 4px;font-size:.87rem;font-weight:600;color:var(--text);text-align:left;border-radius:8px;transition:background-color .15s ease,color .15s ease;}
.settings-item:hover{background:var(--overlay);color:var(--teal);}
.settings-item.open{color:var(--teal);background:rgba(21,155,138,.08);}
.settings-item-icon{
  width:30px;height:30px;flex-shrink:0;border-radius:9px;
  display:flex;align-items:center;justify-content:center;font-size:.92rem;
  background:linear-gradient(160deg, rgba(21,155,138,.16), rgba(245,166,35,.14));
  border:1px solid var(--line);
}
.settings-item-label{flex:1;min-width:0;}
.settings-chevron{color:var(--ink-soft);font-size:.8rem;flex-shrink:0;transition:transform .15s ease;}
.settings-item.open .settings-chevron{color:var(--teal);}
.settings-form{padding:6px 4px 16px;}
.settings-form .field-row{margin-bottom:12px;}
.settings-pending-dot{width:8px;height:8px;border-radius:50%;background:#e0a52c;flex-shrink:0;}
.pending-email-banner{margin:6px 4px 16px;padding:14px;border-radius:10px;background:rgba(224,165,44,.12);border:1px solid rgba(224,165,44,.35);}
.pending-email-banner p{margin:0 0 12px;font-size:.87rem;line-height:1.4;color:var(--text);}
.pending-email-actions{display:flex;gap:10px;flex-wrap:wrap;}
.pending-email-actions .btn{flex:1;min-width:120px;}

/* Profile — main listings area */
.my-listings-main{max-width:820px;margin:0 auto;}
.my-listings-main .section-head{margin-bottom:14px;align-items:center;}
.count-chip{
  flex-shrink:0;font-size:.84rem;font-weight:700;color:var(--teal);
  background:rgba(21,155,138,.12);border:1px solid rgba(21,155,138,.3);
  padding:6px 14px;border-radius:999px;white-space:nowrap;
}

/* Segmented filter control — компактный, современный, в тонах сайта */
.segmented{display:inline-flex;gap:4px;background:var(--paper);border:1px solid var(--line);border-radius:999px;padding:4px;margin-bottom:20px;}
.segmented-btn{border:0;background:transparent;color:var(--ink-soft);font-weight:700;font-size:.84rem;padding:8px 18px;border-radius:999px;transition:background-color .18s ease,color .18s ease,box-shadow .18s ease;}
.segmented-btn:hover{color:var(--text);}
.segmented-btn.active{background:var(--teal);color:#fff;box-shadow:0 6px 16px -4px rgba(21,155,138,.5);}
@media(max-width:480px){.segmented{width:100%;}.segmented-btn{flex:1;padding:8px 10px;}}

/* My listings — compact management rows (не спутать с публичными .card) */
.my-listings-list{display:flex;flex-direction:column;gap:12px;}
.my-row{
  display:flex;align-items:center;gap:16px;flex-wrap:wrap;
  background:var(--surface);border:1px solid var(--line);border-radius:var(--radius);
  padding:14px 18px;
  transition:transform .18s ease,border-color .18s ease,box-shadow .18s ease,background-color .18s ease;
}
.my-row:hover{transform:translateY(-2px);border-color:var(--teal);background:var(--card-hover);box-shadow:0 12px 28px -18px rgba(0,0,0,.4);}
.my-row-icon{
  width:48px;height:48px;flex-shrink:0;border-radius:14px;
  display:flex;align-items:center;justify-content:center;font-size:1.35rem;
  background:linear-gradient(160deg, rgba(21,155,138,.16), rgba(245,166,35,.14));
  border:1px solid var(--line);
}
.my-row-main{flex:1;min-width:200px;display:flex;flex-direction:column;gap:4px;}
.my-row-top{display:flex;align-items:center;flex-wrap:wrap;gap:8px;}
.my-row-top h3{margin:0;font-size:1rem;font-family:'Inter',sans-serif;font-weight:700;letter-spacing:0;}
.my-row-meta{font-size:.83rem;color:var(--ink-soft);display:flex;align-items:center;gap:6px;flex-wrap:wrap;}
.my-row-price{font-weight:700;color:var(--gold-dark);}
.dot-sep{opacity:.6;}
.my-row-actions{display:flex;align-items:center;gap:8px;flex-shrink:0;margin-left:auto;}
.btn-sm{padding:9px 16px;font-size:.84rem;}
.my-empty{padding:44px 20px;}

/* Status pill */
.status-pill{display:inline-flex;align-items:center;gap:4px;padding:4px 11px;border-radius:999px;font-size:.74rem;font-weight:700;white-space:nowrap;flex-shrink:0;letter-spacing:.2px;}
.status-active{background:rgba(46,204,113,.15);color:#2ecc71;}
.status-inactive{background:rgba(154,163,178,.18);color:var(--ink-soft);}
.status-pending{background:rgba(243,156,18,.15);color:#f39c12;}
.status-rejected{background:rgba(231,76,60,.15);color:#e74c3c;}

/* Round icon buttons (👁 view, ⋯ menu) — тот же приём, что у .like-btn на публичных карточках */
.icon-btn{
  width:38px;height:38px;flex-shrink:0;display:flex;align-items:center;justify-content:center;
  border-radius:50%;background:var(--overlay);border:1px solid var(--line);color:var(--text);
  font-size:1rem;line-height:1;transition:transform .15s ease,background-color .15s ease,border-color .15s ease,color .15s ease;
}
.icon-btn:hover{transform:scale(1.08);border-color:var(--teal);color:var(--teal);text-decoration:none;background:rgba(21,155,138,.12);}

/* Card dropdown menu ("•••") */
.card-menu{position:relative;flex-shrink:0;}
.card-menu-list{display:none;position:absolute;right:0;bottom:calc(100% + 10px);min-width:210px;background:var(--surface);border:1px solid var(--line);border-radius:12px;box-shadow:0 16px 34px rgba(0,0,0,.24);padding:6px;z-index:10;}
.card-menu.open .card-menu-list{display:block;}
.card-menu-item{display:block;width:100%;text-align:left;background:none;border:0;padding:10px 12px;font-size:.86rem;font-weight:600;color:var(--text);border-radius:8px;white-space:nowrap;}
.card-menu-item:hover{background:var(--overlay);}
.card-menu-item.danger{color:var(--danger);}
.card-menu-item.danger:hover{background:rgba(193,68,58,.12);}

/* Delete confirmation modal */
.confirm-modal-overlay{position:fixed;inset:0;z-index:60;display:none;align-items:center;justify-content:center;padding:20px;backdrop-filter:blur(2px);}
.confirm-modal-overlay.show{display:flex;}
.confirm-modal-backdrop{position:absolute;inset:0;background:rgba(23,33,58,.55);}
.confirm-modal{position:relative;background:var(--surface);border-radius:16px;padding:28px;max-width:360px;width:100%;text-align:center;box-shadow:0 24px 60px rgba(0,0,0,.4);}
.confirm-modal-icon{
  width:52px;height:52px;margin:0 auto 14px;border-radius:50%;display:flex;align-items:center;justify-content:center;
  font-size:1.4rem;background:rgba(193,68,58,.14);
}
.confirm-modal h3{margin-bottom:8px;}
.confirm-modal p{margin-bottom:22px;}
.confirm-modal-actions{display:flex;gap:10px;justify-content:center;}
.confirm-modal-actions .btn{padding:10px 20px;flex:1;}

/* Map / region picker */
/* ---------- Страница выбора города/novads ---------- */
.geo-page{max-width:920px;}
.geo-section{margin-top:36px;}
.geo-section-head{display:flex;align-items:center;gap:10px;margin-bottom:16px;padding-bottom:10px;border-bottom:1px solid var(--line);}
.geo-section-icon{display:flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;background:var(--overlay);font-size:.92rem;flex-shrink:0;}
.geo-section-label{margin:0;font-size:.82rem;color:var(--ink-soft);text-transform:uppercase;letter-spacing:.6px;font-weight:800;}

.region-list{columns:2;gap:24px;}
@media(max-width:600px){.region-list{columns:1;}}
.region-item{
  display:flex;align-items:center;justify-content:space-between;gap:10px;
  padding:10px 12px;border-radius:8px;border-bottom:1px dashed var(--line);
  font-weight:600;color:var(--text);break-inside:avoid;
  min-width:0;
  transition:background-color .15s ease,color .15s ease;
}
.region-item:hover,.region-item:focus-visible{background:var(--overlay);color:var(--teal);text-decoration:none;}
.region-item-name{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;min-width:0;}
.region-item-meta{display:flex;align-items:center;gap:8px;flex-shrink:0;}
.geo-count{font-size:.78rem;font-weight:600;color:var(--ink-soft);white-space:nowrap;}
.region-item-arrow{color:var(--gold);font-weight:700;opacity:0;transform:translateX(-4px);transition:opacity .15s ease,transform .15s ease;}
.region-item:hover .region-item-arrow,.region-item:focus-visible .region-item-arrow{opacity:1;transform:translateX(0);}

.letter-columns{display:grid;grid-template-columns:repeat(5,1fr);gap:0 28px;align-items:start;}
.letter-col{display:flex;flex-direction:column;min-width:0;}
@media(max-width:1000px){.letter-columns{grid-template-columns:repeat(3,1fr);}}
@media(max-width:700px){.letter-columns{grid-template-columns:repeat(2,1fr);}}
@media(max-width:460px){.letter-columns{grid-template-columns:1fr;}}
.letter-group{display:flex;gap:10px;margin-bottom:16px;min-width:0;}.letter-badge{flex-shrink:0;width:14px;color:var(--teal);font-weight:800;font-size:.82rem;line-height:1.6;}
.letter-items{display:flex;flex-direction:column;gap:2px;min-width:0;}
.region-item--compact{flex-direction:column;align-items:flex-start;gap:2px;padding:6px 10px;border-bottom:0;font-weight:500;font-size:.92rem;}
.region-item--compact .region-item-name{white-space:normal;overflow:visible;text-overflow:clip;}
.region-item--compact .region-item-meta{align-self:flex-start;}
.region-item--compact .geo-count{font-size:.74rem;}
.region-item--all{color:var(--gold-dark);border-bottom:1px solid var(--line);font-weight:700;margin-bottom:14px;}
.region-item--all:hover{color:var(--teal);}

/* Toast */
.toast{position:fixed;bottom:20px;left:50%;transform:translateX(-50%) translateY(20px);background:var(--ink);color:#fff;padding:12px 22px;border-radius:8px;font-size:.9rem;font-weight:600;opacity:0;pointer-events:none;transition:all .25s ease;z-index:200;}
.toast.show{opacity:1;transform:translateX(-50%) translateY(0);}

/* Footer */
.site-footer{background:var(--footer-bg);border-top:var(--footer-border);color:var(--footer-text);padding:40px 0 22px;margin-top:40px;font-size:.9rem;text-align:left;transition:background .2s ease,color .2s ease;}
.footer-cols{display:grid;grid-template-columns:1.2fr 1fr;gap:40px;padding-bottom:28px;border-bottom:1px solid var(--footer-line);}
.footer-brand{font-family:'Big Shoulders Display',sans-serif;font-weight:800;font-size:1.5rem;color:var(--footer-strong);margin-bottom:8px;}
.footer-col p{margin:0;color:var(--footer-text);}
.footer-col h4{margin:0 0 14px;color:var(--footer-strong);font-size:1rem;font-weight:700;}
.footer-col a{display:block;color:var(--footer-text);text-decoration:none;padding:5px 0;transition:color .15s ease;}
.footer-col a:hover{color:var(--footer-strong);}
.footer-bottom{padding-top:18px;font-size:.8rem;text-align:center;color:var(--footer-muted);}
@media (max-width:640px){.footer-cols{grid-template-columns:1fr;gap:24px;}}

/* Legal / FAQ pages */
.legal-page{max-width:820px;}
.legal-page h3{margin:28px 0 8px;font-size:1.15rem;}
.legal-page p{color:var(--ink-soft);line-height:1.65;margin:0 0 10px;}
.legal-faq{border:1px solid var(--line);border-radius:12px;padding:0 18px;margin-bottom:10px;background:var(--surface);}
.legal-faq summary{cursor:pointer;font-weight:600;padding:16px 0;list-style:none;display:flex;justify-content:space-between;align-items:center;gap:12px;}
.legal-faq summary::-webkit-details-marker{display:none;}
.legal-faq summary::after{content:'+';font-size:1.3rem;color:var(--gold);}
.legal-faq[open] summary::after{content:'−';}
.legal-faq p{padding-bottom:6px;}

/* Empty state */
.empty-state{text-align:center;padding:60px 20px;color:var(--ink-soft);}
.empty-state .big{font-size:2.4rem;margin-bottom:10px;}

/* Picker overlay (город/спорт — открывается поверх текущей страницы) */
.picker-overlay{position:fixed;inset:0;z-index:45;display:none;}
.picker-overlay.show{display:block;}
.picker-backdrop{position:absolute;inset:0;background:rgba(23,33,58,.45);}
.picker-panel{position:relative;background:var(--paper);max-height:55vh;overflow-y:auto;box-shadow:0 16px 40px rgba(0,0,0,.28);padding:24px 0 32px;border-bottom-left-radius:16px;border-bottom-right-radius:16px;}
.picker-head{display:flex;align-items:center;justify-content:space-between;gap:12px;max-width:1160px;margin:0 auto 18px;padding:0 20px;}
.picker-head h3{margin:0;}
.picker-close{background:none;border:0;font-size:1.3rem;color:var(--ink-soft);cursor:pointer;line-height:1;padding:4px;}
.picker-sport-item{background:var(--surface);color:var(--text);border:1px solid var(--line);border-radius:8px;padding:14px;font-weight:700;cursor:pointer;text-align:center;}
.picker-sport-item:hover{border-color:var(--teal);color:var(--teal);}

/* Photo upload in listing form — big first tile + small tiles, "+" to add more */
.photo-grid{display:flex;flex-wrap:wrap;gap:10px;}
.photo-tile{position:relative;border:2px solid var(--ink);border-radius:14px;background-color:var(--surface);background-size:cover;background-position:center;background-repeat:no-repeat;display:flex;align-items:center;justify-content:center;overflow:hidden;}
.photo-tile-main{width:100%;height:190px;}
.photo-tile-small{width:84px;height:84px;flex-shrink:0;}
.photo-tile-add{cursor:pointer;color:var(--ink-soft);transition:border-color .15s,color .15s;}
.photo-tile-add:hover{border-color:var(--teal);color:var(--teal);}
.photo-plus{font-size:2.6rem;font-weight:900;line-height:1;pointer-events:none;}
.photo-tile-main .photo-plus{font-size:3.4rem;}
.photo-remove{position:absolute;top:4px;right:4px;background:rgba(23,33,58,.65);color:#fff;border:0;border-radius:50%;width:22px;height:22px;font-size:.78rem;cursor:pointer;line-height:1;}
.photo-remove:hover{background:rgba(23,33,58,.9);}
[data-theme="dark"] .photo-tile-add{color:var(--ink-soft);}

/* Search page grid spacing already covered by .grid-3 */

/* ---------- Latvia map section (главная) ---------- */
.map-section{padding:36px 0 44px;}
.map-wrap{position:relative;max-width:620px;margin:0 auto;background:var(--surface);border:1px solid var(--line);border-radius:16px;padding:18px;}
.map-svg-wrap{position:relative;width:100%;}
.map-svg-wrap svg{display:block;width:100%;height:auto;filter:drop-shadow(0 4px 10px rgba(23,34,63,.22));}
.region-shape{
  fill:var(--map-region);
  cursor:pointer;
  transition:fill .15s ease,filter .15s ease,opacity .15s ease;
}
.region-shape:hover,.region-shape:focus,.region-shape.is-hover{fill:var(--teal);filter:brightness(1.05);outline:none;}
.map-hint{text-align:center;color:var(--ink-soft);font-size:.85rem;margin-top:14px;}
.map-tooltip{
  position:absolute;left:0;top:0;z-index:20;
  transform:translate(-50%,calc(-100% - 12px));
  background:var(--ink);color:#fff;
  padding:6px 12px;border-radius:8px;
  font-size:.82rem;font-weight:600;white-space:nowrap;
  pointer-events:none;opacity:0;
  transition:opacity .12s ease;
}
.map-tooltip.show{opacity:1;}
.map-tooltip .map-tooltip-count{font-weight:500;opacity:.8;}
@media(max-width:560px){
  .map-wrap{padding:12px;}
}

/* ================= Listing detail page (premium redesign) ================= */
.ld-page{
  --ld-bg:var(--paper); --ld-bg-elevated:var(--surface); --ld-text:var(--text); --ld-text-soft:var(--ink-soft);
  --ld-accent:var(--gold); --ld-line:var(--line); --ld-danger:var(--danger);
  background:var(--ld-bg); color:var(--ld-text);
  width:100vw; position:relative; left:50%; right:50%; margin-left:-50vw; margin-right:-50vw;
  padding:28px 0 64px;
}
.ld-container{max-width:760px;margin:0 auto;padding:0 20px;}
.ld-top{margin-bottom:18px;display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;}
.ld-back{color:var(--ld-text-soft);font-weight:600;font-size:.9rem;}
.ld-back:hover{color:var(--ld-text);text-decoration:none;}

/* Большое фото-«хиро» на всю ширину центрированной колонки — так же,
   как на референсе: один широкий кадр сверху, а не колонка рядом с текстом. */
.ld-hero{margin-bottom:26px;}
.ld-hero .ld-gallery-main{border-radius:22px;overflow:hidden;background:var(--ld-bg-elevated);aspect-ratio:16/9;background-size:cover;background-position:center;cursor:pointer;}
.ld-gallery-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:10px;color:var(--ld-text-soft);height:100%;width:100%;}
.ld-gallery-placeholder .icon{font-size:3rem;}
.ld-thumbs{display:flex;gap:10px;margin-top:12px;overflow-x:auto;padding-bottom:2px;}
.ld-thumb{width:72px;height:72px;border-radius:12px;flex-shrink:0;background-size:cover;background-position:center;cursor:pointer;opacity:.55;border:2px solid transparent;transition:opacity .15s,border-color .15s;}
.ld-thumb.active{opacity:1;border-color:var(--ld-accent);}

/* Всё остальное — заголовок, цена, статус, мета, кнопки — одной
   центрированной колонкой под фото, а не рядом с ней. */
.ld-summary{display:flex;flex-direction:column;gap:14px;}
.ld-summary-row{display:flex;align-items:center;justify-content:space-between;flex-wrap:wrap;gap:10px;}
.ld-title{color:var(--ld-text);font-size:1.7rem;margin:0;}
.ld-status-row{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
.ld-status-pill{font-size:.8rem;font-weight:700;padding:4px 10px;border-radius:999px;display:inline-flex;align-items:center;gap:4px;}
.ld-status-active{background:rgba(52,199,89,.15);color:#34C759;}
.ld-published{font-size:.82rem;color:var(--ld-text-soft);}
.ld-rating-line{display:flex;align-items:center;gap:8px;font-size:.9rem;color:var(--ld-text-soft);}
.ld-rating-line .stars{color:var(--ld-text);font-weight:800;}
.ld-rating-line .sep{opacity:.5;}
.ld-views-line{display:flex;align-items:center;gap:6px;font-size:.85rem;color:var(--ld-text-soft);font-weight:600;}
.ld-views-line .cicon{color:var(--ld-text-soft);flex-shrink:0;}

.ld-sport-pill{display:inline-flex;align-items:center;gap:6px;background:var(--overlay);padding:7px 13px;border-radius:999px;font-size:.85rem;font-weight:600;color:var(--ld-text);}
.ld-price{font-size:1.5rem;font-weight:800;color:var(--ld-accent);white-space:nowrap;}
.ld-price span{font-size:.8rem;font-weight:600;color:var(--ld-text-soft);}

.ld-meta{display:flex;flex-direction:row;flex-wrap:wrap;column-gap:22px;row-gap:10px;padding:16px 0;border-top:1px solid var(--ld-line);border-bottom:1px solid var(--ld-line);}
.ld-meta-row{display:flex;align-items:flex-start;gap:10px;font-size:.95rem;color:var(--ld-text);}
.ld-meta-row .ico{flex-shrink:0;width:20px;text-align:center;}
.ld-meta-row a{color:var(--ld-text);text-decoration:underline;text-decoration-color:var(--ink-soft);text-underline-offset:2px;}
.ld-meta-row a:hover{color:var(--ld-accent);}

.ld-cta{display:flex;flex-direction:row;flex-wrap:wrap;gap:10px;margin-top:4px;}
.ld-cta-primary{flex:1;min-width:200px;background:var(--ld-accent);color:#20150a;border:0;border-radius:14px;padding:16px 20px;font-weight:800;font-size:1rem;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;}
.ld-cta-primary:hover{filter:brightness(1.06);text-decoration:none;}
.ld-cta-secondary{flex:1;min-width:160px;background:transparent;border:1.5px solid var(--line);color:var(--ld-text);border-radius:14px;padding:14px 20px;font-weight:700;font-size:.95rem;display:flex;align-items:center;justify-content:center;gap:8px;cursor:pointer;text-decoration:none;}
.ld-cta-secondary:hover{border-color:var(--ink-soft);text-decoration:none;}
.ld-cta-secondary.active{border-color:var(--ld-accent);color:var(--ld-accent);}

.ld-owner-actions{display:flex;gap:10px;margin-top:4px;}
.ld-edit-btn{flex:1;background:var(--overlay);color:var(--ld-text);border:0;border-radius:14px;padding:14px 18px;font-weight:700;text-align:center;text-decoration:none;}
.ld-edit-btn:hover{background:var(--overlay-strong);text-decoration:none;}
.ld-menu-wrap{position:relative;}
.ld-menu-btn{background:var(--overlay);color:var(--ld-text);border:0;border-radius:14px;width:52px;height:52px;font-size:1.3rem;font-weight:800;cursor:pointer;letter-spacing:1px;}
.ld-menu-btn:hover{background:var(--overlay-strong);}
.ld-menu{position:absolute;right:0;top:58px;background:var(--surface);border:1px solid var(--line);border-radius:12px;padding:6px;min-width:200px;box-shadow:0 12px 30px rgba(0,0,0,.45);z-index:20;display:none;}
.ld-menu.show{display:block;}
.ld-menu button{display:block;width:100%;text-align:left;background:none;border:0;color:var(--ld-text);padding:10px 12px;border-radius:8px;font-size:.9rem;cursor:pointer;}
.ld-menu button:hover{background:var(--overlay);}
.ld-menu button.danger{color:var(--ld-danger);}

.ld-section{margin-top:44px;}
.ld-section h2{font-size:1.15rem;margin:0 0 14px;color:var(--ld-text);}
.ld-description{color:var(--ld-text-soft);line-height:1.75;white-space:pre-wrap;}

.ld-reviews-summary{display:flex;align-items:center;gap:6px;margin-bottom:16px;color:var(--ld-text-soft);font-size:.9rem;}
.ld-reviews-summary .score{color:var(--ld-text);font-weight:800;font-size:1.05rem;}
.ld-review-row{display:flex;align-items:flex-start;gap:10px;margin-bottom:14px;}
.ld-review-row:last-child{margin-bottom:0;}
.ld-review-avatar{flex-shrink:0;width:38px;height:38px;border-radius:50%;background:var(--teal);color:#fff;display:flex;align-items:center;justify-content:center;font-weight:800;font-size:.95rem;}
.ld-review{position:relative;flex:1;min-width:0;background:var(--ld-bg-elevated);border:1px solid var(--ld-line);border-radius:4px 16px 16px 16px;padding:12px 16px;}
.ld-review::before{content:'';position:absolute;top:0;left:-7px;width:0;height:0;border-style:solid;border-width:0 8px 8px 0;border-color:transparent var(--ld-bg-elevated) transparent transparent;}
.ld-review-top{display:flex;justify-content:space-between;align-items:center;gap:10px;}
.ld-review-name{font-weight:700;color:var(--ld-text);}
.ld-review-stars{color:var(--ld-accent);font-size:.8rem;letter-spacing:1px;margin-top:2px;}
.ld-review-text{color:var(--ld-text-soft);margin:6px 0 0;}
.ld-review-del{background:none;border:0;color:var(--ink-soft);cursor:pointer;font-size:.8rem;flex-shrink:0;}
.ld-review-del:hover{color:var(--ld-danger);}
.ld-review-votes{display:flex;gap:8px;margin-top:10px;}
.ld-vote-btn{display:inline-flex;align-items:center;gap:5px;background:var(--overlay);border:1px solid transparent;color:var(--ld-text-soft);border-radius:999px;padding:5px 11px;font-size:.82rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,color .15s ease;}
.ld-vote-btn:hover{color:var(--ld-text);}
.ld-vote-btn.is-active{color:var(--teal);border-color:var(--teal);}
.ld-vote-btn.ld-vote-down.is-active{color:var(--danger);border-color:var(--danger);}
.ld-review-form{margin-top:22px;}
.ld-star-input{display:flex;gap:4px;margin-bottom:10px;font-size:1.5rem;cursor:pointer;width:max-content;}
.ld-star-input span{filter:grayscale(1) opacity(.35);transition:filter .1s;}
.ld-star-input span.active{filter:none;}
.ld-review-form textarea{width:100%;background:var(--overlay);border:1px solid var(--line);border-radius:12px;padding:12px 14px;color:var(--ld-text);font-family:inherit;min-height:84px;resize:vertical;}
.ld-review-form textarea::placeholder{color:var(--ld-text-soft);}
.ld-review-form button{margin-top:12px;}
.ld-login-hint{color:var(--ld-text-soft);font-size:.9rem;}
.ld-login-hint a{color:var(--ld-accent);}

.ld-similar-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(170px,1fr));gap:14px;}
.ld-similar-card{display:block;background:var(--overlay);border-radius:16px;overflow:hidden;text-decoration:none;color:var(--ld-text);transition:background .15s;}
.ld-similar-card:hover{background:var(--overlay-strong);text-decoration:none;}
.ld-similar-thumb{height:96px;background:var(--ld-bg-elevated);display:flex;align-items:center;justify-content:center;font-size:1.7rem;background-size:cover;background-position:center;}
.ld-similar-body{padding:10px 12px;}
.ld-similar-title{font-weight:700;font-size:.87rem;margin-bottom:2px;}
.ld-similar-price{color:var(--ld-accent);font-weight:700;font-size:.82rem;}

.ld-lightbox{position:fixed;inset:0;background:rgba(0,0,0,.92);display:none;align-items:center;justify-content:center;z-index:300;padding:24px;}
.ld-lightbox.show{display:flex;}
.ld-lightbox img{max-width:100%;max-height:85vh;border-radius:12px;}
.ld-lightbox-close{position:absolute;top:18px;right:22px;background:rgba(255,255,255,.1);border:0;color:#fff;width:40px;height:40px;border-radius:50%;font-size:1.2rem;cursor:pointer;}
.ld-lightbox-nav{position:absolute;top:50%;transform:translateY(-50%);background:rgba(255,255,255,.1);border:0;color:#fff;width:48px;height:48px;border-radius:50%;font-size:1.4rem;cursor:pointer;}
.ld-lightbox-prev{left:16px;}
.ld-lightbox-next{right:16px;}

@media(max-width:560px){
  .ld-page{padding:20px 0 48px;}
  .ld-title{font-size:1.4rem;}
  .ld-hero .ld-gallery-main{aspect-ratio:4/3;}
  .ld-section{margin-top:34px;}
}

/* Notice banner (напр. напоминание подтвердить email) */
.notice-banner{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;background:var(--surface);border:1px solid var(--line);border-left:4px solid var(--gold);border-radius:10px;padding:12px 16px;margin-bottom:18px;}
.notice-banner-text{color:var(--text);font-size:.92rem;}
.notice-banner-actions{display:flex;gap:8px;flex-shrink:0;}
@media(max-width:560px){.notice-banner{flex-direction:column;align-items:flex-start;}}

/* Delete account */
.delete-account-btn{display:block;width:100%;margin-top:18px;padding:12px 16px;background:transparent;border:1px solid var(--danger);color:var(--danger);border-radius:10px;font-weight:600;cursor:pointer;font-size:.92rem;transition:background .15s ease,color .15s ease;}
.delete-account-btn:hover{background:var(--danger);color:#fff;}

/* ===================================================================
   МОБИЛЬНАЯ ВЕРСИЯ (≤640px, проверено на 320/375/390/430px)
   Всё ниже — только media queries и mobile-специфичные классы
   (.mobile-menu-btn / .mobile-menu-panel), которые на desktop просто
   display:none и не влияют на существующую вёрстку/стили.
   =================================================================== */

/* Гамбургер-кнопка и мобильная панель меню — скрыты на desktop */
.mobile-menu-btn{
  display:none;background:none;border:0;flex-shrink:0;
  width:44px;height:44px;border-radius:10px;
  align-items:center;justify-content:center;
  flex-direction:column;gap:5px;cursor:pointer;
}
.mobile-menu-btn span{display:block;width:22px;height:2px;background:var(--text);border-radius:2px;transition:transform .2s ease,opacity .2s ease;}
.mobile-menu-btn:hover{background:var(--overlay);}
.mobile-menu-panel{display:none;}

@media(max-width:640px){
  /* --- Шапка: прячем desktop-навигацию, показываем гамбургер --- */
  .site-header .bar{flex-wrap:nowrap;padding:10px 16px;gap:10px;}
  .site-header .nav-links{display:none;}
  .nav-home-link{display:none;}
  .mobile-menu-btn{display:flex;margin-left:auto;}
  .logo img{height:30px;}

  .site-header.mobile-menu-open .mobile-menu-btn span:nth-child(1){transform:translateY(7px) rotate(45deg);}
  .site-header.mobile-menu-open .mobile-menu-btn span:nth-child(2){opacity:0;}
  .site-header.mobile-menu-open .mobile-menu-btn span:nth-child(3){transform:translateY(-7px) rotate(-45deg);}

  .mobile-menu-panel{
    display:block;
    position:fixed;
    left:0;right:0;bottom:0;
    /* top выставляется в JS = реальной высоте шапки (toggle-mobile-menu) */
    background:var(--paper);
    z-index:49;
    padding:8px 20px 28px;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    opacity:0;
    transform:translateY(-6px);
    pointer-events:none;
    transition:opacity .18s ease,transform .18s ease;
  }
  .site-header.mobile-menu-open .mobile-menu-panel{opacity:1;transform:translateY(0);pointer-events:auto;}
  body.mobile-menu-locked{overflow:hidden;}

  .mobile-menu-nav{display:flex;flex-direction:column;}
  .mobile-menu-nav a,.mobile-menu-nav button.linklike{
    display:flex;align-items:center;
    width:100%;min-height:44px;
    padding:13px 4px;
    font-size:1rem;font-weight:600;
    color:var(--text);background:none;border:0;
    border-bottom:1px solid var(--line);
    text-align:left;border-radius:0;
  }
  .mobile-menu-nav a:hover,.mobile-menu-nav button.linklike:hover{background:var(--overlay);text-decoration:none;}
  .mobile-menu-nav a.active{color:var(--gold-dark);}
  .mobile-menu-foot{display:flex;align-items:center;justify-content:space-between;gap:12px;padding-top:16px;margin-top:4px;}
  .mobile-menu-foot .lang-switch{padding:4px;}
  .mobile-menu-foot .lang-btn{padding:8px 12px;font-size:.82rem;}
  .mobile-menu-foot .theme-toggle{width:44px;height:44px;}

  /* --- Hero: компактнее, без переполнений --- */
  .hero{padding:32px 0 28px;}
  .hero h1{font-size:1.85rem;line-height:1.15;}
  .hero p{font-size:.92rem;margin-top:6px;}
  .hero-search{margin-top:20px;gap:10px;}
  .hero-search-box{min-width:0;width:100%;}
  .hero-search-box input{padding:13px 0;font-size:1rem;}
  .hero-search button{padding:14px 20px;min-height:44px;}
  .hero-cities{margin-top:24px;}

  /* Кнопки городов — горизонтальная прокрутка вместо переноса строк */
  .hero-cities-row{
    flex-wrap:nowrap;
    justify-content:flex-start;
    overflow-x:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    padding:2px 16px 6px;
    margin:0 -16px;
  }
  .hero-cities-row::-webkit-scrollbar{display:none;}
  .city-pill{flex-shrink:0;min-height:40px;}

  /* --- Карточки видов спорта: одна в ряд, почти на всю ширину --- */
  .sport-grid.grid-4{grid-template-columns:1fr;gap:14px;}
  .sport-card{padding:20px 16px;}
  .sport-card-desc{-webkit-line-clamp:2;min-height:calc(1.45em * 2);}

  /* --- Общая защита от горизонтального переполнения --- */
  html,body{overflow-x:hidden;max-width:100%;}
  .container{padding:0 16px;}
}
