:root{--blue:#0b3c78;--blue2:#1378dc;--sky:#eaf6ff;--card:rgba(255,255,255,.78);--line:#dcecfb;--text:#092b58;--muted:#6682a1}*{box-sizing:border-box}body{margin:0;font-family:Inter,Arial,sans-serif;color:var(--text);background:linear-gradient(180deg,#eff8ff,#f8fbff 48%,#eef7ff)}a{color:inherit;text-decoration:none}.topbar{height:82px;display:flex;align-items:center;gap:22px;padding:0 34px;background:rgba(239,248,255,.86);backdrop-filter:blur(18px);border-bottom:1px solid rgba(255,255,255,.75);position:sticky;top:0;z-index:20}.brand{display:flex;align-items:center;gap:12px;min-width:245px}.brand-logo{width:58px;height:58px;object-fit:contain;filter:drop-shadow(0 4px 10px rgba(0,0,0,.12))}.home-btn{display:flex;align-items:center;gap:0;padding:10px 16px;border-radius:16px;background:rgba(255,255,255,.72);border:1px solid rgba(220,236,251,.95);font-weight:900;color:#0b315f;box-shadow:0 8px 18px rgba(30,96,160,.08);white-space:nowrap}.home-btn:hover{color:#1689ff;background:#fff}.home-ico{display:none}.home-label{font-size:13px;text-transform:uppercase}.brand-icon{display:none}
.brand-icon{font-size:38px}.brand b{font-size:30px;line-height:.9;letter-spacing:.5px;color:#0a2e61}.brand b span{color:#1689ff}.brand small{display:block;text-transform:uppercase;font-weight:700;font-size:12px;color:#24517d}.nav{display:flex;gap:25px;align-items:center;justify-content:center;flex:1}.nav a{font-weight:800;font-size:14px;text-transform:uppercase;color:#0b315f}.nav a:hover{color:#1689ff}.tools{display:flex;align-items:center;gap:10px}.pill{padding:8px 10px;border-radius:14px;background:rgba(255,255,255,.45);font-weight:800}.pill.active{background:#fff;color:#1689ff}.search input{width:180px;border:0;border-radius:18px;padding:11px 16px;background:rgba(255,255,255,.7);outline:none;color:var(--text)}.hero{position:relative;width:100%;overflow:hidden;background:#dff1ff}.hero img{display:block;width:100%;height:auto;max-height:620px;object-fit:contain;background:#eaf6ff}.hero-gradient{position:absolute;inset:auto 0 0;height:34%;background:linear-gradient(180deg,transparent,rgba(238,247,255,.92))}.home-wrap{max-width:1160px;margin:-34px auto 0;padding:0 24px 34px;position:relative;z-index:3}.feature-row{display:grid;grid-template-columns:repeat(6,1fr);gap:12px;margin-bottom:22px}.feature-card{display:flex;gap:11px;align-items:center;min-height:92px;padding:12px;border:1px solid rgba(255,255,255,.9);border-radius:16px;background:rgba(255,255,255,.72);box-shadow:0 12px 34px rgba(30,96,160,.12);backdrop-filter:blur(14px)}.feature-card .ico{width:42px;height:42px;display:flex;align-items:center;justify-content:center;border-radius:14px;background:#fff;font-size:21px;color:var(--blue2);box-shadow:0 8px 18px rgba(30,96,160,.12)}.feature-card b{display:block;font-size:16px}.feature-card small{display:block;color:#4b6b91;margin:4px 0 12px;font-weight:600;font-size:12px;line-height:1.25}.feature-card span{color:#126fc8;font-weight:800;font-size:13px}.dashboard{display:grid;grid-template-columns:1.05fr 1.25fr .9fr .8fr;gap:14px;align-items:stretch}.panel{background:rgba(255,255,255,.76);border:1px solid rgba(220,236,251,.95);border-radius:18px;box-shadow:0 14px 35px rgba(30,96,160,.1);padding:14px;backdrop-filter:blur(14px);min-width:0}.panel h2{font-size:18px;margin:0 0 13px}.map-panel iframe,.map-large iframe{width:100%;height:205px;border:0;border-radius:13px;filter:saturate(1.02)}.blue-btn{display:inline-block;margin-top:12px;padding:12px 20px;border-radius:11px;background:#117ce7;color:#fff;font-weight:800}.news-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:10px}.news-grid article{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden}.news-grid img{width:100%;height:72px;object-fit:cover;background:#dcecfb}.news-grid span{display:inline-block;margin:12px 12px 0;padding:4px 9px;border-radius:6px;background:#1689ff;color:#fff;font-weight:800;font-size:11px;text-transform:uppercase}.news-grid h3{font-size:16px;margin:8px 12px}.news-grid p{font-size:14px;color:#587493;margin:0 12px 14px}.popular a{display:flex;align-items:center;gap:12px;padding:12px;border-radius:12px;background:rgba(255,255,255,.72);border:1px solid #e5f1fb;margin-bottom:10px;font-weight:700}.popular span{width:44px;height:30px;border-radius:8px;background:linear-gradient(135deg,#9fd6ff,#e0f4ff)}.popular b{margin-left:auto;font-size:22px}.popular .all{justify-content:center;color:#126fc8}.weather .temp{font-size:32px;font-weight:900;margin:14px 0}.weather p,.sponsor p{color:#577392;line-height:1.5}.vial{display:block;color:#1689ff;font-size:34px;margin:10px 0}.page-wrap{max-width:1120px;margin:36px auto;padding:0 24px;position:relative}.side-fisher-bg{position:fixed;left:calc(50vw + 572px);width:calc(50vw - 596px);top:86px;height:calc(100vh - 118px);background:url('../img/aktobe-fisher-logo.png') no-repeat center 42%;background-size:88% auto;opacity:.22;pointer-events:none;z-index:1;overflow:visible}.content-page{position:relative;z-index:2;background:rgba(255,255,255,.82);border:1px solid var(--line);border-radius:22px;padding:34px;box-shadow:0 16px 36px rgba(30,96,160,.1)}.breadcrumbs{color:#6682a1;font-size:14px;margin-bottom:14px}.content-page h1{font-size:42px;margin:0 0 8px}.lead{font-size:19px;color:#587493;margin-bottom:28px}.text-block{border-top:1px solid var(--line);padding:22px 0}.text-block:first-of-type{border-top:0}.text-block h2{font-size:24px;margin:0 0 12px}.text-block p,.text-block li{font-size:17px;line-height:1.72;color:#24496f}.text-block ul{padding-left:22px}.table-scroll{overflow:auto}table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden}th,td{padding:12px 14px;border:1px solid #dcecfb;text-align:left}th{background:#eaf6ff}.map-large{margin:18px 0 26px}.map-large iframe{height:420px}.footer{display:flex;justify-content:space-between;gap:20px;align-items:center;padding:24px 34px;background:#082b56;color:#fff;font-size:15px}.footer b{color:#48a7ff}@media(max-width:1420px){.side-fisher-bg{left:calc(50vw + 555px);width:calc(50vw - 575px);background-size:92% auto;top:82px;height:calc(100vh - 108px)}}@media(max-width:1240px){.side-fisher-bg{display:none}}@media(max-width:1150px){.nav{gap:12px;overflow-x:auto;justify-content:flex-start}.feature-row{grid-template-columns:repeat(3,1fr)}.dashboard{grid-template-columns:1fr 1fr}.search{display:none}}@media(max-width:760px){.topbar{height:auto;flex-wrap:wrap;padding:12px 16px}.brand{min-width:100%}.nav{order:3;width:100%;padding-bottom:4px}.nav a{white-space:nowrap}.hero img{max-height:none}.home-wrap{margin:0;padding:16px}.feature-row{grid-template-columns:1fr}.dashboard{grid-template-columns:1fr}.content-page{padding:22px}.content-page h1{font-size:32px}.footer{flex-direction:column;align-items:flex-start}.news-grid{grid-template-columns:1fr}.map-large iframe{height:320px}}


/* V26 smart grouped menu */
.topbar{gap:16px;overflow:visible}
.nav{overflow:visible}
.nav-group{position:relative}
.nav-link{
    display:flex;align-items:center;justify-content:center;
    min-height:42px;padding:10px 13px;border-radius:14px;
    border:1px solid transparent;background:transparent;
    font:inherit;font-weight:800;font-size:14px;text-transform:uppercase;
    color:#0b315f;cursor:pointer;white-space:nowrap
}
a.nav-link{line-height:1}
.nav-link:hover,.nav-group:hover>.nav-link{color:#1689ff;background:rgba(255,255,255,.55);border-color:rgba(220,236,251,.9)}
.dropdown{
    position:absolute;left:0;top:calc(100% + 8px);min-width:250px;
    display:none;padding:10px;background:rgba(255,255,255,.96);
    border:1px solid rgba(220,236,251,.95);border-radius:18px;
    box-shadow:0 18px 42px rgba(9,43,88,.16);backdrop-filter:blur(14px);z-index:80
}
.nav-group:hover .dropdown,.nav-group.open .dropdown{display:block}
.dropdown a{
    display:block;padding:11px 12px;border-radius:12px;
    color:#0b315f;font-weight:750;text-transform:none;font-size:15px
}
.dropdown a:hover{background:#eaf6ff;color:#117ce7}
.menu-toggle{
    display:none;margin-left:auto;border:1px solid rgba(220,236,251,.95);
    background:rgba(255,255,255,.82);border-radius:14px;
    padding:10px 16px;font-weight:900;color:#0b315f;cursor:pointer
}
.home-btn{display:none!important}

/* V26 home page compact scale while banner stays full width */
.home-wrap{max-width:1080px}
.feature-card{min-height:84px;padding:11px}
.feature-card b{font-size:15px}
.feature-card small{font-size:11.5px}
.panel{padding:13px}
.panel h2{font-size:17px}
.news-grid h3{font-size:15px}
.news-grid p{font-size:13px}

/* V26 right fisherman background: centered in right empty zone */
.side-fisher-bg{
    left:calc(50vw + 550px);
    width:calc(50vw - 570px);
    top:78px;
    height:calc(100vh - 92px);
    background-position:center 36%;
    background-size:min(96%, 430px) auto;
    opacity:.24;
}

@media(max-width:1280px){
    .nav{gap:6px}
    .nav-link{font-size:13px;padding:9px 9px}
    .search input{width:145px}
}
@media(max-width:1080px){
    .menu-toggle{display:block}
    .topbar{flex-wrap:wrap;height:auto;padding:12px 18px}
    .brand{min-width:0;flex:1}
    .tools{margin-left:auto}
    .nav{
        display:none;order:5;width:100%;flex:0 0 100%;
        background:rgba(255,255,255,.86);border:1px solid rgba(220,236,251,.95);
        border-radius:18px;padding:10px;box-shadow:0 16px 34px rgba(30,96,160,.12);
        overflow:visible
    }
    .nav.is-open{display:block}
    .nav-group{display:block}
    .nav-link{width:100%;justify-content:space-between;text-align:left;text-transform:none;font-size:16px}
    .dropdown{position:static;display:none;min-width:0;margin:4px 0 8px;box-shadow:none;border-radius:14px;background:#fff}
    .nav-group.open .dropdown{display:block}
    .nav-group:hover .dropdown{display:none}
    .nav-group.open:hover .dropdown{display:block}
}
@media(max-width:1150px){
    .dashboard{grid-template-columns:repeat(4,minmax(0,1fr))}
    .news-grid{grid-template-columns:1fr}
    .news-grid article:nth-child(n+2){display:none}
    .map-panel iframe{height:185px}
}
@media(max-width:900px){
    .dashboard{grid-template-columns:1fr 1fr}
}
@media(max-width:760px){
    .brand{min-width:0}
    .tools{width:100%;justify-content:flex-start}
    .dashboard{grid-template-columns:1fr}
}


/* V27.1: смысловое разведение блоков и выравнивание заголовков */
.feature-card{align-items:flex-start}
.feature-card>div:last-child{display:flex;flex-direction:column;min-height:100%;width:100%}
.feature-card b{min-height:36px;display:flex;align-items:flex-end;line-height:1.15}
.feature-card small{min-height:48px;margin:6px 0 10px}
.feature-card span{margin-top:auto}
.panel h2{min-height:42px;display:flex;align-items:flex-start;line-height:1.18}
.news-grid h3{min-height:38px}
.popular a{min-height:54px}
@media(max-width:1150px){.panel h2{min-height:0}.feature-card b,.feature-card small{min-height:0}}

/* V27.2: устойчивое выпадающее меню — курсор может пройти от пункта к подменю без исчезновения */
@media(min-width:1081px){
    .nav-group{position:relative;z-index:90}
    .nav-group::after{
        content:"";position:absolute;left:0;right:0;top:100%;height:14px;
        display:block;background:transparent;pointer-events:auto
    }
    .dropdown{top:calc(100% + 8px)}
    .nav-group:hover .dropdown,.nav-group:focus-within .dropdown,.nav-group.open .dropdown{display:block}
    .nav-group:focus-within>.nav-link{color:#1689ff;background:rgba(255,255,255,.55);border-color:rgba(220,236,251,.9)}
}


/* V27.3: восстановление резинового главного баннера без изменения изображения */
.hero{
    width:100vw;
    max-width:100vw;
    margin-left:calc(50% - 50vw);
    margin-right:calc(50% - 50vw);
    overflow:hidden;
    background:#dff1ff;
}
.hero img{
    width:100vw;
    max-width:none;
    height:clamp(260px, 36vw, 620px);
    object-fit:cover;
    object-position:center top;
    display:block;
}
@media(max-width:760px){
    .hero img{height:clamp(210px, 58vw, 380px);object-position:center top}
}

/* V27.3: верхние карточки без иконок, ровные заголовки/описания/кнопки */
.feature-row{align-items:stretch}
.feature-card{
    gap:0;
    align-items:stretch;
    min-height:178px;
    height:100%;
    padding:18px 20px;
}
.feature-card .ico{display:none!important}
.feature-card .feature-text,
.feature-card>div:last-child{
    display:flex;
    flex-direction:column;
    width:100%;
    min-height:100%;
}
.feature-card b{
    min-height:48px;
    display:flex;
    align-items:flex-start;
    line-height:1.12;
    font-size:16px;
}
.feature-card small{
    min-height:68px;
    margin:8px 0 12px;
    line-height:1.28;
    display:-webkit-box;
    -webkit-line-clamp:4;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.feature-card span{margin-top:auto;display:block}
@media(max-width:1150px){
    .feature-card{min-height:150px}
    .feature-card b{min-height:0}
    .feature-card small{min-height:0;-webkit-line-clamp:unset}
}

/* V27.4: переработка нижнего ряда главной страницы без смены фирменного стиля */
.dashboard-v274{
    grid-template-columns:1.15fr 1.45fr 1fr .95fr;
    gap:16px;
    align-items:start;
}
.dashboard-v274 .panel{
    min-height:0;
    height:auto;
    display:flex;
    flex-direction:column;
}
.dashboard-v274 .panel h2{
    min-height:0;
    margin-bottom:12px;
}
.map-panel-clickable{
    cursor:pointer;
    padding-bottom:14px;
}
.map-panel-clickable:hover{
    transform:translateY(-1px);
    box-shadow:0 18px 40px rgba(30,96,160,.13);
}
.map-frame{
    position:relative;
    flex:1;
    min-height:290px;
    border-radius:14px;
    overflow:hidden;
    border:1px solid rgba(220,236,251,.95);
    background:#eaf6ff;
}
.map-frame iframe{
    position:absolute;
    inset:0;
    width:100%;
    height:100%;
    border:0;
    border-radius:0;
}
.news-grid-horizontal{
    display:flex;
    flex-direction:column;
    gap:10px;
}
.news-grid-horizontal article{
    display:grid;
    grid-template-columns:92px minmax(0,1fr);
    gap:12px;
    align-items:stretch;
    padding:10px;
    border-radius:14px;
}
.news-grid-horizontal img{
    width:92px;
    height:100%;
    min-height:86px;
    border-radius:10px;
}
.news-grid-horizontal span{
    margin:0 0 7px;
}
.news-grid-horizontal h3{
    min-height:0;
    margin:0 0 5px;
    line-height:1.16;
}
.news-grid-horizontal p{
    margin:0;
    line-height:1.28;
    display:-webkit-box;
    -webkit-line-clamp:2;
    -webkit-box-orient:vertical;
    overflow:hidden;
}
.water-guide-panel .water-list{
    display:flex;
    flex-direction:column;
    gap:8px;
}
.water-guide-panel .water-list a{
    min-height:44px;
    margin:0;
    padding:10px 12px;
    gap:8px;
    line-height:1.14;
}
.water-guide-panel .water-list a::before{display:none!important;content:none!important}
.water-guide-panel .water-list span{
    width:auto;
    height:auto;
    border-radius:0;
    background:none;
    flex:1 1 auto;
    min-width:0;
    font-size:15px;
    line-height:1.16;
    letter-spacing:-.15px;
}
.water-guide-panel .water-list b{font-size:20px;line-height:1}
.water-guide-panel .all{
    min-height:44px;
    margin:10px 0 0;
    padding:10px 12px;
}
.weather-panel .weather-main{
    display:flex;
    align-items:center;
    gap:12px;
    margin:2px 0 8px;
}
.weather-panel .weather-icon{font-size:31px;line-height:1}
.weather-panel .temp{
    font-size:38px;
    margin:0;
    line-height:1;
}
.weather-panel p{
    margin:8px 0 12px;
    line-height:1.4;
}
.weather-stats{
    display:grid;
    grid-template-columns:1fr;
    gap:8px;
    margin:0 0 12px;
}
.weather-stats span{
    display:flex;
    align-items:baseline;
    justify-content:space-between;
    gap:8px;
    padding:9px 10px;
    border-radius:12px;
    background:rgba(255,255,255,.72);
    border:1px solid #e5f1fb;
}
.weather-stats b{font-size:15px;color:#0b315f}
.weather-stats small{font-size:12px;color:#6682a1;font-weight:700;text-align:right}
.weather-panel>a{margin-top:auto;color:#0b315f;font-weight:800}
@media(max-width:1150px){
    .dashboard-v274{grid-template-columns:1fr 1fr}
    .news-grid-horizontal article:nth-child(n+2){display:grid}
    .map-frame{min-height:260px}
}
@media(max-width:760px){
    .dashboard-v274{grid-template-columns:1fr}
    .map-frame{min-height:260px}
    .news-grid-horizontal article{grid-template-columns:86px minmax(0,1fr)}
    .news-grid-horizontal img{width:86px;min-height:84px}
}

/* V29: новые функциональные разделы без смены фирменного внешнего вида */
.tool-card{margin-top:20px;padding:22px;border:1px solid var(--line);border-radius:18px;background:linear-gradient(180deg,#fff,#f6fbff);box-shadow:0 14px 30px rgba(30,96,160,.08)}
.tool-card h2{margin:0 0 14px;font-size:24px}.checker-grid{display:grid;grid-template-columns:1fr 1fr auto;gap:12px;align-items:end}.checker-grid label{font-weight:800;color:#0b315f}.checker-grid input,.checker-grid select{display:block;width:100%;margin-top:6px;padding:12px 14px;border:1px solid #dcecfb;border-radius:14px;background:#fff;color:#0b315f;font-weight:700}.check-result{margin-top:14px;padding:14px 16px;border-radius:14px;background:#eaf6ff;color:#24496f;line-height:1.5}.check-result.bad{background:#fff0f0;color:#8c2525}.check-result.ok{background:#eefaf2;color:#225f35}.check-result.warn{background:#fff8e8;color:#7d5a00}.mini-map-board{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:22px}.mini-map-board a{display:block;padding:16px;border:1px solid #dcecfb;border-radius:16px;background:#fff;color:#0b315f;box-shadow:0 10px 24px rgba(30,96,160,.07)}.mini-map-board b{display:block;font-size:18px;margin-bottom:6px}.mini-map-board span{display:block;color:#587493;line-height:1.45}.content-page .blue-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#1689ff;color:#fff;font-weight:900;text-decoration:none;padding:12px 16px;cursor:pointer}.content-page .blue-btn:hover{filter:brightness(.96)}.text-block table td:first-child,.text-block table th:first-child{font-weight:800;color:#0b315f}@media(max-width:760px){.checker-grid{grid-template-columns:1fr}.mini-map-board{grid-template-columns:1fr}.tool-card{padding:16px}}
.page-illustration{width:100%;max-height:310px;object-fit:cover;border-radius:20px;border:1px solid var(--line);margin:6px 0 22px;box-shadow:0 12px 28px rgba(30,96,160,.08)}


/* V30 STABLE: стабилизация без смены внешнего вида */
img,iframe{max-width:100%}
.search input{min-width:120px}
.nav,.dropdown,.topbar{z-index:100}
.content-page{overflow-wrap:anywhere}
.text-block li{margin-bottom:6px}
.table-scroll{overflow-x:auto}
.table-scroll table{min-width:620px}
@media(max-width:1080px){
  .nav{display:none;width:100%;order:3}
  .nav.is-open{display:flex;flex-direction:column;align-items:stretch}
  .nav-group,.nav-link{width:100%}
  .dropdown{position:static;display:none;width:100%;box-shadow:none;margin-top:6px}
  .nav-group.open .dropdown{display:block}
}
@media(max-width:520px){
  .topbar{gap:8px}
  .brand small{display:none}
  .hero img{height:220px}
  .feature-card{padding:16px}
  .content-page{padding:18px}
}


/* V30.1: карта Актюбинской области в нижнем ряду главной страницы */
.dashboard-v274{
    align-items:stretch;
}
.dashboard-v274 .map-panel{
    position:relative;
    height:100%;
    min-height:468px;
    padding:14px;
}
.dashboard-v274 .map-panel h2{
    margin:0 0 12px;
    font-size:18px;
    line-height:1.18;
    flex:0 0 auto;
}
.map-panel-clickable{
    display:flex;
    flex-direction:column;
}
.map-panel-clickable::after{
    content:'Открыть карту во весь экран';
    position:absolute;
    left:28px;
    right:28px;
    bottom:28px;
    padding:10px 12px;
    border-radius:14px;
    background:rgba(255,255,255,.86);
    border:1px solid rgba(220,236,251,.96);
    color:#0b315f;
    font-weight:900;
    text-align:center;
    opacity:0;
    transform:translateY(6px);
    transition:.18s ease;
    pointer-events:none;
}
.map-panel-clickable:hover::after{
    opacity:1;
    transform:translateY(0);
}
.map-frame{
    flex:1 1 auto;
    min-height:0;
    height:100%;
}
.map-frame iframe{
    pointer-events:none;
}
@media(max-width:1150px){
    .dashboard-v274 .map-panel{min-height:360px}
    .map-frame{min-height:300px}
}
@media(max-width:760px){
    .dashboard-v274 .map-panel{min-height:340px}
    .map-frame{min-height:280px}
    .map-panel-clickable::after{opacity:1;transform:none;left:24px;right:24px;bottom:24px}
}

/* V30.2: новая компоновка нижнего блока главной страницы
   Лента сверху, большая карта 2x2 слева, справа погода и справочник. */
@media(min-width:901px){
    .dashboard-v274{
        display:grid;
        grid-template-columns:repeat(4,minmax(0,1fr));
        grid-template-rows:auto minmax(240px,1fr) minmax(240px,1fr);
        gap:16px;
        align-items:stretch;
    }
    .dashboard-v274 .portal-feed-panel{
        grid-column:1 / 5;
        grid-row:1;
    }
    .dashboard-v274 .map-panel{
        grid-column:1 / 3;
        grid-row:2 / 4;
        min-height:520px;
    }
    .dashboard-v274 .weather-panel{
        grid-column:3 / 5;
        grid-row:2;
        min-height:0;
    }
    .dashboard-v274 .water-guide-panel{
        grid-column:3 / 5;
        grid-row:3;
        min-height:0;
    }
    .portal-feed-panel .news-grid-horizontal{
        display:grid;
        grid-template-columns:repeat(3,minmax(0,1fr));
        gap:12px;
    }
    .portal-feed-panel .news-grid-horizontal article{
        display:grid;
        grid-template-columns:128px minmax(0,1fr);
        min-height:132px;
        padding:12px;
    }
    .portal-feed-panel .news-grid-horizontal img{
        width:128px;
        min-height:108px;
        height:100%;
    }
    .portal-feed-panel .news-grid-horizontal p{
        -webkit-line-clamp:3;
    }
    .map-frame{
        min-height:0;
        height:100%;
    }
    .weather-panel{
        justify-content:flex-start;
    }
    .weather-stats{
        grid-template-columns:repeat(3,minmax(0,1fr));
    }
    .weather-stats span{
        flex-direction:column;
        align-items:flex-start;
        justify-content:center;
        min-height:62px;
    }
    .weather-panel>a{margin-top:auto}
    .water-guide-panel .water-list{
        display:grid;
        grid-template-columns:repeat(2,minmax(0,1fr));
        gap:10px;
    }
    .water-guide-panel .water-list a{
        min-height:64px;
        margin:0;
    }
    .water-guide-panel .all{
        margin-top:auto;
        min-height:52px;
    }
}
@media(min-width:901px) and (max-width:1150px){
    .dashboard-v274{
        grid-template-columns:repeat(2,minmax(0,1fr));
        grid-template-rows:auto auto auto;
    }
    .dashboard-v274 .portal-feed-panel{grid-column:1 / 3;grid-row:1}
    .dashboard-v274 .map-panel{grid-column:1 / 3;grid-row:2;min-height:430px}
    .dashboard-v274 .weather-panel{grid-column:1;grid-row:3}
    .dashboard-v274 .water-guide-panel{grid-column:2;grid-row:3}
    .portal-feed-panel .news-grid-horizontal{grid-template-columns:repeat(3,minmax(0,1fr))}
    .portal-feed-panel .news-grid-horizontal article{grid-template-columns:92px minmax(0,1fr)}
    .portal-feed-panel .news-grid-horizontal img{width:92px}
    .weather-stats{grid-template-columns:1fr}
    .water-guide-panel .water-list{grid-template-columns:1fr}
}


/* V31 SMART PORTAL: функциональные модули без смены фирменного стиля */
.smart-map-module,.water-catalog-module,.weather-deep-module,.ai-helper-module{margin:24px 0;padding:18px;border:1px solid rgba(116,180,228,.35);border-radius:24px;background:rgba(255,255,255,.86);box-shadow:0 18px 44px rgba(20,70,120,.08)}
.map-toolbar,.module-head{display:flex;gap:12px;align-items:center;justify-content:space-between;flex-wrap:wrap;margin-bottom:14px}.map-toolbar label{font-weight:800;color:#092a57}.map-toolbar select,.module-head input,.ai-actions input{border:1px solid #d6eafa;border-radius:14px;padding:11px 14px;background:#fff;color:#092a57;font-weight:700;outline:none}.smart-map-grid{display:grid;grid-template-columns:1.6fr .9fr;gap:14px;min-height:520px}.smart-map-grid iframe{width:100%;height:100%;border:0;border-radius:20px;background:#eef7ff}.map-points{display:grid;gap:10px;align-content:start;max-height:520px;overflow:auto}.map-points button{border:1px solid #d6eafa;background:#fff;border-radius:18px;padding:13px;text-align:left;color:#092a57;cursor:pointer}.map-points button b{display:block;font-size:16px}.map-points button span{display:block;color:#537199;margin:6px 0}.map-points button small{font-weight:800;color:#0b68d8}.water-cards{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.water-cards article{border:1px solid #d6eafa;border-radius:20px;background:#fff;padding:16px;color:#092a57}.water-cards h3{margin:0 0 4px;font-size:20px}.water-cards p{margin:0 0 10px;color:#537199}.tags{display:flex;gap:8px;flex-wrap:wrap;margin:10px 0}.tags span{background:#eaf6ff;border-radius:999px;padding:6px 9px;font-weight:800;font-size:12px}.water-cards dl{display:grid;grid-template-columns:78px 1fr;gap:5px 10px;margin:12px 0}.water-cards dt{font-weight:900}.water-cards dd{margin:0;color:#537199}.water-cards a{font-weight:900;color:#096bd8;text-decoration:none}.weather-deep-grid{display:grid;grid-template-columns:repeat(4,1fr);gap:12px}.weather-deep-grid div{background:#fff;border:1px solid #d6eafa;border-radius:18px;padding:16px}.weather-deep-grid b,.weather-deep-grid span,.weather-deep-grid small{display:block}.weather-deep-grid span{font-size:26px;font-weight:900;margin:8px 0;color:#092a57}.weather-deep-grid small{color:#537199}.ai-box{display:grid;gap:12px}.ai-log{min-height:120px;background:#f5fbff;border:1px solid #d6eafa;border-radius:18px;padding:14px;color:#092a57}.ai-actions{display:grid;grid-template-columns:1fr auto;gap:10px}.quick-prompts{display:flex;gap:8px;flex-wrap:wrap}.quick-prompts button{border:1px solid #d6eafa;border-radius:999px;background:white;color:#096bd8;font-weight:900;padding:9px 12px;cursor:pointer}.blue-btn{display:inline-flex;align-items:center;justify-content:center;border:0;border-radius:14px;background:#1785ee;color:#fff;text-decoration:none;font-weight:900;padding:12px 16px;cursor:pointer}@media(max-width:980px){.smart-map-grid{grid-template-columns:1fr;min-height:auto}.smart-map-grid iframe{height:420px}.water-cards{grid-template-columns:1fr 1fr}.weather-deep-grid{grid-template-columns:1fr 1fr}}@media(max-width:620px){.water-cards,.weather-deep-grid,.ai-actions{grid-template-columns:1fr}.smart-map-grid iframe{height:360px}}


/* V32.1: интерактивная карта на главной без hover-слоя.
   Карта снова управляется мышкой прямо в маленьком блоке; fullscreen вынесен в маленькую ссылку в заголовке. */
.map-panel-interactive{
    display:flex;
    flex-direction:column;
}
.map-panel-interactive:hover{
    transform:none;
}
.map-panel-interactive::after,
.map-panel-clickable::after{
    content:none !important;
    display:none !important;
}
.map-panel-head{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:12px;
    margin:0 0 12px;
}
.map-panel-head h2{
    margin:0 !important;
}
.map-fullscreen-link{
    flex:0 0 auto;
    font-size:12px;
    line-height:1;
    font-weight:900;
    color:#126fc8;
    background:rgba(255,255,255,.82);
    border:1px solid rgba(220,236,251,.96);
    border-radius:999px;
    padding:8px 10px;
}
.map-fullscreen-link:hover{
    background:#fff;
    color:#1689ff;
}
.map-panel-interactive .map-frame{
    flex:1 1 auto;
    height:100%;
    min-height:0;
}
.map-panel-interactive .map-frame iframe{
    width:100%;
    height:100% !important;
    min-height:100%;
    border:0;
    border-radius:13px;
    pointer-events:auto !important;
}
@media(max-width:760px){
    .map-panel-head{align-items:flex-start;flex-direction:column}
    .map-fullscreen-link{align-self:flex-start}
}

/* V33: карта и водоёмы как рабочий центр портала */
.map-point-card{display:block;border:1px solid #d6eafa;background:#fff;border-radius:18px;padding:13px;text-align:left;color:#092a57;text-decoration:none;cursor:pointer}
.map-point-card b{display:block;font-size:16px}.map-point-card span{display:block;color:#537199;margin:6px 0}.map-point-card small{display:block;font-weight:800;color:#0b68d8}.map-point-card em{display:block;margin-top:6px;color:#6b87a5;font-style:normal;font-size:12px}
.water-card-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:10px}.water-card-actions a{padding:8px 10px;border-radius:10px;background:#eef8ff}
.water-detail-module,.points-module,.report-form-module{margin:24px 0;padding:18px;border:1px solid rgba(116,180,228,.35);border-radius:24px;background:rgba(255,255,255,.88);box-shadow:0 18px 44px rgba(20,70,120,.08)}
.water-detail-head{display:flex;align-items:center;justify-content:space-between;gap:14px;flex-wrap:wrap;margin-bottom:14px}.water-detail-head h2{margin:0 0 4px;font-size:30px}.water-detail-head p{margin:0;color:#537199;font-weight:800}
.water-detail-grid{display:grid;grid-template-columns:1.45fr .9fr;gap:14px}.water-map-mini iframe{width:100%;height:360px;border:0;border-radius:20px;background:#eef7ff}.water-facts{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px}.water-facts dl{display:grid;grid-template-columns:94px 1fr;gap:8px 12px;margin:0}.water-facts dt{font-weight:900;color:#092a57}.water-facts dd{margin:0;color:#537199}
.water-sections{display:grid;grid-template-columns:repeat(3,1fr);gap:14px;margin-top:14px}.water-sections article{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px}.water-sections h3{margin:0 0 8px}.water-sections p,.water-sections li{color:#537199;line-height:1.55}.water-sections a{font-weight:900;color:#096bd8;text-decoration:none}
.points-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.points-grid article{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px}.points-grid b,.points-grid span,.points-grid small{display:block}.points-grid b{font-size:18px}.points-grid span{color:#537199;margin:8px 0}.points-grid small{color:#0b68d8;font-weight:900}.points-grid a{font-weight:900;color:#096bd8;text-decoration:none}
.portal-form{display:grid;grid-template-columns:1fr 1fr;gap:12px}.portal-form label{display:grid;gap:6px;font-weight:900;color:#092a57}.portal-form input,.portal-form select,.portal-form textarea{border:1px solid #d6eafa;border-radius:14px;padding:12px 14px;background:#fff;color:#092a57;font-weight:700;outline:none}.portal-form textarea,.portal-form button{grid-column:1 / -1}.admin-map-grid{display:grid;grid-template-columns:1.2fr .8fr;gap:14px}.moderation-note{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px}.moderation-note li{color:#537199;line-height:1.6}
@media(max-width:980px){.water-detail-grid,.water-sections,.points-grid,.admin-map-grid{grid-template-columns:1fr}.portal-form{grid-template-columns:1fr}.water-map-mini iframe{height:340px}}

/* V34 WEATHER PRO: карточка Яндекс/резервной погоды для рыбака */
.weather-pro-card .weather-bite{
    margin:12px 0 0;
    padding:10px 12px;
    border-radius:14px;
    background:#eef8ff;
    color:#092a57;
    font-weight:900;
    border:1px solid #d6eafa;
}
.weather-source{
    color:#537199;
    font-weight:900;
    background:#eef8ff;
    border:1px solid #d6eafa;
    border-radius:999px;
    padding:8px 12px;
}
.weather-hourly{
    display:grid;
    grid-template-columns:repeat(4,minmax(0,1fr));
    gap:10px;
    margin-top:14px;
}
.weather-hourly div{
    background:#fff;
    border:1px solid #d6eafa;
    border-radius:16px;
    padding:12px;
    color:#092a57;
}
.weather-hourly b,.weather-hourly span,.weather-hourly small{display:block}
.weather-hourly span{font-size:22px;font-weight:900;margin:6px 0}
.weather-hourly small{color:#537199;font-weight:800}
.weather-note{
    margin:14px 0 0;
    color:#537199;
    line-height:1.55;
}
@media(max-width:760px){.weather-hourly{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:460px){.weather-hourly{grid-template-columns:1fr}}

/* V37: мобильный баннер главной отображается полностью, без обрезки центральной части */
@media(max-width:760px){
  .hero{overflow:visible;background:#eaf6ff;}
  .hero img{
    width:100%;
    max-width:100%;
    height:auto!important;
    object-fit:contain!important;
    object-position:center center!important;
    display:block;
  }
  .hero-gradient{height:18%;}
}


/* V39: визуальное наполнение карточек водоёмов и отчётов */
.water-thumb{width:100%;height:148px;object-fit:cover;border-radius:16px;margin-bottom:12px;background:#eaf6ff;border:1px solid #d6eafa;display:block}
.water-photo{margin:18px 0 14px}.water-photo img{width:100%;max-height:360px;object-fit:cover;border-radius:22px;border:1px solid #d6eafa;background:#eaf6ff;display:block}
.reports-board{margin:22px 0 30px}.reports-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px}.report-card{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px;box-shadow:0 10px 24px rgba(30,96,160,.07)}.report-card h3{margin:10px 0;font-size:19px;color:#092a57}.report-card p{color:#537199;line-height:1.55}.report-top{display:flex;justify-content:space-between;gap:10px;align-items:center}.report-top b{color:#096bd8}.report-top span{background:#eaf6ff;border-radius:999px;padding:6px 9px;font-weight:900;color:#092a57;font-size:12px}.report-card dl{display:grid;grid-template-columns:72px 1fr;gap:5px 10px;margin:10px 0 0}.report-card dt{font-weight:900;color:#092a57}.report-card dd{margin:0;color:#537199}
.catch-report-grid{
  grid-template-columns:repeat(2,minmax(0,1fr));
}
.catch-public-card{
  display:grid;
  grid-template-columns:minmax(180px,.9fr) minmax(0,1.1fr);
  gap:14px;
  align-items:start;
  padding:14px;
}
.catch-public-photo{
  position:relative;
  min-height:220px;
  border:1px solid #d6eafa;
  border-radius:18px;
  overflow:hidden;
  background:linear-gradient(135deg,#eef8ff,#f8fcff);
}
.catch-public-photo img{
  width:100%;
  height:100%;
  min-height:220px;
  display:block;
  object-fit:cover;
}
.catch-public-photo span{
  min-height:220px;
  display:flex;
  align-items:center;
  justify-content:center;
  color:#537199;
  font-weight:900;
}
.catch-public-photo em{
  position:absolute;
  left:10px;
  top:10px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#0b3c78;
  font-style:normal;
  font-weight:900;
}
.catch-public-card .report-top,
.catch-public-card .catch-feature-badges,
.catch-public-card h3,
.catch-public-card p,
.catch-public-card dl{
  grid-column:2;
}
.catch-feature-badges{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0 0 2px;
}
.catch-feature-badges span{
  display:inline-flex;
  align-items:center;
  min-height:26px;
  padding:5px 9px;
  border-radius:999px;
  background:#eaf8f0;
  color:#147b3f;
  font-size:12px;
  font-weight:900;
}
.catch-public-card h3{
  font-size:22px;
  margin:9px 0 6px;
}
.catch-public-card p{
  margin:0;
}
.reports-page-v2{
  display:flex;
  flex-direction:column;
  gap:16px;
}
.reports-hero-panel{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:18px;
  padding:22px;
  border:1px solid #cfe7fb;
  border-radius:22px;
  background:linear-gradient(135deg,#f8fcff,#eef8ff);
  box-shadow:0 14px 34px rgba(30,96,160,.08);
}
.reports-hero-panel span,
.report-trophy-card span{
  display:inline-flex;
  align-items:center;
  width:max-content;
  min-height:26px;
  padding:5px 10px;
  border-radius:999px;
  background:#eaf8f0;
  color:#147b3f;
  font-size:12px;
  font-weight:900;
}
.reports-hero-panel h2{
  margin:10px 0 8px;
  color:#092a57;
  font-size:34px;
  line-height:1.05;
}
.reports-hero-panel p{
  max-width:720px;
  margin:0;
  color:#537199;
  font-weight:800;
  line-height:1.45;
}
.reports-trophy-strip{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:14px;
}
.report-trophy-card{
  display:grid;
  grid-template-columns:130px minmax(0,1fr);
  gap:14px;
  align-items:center;
  min-height:154px;
  padding:14px;
  border:1px solid #d6eafa;
  border-radius:20px;
  background:#fff;
  box-shadow:0 10px 24px rgba(30,96,160,.07);
}
.report-trophy-card.is-empty{
  background:linear-gradient(135deg,#fff,#f6fbff);
}
.report-trophy-photo{
  width:100%;
  aspect-ratio:1/1;
  border:1px solid #d6eafa;
  border-radius:16px;
  overflow:hidden;
  background:#eef8ff;
}
.report-trophy-photo img{
  width:100%;
  height:100%;
  object-fit:cover;
  display:block;
}
.report-trophy-photo span{
  width:100%;
  height:100%;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:12px;
  border-radius:0;
  background:transparent;
  color:#537199;
  text-align:center;
  line-height:1.25;
}
.report-trophy-card h3{
  margin:10px 0 8px;
  color:#092a57;
  font-size:22px;
  line-height:1.1;
}
.report-trophy-card p{
  margin:0 0 8px;
  color:#537199;
  font-weight:900;
  line-height:1.35;
}
.report-trophy-card small{
  color:#6f86a5;
  font-weight:800;
  line-height:1.35;
}
.reports-filter-panel{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr)) auto auto;
  gap:10px;
  align-items:end;
  padding:14px;
  border:1px solid #d6eafa;
  border-radius:20px;
  background:#fff;
}
.reports-filter-panel label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#092a57;
  font-weight:900;
}
.reports-filter-panel select{
  width:100%;
  min-height:48px;
  border:1px solid #cfe7fb;
  border-radius:14px;
  background:#f8fcff;
  color:#092a57;
  padding:0 12px;
  font-weight:900;
}
.reports-filter-panel .blue-btn{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
}
.reports-reset-link{
  min-height:48px;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  padding:0 14px;
  border:1px solid #d6eafa;
  border-radius:14px;
  color:#096bd8;
  font-weight:900;
  text-decoration:none;
}
.reports-result-line{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
  justify-content:space-between;
  padding:12px 16px;
  border:1px solid #d6eafa;
  border-radius:18px;
  background:#f8fcff;
  color:#537199;
  font-weight:900;
}
.reports-result-line b{
  color:#092a57;
}
.catch-empty-state{
  padding:22px;
  border:1px dashed #b9dcfb;
  border-radius:20px;
  background:#f7fbff;
  color:#537199;
}
.catch-empty-state h3{
  margin:0 0 8px;
  color:#092a57;
}
.report-modal{
  position:fixed;
  inset:0;
  z-index:9999;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:18px;
}
.report-modal[aria-hidden="true"]{
  display:none;
}
.report-modal-backdrop{
  position:absolute;
  inset:0;
  background:rgba(9,42,87,.28);
  backdrop-filter:blur(3px);
}
.report-modal-box{
  position:relative;
  width:min(860px, calc(100vw - 28px));
  max-height:min(88vh, 820px);
  overflow:auto;
  border:1px solid #cfe7fb;
  border-radius:24px;
  background:linear-gradient(135deg,#f8fcff,#edf8ff);
  box-shadow:0 28px 80px rgba(9,42,87,.24);
  padding:22px;
}
.report-modal-close{
  position:absolute;
  top:14px;
  right:14px;
  width:38px;
  height:38px;
  border:1px solid #cfe7fb;
  border-radius:999px;
  background:#fff;
  color:#092a57;
  font-size:26px;
  line-height:34px;
  font-weight:900;
  cursor:pointer;
}
.report-modal-head{
  padding-right:48px;
  margin-bottom:14px;
}
.report-modal-head span{
  display:inline-flex;
  min-height:26px;
  align-items:center;
  padding:5px 10px;
  border-radius:999px;
  background:#eaf8f0;
  color:#147b3f;
  font-size:12px;
  font-weight:900;
}
.report-modal-head h2{
  margin:10px 0 7px;
  color:#092a57;
  font-size:30px;
  line-height:1.08;
}
.report-modal-head p,
.report-login-note p{
  margin:0;
  color:#537199;
  font-weight:800;
  line-height:1.45;
}
.catch-report-modal-form{
  display:flex;
  flex-direction:column;
  gap:12px;
}
.report-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.report-form-grid label,
.report-note-field{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#092a57;
  font-weight:900;
}
.report-form-grid input,
.report-form-grid select,
.report-note-field textarea{
  width:100%;
  border:1px solid #cfe7fb;
  border-radius:14px;
  background:#fff;
  color:#092a57;
  padding:12px 13px;
  font:800 14px/1.35 inherit;
  outline:none;
}
.report-form-grid input[type="file"]{
  padding:9px 10px;
}
.report-form-grid small{
  color:#6b87a5;
  font-size:12px;
  line-height:1.25;
  font-weight:800;
}
.report-modal-actions{
  display:flex;
  flex-wrap:wrap;
  gap:10px;
  align-items:center;
}
.report-modal-actions .blue-btn{
  margin-top:0;
}
.report-soft-btn{
  min-height:42px;
  padding:10px 18px;
  border:1px solid #cfe7fb;
  border-radius:12px;
  background:#fff;
  color:#0b3c78;
  font-weight:900;
  cursor:pointer;
}
.report-login-note{
  padding:16px;
  border:1px solid #d6eafa;
  border-radius:18px;
  background:#fff;
}
.report-login-note h3{
  margin:0 0 8px;
  color:#092a57;
}
body.report-modal-open{
  overflow:hidden;
}
@media(max-width:980px){.reports-grid{grid-template-columns:1fr 1fr}}
@media(max-width:980px){.reports-trophy-strip{grid-template-columns:1fr}.reports-filter-panel{grid-template-columns:1fr 1fr}.reports-filter-panel .blue-btn,.reports-reset-link{width:100%}}
@media(max-width:980px){.catch-report-grid{grid-template-columns:1fr}.catch-public-card{grid-template-columns:1fr}.catch-public-card .report-top,.catch-public-card .catch-feature-badges,.catch-public-card h3,.catch-public-card p,.catch-public-card dl{grid-column:auto}}
@media(max-width:620px){.reports-grid{grid-template-columns:1fr}.reports-hero-panel{align-items:stretch;flex-direction:column}.reports-hero-panel h2{font-size:28px}.report-trophy-card{grid-template-columns:1fr}.reports-filter-panel{grid-template-columns:1fr}.water-thumb{height:180px}.water-photo img{max-height:none}.catch-public-photo,.catch-public-photo img,.catch-public-photo span{min-height:190px}.report-modal{padding:8px}.report-modal-box{width:calc(100vw - 16px);max-height:94vh;padding:18px 14px;border-radius:20px}.report-form-grid{grid-template-columns:1fr}.report-modal-head h2{font-size:24px}.report-modal-head{padding-right:42px}}

/* BALYK04 Codex - allowed page owns the ban widget, home no longer duplicates it */
.page-allowed .page-ban-countdown,
.page-bans .page-ban-countdown{
  margin:20px 0 22px!important;
  padding:18px!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#ffffff,#edf8ff)!important;
  overflow:visible!important;
}
.page-allowed .page-ban-countdown .ban-countdown-title,
.page-bans .page-ban-countdown .ban-countdown-title{
  margin:0 0 16px!important;
  font-size:clamp(24px,3vw,34px)!important;
  line-height:1.12!important;
}
.page-allowed .page-ban-countdown .ban-countdown-inner,
.page-bans .page-ban-countdown .ban-countdown-inner{
  display:grid!important;
  grid-template-columns:130px minmax(0,1fr) minmax(250px,auto) 130px!important;
  gap:16px!important;
  align-items:center!important;
}
.page-allowed .page-ban-countdown .ban-side-img,
.page-bans .page-ban-countdown .ban-side-img{
  width:130px!important;
  height:130px!important;
  min-width:130px!important;
  max-width:130px!important;
  max-height:130px!important;
  object-fit:cover!important;
  border-radius:18px!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy,
.page-bans .page-ban-countdown .ban-countdown-copy{
  display:grid!important;
  gap:8px!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy p,
.page-bans .page-ban-countdown .ban-countdown-copy p,
.page-allowed .page-ban-countdown .ban-countdown-copy strong,
.page-bans .page-ban-countdown .ban-countdown-copy strong,
.page-allowed .page-ban-countdown .ban-countdown-copy span,
.page-bans .page-ban-countdown .ban-countdown-copy span{
  display:block!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy p,
.page-bans .page-ban-countdown .ban-countdown-copy p{
  margin:0!important;
  color:#537199!important;
  font-weight:800!important;
  line-height:1.35!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy strong,
.page-bans .page-ban-countdown .ban-countdown-copy strong{
  color:#092a57!important;
  font-size:20px!important;
  line-height:1.2!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy span,
.page-bans .page-ban-countdown .ban-countdown-copy span{
  width:max-content!important;
  max-width:100%!important;
  padding:8px 11px!important;
  border-radius:14px!important;
  background:#eef8ff!important;
  color:#0e6ec2!important;
  font-size:13px!important;
  line-height:1.25!important;
  text-transform:none!important;
  letter-spacing:0!important;
}
.page-allowed .page-ban-countdown .ban-countdown-copy span:before,
.page-bans .page-ban-countdown .ban-countdown-copy span:before{
  content:none!important;
}
.page-allowed .page-ban-countdown .ban-countdown-timer,
.page-bans .page-ban-countdown .ban-countdown-timer{
  display:grid!important;
  grid-template-columns:repeat(3,minmax(74px,1fr))!important;
  gap:10px!important;
  width:100%!important;
}
.page-allowed .page-ban-countdown .ban-countdown-timer div,
.page-bans .page-ban-countdown .ban-countdown-timer div{
  min-width:0!important;
  padding:13px 9px!important;
}
.rule-checker-card{
  margin:0 0 22px!important;
  border-color:#cfe7fb!important;
  border-radius:24px!important;
  background:linear-gradient(135deg,#fff,#f5fbff)!important;
}
.rule-checker-card .checker-grid{
  grid-template-columns:minmax(170px,.75fr) minmax(260px,1fr) auto;
  align-items:end;
}
.rule-checker-card .checker-lead,
.rule-checker-card .checker-source{
  margin:0 0 14px;
  color:#537199;
  font-weight:800;
  line-height:1.45;
}
.rule-checker-card .checker-source{
  margin:12px 0 0;
  font-size:13px;
}
.rule-checker-card .check-result{
  border:1px solid #d6eafa;
  background:#eef8ff;
  color:#24496f;
  font-weight:800;
}
@media(max-width:980px){
  .page-allowed .page-ban-countdown .ban-countdown-inner,
  .page-bans .page-ban-countdown .ban-countdown-inner{
    grid-template-columns:110px minmax(0,1fr) 110px!important;
    grid-template-areas:"left copy right" "timer timer timer"!important;
  }
  .page-allowed .page-ban-countdown .ban-side-img-left,
  .page-bans .page-ban-countdown .ban-side-img-left{grid-area:left!important}
  .page-allowed .page-ban-countdown .ban-side-img-right,
  .page-bans .page-ban-countdown .ban-side-img-right{grid-area:right!important}
  .page-allowed .page-ban-countdown .ban-countdown-copy,
  .page-bans .page-ban-countdown .ban-countdown-copy{grid-area:copy!important}
  .page-allowed .page-ban-countdown .ban-countdown-timer,
  .page-bans .page-ban-countdown .ban-countdown-timer{grid-area:timer!important}
  .page-allowed .page-ban-countdown .ban-side-img,
  .page-bans .page-ban-countdown .ban-side-img{
    width:110px!important;
    height:110px!important;
    min-width:110px!important;
    max-width:110px!important;
    max-height:110px!important;
  }
  .rule-checker-card .checker-grid{grid-template-columns:1fr}
}
@media(max-width:620px){
  .page-allowed .page-ban-countdown .ban-countdown-inner,
  .page-bans .page-ban-countdown .ban-countdown-inner{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:"left right" "copy copy" "timer timer"!important;
  }
  .page-allowed .page-ban-countdown .ban-side-img,
  .page-bans .page-ban-countdown .ban-side-img{
    justify-self:center!important;
    width:88px!important;
    height:88px!important;
    min-width:88px!important;
    max-width:88px!important;
    max-height:88px!important;
  }
  .page-allowed .page-ban-countdown .ban-countdown-copy,
  .page-bans .page-ban-countdown .ban-countdown-copy{
    text-align:center!important;
  }
  .page-allowed .page-ban-countdown .ban-countdown-copy span,
  .page-bans .page-ban-countdown .ban-countdown-copy span{
    width:100%!important;
    box-sizing:border-box!important;
  }
  .page-allowed .page-ban-countdown .ban-countdown-timer,
  .page-bans .page-ban-countdown .ban-countdown-timer{
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
  }
}


/* V44: видимые карточки подразделов внутри укрупнённых разделов */
.section-card-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 4px;padding:0}
.section-card{display:flex;flex-direction:column;min-height:142px;padding:18px;border:1px solid #dcecfb;border-radius:18px;background:rgba(255,255,255,.82);box-shadow:0 12px 28px rgba(30,96,160,.08);transition:.15s ease;color:#0b315f}
.section-card:hover{transform:translateY(-2px);box-shadow:0 16px 34px rgba(30,96,160,.13);border-color:#b9ddfa;color:#117ce7}
.section-card b{font-size:19px;line-height:1.2;margin-bottom:9px;color:#0b315f}
.section-card span{font-size:15px;line-height:1.45;color:#587493;display:block;flex:1}
.section-card em{font-style:normal;font-weight:900;color:#126fc8;margin-top:14px}
.content-page .text-block .section-card-grid + ul{margin-top:18px}
@media(max-width:980px){.section-card-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:640px){.section-card-grid{grid-template-columns:1fr}.section-card{min-height:0}.dropdown a{font-size:15px}}



/* V49: чистые хабы-витрины и окончательная фиксация мобильного баннера */
.content-page .text-block{
  padding:0;
  margin:0 0 30px;
  border-top:0;
}
.content-page .text-block h2{
  margin:0 0 14px;
  font-size:28px;
  line-height:1.18;
}
.content-page .text-block p{
  max-width:820px;
  font-size:16px;
  line-height:1.6;
  color:#4f6f90;
  margin:0 0 18px;
}
.section-card-grid{
  display:grid !important;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin:18px 0 8px;
}
.section-card{
  min-height:168px;
  padding:20px;
  border-radius:22px;
  background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(248,252,255,.88));
  border:1px solid #d7eafa;
  box-shadow:0 14px 32px rgba(30,96,160,.09);
}
.section-card b{
  font-size:20px;
  margin-bottom:10px;
}
.section-card span{
  font-size:15px;
  line-height:1.5;
}
.section-card em{
  align-self:flex-start;
  padding:8px 12px;
  border-radius:999px;
  background:#eaf6ff;
  color:#126fc8;
}

/* Главный баннер на телефоне показывается полностью, без кадрирования по центру */
@media(max-width:760px){
  .hero{
    width:100% !important;
    max-width:100% !important;
    margin-left:0 !important;
    margin-right:0 !important;
    overflow:visible !important;
    background:#eaf6ff !important;
  }
  .hero img{
    width:100% !important;
    max-width:100% !important;
    height:auto !important;
    max-height:none !important;
    object-fit:contain !important;
    object-position:center center !important;
    display:block !important;
  }
  .hero-gradient{height:14% !important;}
}
@media(max-width:980px){
  .section-card-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:640px){
  .section-card-grid{grid-template-columns:1fr;}
  .section-card{min-height:0;}
  .content-page .text-block h2{font-size:24px;}
}

/* V50: жёсткая фиксация мобильного баннера — показывать весь рисунок, без растягивания и обрезки центра */
@media (max-width: 760px){
  body .hero,
  body .home-hero{
    width:100vw !important;
    max-width:100vw !important;
    margin-left:calc(50% - 50vw) !important;
    margin-right:calc(50% - 50vw) !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    overflow:visible !important;
    display:block !important;
    background:#eaf6ff !important;
  }
  body .hero > img,
  body .home-hero > img,
  body img.hero-main-banner{
    display:block !important;
    width:100% !important;
    max-width:100% !important;
    min-width:0 !important;
    height:auto !important;
    min-height:0 !important;
    max-height:none !important;
    aspect-ratio:auto !important;
    object-fit:contain !important;
    object-position:center center !important;
    transform:none !important;
  }
  body .hero-gradient{
    height:10% !important;
    pointer-events:none !important;
  }
}
@media (max-width: 420px){
  body .hero > img,
  body .home-hero > img,
  body img.hero-main-banner{
    width:100% !important;
    height:auto !important;
  }
}


/* V51: поиск всегда виден и ищет только по внутренним страницам сайта */
.topbar{min-height:82px;height:auto;flex-wrap:nowrap}
.tools{flex:0 0 auto;min-width:max-content;display:flex;align-items:center;gap:8px}
.search{display:flex !important;align-items:center;gap:6px;min-width:190px;max-width:260px}
.search input{width:190px;min-width:150px;border:0;border-radius:18px;padding:11px 14px;background:rgba(255,255,255,.82);outline:none;color:var(--text);box-shadow:inset 0 0 0 1px rgba(220,236,251,.9)}
.search button{width:38px;height:38px;border:0;border-radius:14px;background:#fff;color:#126fc8;font-weight:900;cursor:pointer;box-shadow:0 8px 18px rgba(30,96,160,.08)}
.search button:hover{background:#eaf6ff}
.nav{min-width:0;gap:8px}
.nav-link{font-size:13px;padding-left:9px;padding-right:9px}
@media(max-width:1280px){
  .topbar{padding-left:18px;padding-right:18px;gap:10px;flex-wrap:wrap}
  .brand{min-width:220px}
  .nav{order:4;flex:1 1 100%;justify-content:flex-start;overflow:visible}
  .tools{margin-left:auto}
  .search{display:flex !important;min-width:210px;max-width:320px}
  .search input{width:210px}
}
@media(max-width:1080px){
  .tools{width:auto;flex-wrap:wrap;justify-content:flex-end}
  .search{order:10;flex:1 1 100%;max-width:none;width:100%}
  .search input{width:100%;flex:1}
}
@media(max-width:560px){
  .tools{width:100%;justify-content:flex-start}
  .tools .pill{font-size:13px;padding:8px 9px}
  .search{flex-basis:100%;width:100%;min-width:0}
}
.site-search-large{display:flex;gap:10px;align-items:center;margin:20px 0 24px;max-width:820px}
.site-search-large input{flex:1;padding:15px 16px;border:1px solid #dcecfb;border-radius:16px;background:#fff;color:#0b315f;font-weight:700;outline:none}
.site-search-large .blue-btn{margin:0;border:0;cursor:pointer}
.search-results{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin-top:16px}
.search-result-card{display:block;padding:18px;border:1px solid #dcecfb;border-radius:18px;background:rgba(255,255,255,.86);box-shadow:0 12px 28px rgba(30,96,160,.08)}
.search-result-card span{display:inline-block;margin-bottom:10px;padding:5px 9px;border-radius:999px;background:#eaf6ff;color:#126fc8;font-size:12px;font-weight:900}
.search-result-card b{display:block;font-size:20px;margin-bottom:7px;color:#0b315f}
.search-result-card small{display:block;color:#587493;line-height:1.45}
.search-result-card em{display:inline-block;margin-top:12px;color:#126fc8;font-style:normal;font-weight:900}
.search-empty{padding:18px;border:1px dashed #bad7f0;border-radius:18px;background:#f7fbff;color:#587493;font-weight:700}
@media(max-width:720px){
  .site-search-large{flex-direction:column;align-items:stretch}
  .search-results{grid-template-columns:1fr}
}


/* BALYK04 V52 — короткие хабы-витрины */
.hub-page{max-width:1180px}.hub-page .lead{max-width:780px}.hub-hero-panel{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:14px;margin:18px 0 22px}.hub-hero-panel>div{background:linear-gradient(135deg,#eef9ff,#ffffff);border:1px solid rgba(20,111,164,.14);border-radius:22px;padding:18px;box-shadow:0 14px 38px rgba(9,57,91,.08)}.hub-hero-panel b{display:block;color:#0c456f;font-size:15px;margin-bottom:8px}.hub-hero-panel span{display:block;color:#47606f;line-height:1.45}.hub-page .text-block{background:transparent;border:0;box-shadow:none;padding:0;margin-top:10px}.hub-page .text-block h2{font-size:26px;margin:4px 0 16px}.hub-page .text-block p{display:none}.hub-page .section-card-grid{grid-template-columns:repeat(3,minmax(0,1fr));gap:18px}.hub-page .section-card{min-height:210px;padding:22px;border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(7,55,91,.11);border:1px solid rgba(17,117,177,.14);display:flex;flex-direction:column;gap:10px;transition:.18s ease}.hub-page .section-card:hover{transform:translateY(-3px);box-shadow:0 22px 60px rgba(7,55,91,.16)}.hub-page .section-card i{font-style:normal;width:54px;height:54px;border-radius:18px;background:#eef8ff;display:flex;align-items:center;justify-content:center;font-size:27px;margin-bottom:4px}.hub-page .section-card b{font-size:21px;color:#0a3858}.hub-page .section-card span{font-size:15px;line-height:1.45;color:#526a78;flex:1}.hub-page .section-card em{align-self:flex-start;margin-top:8px;background:#0e7bd8;color:#fff;border-radius:999px;padding:10px 14px;font-style:normal;font-weight:800}.hub-bottom{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px;margin:28px 0 8px}.hub-bottom>div{background:#f6fbff;border:1px solid rgba(20,111,164,.13);border-radius:24px;padding:18px}.hub-bottom h3{margin:0 0 12px;color:#0a3858}.hub-bottom span{display:block;background:#fff;border:1px solid rgba(20,111,164,.1);border-radius:14px;padding:10px 12px;margin:8px 0;color:#375463}.hub-bottom p{margin:0;color:#375463;line-height:1.55}.topbar .tools{gap:6px}.topbar .search{min-width:210px;flex:0 1 260px}
@media(max-width:980px){.hub-hero-panel,.hub-page .section-card-grid,.hub-bottom{grid-template-columns:1fr 1fr}.hub-page .section-card{min-height:190px}.topbar .search{order:4;width:100%;flex-basis:100%}}
@media(max-width:620px){.hub-hero-panel,.hub-page .section-card-grid,.hub-bottom{grid-template-columns:1fr}.hub-page .section-card{min-height:auto}.hub-page .text-block h2{font-size:23px}.hub-hero-panel{gap:10px}.hub-hero-panel>div{padding:15px}.topbar .search input{min-width:0}}

/* BALYK04 V55: mobile header search width fix */
html,body{max-width:100%;overflow-x:hidden}
.topbar{box-sizing:border-box;max-width:100vw}
.topbar *{box-sizing:border-box}
@media(max-width:760px){
  .topbar{width:100%;overflow:hidden;gap:8px;padding-left:12px;padding-right:12px}
  .topbar .tools{width:100%;max-width:100%;display:flex;flex-wrap:wrap;align-items:center;gap:6px;min-width:0;overflow:hidden}
  .topbar .pill{flex:0 0 auto;padding:7px 9px;font-size:13px;max-width:max-content}
  .topbar .search{order:20;display:flex!important;flex:1 1 100%;width:100%;min-width:0!important;max-width:100%!important;margin-top:4px;gap:6px;overflow:hidden}
  .topbar .search input{flex:1 1 auto;width:1%!important;min-width:0!important;max-width:100%;height:38px;padding:9px 11px;font-size:14px;border-radius:14px}
  .topbar .search button{flex:0 0 38px;width:38px;min-width:38px;height:38px;border-radius:13px;padding:0;font-size:16px;line-height:38px}
  .nav{max-width:100%;overflow-x:auto;overflow-y:hidden;-webkit-overflow-scrolling:touch}
}
@media(max-width:420px){
  .topbar{padding-left:10px;padding-right:10px}
  .topbar .search button{flex-basis:36px;width:36px;min-width:36px;height:36px;line-height:36px}
  .topbar .search input{height:36px;padding:8px 10px;font-size:13px}
}




/* BALYK04 V59: точная адаптивная шапка без переноса и наложений
   Логотип всегда слева, инструменты всегда справа, пункты меню уходят в «Ещё» по одному. */
html,body{max-width:100%;overflow-x:hidden}
.topbar{
  width:100%;max-width:100vw;height:82px;min-height:82px;
  display:flex;align-items:center;flex-wrap:nowrap!important;
  gap:12px;padding-left:24px;padding-right:24px;overflow:visible;
}
.brand{
  flex:0 0 clamp(190px,17vw,250px)!important;min-width:0!important;max-width:250px;
  overflow:hidden;position:relative;z-index:5;
}
.brand-logo{flex:0 0 auto}.brand>span{min-width:0;overflow:hidden}.brand b,.brand small{white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.brand b{font-size:clamp(25px,2vw,30px)}.brand small{font-size:clamp(10px,.8vw,12px)}
.nav{
  flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none!important;
  display:flex!important;align-items:center;justify-content:flex-start;flex-wrap:nowrap!important;
  gap:6px;overflow:visible!important;white-space:nowrap;order:initial!important;padding:0!important;position:relative;z-index:4;
}
.nav-link{white-space:nowrap;flex:0 0 auto;font-size:clamp(11px,.82vw,14px);padding:9px clamp(7px,.7vw,13px)!important;line-height:1}
a.nav-link{display:flex!important;align-items:center}.nav-group{flex:0 0 auto;position:relative}.nav-group>.nav-link{display:flex!important;align-items:center}
.nav-overflow-hidden{display:none!important}
.nav-more{display:none!important;flex:0 0 auto;position:relative}.nav-more.is-visible{display:block!important}.nav-more .dropdown{right:0;left:auto;min-width:220px}.dropdown-more a{white-space:nowrap}.dropdown-more a.more-hidden{display:none!important}
.tools{
  margin-left:auto!important;flex:0 0 auto!important;min-width:0!important;max-width:52vw;
  display:flex!important;align-items:center;justify-content:flex-end;flex-wrap:nowrap!important;gap:6px;position:relative;z-index:5;
}
.topbar .pill{flex:0 0 auto;white-space:nowrap;padding-left:9px;padding-right:9px}.topbar .search{flex:0 1 clamp(130px,15vw,230px)!important;min-width:110px!important;max-width:230px!important;display:flex!important;gap:6px;overflow:hidden}.topbar .search input{width:100%!important;min-width:0!important}.topbar .search button{flex:0 0 38px!important;width:38px!important;min-width:38px!important}
@media(max-width:1180px){.topbar{gap:8px;padding-left:16px;padding-right:16px}.brand{flex-basis:clamp(170px,18vw,220px)!important}.topbar .pill{padding-left:7px;padding-right:7px}.topbar .search{min-width:100px!important}}
@media(max-width:980px){.topbar{gap:6px;padding-left:12px;padding-right:12px}.brand-logo{width:50px;height:50px}.topbar .search{flex-basis:120px!important;min-width:90px!important}.topbar .search button{flex-basis:36px!important;width:36px!important;min-width:36px!important}.topbar .pill{font-size:13px;padding-left:7px;padding-right:7px}}
@media(max-width:760px){
  .topbar{height:auto;min-height:72px;flex-wrap:wrap!important;padding:10px 12px;gap:8px;align-items:center}
  .brand{flex:1 1 auto!important;max-width:calc(100% - 84px)!important}.brand b{font-size:24px}.brand small{font-size:10px}.brand-logo{width:48px;height:48px}
  .menu-toggle{display:block!important;order:2;margin-left:auto}
  .tools{order:3;width:100%;max-width:100%;margin-left:0!important;flex-wrap:nowrap!important;overflow:hidden;gap:5px}.tools .pill{font-size:12px;padding:7px 8px}.topbar .search{flex:1 1 auto!important;min-width:0!important;max-width:none!important}.topbar .search input{height:36px;padding:8px 10px;font-size:13px}.topbar .search button{height:36px;line-height:36px;flex-basis:36px!important;width:36px!important;min-width:36px!important}
  .nav{display:none!important;order:4;width:100%!important;flex:1 1 100%!important;flex-direction:column;align-items:stretch;gap:6px;background:rgba(239,248,255,.96);border-radius:16px;padding:8px!important}.nav.is-open{display:flex!important}.nav-overflow-hidden{display:block!important}.nav-more{display:none!important}.nav-item,.nav-group,.nav-link{width:100%!important}.nav-link{justify-content:space-between;text-transform:none;font-size:16px}.dropdown{position:static;box-shadow:none;margin-top:4px}.dropdown-more a.more-hidden{display:block!important}
}


/* BALYK04 V60: нормальная responsive-шапка с приоритетами и без прыжков
   Исправляет V59: меню не давит логотип/правую часть, пункты уходят в «Ещё» раньше и по одному. */
.topbar{
  display:grid!important;
  grid-template-columns:minmax(160px,230px) minmax(0,1fr) auto!important;
  align-items:center!important;
  column-gap:12px!important;
  height:82px!important;
  min-height:82px!important;
  padding:0 24px!important;
  overflow:visible!important;
  flex-wrap:nowrap!important;
}
.topbar .brand{
  grid-column:1!important;
  flex:none!important;
  width:100%!important;
  min-width:0!important;
  max-width:230px!important;
  overflow:hidden!important;
  z-index:6!important;
}
.topbar .brand-logo{width:56px;height:56px;flex:0 0 56px!important}
.topbar .brand>span{min-width:0!important;overflow:hidden!important}
.topbar .brand b,.topbar .brand small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.topbar .brand b{font-size:28px!important}
.topbar .brand small{font-size:11px!important}
.menu-toggle{display:none!important}
.topbar .nav{
  grid-column:2!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:6px!important;
  overflow:visible!important;
  padding:0!important;
  margin:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
}
.topbar .nav-link{
  flex:0 0 auto!important;
  width:auto!important;
  max-width:none!important;
  white-space:nowrap!important;
  font-size:13px!important;
  padding:9px 10px!important;
  line-height:1!important;
}
.topbar .nav-group{flex:0 0 auto!important;width:auto!important;position:relative!important}
.nav-overflow-hidden{display:none!important}
.nav-more{display:none!important;flex:0 0 auto!important;width:auto!important}
.nav-more.is-visible{display:block!important}
.nav-more .dropdown{right:0!important;left:auto!important;min-width:230px!important}
.dropdown-more a.more-hidden{display:none!important}
.topbar .tools{
  grid-column:3!important;
  flex:none!important;
  width:auto!important;
  min-width:0!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  margin:0!important;
  overflow:visible!important;
  z-index:6!important;
}
.topbar .pill{flex:0 0 auto!important;white-space:nowrap!important;padding:8px 10px!important;font-size:14px!important}
.topbar .search{
  flex:0 1 210px!important;
  width:210px!important;
  min-width:130px!important;
  max-width:210px!important;
  display:flex!important;
  align-items:center!important;
  gap:6px!important;
  margin:0!important;
  overflow:hidden!important;
}
.topbar .search input{flex:1 1 auto!important;width:1px!important;min-width:0!important;height:40px!important;padding:10px 12px!important}
.topbar .search button{flex:0 0 38px!important;width:38px!important;min-width:38px!important;height:38px!important;line-height:38px!important;padding:0!important}
@media(max-width:1320px){
  .topbar{grid-template-columns:minmax(150px,210px) minmax(0,1fr) auto!important;column-gap:8px!important;padding-left:18px!important;padding-right:18px!important}
  .topbar .brand{max-width:210px!important}.topbar .brand-logo{width:52px;height:52px;flex-basis:52px!important}.topbar .brand b{font-size:26px!important}.topbar .brand small{font-size:10px!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 8px!important}
  .topbar .pill{font-size:13px!important;padding:8px 9px!important}
  .topbar .search{width:180px!important;max-width:180px!important;min-width:110px!important}
}
@media(max-width:1120px){
  .topbar{grid-template-columns:minmax(130px,190px) minmax(0,1fr) auto!important;padding-left:14px!important;padding-right:14px!important}
  .topbar .brand{max-width:190px!important}.topbar .brand-logo{width:48px;height:48px;flex-basis:48px!important}.topbar .brand b{font-size:24px!important}.topbar .brand small{display:none!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 7px!important}
  .topbar .tools{gap:5px!important}.topbar .pill{font-size:13px!important;padding:7px 8px!important}
  .topbar .search{width:150px!important;max-width:150px!important;min-width:90px!important}.topbar .search input{height:38px!important}.topbar .search button{width:36px!important;min-width:36px!important;flex-basis:36px!important;height:36px!important;line-height:36px!important}
}
@media(max-width:920px){
  .topbar{grid-template-columns:minmax(118px,170px) minmax(0,1fr) auto!important;column-gap:6px!important}
  .topbar .brand{max-width:170px!important}.topbar .brand-logo{width:44px;height:44px;flex-basis:44px!important}.topbar .brand b{font-size:22px!important}
  .topbar .pill{font-size:12px!important;padding:7px 7px!important}
  .topbar .search{width:120px!important;max-width:120px!important;min-width:76px!important}
}
@media(max-width:760px){
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand menu" "tools tools" "nav nav"!important;
    height:auto!important;min-height:72px!important;padding:10px 12px!important;row-gap:8px!important;column-gap:8px!important;
  }
  .topbar .brand{grid-area:brand!important;max-width:none!important;width:auto!important}.topbar .brand small{display:block!important;font-size:10px!important}.topbar .brand b{font-size:24px!important}.topbar .brand-logo{width:48px;height:48px;flex-basis:48px!important}
  .menu-toggle{grid-area:menu!important;display:block!important;margin-left:0!important;white-space:nowrap!important}
  .topbar .tools{grid-area:tools!important;width:100%!important;max-width:100%!important;overflow:hidden!important;gap:5px!important;justify-content:flex-start!important}
  .topbar .tools .pill{font-size:12px!important;padding:7px 8px!important}
  .topbar .search{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important}.topbar .search input{height:36px!important;font-size:13px!important}.topbar .search button{height:36px!important;line-height:36px!important;width:36px!important;min-width:36px!important;flex-basis:36px!important}
  .topbar .nav{grid-area:nav!important;display:none!important;width:100%!important;max-width:100%!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:rgba(239,248,255,.96)!important;border:1px solid rgba(220,236,251,.95)!important;border-radius:16px!important;padding:8px!important;box-shadow:0 16px 34px rgba(30,96,160,.12)!important}
  .topbar .nav.is-open{display:flex!important}
  .topbar .nav-overflow-hidden{display:block!important}
  .topbar .nav-more{display:none!important}
  .topbar .nav-item,.topbar .nav-group,.topbar .nav-link{width:100%!important}
  .topbar .nav-link{justify-content:space-between!important;text-transform:none!important;font-size:16px!important;padding:12px!important}
  .topbar .dropdown{position:static!important;box-shadow:none!important;margin-top:4px!important}.topbar .dropdown-more a.more-hidden{display:block!important}
}


/* BALYK04 V61 — "стена" между логотипом, меню и правыми инструментами.
   Главное: центральное меню физически не может залезть на левую/правую зоны;
   JS ниже прячет пункты по одному в «Ещё», но даже до JS overflow не наслаивается. */
.topbar{
  display:grid!important;
  grid-template-columns:minmax(210px,260px) minmax(0,1fr) minmax(max-content,auto)!important;
  grid-template-areas:"brand nav tools"!important;
  align-items:center!important;
  height:82px!important;
  min-height:82px!important;
  padding:0 clamp(14px,2vw,34px)!important;
  column-gap:14px!important;
  overflow:hidden!important;
  max-width:100vw!important;
}
.topbar .brand{
  grid-area:brand!important;
  width:100%!important;
  max-width:260px!important;
  min-width:0!important;
  overflow:hidden!important;
  padding-right:12px!important;
  border-right:1px solid rgba(11,60,120,.08)!important;
  z-index:3!important;
}
.topbar .brand-logo{flex:0 0 56px!important;width:56px!important;height:56px!important}
.topbar .brand>span{min-width:0!important;overflow:hidden!important}
.topbar .brand b,.topbar .brand small{display:block!important;white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.topbar .nav{
  grid-area:nav!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  padding:0!important;
  margin:0!important;
  position:relative!important;
  z-index:2!important;
}
.topbar .nav-link{
  flex:0 0 auto!important;
  white-space:nowrap!important;
  width:auto!important;
  max-width:none!important;
  font-size:13px!important;
  padding:9px 10px!important;
}
.topbar .nav-group{flex:0 0 auto!important;width:auto!important;min-width:0!important;position:relative!important}
.topbar .nav-more{flex:0 0 auto!important;width:auto!important;min-width:auto!important}
.topbar .nav-more.is-visible{display:block!important}
.topbar .nav-overflow-hidden{display:none!important}
.topbar .tools{
  grid-area:tools!important;
  justify-self:end!important;
  min-width:0!important;
  max-width:none!important;
  display:flex!important;
  align-items:center!important;
  justify-content:flex-end!important;
  flex-wrap:nowrap!important;
  gap:6px!important;
  overflow:hidden!important;
  z-index:3!important;
}
.topbar .tools .pill{flex:0 0 auto!important;white-space:nowrap!important}
.topbar .search{flex:0 1 190px!important;width:190px!important;min-width:115px!important;max-width:190px!important;display:flex!important;overflow:hidden!important}
.topbar .search input{flex:1 1 auto!important;width:1px!important;min-width:0!important}
.topbar .search button{flex:0 0 38px!important;width:38px!important;min-width:38px!important}
@media(max-width:1320px){
  .topbar{grid-template-columns:minmax(190px,230px) minmax(0,1fr) minmax(max-content,auto)!important;column-gap:10px!important}
  .topbar .brand{max-width:230px!important}.topbar .brand-logo{width:52px!important;height:52px!important;flex-basis:52px!important}.topbar .brand b{font-size:26px!important}.topbar .brand small{font-size:10px!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 8px!important}
  .topbar .search{width:165px!important;max-width:165px!important;min-width:105px!important}
  .topbar .pill{font-size:13px!important;padding:7px 8px!important}
}
@media(max-width:1120px){
  .topbar{grid-template-columns:minmax(160px,195px) minmax(0,1fr) minmax(max-content,auto)!important;column-gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .topbar .brand{max-width:195px!important}.topbar .brand-logo{width:48px!important;height:48px!important;flex-basis:48px!important}.topbar .brand b{font-size:24px!important}.topbar .brand small{display:none!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 7px!important}
  .topbar .search{width:135px!important;max-width:135px!important;min-width:90px!important}.topbar .search button{width:36px!important;min-width:36px!important;flex-basis:36px!important}
}
@media(max-width:920px){
  .topbar{grid-template-columns:minmax(132px,172px) minmax(0,1fr) minmax(max-content,auto)!important;column-gap:6px!important}
  .topbar .brand{max-width:172px!important}.topbar .brand-logo{width:44px!important;height:44px!important;flex-basis:44px!important}.topbar .brand b{font-size:22px!important}
  .topbar .search{width:112px!important;max-width:112px!important;min-width:75px!important}
  .topbar .pill{font-size:12px!important;padding:7px 7px!important}
}
@media(max-width:760px){
  .topbar{
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand menu" "tools tools" "nav nav"!important;
    height:auto!important;min-height:72px!important;
    row-gap:8px!important;column-gap:8px!important;
    overflow:hidden!important;
  }
  .topbar .brand{border-right:0!important;padding-right:0!important;max-width:none!important}.topbar .brand small{display:block!important}
  .menu-toggle{grid-area:menu!important;display:block!important}
  .topbar .tools{grid-area:tools!important;width:100%!important;max-width:100%!important;justify-content:flex-start!important;overflow:hidden!important}
  .topbar .search{flex:1 1 auto!important;width:auto!important;max-width:none!important;min-width:0!important}
  .topbar .nav{grid-area:nav!important;display:none!important;overflow:visible!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:rgba(239,248,255,.96)!important;border:1px solid rgba(220,236,251,.95)!important;border-radius:16px!important;padding:8px!important;box-shadow:0 16px 34px rgba(30,96,160,.12)!important}
  .topbar .nav.is-open{display:flex!important}
  .topbar .nav-overflow-hidden{display:block!important}
  .topbar .nav-more{display:none!important}
}


/* V62: счетчик до окончания весеннего запрета на главной */
.ban-countdown-card{
  display:grid;
  grid-template-columns:minmax(0,1.15fr) auto auto;
  align-items:center;
  gap:18px;
  margin:0 0 22px;
  padding:20px 22px;
  border:1px solid rgba(20,111,164,.16);
  border-radius:24px;
  background:linear-gradient(135deg,rgba(255,255,255,.92),rgba(231,246,255,.9));
  box-shadow:0 18px 46px rgba(9,57,91,.12);
  backdrop-filter:blur(14px);
}
.ban-countdown-copy span{
  display:inline-flex;
  align-items:center;
  gap:8px;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf6ff;
  color:#0e6ec2;
  font-weight:900;
  font-size:12px;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.ban-countdown-copy span:before{content:'⏳'}
.ban-countdown-copy h2{margin:10px 0 6px;font-size:24px;color:#092f5e}
.ban-countdown-copy p{margin:0;color:#55718e;line-height:1.45;font-weight:600;max-width:640px}
.ban-countdown-timer{display:flex;align-items:stretch;gap:10px;white-space:nowrap}
.ban-countdown-timer div{
  min-width:78px;
  padding:12px 10px;
  border-radius:18px;
  background:#fff;
  border:1px solid rgba(20,111,164,.13);
  box-shadow:0 10px 28px rgba(9,57,91,.08);
  text-align:center;
}
.ban-countdown-timer b{display:block;font-size:28px;line-height:1;color:#0b315f}
.ban-countdown-timer small{display:block;margin-top:6px;color:#6682a1;font-weight:800;font-size:12px;text-transform:uppercase}
.ban-countdown-link{
  justify-self:end;
  padding:12px 16px;
  border-radius:999px;
  background:#117ce7;
  color:#fff;
  font-weight:900;
  white-space:nowrap;
}
.ban-countdown-card.is-finished .ban-countdown-copy span{background:#eefbf3;color:#147b3f}
.ban-countdown-card.is-finished .ban-countdown-copy span:before{content:'✅'}
@media(max-width:980px){
  .ban-countdown-card{grid-template-columns:1fr;gap:14px;padding:18px}
  .ban-countdown-timer{width:100%;display:grid;grid-template-columns:repeat(3,1fr)}
  .ban-countdown-timer div{min-width:0}
  .ban-countdown-link{justify-self:stretch;text-align:center}
}
@media(max-width:520px){
  .ban-countdown-copy h2{font-size:21px}
  .ban-countdown-timer b{font-size:24px}
  .ban-countdown-timer small{font-size:10px}
}

/* BALYK04 V63 — правильная прогрессивная шапка без кнопки «Меню».
   Правило: левая зона = стена, правая зона = стена, центральные пункты уходят в «Ещё» справа налево.
   На любой ширине шапка остаётся одной строкой: минимум «Главная» + «Ещё». */
.topbar{
  display:grid!important;
  grid-template-columns:auto minmax(0,1fr) auto!important;
  grid-template-areas:"brand nav tools"!important;
  align-items:center!important;
  height:82px!important;
  min-height:82px!important;
  padding:0 clamp(12px,1.8vw,30px)!important;
  gap:10px!important;
  overflow:hidden!important;
  max-width:100vw!important;
}
.topbar .brand{
  grid-area:brand!important;
  flex:0 0 auto!important;
  width:clamp(178px,15.5vw,250px)!important;
  min-width:178px!important;
  max-width:250px!important;
  overflow:hidden!important;
  z-index:5!important;
  background:rgba(239,248,255,.98)!important;
  padding-right:10px!important;
  border-right:1px solid rgba(11,60,120,.08)!important;
}
.topbar .brand-logo{width:54px!important;height:54px!important;flex:0 0 54px!important}
.topbar .brand>span{min-width:0!important;overflow:hidden!important}.topbar .brand b,.topbar .brand small{white-space:nowrap!important;overflow:hidden!important;text-overflow:ellipsis!important}
.topbar .nav{
  grid-area:nav!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  min-width:0!important;
  width:100%!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  z-index:2!important;
}
.topbar .nav-link{flex:0 0 auto!important;white-space:nowrap!important;width:auto!important;font-size:13px!important;padding:9px 10px!important;line-height:1!important}
.topbar .nav-group{flex:0 0 auto!important;width:auto!important;min-width:0!important;position:relative!important}
.topbar .nav-more{display:none!important;flex:0 0 auto!important;width:auto!important;min-width:auto!important;order:999!important}
.topbar .nav-more.is-visible{display:block!important}
.topbar .nav-overflow-hidden{display:none!important}
.topbar .dropdown-more a.more-hidden{display:none!important}
.topbar .tools{
  grid-area:tools!important;
  justify-self:end!important;
  display:flex!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  gap:6px!important;
  min-width:0!important;
  overflow:hidden!important;
  z-index:6!important;
  background:rgba(239,248,255,.98)!important;
  padding-left:10px!important;
  border-left:1px solid rgba(11,60,120,.08)!important;
}
.topbar .tools .pill{flex:0 0 auto!important;white-space:nowrap!important;padding:8px 9px!important}
.topbar .search{display:flex!important;flex:0 1 170px!important;width:170px!important;min-width:88px!important;max-width:170px!important;overflow:hidden!important}
.topbar .search input{flex:1 1 auto!important;width:1px!important;min-width:0!important;padding-left:12px!important;padding-right:8px!important}
.topbar .search button{flex:0 0 38px!important;width:38px!important;min-width:38px!important;padding-left:0!important;padding-right:0!important}
.menu-toggle{display:none!important}
@media(max-width:1240px){
  .topbar{gap:8px!important;padding-left:12px!important;padding-right:12px!important}
  .topbar .brand{width:210px!important;min-width:210px!important}.topbar .brand b{font-size:26px!important}.topbar .brand small{font-size:10px!important}.topbar .brand-logo{width:50px!important;height:50px!important;flex-basis:50px!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 8px!important}
  .topbar .search{width:145px!important;max-width:145px!important;min-width:78px!important}
  .topbar .tools .pill{font-size:12px!important;padding:7px 8px!important}
}
@media(max-width:980px){
  .topbar .brand{width:178px!important;min-width:178px!important}.topbar .brand-logo{width:44px!important;height:44px!important;flex-basis:44px!important}.topbar .brand b{font-size:22px!important}.topbar .brand small{display:none!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 7px!important}
  .topbar .search{width:112px!important;max-width:112px!important;min-width:64px!important}
  .topbar .tools{gap:5px!important;padding-left:7px!important}.topbar .tools .pill{font-size:12px!important;padding:7px 7px!important}
}
@media(max-width:760px){
  .topbar{
    grid-template-columns:auto minmax(0,1fr) auto!important;
    grid-template-areas:"brand nav tools"!important;
    height:74px!important;min-height:74px!important;
    padding:0 8px!important;gap:5px!important;
  }
  .topbar .brand{width:116px!important;min-width:116px!important;max-width:116px!important;padding-right:5px!important}.topbar .brand-logo{width:36px!important;height:36px!important;flex-basis:36px!important}.topbar .brand b{font-size:18px!important}.topbar .brand small{display:none!important}
  .topbar .nav{display:flex!important;flex-direction:row!important;align-items:center!important;background:transparent!important;border:0!important;box-shadow:none!important;padding:0!important;gap:4px!important;overflow:hidden!important}
  .topbar .nav.is-open{display:flex!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 7px!important;text-transform:uppercase!important;width:auto!important;justify-content:center!important}
  .topbar .nav-overflow-hidden{display:none!important}
  .topbar .nav-more{display:none!important}.topbar .nav-more.is-visible{display:block!important}
  .topbar .tools{padding-left:5px!important;gap:4px!important}
  .topbar .tools .pill{display:none!important}.topbar .tools .pill.active{display:inline-flex!important;font-size:11px!important;padding:6px 6px!important}
  .topbar .search{width:44px!important;max-width:44px!important;min-width:44px!important;flex:0 0 44px!important}.topbar .search input{display:none!important}.topbar .search button{width:40px!important;min-width:40px!important;flex-basis:40px!important}
}
@media(max-width:520px){
  .topbar .brand{width:92px!important;min-width:92px!important;max-width:92px!important}.topbar .brand b{font-size:16px!important}.topbar .brand-logo{width:32px!important;height:32px!important;flex-basis:32px!important}
  .topbar .nav-link{font-size:11px!important;padding:7px 6px!important}
  .topbar .tools .pill.active{display:none!important}
}


/* BALYK04 V65 — окончательная защита шапки: слева бренд, в центре меню, справа инструменты. Никаких переносов и наложений. */
.topbar{
  display:grid!important;
  grid-template-columns:clamp(96px,18vw,250px) minmax(0,1fr) auto!important;
  grid-template-areas:"brand nav tools"!important;
  align-items:center!important;
  column-gap:10px!important;
  row-gap:0!important;
  flex-wrap:nowrap!important;
  overflow:visible!important;
  min-width:0!important;
}
.topbar .brand{
  grid-area:brand!important;
  width:100%!important;
  min-width:0!important;
  max-width:none!important;
  flex:0 0 auto!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  border-right:1px solid rgba(9,42,87,.12)!important;
  padding-right:8px!important;
  margin-right:0!important;
  z-index:10!important;
}
.topbar .brand span,.topbar .brand b,.topbar .brand small{min-width:0!important;overflow:hidden!important;text-overflow:ellipsis!important;white-space:nowrap!important}
.topbar .nav{
  grid-area:nav!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-start!important;
  gap:7px!important;
  width:100%!important;
  min-width:0!important;
  max-width:100%!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  margin:0!important;
  padding:0!important;
  background:transparent!important;
  border:0!important;
  box-shadow:none!important;
  z-index:4!important;
}
.topbar .tools{
  grid-area:tools!important;
  justify-self:end!important;
  display:flex!important;
  flex-direction:row!important;
  flex-wrap:nowrap!important;
  align-items:center!important;
  justify-content:flex-end!important;
  width:auto!important;
  max-width:min(42vw,430px)!important;
  min-width:0!important;
  overflow:hidden!important;
  white-space:nowrap!important;
  border-left:1px solid rgba(9,42,87,.12)!important;
  padding-left:8px!important;
  background:rgba(239,248,255,.98)!important;
  z-index:10!important;
}
.topbar .nav-link,.topbar .nav-group,.topbar .nav-item{flex:0 0 auto!important;min-width:0!important;width:auto!important;white-space:nowrap!important}
.topbar .nav-overflow-hidden{display:none!important}
.topbar .nav-more{display:none!important;flex:0 0 auto!important;order:999!important;position:relative!important;width:auto!important;min-width:0!important}
.topbar .nav-more.is-visible{display:block!important}
.topbar .dropdown-more a.more-hidden{display:none!important}
.topbar .menu-toggle,.menu-toggle{display:none!important}
.topbar .search{flex:0 1 150px!important;width:150px!important;min-width:44px!important;max-width:150px!important;overflow:hidden!important}
.topbar .search input{min-width:0!important;width:1px!important;flex:1 1 auto!important}
.topbar .search button{flex:0 0 38px!important;width:38px!important;min-width:38px!important}
@media(max-width:1180px){
  .topbar{grid-template-columns:clamp(88px,17vw,200px) minmax(0,1fr) auto!important;column-gap:8px!important;padding-left:10px!important;padding-right:10px!important}
  .topbar .brand small{display:none!important}
  .topbar .brand-logo{width:44px!important;height:44px!important;flex-basis:44px!important}
  .topbar .brand b{font-size:22px!important}
  .topbar .nav-link{font-size:12px!important;padding:8px 8px!important}
  .topbar .tools{max-width:min(39vw,330px)!important;gap:5px!important}
  .topbar .search{width:112px!important;max-width:112px!important}
}
@media(max-width:760px){
  .topbar{grid-template-columns:86px minmax(0,1fr) auto!important;height:72px!important;min-height:72px!important;column-gap:5px!important;padding-left:6px!important;padding-right:6px!important}
  .topbar .brand{padding-right:5px!important}.topbar .brand-logo{width:32px!important;height:32px!important;flex-basis:32px!important}.topbar .brand b{font-size:15px!important}.topbar .brand small{display:none!important}
  .topbar .nav{gap:4px!important}.topbar .nav-link{font-size:11px!important;padding:7px 6px!important}
  .topbar .tools{max-width:54px!important;gap:3px!important;padding-left:4px!important}.topbar .tools .pill{display:none!important}.topbar .tools .pill.active{display:none!important}
  .topbar .search{width:42px!important;max-width:42px!important;min-width:42px!important;flex-basis:42px!important}.topbar .search input{display:none!important}.topbar .search button{width:38px!important;min-width:38px!important;flex-basis:38px!important}
}

/* BALYK04 V66 — разделение desktop/mobile меню + исправление мобильного счётчика запрета.
   Desktop: пункты уходят в «Ещё» по одному.
   Mobile: отдельный стабильный режим, без влияния desktop-алгоритма: видны «Главная» + «Ещё». */
@media (max-width:760px){
  html,body{max-width:100%;overflow-x:hidden!important;}
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto!important;
    grid-template-areas:"brand tools" "nav nav"!important;
    height:auto!important;min-height:0!important;
    padding:8px 10px!important;gap:7px!important;
    overflow:visible!important;
  }
  .topbar .brand{
    grid-area:brand!important;width:auto!important;min-width:0!important;max-width:100%!important;
    padding-right:0!important;border-right:0!important;background:transparent!important;
  }
  .topbar .brand-logo{width:38px!important;height:38px!important;flex-basis:38px!important;}
  .topbar .brand b{font-size:20px!important;line-height:1!important;}
  .topbar .brand small{display:none!important;}
  .topbar .tools{
    grid-area:tools!important;justify-self:end!important;width:auto!important;max-width:48vw!important;
    padding-left:0!important;border-left:0!important;background:transparent!important;overflow:visible!important;
    display:flex!important;align-items:center!important;gap:4px!important;flex-wrap:nowrap!important;
  }
  .topbar .tools .pill{display:none!important;}
  .topbar .tools .pill.active{display:inline-flex!important;font-size:11px!important;padding:6px 7px!important;}
  .topbar .search{display:flex!important;width:40px!important;min-width:40px!important;max-width:40px!important;flex:0 0 40px!important;overflow:visible!important;}
  .topbar .search input{display:none!important;}
  .topbar .search button{display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;min-width:38px!important;flex:0 0 38px!important;height:34px!important;padding:0!important;}
  .menu-toggle{display:none!important;}
  .topbar .nav{
    grid-area:nav!important;display:flex!important;flex-direction:row!important;align-items:center!important;
    justify-content:flex-start!important;width:100%!important;max-width:100%!important;min-width:0!important;
    gap:6px!important;margin:0!important;padding:0!important;background:transparent!important;border:0!important;box-shadow:none!important;
    overflow:visible!important;white-space:nowrap!important;
  }
  .topbar .nav .nav-link{font-size:13px!important;padding:8px 10px!important;border-radius:13px!important;text-transform:uppercase!important;width:auto!important;justify-content:center!important;}
  .topbar .nav > .nav-item:not(.nav-priority-1),
  .topbar .nav > .nav-group:not(.nav-more){display:none!important;}
  .topbar .nav > .nav-priority-1{display:flex!important;}
  .topbar .nav-more{display:block!important;visibility:visible!important;position:relative!important;}
  .topbar .nav-more.is-visible{display:block!important;}
  .topbar .nav-more .dropdown{left:0!important;right:auto!important;top:calc(100% + 8px)!important;min-width:230px!important;max-width:calc(100vw - 20px)!important;z-index:999!important;}
  .topbar .dropdown-more a.more-hidden{display:block!important;}

  .ban-countdown-card{
    display:block!important;margin:0 0 16px!important;padding:16px!important;border-radius:20px!important;overflow:visible!important;
  }
  .ban-countdown-copy h2{font-size:20px!important;line-height:1.2!important;}
  .ban-countdown-copy p{font-size:14px!important;line-height:1.45!important;}
  .ban-countdown-timer{
    display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;gap:8px!important;width:100%!important;margin-top:14px!important;white-space:normal!important;overflow:visible!important;
  }
  .ban-countdown-timer div{display:block!important;min-width:0!important;padding:10px 5px!important;overflow:visible!important;}
  .ban-countdown-timer b{
    display:block!important;visibility:visible!important;opacity:1!important;color:#0b315f!important;
    font-size:clamp(20px,7vw,30px)!important;line-height:1!important;min-height:1em!important;overflow:visible!important;
  }
  .ban-countdown-timer small{display:block!important;font-size:9px!important;line-height:1.1!important;}
  .ban-countdown-link{display:block!important;margin-top:12px!important;text-align:center!important;}
}

/* BALYK04 V67 — финальная мобильная шапка: одна строка + кнопка МЕНЮ справа.
   Desktop-логика progressive «Ещё» не применяется к mobile. */
@media (max-width: 760px){
  html, body{max-width:100%!important;overflow-x:hidden!important;}
  .topbar{
    display:grid!important;
    grid-template-columns:minmax(0,1fr) auto auto!important;
    grid-template-areas:"brand tools menu"!important;
    align-items:center!important;
    gap:8px!important;
    height:64px!important;
    min-height:64px!important;
    padding:8px 10px!important;
    overflow:visible!important;
    position:sticky!important;
    top:0!important;
    z-index:1000!important;
  }
  .topbar .brand{
    grid-area:brand!important;
    min-width:0!important;
    max-width:100%!important;
    overflow:hidden!important;
    white-space:nowrap!important;
    border-right:0!important;
    padding:0!important;
    background:transparent!important;
  }
  .topbar .brand-logo{width:38px!important;height:38px!important;flex:0 0 38px!important;}
  .topbar .brand b{font-size:20px!important;line-height:1!important;white-space:nowrap!important;}
  .topbar .brand small{display:none!important;}

  .topbar .tools{
    grid-area:tools!important;
    justify-self:end!important;
    display:flex!important;
    align-items:center!important;
    gap:4px!important;
    width:auto!important;
    max-width:none!important;
    min-width:0!important;
    padding:0!important;
    border-left:0!important;
    background:transparent!important;
    overflow:visible!important;
    flex-wrap:nowrap!important;
  }
  .topbar .tools .pill{display:none!important;}
  .topbar .tools .pill.active{display:inline-flex!important;font-size:11px!important;padding:6px 7px!important;}
  .topbar .search{display:flex!important;width:40px!important;min-width:40px!important;max-width:40px!important;flex:0 0 40px!important;overflow:visible!important;}
  .topbar .search input{display:none!important;}
  .topbar .search button{display:flex!important;align-items:center!important;justify-content:center!important;width:38px!important;min-width:38px!important;flex:0 0 38px!important;height:34px!important;padding:0!important;}

  .menu-toggle,
  .menu-toggle[hidden]{
    grid-area:menu!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    height:36px!important;
    padding:0 12px!important;
    border:1px solid rgba(12,69,121,.14)!important;
    border-radius:14px!important;
    background:#ffffff!important;
    color:#0b315f!important;
    font-weight:900!important;
    font-size:12px!important;
    letter-spacing:.02em!important;
    box-shadow:0 8px 20px rgba(0,37,74,.08)!important;
    white-space:nowrap!important;
    cursor:pointer!important;
  }

  .topbar .nav{
    position:absolute!important;
    top:calc(100% + 6px)!important;
    left:10px!important;
    right:10px!important;
    display:none!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    width:auto!important;
    max-width:none!important;
    padding:12px!important;
    border:1px solid rgba(12,69,121,.12)!important;
    border-radius:20px!important;
    background:#fff!important;
    box-shadow:0 20px 50px rgba(0,37,74,.18)!important;
    overflow:visible!important;
    white-space:normal!important;
    z-index:1001!important;
  }
  .topbar.mobile-menu-open .nav{display:flex!important;}
  .topbar .nav > .nav-item,
  .topbar .nav > .nav-group,
  .topbar .nav > .nav-link,
  .topbar .nav > .nav-overflow-hidden{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    position:relative!important;
    transform:none!important;
  }
  .topbar .nav > .nav-more{display:none!important;}
  .topbar .nav .nav-link{
    display:flex!important;
    width:100%!important;
    justify-content:space-between!important;
    align-items:center!important;
    padding:11px 12px!important;
    border-radius:14px!important;
    font-size:14px!important;
    text-transform:none!important;
    background:#f5f9fd!important;
  }
  .topbar .nav .dropdown{
    position:static!important;
    display:block!important;
    min-width:0!important;
    max-width:none!important;
    margin:6px 0 4px 10px!important;
    padding:8px!important;
    box-shadow:none!important;
    border-radius:14px!important;
    background:#ffffff!important;
    border:1px solid rgba(12,69,121,.08)!important;
  }
  .topbar .nav .dropdown a{display:block!important;padding:8px 10px!important;border-radius:10px!important;}

  .ban-countdown-card{
    display:block!important;
    margin:0 0 16px!important;
    padding:16px!important;
    border-radius:20px!important;
    overflow:visible!important;
  }
  .ban-countdown-timer{
    display:grid!important;
    grid-template-columns:repeat(3,minmax(0,1fr))!important;
    gap:8px!important;
    width:100%!important;
    margin-top:14px!important;
    white-space:normal!important;
    overflow:visible!important;
  }
  .ban-countdown-timer div{display:block!important;min-width:0!important;padding:10px 5px!important;overflow:visible!important;}
  .ban-countdown-timer b{
    display:block!important;
    visibility:visible!important;
    opacity:1!important;
    color:#0b315f!important;
    font-size:clamp(20px,7vw,30px)!important;
    line-height:1!important;
    min-height:1em!important;
    overflow:visible!important;
  }
  .ban-countdown-timer small{display:block!important;font-size:9px!important;line-height:1.1!important;}
  .ban-countdown-link{display:block!important;margin-top:12px!important;text-align:center!important;}
}

/* BALYK04 V69 — repair desktop dropdown interaction after mobile fixes.
   Desktop and mobile menu modes are isolated. */
@media (min-width: 761px){
  .topbar{overflow:visible!important;}
  .topbar .nav{overflow:visible!important;position:relative!important;z-index:1100!important;}
  .topbar .nav-group{position:relative!important;overflow:visible!important;}
  .topbar .nav-more{position:relative!important;overflow:visible!important;}
  .topbar .nav-more.is-visible{display:block!important;visibility:visible!important;opacity:1!important;}
  .topbar .nav .dropdown{
    position:absolute!important;
    top:calc(100% + 8px)!important;
    left:0!important;
    display:none!important;
    z-index:5000!important;
    pointer-events:auto!important;
  }
  .topbar .nav-more .dropdown{left:auto!important;right:0!important;min-width:230px!important;}
  .topbar .nav-group:hover > .dropdown,
  .topbar .nav-group.open > .dropdown,
  .topbar .nav-more:hover > .dropdown,
  .topbar .nav-more.open > .dropdown{display:block!important;}
  .topbar .dropdown-more a.more-hidden{display:none!important;}
  .topbar .nav-link{pointer-events:auto!important;}
  .topbar .nav-overflow-hidden{display:none!important;}
  .topbar .menu-toggle{display:none!important;}
}
@media (max-width:760px){
  .topbar .nav-group:hover > .dropdown{display:block!important;}
}


/* BALYK04 V71 — Order №78 countdown details */
.ban-countdown-extra{font-weight:900;color:#0b315f;background:#f3f8ff;border:1px solid #dbeaff;border-radius:14px;padding:10px 12px;white-space:nowrap;text-align:center}
@media(max-width:760px){.ban-countdown-extra{white-space:normal;font-size:13px;line-height:1.25;width:100%;box-sizing:border-box}.ban-countdown-card{overflow:visible!important}}


/* BALYK04 V78 — компактный блок запрета с реальными изображениями L2/R1 + счетчик просмотров */
.ban-countdown-card.ban-countdown-card-v78{
  display:block!important;
  position:relative!important;
  margin:0 0 22px!important;
  padding:14px 18px 16px!important;
  border:1px solid rgba(17,124,231,.28)!important;
  border-radius:22px!important;
  background:linear-gradient(135deg,rgba(255,255,255,.96),rgba(231,246,255,.92))!important;
  box-shadow:0 14px 34px rgba(9,57,91,.10)!important;
  overflow:hidden!important;
}
.ban-countdown-card-v78 .ban-countdown-title{
  margin:0 0 12px!important;
  text-align:center!important;
  color:#092f5e!important;
  font-size:clamp(20px,2.3vw,30px)!important;
  line-height:1.12!important;
  font-weight:900!important;
}
.ban-countdown-card-v78 .ban-countdown-inner{
  display:grid!important;
  grid-template-columns:132px minmax(210px,1fr) auto minmax(250px,1.05fr) 132px!important;
  align-items:center!important;
  gap:16px!important;
}
.ban-countdown-card-v78 .ban-side-img{
  width:132px!important;
  height:132px!important;
  max-width:132px!important;
  max-height:132px!important;
  min-width:132px!important;
  object-fit:cover!important;
  display:block!important;
  border-radius:18px!important;
  box-shadow:0 10px 22px rgba(9,57,91,.12)!important;
}
.ban-countdown-card-v78 .ban-countdown-copy{min-width:0!important;}
.ban-countdown-card-v78 .ban-countdown-copy span{
  display:inline-flex!important;
  align-items:center!important;
  gap:8px!important;
  padding:10px 14px!important;
  border-radius:18px!important;
  background:#eaf6ff!important;
  color:#0e6ec2!important;
  font-weight:900!important;
  font-size:13px!important;
  line-height:1.2!important;
  text-transform:uppercase!important;
  letter-spacing:.02em!important;
}
.ban-countdown-card-v78 .ban-countdown-copy span:before{content:'📘'!important;}
.ban-countdown-card-v78 .ban-countdown-copy h2,
.ban-countdown-card-v78 .ban-countdown-copy p{display:none!important;}
.ban-countdown-card-v78 .ban-countdown-timer{
  display:flex!important;
  align-items:stretch!important;
  justify-content:center!important;
  gap:10px!important;
  white-space:nowrap!important;
  margin:0!important;
}
.ban-countdown-card-v78 .ban-countdown-timer div{
  min-width:76px!important;
  padding:14px 10px 12px!important;
  border-radius:18px!important;
  background:#fff!important;
  border:1px solid rgba(20,111,164,.16)!important;
  box-shadow:0 10px 24px rgba(9,57,91,.08)!important;
  text-align:center!important;
}
.ban-countdown-card-v78 .ban-countdown-timer b{display:block!important;font-size:34px!important;line-height:1!important;color:#092f5e!important;font-weight:900!important;}
.ban-countdown-card-v78 .ban-countdown-timer small{display:block!important;margin-top:7px!important;color:#5d7897!important;font-weight:900!important;font-size:11px!important;text-transform:uppercase!important;}
.ban-countdown-card-v78 .ban-countdown-rules{
  display:flex!important;
  flex-direction:column!important;
  gap:10px!important;
  min-width:0!important;
}
.ban-countdown-card-v78 .ban-rule-row{
  display:flex!important;
  align-items:center!important;
  gap:10px!important;
  padding:9px 12px!important;
  border:1px solid rgba(20,111,164,.13)!important;
  border-radius:16px!important;
  background:rgba(255,255,255,.78)!important;
  color:#0b315f!important;
  font-weight:900!important;
  line-height:1.25!important;
}
.ban-countdown-card-v78 .ban-rule-row i{
  width:32px!important;
  height:32px!important;
  min-width:32px!important;
  display:inline-flex!important;
  align-items:center!important;
  justify-content:center!important;
  border-radius:50%!important;
  background:#eef7ff!important;
  font-style:normal!important;
  font-size:18px!important;
}
.ban-countdown-card-v78 .ban-countdown-extra{display:none!important;}
.ban-countdown-card-v78 .ban-countdown-link{
  display:flex!important;
  width:max-content!important;
  margin:14px auto 0!important;
  justify-content:center!important;
  align-items:center!important;
  padding:11px 24px!important;
  border-radius:999px!important;
  background:#117ce7!important;
  color:#fff!important;
  font-weight:900!important;
  text-align:center!important;
  white-space:nowrap!important;
}
.page-view-counter{
  display:inline-flex!important;
  align-items:center!important;
  gap:6px!important;
  padding:6px 10px!important;
  border-radius:999px!important;
  background:rgba(255,255,255,.12)!important;
  color:inherit!important;
  font-size:13px!important;
  font-weight:700!important;
}
@media(max-width:1180px){
  .ban-countdown-card-v78 .ban-countdown-inner{grid-template-columns:112px minmax(190px,1fr) auto minmax(220px,1fr) 112px!important;gap:12px!important;}
  .ban-countdown-card-v78 .ban-side-img{width:112px!important;height:112px!important;min-width:112px!important;max-width:112px!important;max-height:112px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer div{min-width:66px!important;padding:12px 8px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer b{font-size:29px!important;}
  .ban-countdown-card-v78 .ban-countdown-copy span{font-size:12px!important;padding:9px 12px!important;}
}
@media(max-width:900px){
  .ban-countdown-card.ban-countdown-card-v78{padding:16px!important;}
  .ban-countdown-card-v78 .ban-countdown-inner{
    grid-template-columns:92px 1fr 92px!important;
    grid-template-areas:
      "left label right"
      "timer timer timer"
      "rules rules rules"!important;
    gap:12px!important;
  }
  .ban-countdown-card-v78 .ban-side-img{width:92px!important;height:92px!important;min-width:92px!important;max-width:92px!important;max-height:92px!important;border-radius:16px!important;}
  .ban-countdown-card-v78 .ban-side-img-left{grid-area:left!important;}
  .ban-countdown-card-v78 .ban-side-img-right{grid-area:right!important;}
  .ban-countdown-card-v78 .ban-countdown-copy{grid-area:label!important;text-align:center!important;}
  .ban-countdown-card-v78 .ban-countdown-copy span{justify-content:center!important;text-align:center!important;font-size:11px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer{grid-area:timer!important;display:grid!important;grid-template-columns:repeat(3,minmax(0,1fr))!important;width:100%!important;}
  .ban-countdown-card-v78 .ban-countdown-timer div{min-width:0!important;}
  .ban-countdown-card-v78 .ban-countdown-rules{grid-area:rules!important;}
}
@media(max-width:560px){
  .ban-countdown-card-v78 .ban-countdown-title{font-size:20px!important;margin-bottom:10px!important;}
  .ban-countdown-card-v78 .ban-countdown-inner{
    grid-template-columns:1fr 1fr!important;
    grid-template-areas:
      "left right"
      "label label"
      "timer timer"
      "rules rules"!important;
  }
  .ban-countdown-card-v78 .ban-side-img{justify-self:center!important;width:86px!important;height:86px!important;min-width:86px!important;max-width:86px!important;max-height:86px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer b{font-size:26px!important;}
  .ban-countdown-card-v78 .ban-rule-row{font-size:13px!important;align-items:center!important;}
  .ban-countdown-card-v78 .ban-countdown-link{width:100%!important;}
}

/* BALYK04 V79 — аккуратное поведение выпадающих меню при уменьшении окна браузера.
   Desktop: подменю не вытягиваются длинной колонкой, не выходят за экран и не ломают шапку.
   Mobile остаётся отдельным режимом с кнопкой МЕНЮ. */
@media (min-width:761px){
  .topbar{overflow:visible!important;}
  .topbar .nav{overflow:visible!important;}
  .topbar .nav-group{position:relative!important;}
  .topbar .nav .dropdown{
    max-height:calc(100vh - 96px)!important;
    overflow:auto!important;
    overscroll-behavior:contain!important;
    z-index:9999!important;
  }
  .topbar .nav-group:not(.nav-more) > .dropdown{
    min-width:260px!important;
    max-width:min(520px,calc(100vw - 24px))!important;
  }
  .topbar .nav-more > .dropdown{
    min-width:230px!important;
    max-width:min(360px,calc(100vw - 24px))!important;
  }
}
@media (min-width:761px) and (max-width:1120px){
  .topbar .nav-group:not(.nav-more) > .dropdown{
    width:min(430px,calc(100vw - 32px))!important;
    display:none!important;
    grid-template-columns:repeat(2,minmax(0,1fr))!important;
    gap:6px!important;
    padding:10px!important;
  }
  .topbar .nav-group:not(.nav-more):hover > .dropdown,
  .topbar .nav-group:not(.nav-more).open > .dropdown,
  .topbar .nav-group:not(.nav-more):focus-within > .dropdown{
    display:grid!important;
  }
  .topbar .nav-group:not(.nav-more) > .dropdown a{
    white-space:normal!important;
    line-height:1.18!important;
    padding:10px 11px!important;
    border-radius:12px!important;
  }
  .topbar .nav-more > .dropdown{
    display:none!important;
  }
  .topbar .nav-more:hover > .dropdown,
  .topbar .nav-more.open > .dropdown,
  .topbar .nav-more:focus-within > .dropdown{
    display:block!important;
  }
}
@media (min-width:761px) and (max-width:930px){
  .topbar .nav-group:not(.nav-more) > .dropdown{
    width:min(330px,calc(100vw - 24px))!important;
    grid-template-columns:1fr!important;
  }
}

/* BALYK04 V80 — финальная правка блока запрета: ровные картинки без внешних белых подложек, компактные шрифты */
.ban-countdown-card.ban-countdown-card-v78{
  padding:14px 18px 16px!important;
  overflow:hidden!important;
}
.ban-countdown-card-v78 .ban-countdown-title{
  text-align:center!important;
  margin:0 0 12px!important;
  font-size:clamp(19px,2vw,26px)!important;
  line-height:1.15!important;
  letter-spacing:.01em!important;
}
.ban-countdown-card-v78 .ban-countdown-inner{
  grid-template-columns:118px minmax(170px,.85fr) 254px minmax(220px,.9fr) 118px!important;
  gap:12px!important;
  align-items:center!important;
  justify-content:center!important;
}
.ban-countdown-card-v78 .ban-side-img{
  width:112px!important;
  height:112px!important;
  min-width:112px!important;
  max-width:112px!important;
  max-height:112px!important;
  object-fit:cover!important;
  justify-self:center!important;
  border:0!important;
  outline:0!important;
  background:transparent!important;
  box-shadow:none!important;
  padding:0!important;
  border-radius:16px!important;
}
.ban-countdown-card-v78 .ban-countdown-copy span{
  font-size:12px!important;
  line-height:1.15!important;
  padding:9px 12px!important;
  border-radius:15px!important;
  letter-spacing:.01em!important;
}
.ban-countdown-card-v78 .ban-countdown-timer{
  gap:8px!important;
}
.ban-countdown-card-v78 .ban-countdown-timer div{
  min-width:72px!important;
  padding:12px 8px 10px!important;
  border-radius:15px!important;
}
.ban-countdown-card-v78 .ban-countdown-timer b{
  font-size:30px!important;
}
.ban-countdown-card-v78 .ban-countdown-timer small{
  font-size:10px!important;
  margin-top:6px!important;
}
.ban-countdown-card-v78 .ban-countdown-rules{
  gap:8px!important;
}
.ban-countdown-card-v78 .ban-rule-row{
  flex-direction:row!important;
  align-items:center!important;
  gap:9px!important;
  padding:8px 10px!important;
  border-radius:14px!important;
  font-size:13px!important;
  line-height:1.2!important;
}
.ban-countdown-card-v78 .ban-rule-row i{
  width:28px!important;
  height:28px!important;
  min-width:28px!important;
  font-size:16px!important;
}
.ban-countdown-card-v78 .ban-countdown-link{
  margin:12px auto 0!important;
  padding:10px 22px!important;
  font-size:14px!important;
}
@media(max-width:1180px){
  .ban-countdown-card-v78 .ban-countdown-inner{
    grid-template-columns:100px minmax(150px,.8fr) 226px minmax(190px,.85fr) 100px!important;
    gap:10px!important;
  }
  .ban-countdown-card-v78 .ban-side-img{width:96px!important;height:96px!important;min-width:96px!important;max-width:96px!important;max-height:96px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer div{min-width:64px!important;padding:11px 7px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer b{font-size:27px!important;}
  .ban-countdown-card-v78 .ban-rule-row{font-size:12px!important;padding:7px 9px!important;}
}
@media(max-width:900px){
  .ban-countdown-card-v78 .ban-countdown-inner{
    grid-template-columns:82px 1fr 82px!important;
    grid-template-areas:
      "left label right"
      "timer timer timer"
      "rules rules rules"!important;
    gap:10px!important;
  }
  .ban-countdown-card-v78 .ban-side-img{width:78px!important;height:78px!important;min-width:78px!important;max-width:78px!important;max-height:78px!important;}
  .ban-countdown-card-v78 .ban-countdown-timer{grid-template-columns:repeat(3,minmax(0,1fr))!important;}
}
@media(max-width:560px){
  .ban-countdown-card-v78 .ban-countdown-title{font-size:19px!important;}
  .ban-countdown-card-v78 .ban-side-img{width:72px!important;height:72px!important;min-width:72px!important;max-width:72px!important;max-height:72px!important;}
  .ban-countdown-card-v78 .ban-countdown-copy span{font-size:10.5px!important;}
}

/* BALYK04 V87 — разделение desktop/mobile по типу устройства.
   На компьютере кнопка «МЕНЮ» не появляется даже при узком окне: работает только «Ещё».
   На телефоне/планшете кнопка «МЕНЮ» видна сразу и заменяет обычное меню. */
@media (hover:hover) and (pointer:fine){
  .topbar .menu-toggle,
  .topbar .menu-toggle[hidden],
  .menu-toggle,
  .menu-toggle[hidden]{
    display:none!important;
    visibility:hidden!important;
    opacity:0!important;
    pointer-events:none!important;
  }
  .topbar .nav{
    display:flex!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .topbar.mobile-menu-open .nav{display:flex!important;}
}
@media (hover:none), (pointer:coarse){
  .topbar{
    grid-template-columns:auto 1fr auto!important;
  }
  .topbar .menu-toggle,
  .topbar .menu-toggle[hidden],
  .menu-toggle,
  .menu-toggle[hidden]{
    display:inline-flex!important;
    visibility:visible!important;
    opacity:1!important;
    pointer-events:auto!important;
    align-items:center!important;
    justify-content:center!important;
    min-width:78px!important;
    height:44px!important;
    padding:0 18px!important;
    border:1px solid rgba(33,113,202,.16)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.88)!important;
    color:#0b2f63!important;
    font-weight:900!important;
    box-shadow:0 10px 26px rgba(6,48,103,.08)!important;
  }
  .topbar:not(.mobile-menu-open) .nav{
    display:none!important;
  }
  .topbar.mobile-menu-open .nav{
    display:flex!important;
    position:absolute!important;
    left:10px!important;
    right:10px!important;
    top:calc(100% + 8px)!important;
    z-index:9999!important;
    flex-direction:column!important;
    align-items:stretch!important;
    gap:6px!important;
    padding:12px!important;
    border:1px solid rgba(33,113,202,.14)!important;
    border-radius:18px!important;
    background:rgba(255,255,255,.97)!important;
    box-shadow:0 22px 50px rgba(6,48,103,.18)!important;
    max-height:calc(100vh - 96px)!important;
    overflow:auto!important;
  }
  .topbar.mobile-menu-open .nav > .nav-item,
  .topbar.mobile-menu-open .nav > .nav-group,
  .topbar.mobile-menu-open .nav > .nav-link{
    display:block!important;
    width:100%!important;
    visibility:visible!important;
    opacity:1!important;
  }
  .topbar.mobile-menu-open .nav > .nav-more{display:none!important;}
  .topbar.mobile-menu-open .nav .dropdown{
    position:static!important;
    display:block!important;
    min-width:0!important;
    width:100%!important;
    max-width:none!important;
    margin-top:6px!important;
    box-shadow:none!important;
    border-radius:14px!important;
    background:#f4f9ff!important;
  }
}

/* V91 KZ TYPOGRAPHY FIX: unified font stack for Russian/Kazakh Cyrillic */
:root{
    --font-main: "Segoe UI", "Segoe UI Symbol", "Noto Sans", "DejaVu Sans", Arial, Helvetica, sans-serif;
}
html, body,
button, input, textarea, select,
a, p, span, small, strong, b, em,
h1, h2, h3, h4, h5, h6,
.nav, .nav a, .nav-link, .dropdown a,
.brand, .brand b, .brand small,
.feature-card, .panel, .content-page,
.ban-countdown, .ban-card, .ban-timer,
.footer {
    font-family: var(--font-main) !important;
}
body{
    font-synthesis: none;
    text-rendering: geometricPrecision;
    -webkit-font-smoothing: antialiased;
    -moz-osx-font-smoothing: grayscale;
}
html[lang="kz"], html[lang="kk"], body.lang-kz, [data-lang="kz"]{
    font-family: var(--font-main) !important;
}
html[lang="kz"] *, html[lang="kk"] *, body.lang-kz *, [data-lang="kz"] *{
    font-family: var(--font-main) !important;
}
/* Keep Kazakh letters visually stable in menu/cards */
.nav a, .nav-link, .dropdown a, .feature-card b, .feature-card small, .panel h2, .content-page h1, .content-page h2{
    letter-spacing: normal;
    line-height: 1.25;
}


/* BALYK04 V97 — isolated header/search fix.
   Search is not allowed inside header. Desktop menu and mobile menu are separate. */
.topbar{display:flex!important;align-items:center!important;flex-wrap:nowrap!important;gap:14px!important;overflow:visible!important;min-height:76px!important;height:auto!important;position:sticky;top:0;z-index:1000}
.topbar .brand{flex:0 0 auto!important;min-width:0!important;white-space:nowrap!important;z-index:2}
.topbar .tools{flex:0 0 auto!important;margin-left:auto!important;display:flex!important;align-items:center!important;gap:8px!important;white-space:nowrap!important;z-index:2}
.topbar .tools .search,.topbar form.search{display:none!important}
.topbar .nav{flex:1 1 auto!important;min-width:0!important;display:flex;align-items:center;justify-content:flex-start!important;gap:16px!important;overflow:visible!important;white-space:nowrap!important;z-index:1}
.topbar .nav-link,.topbar .nav a{white-space:nowrap!important;flex:0 0 auto!important}
.topbar .nav-overflow-hidden{display:none!important}
.topbar .nav-more{display:none!important;position:relative!important;flex:0 0 auto!important}
.topbar .nav-more.is-visible{display:block!important}
.topbar .dropdown-more a.more-hidden{display:none!important}
.topbar .nav-group{position:relative!important;overflow:visible!important}
.topbar .nav-group>.dropdown{display:none;position:absolute;top:calc(100% + 10px);left:0;min-width:220px;max-width:min(320px,calc(100vw - 20px));max-height:calc(100vh - 95px);overflow:auto;background:#fff;border:1px solid #dcecfb;border-radius:16px;box-shadow:0 20px 46px rgba(8,43,86,.18);padding:8px;z-index:3000!important}
.topbar .nav-group:hover>.dropdown,.topbar .nav-group.open>.dropdown,.topbar .nav-group:focus-within>.dropdown{display:block!important}
.topbar .nav-group>.dropdown a{display:block!important;padding:10px 12px!important;border-radius:10px!important;color:#0b315f!important;text-transform:none!important;font-size:14px!important;font-weight:800!important}
.topbar .nav-group>.dropdown a:hover{background:#eaf6ff!important;color:#126fc8!important}
.topbar .nav-more>.dropdown{left:auto!important;right:0!important}
.menu-toggle{display:none!important;border:0;border-radius:14px;background:#117ce7;color:#fff;font-weight:900;padding:10px 13px;align-items:center;justify-content:center;cursor:pointer;white-space:nowrap}
.home-search-row{width:100%;margin:0 0 16px 0}
.home-site-search{width:100%;display:flex;gap:10px;align-items:center;background:rgba(255,255,255,.88);border:1px solid #dcecfb;border-radius:18px;padding:10px;box-shadow:0 12px 30px rgba(30,96,160,.10);backdrop-filter:blur(10px)}
.home-site-search input{flex:1;min-width:0;border:0;background:#fff;border-radius:13px;padding:14px 16px;font-size:16px;outline:none;color:var(--text);box-shadow:inset 0 0 0 1px rgba(220,236,251,.95)}
.home-site-search button{border:0;border-radius:13px;background:#117ce7;color:#fff;font-weight:900;padding:14px 24px;cursor:pointer}
.home-site-search button:hover{background:#0b6fd0}
@media (max-width:1050px){.topbar .brand small{display:none!important}.topbar .nav{gap:10px!important}.topbar .nav a,.topbar .nav-link{font-size:13px!important}.topbar .pill{padding:7px 9px!important}}
@media (max-width:760px){
  .topbar{min-height:62px!important;padding:8px 10px!important;gap:8px!important;display:flex!important;align-items:center!important;flex-wrap:nowrap!important}
  .topbar .brand{max-width:calc(100vw - 190px)!important;overflow:hidden!important}
  .topbar .brand-logo{width:42px!important;height:42px!important;flex:0 0 42px!important}
  .topbar .brand b{font-size:22px!important}.topbar .brand small{display:none!important}
  .topbar .tools{margin-left:auto!important;gap:5px!important;flex:0 0 auto!important}
  .topbar .tools .pill{font-size:12px!important;padding:7px 8px!important;border-radius:11px!important}
  .topbar .menu-toggle{display:inline-flex!important;flex:0 0 auto!important;margin-left:4px!important;z-index:3!important}
  .topbar .nav{position:absolute!important;left:10px!important;right:10px!important;top:calc(100% + 8px)!important;width:auto!important;max-width:none!important;display:none;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:#fff!important;border:1px solid #dcecfb!important;border-radius:18px!important;box-shadow:0 22px 48px rgba(8,43,86,.20)!important;padding:12px!important;z-index:4000!important;max-height:calc(100vh - 88px)!important;overflow:auto!important;white-space:normal!important}
  .topbar.mobile-menu-open .nav{display:flex!important}
  .topbar .nav>.nav-link,.topbar .nav>.nav-item,.topbar .nav>.nav-group:not(.nav-more){display:block!important;width:100%!important;visibility:visible!important;opacity:1!important}
  .topbar .nav>.nav-link,.topbar .nav .nav-link{font-size:15px!important;text-align:left!important;padding:12px!important;border-radius:12px!important;background:#f4f9ff!important;width:100%!important;color:#0b315f!important}
  .topbar .nav .dropdown{position:static!important;display:none!important;box-shadow:none!important;border:0!important;background:#f7fbff!important;margin:5px 0 2px 0!important;max-width:none!important;max-height:none!important;padding:6px!important}
  .topbar .nav-group.open>.dropdown{display:block!important}
  .topbar .nav-more{display:none!important}
  .home-site-search{padding:8px;gap:8px}.home-site-search input{font-size:14px;padding:12px}.home-site-search button{padding:12px 14px}
}

/* BALYK04 V98 — final desktop menu guard.
   Desktop: only horizontal menu + Ещё/Тағы. No МЕНЮ button.
   Mobile: separate МЕНЮ button below 760px. Search is not in header. */
@media (min-width:761px){
  body .topbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;overflow:visible!important;gap:14px!important;min-width:0!important}
  body .topbar .brand{flex:0 0 auto!important;min-width:0!important;white-space:nowrap!important;overflow:hidden!important;max-width:270px!important}
  body .topbar .tools{flex:0 0 auto!important;margin-left:auto!important;white-space:nowrap!important;display:flex!important;align-items:center!important;gap:8px!important;min-width:max-content!important}
  body .topbar .nav{display:flex!important;flex:1 1 auto!important;min-width:0!important;width:auto!important;max-width:none;align-items:center!important;justify-content:flex-start!important;gap:12px!important;overflow:visible!important;white-space:nowrap!important}
  body .topbar .menu-toggle,
  body .topbar .menu-toggle[hidden],
  body .menu-toggle,
  body .menu-toggle[hidden]{display:none!important;visibility:hidden!important;opacity:0!important;width:0!important;height:0!important;min-width:0!important;max-width:0!important;padding:0!important;margin:0!important;overflow:hidden!important;pointer-events:none!important}
  body .topbar .nav-overflow-hidden{display:none!important}
  body .topbar .nav-more{position:relative!important;flex:0 0 auto!important}
  body .topbar .nav-more.is-visible{display:block!important}
  body .topbar .nav-more:not(.is-visible){display:none!important}
  body .topbar .dropdown-more a.more-hidden{display:none!important}
  body .topbar .nav-group>.dropdown{z-index:99999!important}
}
@media (max-width:760px){
  body .topbar{display:flex!important;flex-wrap:nowrap!important;align-items:center!important;gap:8px!important;overflow:visible!important}
  body .topbar .menu-toggle{display:inline-flex!important;visibility:visible!important;opacity:1!important;width:auto!important;height:auto!important;min-width:auto!important;max-width:none!important;padding:10px 12px!important;margin-left:4px!important;pointer-events:auto!important;order:5!important}
  body .topbar .nav{position:absolute!important;left:10px!important;right:10px!important;top:calc(100% + 8px)!important;display:none!important;flex-direction:column!important;align-items:stretch!important;gap:6px!important;background:#fff!important;border:1px solid #dcecfb!important;border-radius:18px!important;box-shadow:0 22px 48px rgba(8,43,86,.20)!important;padding:12px!important;z-index:99999!important;max-height:calc(100vh - 88px)!important;overflow:auto!important;white-space:normal!important;width:auto!important;max-width:none!important}
  body .topbar.mobile-menu-open .nav{display:flex!important}
  body .topbar .nav-more{display:none!important}
  body .topbar .nav-overflow-hidden{display:block!important}
}

/* BALYK04 V108 — Kazakh mobile typography stabilization
   One system font stack for RU/KZ, no mixed fallback glyphs. */
:root{
  --font-main: system-ui, -apple-system, BlinkMacSystemFont, "Segoe UI", "Noto Sans", "DejaVu Sans", Arial, Helvetica, sans-serif;
}
html, body, body *,
button, input, textarea, select{
  font-family: var(--font-main) !important;
  font-synthesis: none !important;
  text-rendering: auto !important;
  -webkit-font-smoothing: antialiased;
  -moz-osx-font-smoothing: grayscale;
}
html[lang="kz"], html[lang="kk"], body.lang-kz,
html[lang="kz"] body, html[lang="kk"] body,
body[data-lang="kz"], [data-lang="kz"]{
  font-family: var(--font-main) !important;
}
html[lang="kz"] *, html[lang="kk"] *, body.lang-kz *, body[data-lang="kz"] *, [data-lang="kz"] *{
  font-family: var(--font-main) !important;
}

/* BALYK04 V110 — live no-fish page and 2GIS cards */
.no-fish-live{
  display:grid;
  gap:14px;
  padding:16px;
  border:1px solid rgba(29,126,219,.18);
  border-radius:22px;
  background:linear-gradient(135deg,rgba(240,248,255,.96),rgba(255,255,255,.96));
  box-shadow:0 14px 34px rgba(8,43,86,.08);
}
.no-fish-joke-output{
  min-height:62px;
  display:flex;
  align-items:center;
  padding:18px;
  border-radius:18px;
  background:#fff;
  color:#0b315f;
  font-size:20px;
  font-weight:900;
  line-height:1.35;
  box-shadow:inset 0 0 0 1px rgba(220,236,251,.95);
}
.no-fish-joke-actions{display:flex;gap:10px;flex-wrap:wrap;align-items:center}
.soft-btn{
  border:1px solid #cfe3f7;
  background:#fff;
  color:#0b315f;
  border-radius:13px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
}
.soft-btn:hover{background:#f0f8ff}
.no-fish-tags{display:flex;gap:8px;flex-wrap:wrap}
.no-fish-tags button{
  border:0;
  border-radius:999px;
  background:#eaf6ff;
  color:#0b5da8;
  padding:8px 12px;
  font-weight:900;
  cursor:pointer;
}
.no-fish-tags button:hover{background:#d8eeff}
.two-gis-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px;
  margin-top:14px;
}
.two-gis-card{
  display:grid;
  gap:7px;
  min-height:132px;
  text-decoration:none;
  padding:16px;
  border-radius:20px;
  background:#fff;
  border:1px solid #dcecfb;
  box-shadow:0 12px 28px rgba(8,43,86,.08);
  color:#0b315f;
}
.two-gis-card span{
  width:max-content;
  border-radius:999px;
  padding:4px 9px;
  background:#13a466;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.two-gis-card b{font-size:18px;color:#092d55}
.two-gis-card small{color:#49657f;line-height:1.35}
.two-gis-card em{font-style:normal;font-weight:900;color:#117ce7;margin-top:auto}
.two-gis-card:hover{transform:translateY(-2px);box-shadow:0 18px 38px rgba(8,43,86,.13)}
.no-fish-places.flowers .two-gis-card span{background:#d84e8a}
@media (max-width:760px){
  .two-gis-grid{grid-template-columns:1fr}
  .no-fish-joke-output{font-size:17px;min-height:auto}
  .no-fish-joke-actions .blue-btn,.no-fish-joke-actions .soft-btn{width:100%}
}

/* BALYK04 V111 — polished no-fish page wrappers and joke database UI */
.text-block.no-fish-jokes-section,
.text-block.no-fish-places{
  padding:24px;
  border:1px solid rgba(22,102,176,.16);
  border-radius:28px;
  background:linear-gradient(135deg,#ffffff 0%,#f5fbff 100%);
  box-shadow:0 18px 46px rgba(8,43,86,.08);
  overflow:hidden;
}
.text-block.no-fish-jokes-section h2,
.text-block.no-fish-places h2{margin-top:0}
.no-fish-live{
  position:relative;
  display:grid;
  gap:16px;
  padding:22px;
  border:1px solid rgba(29,126,219,.18);
  border-radius:26px;
  background:
    radial-gradient(circle at 12% 0%,rgba(40,139,235,.12),transparent 30%),
    linear-gradient(135deg,rgba(240,248,255,.98),rgba(255,255,255,.98));
  box-shadow:0 18px 44px rgba(8,43,86,.10);
}
.no-fish-live-head{display:flex;gap:10px;align-items:center;justify-content:space-between;flex-wrap:wrap}
.no-fish-live-head span{
  display:inline-flex;align-items:center;gap:8px;border-radius:999px;padding:7px 11px;
  background:#e8f5ff;color:#0b5da8;font-weight:900;font-size:13px;
}
.no-fish-live-head span:before{content:'🎣'}
.no-fish-live-head b{color:#0b315f;font-size:14px}
.no-fish-joke-output{
  min-height:74px;
  display:flex;
  align-items:center;
  padding:20px;
  border-radius:22px;
  background:#fff;
  color:#0b315f;
  font-size:21px;
  font-weight:900;
  line-height:1.38;
  box-shadow:inset 0 0 0 1px rgba(220,236,251,.95),0 10px 24px rgba(8,43,86,.06);
}
.no-fish-joke-actions{display:flex;gap:12px;flex-wrap:wrap;align-items:center}
.no-fish-joke-actions .blue-btn,
.no-fish-joke-actions .soft-btn{border-radius:16px;padding:13px 18px;font-size:15px}
.soft-btn{
  border:1px solid #cfe3f7;
  background:#fff;
  color:#0b315f;
  border-radius:16px;
  padding:12px 16px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 8px 20px rgba(8,43,86,.06);
}
.soft-btn:hover{background:#f0f8ff;transform:translateY(-1px)}
.no-fish-tags{display:flex;gap:9px;flex-wrap:wrap;padding-top:2px}
.no-fish-tags button{
  appearance:none;
  border:1px solid #cfe3f7;
  border-radius:999px;
  background:#ffffff;
  color:#0b5da8;
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
  box-shadow:0 7px 16px rgba(8,43,86,.05);
}
.no-fish-tags button:hover,
.no-fish-tags button.is-active{background:#117ce7;color:#fff;border-color:#117ce7;transform:translateY(-1px)}
.two-gis-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:16px;
  margin-top:16px;
}
.two-gis-card{
  position:relative;
  display:grid;
  gap:9px;
  min-height:150px;
  text-decoration:none;
  padding:18px;
  border-radius:24px;
  background:linear-gradient(180deg,#fff,#f8fcff);
  border:1px solid #dcecfb;
  box-shadow:0 14px 32px rgba(8,43,86,.08);
  color:#0b315f;
  transition:transform .18s ease,box-shadow .18s ease,border-color .18s ease;
}
.two-gis-card span{
  width:max-content;
  border-radius:999px;
  padding:5px 10px;
  background:#13a466;
  color:#fff;
  font-size:12px;
  font-weight:900;
}
.two-gis-card b{font-size:18px;color:#092d55;line-height:1.18}
.two-gis-card small{color:#49657f;line-height:1.4;font-size:14px}
.two-gis-card em{font-style:normal;font-weight:900;color:#117ce7;margin-top:auto}
.two-gis-card:hover{transform:translateY(-3px);box-shadow:0 20px 44px rgba(8,43,86,.14);border-color:#b8dcfb}
.no-fish-places.flowers .two-gis-card span{background:#d84e8a}
@media (max-width:1000px){.two-gis-grid{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media (max-width:760px){
  .text-block.no-fish-jokes-section,.text-block.no-fish-places{padding:17px;border-radius:22px}
  .two-gis-grid{grid-template-columns:1fr}
  .no-fish-live{padding:16px;border-radius:22px}
  .no-fish-joke-output{font-size:17px;min-height:auto;padding:16px}
  .no-fish-joke-actions .blue-btn,.no-fish-joke-actions .soft-btn{width:100%;justify-content:center;text-align:center}
}

/* BALYK04 V112 — no-fish mobile adaptation */
.no-fish-places,
.no-fish-jokes-section{
  overflow:hidden;
}
.no-fish-places .two-gis-grid{
  align-items:stretch;
}
.no-fish-places .two-gis-card{
  min-height:148px;
}
@media(max-width:760px){
  .text-block.no-fish-jokes-section,
  .text-block.no-fish-places{
    border-radius:22px;
    padding:20px 16px;
    margin-left:-4px;
    margin-right:-4px;
  }
  .no-fish-live{
    padding:16px;
    border-radius:20px;
  }
  .no-fish-live-head{
    align-items:flex-start;
  }
  .no-fish-joke-output{
    font-size:16px;
    line-height:1.55;
    padding:16px;
  }
  .no-fish-joke-actions{
    display:grid;
    grid-template-columns:1fr;
  }
  .no-fish-joke-actions .blue-btn,
  .no-fish-joke-actions .soft-btn{
    width:100%;
    min-height:46px;
  }
  .no-fish-tags{
    gap:7px;
  }
  .no-fish-tags button{
    font-size:13px;
    padding:9px 11px;
  }
  .two-gis-grid{
    grid-template-columns:1fr !important;
  }
  .two-gis-card{
    min-height:auto;
    padding:16px;
    border-radius:18px;
  }
  .two-gis-card b{
    font-size:17px;
  }
}


/* BALYK04 V113 — small visual confirmation when another excuse is generated */
.no-fish-joke-output.joke-flash{animation:balykJokeFlash .22s ease-out}
@keyframes balykJokeFlash{from{transform:scale(.992);filter:brightness(1.04)}to{transform:scale(1);filter:brightness(1)}}


/* BALYK04 V114 — full mobile layout for page "Если не поймал рыбу" */
@media (max-width: 760px){
  body{overflow-x:hidden;}
  .page-wrap{padding-left:10px !important;padding-right:10px !important;}
  .content-page.page-no-fish{
    padding-left:0 !important;
    padding-right:0 !important;
  }
  .content-page.page-no-fish .breadcrumbs,
  .content-page.page-no-fish h1,
  .content-page.page-no-fish .lead{
    margin-left:6px;
    margin-right:6px;
  }
  .content-page.page-no-fish h1{
    font-size:28px;
    line-height:1.08;
    letter-spacing:-.02em;
  }
  .content-page.page-no-fish .lead{
    font-size:15px;
    line-height:1.55;
  }
  .content-page.page-no-fish .text-block{
    margin:12px 0;
    padding:17px 14px;
    border-radius:22px;
    overflow:hidden;
  }
  .content-page.page-no-fish .text-block h2{
    font-size:22px;
    line-height:1.18;
    margin-bottom:10px;
  }
  .content-page.page-no-fish .text-block p,
  .content-page.page-no-fish .text-block li{
    font-size:15px;
    line-height:1.58;
  }
  .content-page.page-no-fish .section-card-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:12px;
  }
  .content-page.page-no-fish .section-card{
    min-height:auto !important;
    display:grid;
    grid-template-columns:46px 1fr;
    grid-template-areas:"icon title" "icon text" "icon action";
    align-items:start;
    gap:3px 12px;
    padding:14px;
    border-radius:18px;
    box-shadow:0 10px 24px rgba(8,43,86,.08);
  }
  .content-page.page-no-fish .section-card i{
    grid-area:icon;
    width:42px;height:42px;
    display:flex;align-items:center;justify-content:center;
    border-radius:14px;
    background:#eef8ff;
    font-style:normal;
    font-size:24px;
  }
  .content-page.page-no-fish .section-card b{grid-area:title;font-size:17px;margin:0;line-height:1.18;}
  .content-page.page-no-fish .section-card span{grid-area:text;font-size:14px;line-height:1.38;}
  .content-page.page-no-fish .section-card em{grid-area:action;margin-top:7px;font-size:14px;}

  .content-page.page-no-fish .no-fish-live{
    padding:14px;
    border-radius:22px;
    gap:12px;
    background:linear-gradient(180deg,#f3fbff,#ffffff);
  }
  .content-page.page-no-fish .no-fish-live-head{
    display:grid;
    grid-template-columns:1fr;
    gap:7px;
  }
  .content-page.page-no-fish .no-fish-live-head span,
  .content-page.page-no-fish .no-fish-live-head b{
    width:fit-content;
    max-width:100%;
  }
  .content-page.page-no-fish .no-fish-joke-output{
    min-height:96px;
    font-size:16px;
    line-height:1.5;
    padding:15px;
    border-radius:18px;
    align-items:flex-start;
  }
  .content-page.page-no-fish .no-fish-joke-actions{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:9px;
  }
  .content-page.page-no-fish .no-fish-joke-actions button{
    width:100% !important;
    min-height:48px;
    border-radius:15px;
    font-size:15px;
  }
  .content-page.page-no-fish .no-fish-tags{
    display:flex;
    flex-wrap:nowrap;
    gap:8px;
    overflow-x:auto;
    padding:2px 2px 8px;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
  }
  .content-page.page-no-fish .no-fish-tags::-webkit-scrollbar{display:none;}
  .content-page.page-no-fish .no-fish-tags button{
    flex:0 0 auto;
    white-space:nowrap;
    font-size:13px;
    padding:9px 12px;
  }

  .content-page.page-no-fish .two-gis-grid{
    display:grid !important;
    grid-template-columns:1fr !important;
    gap:10px !important;
    margin-top:12px;
  }
  .content-page.page-no-fish .two-gis-card{
    min-height:auto !important;
    display:grid;
    grid-template-columns:auto 1fr;
    grid-template-areas:"badge title" "note note" "go go";
    gap:8px 10px;
    padding:14px;
    border-radius:18px;
  }
  .content-page.page-no-fish .two-gis-card span{grid-area:badge;align-self:start;font-size:11px;padding:5px 8px;}
  .content-page.page-no-fish .two-gis-card b{grid-area:title;font-size:16px;line-height:1.2;align-self:center;}
  .content-page.page-no-fish .two-gis-card small{grid-area:note;font-size:13px;line-height:1.38;}
  .content-page.page-no-fish .two-gis-card em{
    grid-area:go;
    margin-top:2px;
    display:flex;
    justify-content:center;
    align-items:center;
    min-height:38px;
    border-radius:13px;
    background:#eef8ff;
    color:#0b6fc8;
  }
  .content-page.page-no-fish ul{padding-left:20px;}
}

@media (max-width: 380px){
  .content-page.page-no-fish h1{font-size:25px;}
  .content-page.page-no-fish .text-block{padding:15px 12px;}
  .content-page.page-no-fish .section-card{grid-template-columns:40px 1fr;padding:12px;}
  .content-page.page-no-fish .section-card i{width:38px;height:38px;font-size:21px;}
  .content-page.page-no-fish .no-fish-joke-output{font-size:15px;}
}

/* BALYK04 V115 — mobile no-fish page: keep desktop visual style, not simplified blocks */
@media (max-width: 760px){
  .content-page.page-no-fish{
    background:rgba(255,255,255,.88);
    border-radius:24px;
    padding:14px 10px 18px !important;
  }
  .content-page.page-no-fish .text-block.no-fish-jokes-section,
  .content-page.page-no-fish .text-block.no-fish-places{
    padding:18px !important;
    border-radius:26px !important;
    background:
      radial-gradient(circle at 12% 0%,rgba(40,139,235,.10),transparent 34%),
      linear-gradient(135deg,#ffffff 0%,#f5fbff 100%) !important;
    box-shadow:0 18px 44px rgba(8,43,86,.10) !important;
    border:1px solid rgba(22,102,176,.16) !important;
  }
  .content-page.page-no-fish .text-block.no-fish-places.flowers{
    background:
      radial-gradient(circle at 12% 0%,rgba(216,78,138,.10),transparent 34%),
      linear-gradient(135deg,#ffffff 0%,#fff7fb 100%) !important;
  }

  /* План на 15 минут: оставляем desktop-карточку, только в одну колонку */
  .content-page.page-no-fish .section-card-grid{
    grid-template-columns:1fr !important;
    gap:13px !important;
  }
  .content-page.page-no-fish .section-card{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-template-areas:none !important;
    min-height:150px !important;
    padding:18px !important;
    border-radius:24px !important;
    background:linear-gradient(180deg,#ffffff,#f8fcff) !important;
    border:1px solid #dcecfb !important;
    box-shadow:0 14px 32px rgba(8,43,86,.09) !important;
    gap:0 !important;
  }
  .content-page.page-no-fish .section-card i{
    grid-area:auto !important;
    width:52px !important;
    height:52px !important;
    border-radius:18px !important;
    background:#eef8ff !important;
    font-size:28px !important;
    margin:0 0 12px !important;
  }
  .content-page.page-no-fish .section-card b{
    grid-area:auto !important;
    font-size:20px !important;
    line-height:1.22 !important;
    margin:0 0 9px !important;
  }
  .content-page.page-no-fish .section-card span{
    grid-area:auto !important;
    font-size:15px !important;
    line-height:1.5 !important;
    color:#587493 !important;
    flex:1 !important;
  }
  .content-page.page-no-fish .section-card em{
    grid-area:auto !important;
    align-self:flex-start !important;
    margin-top:14px !important;
    background:#0e7bd8 !important;
    color:#fff !important;
    border-radius:999px !important;
    padding:10px 14px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }

  /* Генератор: не системная форма, а красивая карточка как desktop */
  .content-page.page-no-fish .no-fish-live{
    padding:18px !important;
    border-radius:26px !important;
    gap:14px !important;
    background:
      radial-gradient(circle at 15% 0%,rgba(40,139,235,.13),transparent 34%),
      linear-gradient(135deg,rgba(240,248,255,.98),rgba(255,255,255,.98)) !important;
    box-shadow:0 18px 44px rgba(8,43,86,.10) !important;
    border:1px solid rgba(29,126,219,.18) !important;
  }
  .content-page.page-no-fish .no-fish-joke-output{
    min-height:108px !important;
    align-items:center !important;
    padding:18px !important;
    border-radius:22px !important;
    background:#fff !important;
    font-size:18px !important;
    font-weight:900 !important;
    line-height:1.45 !important;
    box-shadow:inset 0 0 0 1px rgba(220,236,251,.95),0 10px 24px rgba(8,43,86,.06) !important;
  }
  .content-page.page-no-fish .no-fish-joke-actions{
    display:flex !important;
    flex-direction:column !important;
    gap:10px !important;
  }
  .content-page.page-no-fish .no-fish-joke-actions .blue-btn,
  .content-page.page-no-fish .no-fish-joke-actions .soft-btn{
    width:100% !important;
    min-height:50px !important;
    border-radius:18px !important;
    font-size:15px !important;
    box-shadow:0 10px 22px rgba(8,43,86,.08) !important;
  }
  .content-page.page-no-fish .no-fish-tags{
    flex-wrap:wrap !important;
    overflow:visible !important;
    gap:8px !important;
    padding:0 !important;
  }
  .content-page.page-no-fish .no-fish-tags button{
    flex:1 1 calc(50% - 8px) !important;
    justify-content:center !important;
    min-height:40px !important;
    border-radius:999px !important;
    background:#fff !important;
    box-shadow:0 7px 16px rgba(8,43,86,.05) !important;
  }
  .content-page.page-no-fish .no-fish-tags button.is-active,
  .content-page.page-no-fish .no-fish-tags button:hover{
    background:#117ce7 !important;
    color:#fff !important;
  }

  /* 2ГИС и букет: карточки как на desktop, без табличного топорного вида */
  .content-page.page-no-fish .two-gis-grid{
    grid-template-columns:1fr !important;
    gap:13px !important;
  }
  .content-page.page-no-fish .two-gis-card{
    display:flex !important;
    flex-direction:column !important;
    grid-template-columns:none !important;
    grid-template-areas:none !important;
    min-height:158px !important;
    padding:18px !important;
    border-radius:24px !important;
    background:linear-gradient(180deg,#ffffff,#f8fcff) !important;
    border:1px solid #dcecfb !important;
    box-shadow:0 14px 32px rgba(8,43,86,.09) !important;
    gap:9px !important;
  }
  .content-page.page-no-fish .two-gis-card span{
    grid-area:auto !important;
    width:max-content !important;
    max-width:100% !important;
    font-size:12px !important;
    padding:5px 10px !important;
  }
  .content-page.page-no-fish .two-gis-card b{
    grid-area:auto !important;
    font-size:19px !important;
    line-height:1.22 !important;
  }
  .content-page.page-no-fish .two-gis-card small{
    grid-area:auto !important;
    font-size:14px !important;
    line-height:1.45 !important;
    color:#49657f !important;
  }
  .content-page.page-no-fish .two-gis-card em{
    grid-area:auto !important;
    align-self:flex-start !important;
    margin-top:auto !important;
    min-height:0 !important;
    display:inline-flex !important;
    justify-content:center !important;
    align-items:center !important;
    border-radius:999px !important;
    background:#eef8ff !important;
    color:#117ce7 !important;
    padding:10px 14px !important;
    font-size:14px !important;
    font-weight:900 !important;
  }
}

@media (max-width: 380px){
  .content-page.page-no-fish .no-fish-tags button{flex-basis:100% !important;}
  .content-page.page-no-fish .section-card,
  .content-page.page-no-fish .two-gis-card{padding:16px !important;border-radius:22px !important;}
}

/* BALYK04 V117 — Народная карта: точки рыбаков поверх интерактивной карты */
.folk-map-live{margin:24px 0;padding:18px;border:1px solid rgba(116,180,228,.35);border-radius:28px;background:linear-gradient(180deg,rgba(255,255,255,.94),rgba(239,248,255,.9));box-shadow:0 18px 44px rgba(20,70,120,.1)}
.folk-map-hero{display:grid;grid-template-columns:1fr 320px;gap:18px;align-items:stretch;margin-bottom:16px}.folk-map-hero>div{background:#fff;border:1px solid #d6eafa;border-radius:24px;padding:20px}.folk-map-hero .eyebrow{display:inline-flex;margin-bottom:8px;border-radius:999px;background:#e8f5ff;color:#096bd8;font-weight:900;padding:7px 12px}.folk-map-hero h2{font-size:30px;margin:0 0 8px;color:#092a57}.folk-map-hero p{margin:0;color:#537199;line-height:1.55}.folk-map-rules{display:flex;flex-direction:column;justify-content:center}.folk-map-rules b{font-size:20px;color:#092a57;margin-bottom:8px}.folk-map-rules span{color:#537199;font-weight:800;line-height:1.5}
 .folk-map-layout{display:grid;grid-template-columns:1fr;gap:16px;align-items:start}.folk-map-layout-wide,.folk-map-layout-wide.form-open{grid-template-columns:1fr}.folk-add-point-toggle,.folk-edit-point-toggle{text-align:center}.folk-map-form-collapsed[hidden]{display:none!important}.folk-map-canvas-wrap{position:relative;background:#fff;border:1px solid #d6eafa;border-radius:24px;padding:10px;box-shadow:0 14px 30px rgba(20,70,120,.08)}.folk-map-canvas{height:640px;border-radius:18px;overflow:hidden;background:#eaf6ff;z-index:1}.folk-map-hint{position:static;margin:10px 0 0;padding:9px 12px;border-radius:14px;background:#f6fbff;color:#092a57;font-weight:800;box-shadow:none}
.folk-map-under-panel{margin-top:14px;background:#fff;border:1px solid #d6eafa;border-radius:24px;padding:16px;box-shadow:0 12px 28px rgba(20,70,120,.08)}.folk-map-toolbar{display:grid;grid-template-columns:auto auto minmax(260px,1fr);gap:12px;align-items:end}.folk-map-form,.folk-map-filter{background:#fff;border:1px solid #d6eafa;border-radius:20px;padding:16px;box-shadow:0 8px 20px rgba(20,70,120,.06)}.folk-map-form{margin-top:14px}.folk-map-form h3{margin:0 0 12px;color:#092a57;font-size:22px}.folk-map-form label,.folk-map-filter{display:grid;gap:7px;color:#092a57;font-weight:900}.folk-map-form input,.folk-map-form textarea,.folk-map-filter input{width:100%;box-sizing:border-box;border:1px solid #d6eafa;border-radius:14px;background:#f9fdff;color:#092a57;padding:11px 13px;font:inherit;font-weight:700;outline:none}.folk-map-form textarea{resize:vertical}.folk-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.folk-map-form label+label,.folk-map-form .folk-map-coords,.folk-map-form button{margin-top:10px}.folk-map-coords{display:grid;grid-template-columns:1fr 1fr;gap:10px}.folk-photo-field small{font-weight:700;color:#6b87a5}.folk-map-status{margin-top:10px;border-radius:14px;background:#eef8ff;color:#315f8d;padding:11px;font-weight:800;line-height:1.35}.folk-map-status.ok{background:#e9f9ef;color:#157139}.folk-map-status.bad{background:#fff0f0;color:#a83232}
.folk-map-points-panel{margin-top:16px;background:#fff;border:1px solid #d6eafa;border-radius:24px;padding:16px}.folk-points-help{margin:0 0 12px;color:#537199;font-weight:800}.folk-map-points{display:grid;grid-template-columns:1fr;gap:8px}.folk-point-row{border:1px solid #d6eafa;border-radius:18px;background:#fff;box-shadow:0 8px 18px rgba(20,70,120,.05);overflow:hidden}.folk-point-row.active{border-color:#1689ff;box-shadow:0 10px 24px rgba(22,137,255,.14)}.folk-point-row summary{display:grid;grid-template-columns:minmax(0,1fr) minmax(120px,220px) auto;gap:12px;align-items:center;padding:13px 14px;cursor:pointer;list-style:none}.folk-point-row summary::-webkit-details-marker{display:none}.folk-point-main{display:grid;gap:3px}.folk-point-main b{font-size:16px;color:#092a57}.folk-point-main small{color:#537199;font-weight:800}.folk-point-fish{color:#096bd8;font-weight:900}.folk-point-row em{justify-self:end;border-radius:999px;background:#eef8ff;color:#315f8d;padding:5px 9px;font-style:normal;font-size:12px;font-weight:900}.folk-point-body{border-top:1px solid #e3f1fb;padding:12px 14px}.folk-point-body p{margin:8px 0 10px;color:#345d84;line-height:1.45}.folk-point-actions{display:flex;gap:8px;flex-wrap:wrap}.folk-map-popup{min-width:240px}.folk-map-popup b{display:block;font-size:15px;color:#092a57}.folk-map-popup span{display:block;color:#096bd8;font-weight:900;margin:5px 0}.folk-map-popup small{display:block;color:#537199}.folk-map-popup img{display:block;width:220px;max-height:130px;object-fit:cover;border-radius:10px;margin-top:8px}
@media(max-width:980px){.folk-map-hero,.folk-map-layout,.folk-map-layout-wide,.folk-map-layout-wide.form-open{grid-template-columns:1fr}.folk-map-canvas{height:520px}.folk-map-toolbar,.folk-form-grid{grid-template-columns:1fr}.folk-point-row summary{grid-template-columns:1fr}.folk-point-row em{justify-self:start}}
@media(max-width:620px){.folk-map-live{padding:12px;border-radius:22px}.folk-map-hero>div,.folk-map-form,.folk-map-filter,.folk-map-points-panel,.folk-map-under-panel{border-radius:20px;padding:14px}.folk-map-hero h2{font-size:24px}.folk-map-canvas{height:420px}.folk-map-hint{position:static;margin-top:10px}.folk-map-coords{grid-template-columns:1fr}}
.folk-photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(86px,1fr));gap:8px;margin:8px 0}.folk-photo-strip a{display:block}.folk-photo-strip img{width:100%;height:92px;object-fit:cover;border-radius:10px;background:#eaf6ff}.folk-map-popup .folk-photo-strip{grid-template-columns:repeat(2,1fr);max-width:250px}.folk-map-popup .folk-photo-strip img{width:100%;height:92px;margin:0}.folk-point-body>.folk-photo-strip{grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.folk-point-body>.folk-photo-strip img{height:120px}.folk-admin-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}.folk-admin-photos figure{margin:0}.folk-admin-photos img{width:100%;height:120px;object-fit:cover;border-radius:14px;background:#eaf6ff}.folk-admin-photos label{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:12px;font-weight:800;color:#8a2f2f}.folk-admin-photos input[type="checkbox"]{width:auto}.folk-photo-field input[type="file"]{padding:10px;background:#fff}.folk-photo-field small,.folk-edit-form small{font-weight:700;color:#6b87a5}
.leaflet-container{font-family:inherit}.leaflet-popup-content-wrapper{border-radius:16px}.folk-temp-marker{filter:drop-shadow(0 4px 8px rgba(0,0,0,.22))}
@media(max-width:980px){.folk-map-hero,.folk-map-layout,.folk-map-layout-wide,.folk-map-layout-wide.form-open{grid-template-columns:1fr}.folk-map-canvas{height:520px}.folk-map-points{grid-template-columns:1fr 1fr}.folk-map-side{grid-template-columns:1fr 1fr}.folk-map-form{grid-row:1}.folk-map-filter{align-self:start}}
@media(max-width:620px){.folk-map-live{padding:12px;border-radius:22px}.folk-map-hero>div,.folk-map-form,.folk-map-filter,.folk-map-points-panel{border-radius:20px;padding:14px}.folk-map-hero h2{font-size:24px}.folk-map-canvas{height:420px}.folk-map-hint{position:static;margin-top:10px}.folk-map-side,.folk-map-points,.folk-map-coords{grid-template-columns:1fr}.folk-point-card img{height:170px}}
/* BALYK04 V120 — галерея до 5 фото для точек Народной карты */
.folk-photo-strip{display:grid;grid-template-columns:repeat(auto-fit,minmax(62px,1fr));gap:6px;margin:8px 0}.folk-photo-strip img{width:100%;height:72px;object-fit:cover;border-radius:10px;background:#eaf6ff}.folk-map-popup .folk-photo-strip{grid-template-columns:repeat(2,1fr);max-width:230px}.folk-map-popup .folk-photo-strip img{width:100%;height:92px;margin:0}.folk-point-card>.folk-photo-strip{grid-template-columns:repeat(2,1fr)}.folk-point-card>.folk-photo-strip img{height:105px}.folk-admin-photos{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:8px 0 12px}.folk-admin-photos figure{margin:0}.folk-admin-photos img{width:100%;height:120px;object-fit:cover;border-radius:14px;background:#eaf6ff}.folk-admin-photos label{display:flex;gap:6px;align-items:center;margin-top:4px;font-size:12px;font-weight:800;color:#8a2f2f}.folk-admin-photos input[type="checkbox"]{width:auto}.folk-photo-field input[type="file"]{padding:10px;background:#fff}.folk-photo-field small,.folk-edit-form small{font-weight:700;color:#6b87a5}
@media(max-width:620px){.folk-photo-strip,.folk-point-card>.folk-photo-strip,.folk-admin-photos{grid-template-columns:1fr 1fr}.folk-point-card>.folk-photo-strip img{height:120px}}
/* BALYK04 V121 — кнопка редактирования выбранной точки Народной карты */
.folk-edit-point-toggle{width:100%;text-align:center;margin-top:8px;background:#e9f5ff!important;color:#0b3c78!important;border:1px solid #b9dcfb!important;box-shadow:none!important}
.folk-edit-point-toggle:disabled{opacity:.55;cursor:not-allowed;filter:grayscale(.15)}
.folk-edit-point-toggle:not(:disabled){background:#fff7db!important;color:#7b5600!important;border-color:#ffd66b!important}

/* BALYK04 V123 — миниатюры фотографий в компактном списке «Отметки рыбаков» */
.folk-point-row summary{grid-template-columns:minmax(0,1fr) minmax(96px,180px) minmax(110px,200px) auto;}
.folk-point-thumbs{display:flex;align-items:center;gap:4px;min-width:0;overflow:hidden;}
.folk-point-thumbs img{width:34px;height:34px;object-fit:cover;border-radius:9px;background:#eaf6ff;border:1px solid #d6eafa;box-shadow:0 3px 8px rgba(20,70,120,.08);flex:0 0 auto;}
.folk-point-thumbs-empty{justify-content:center;border:1px dashed #c9e3f6;border-radius:999px;color:#7a94ac;font-size:12px;font-weight:900;padding:7px 9px;background:#f8fcff;}
@media(max-width:980px){.folk-point-row summary{grid-template-columns:1fr;}.folk-point-thumbs{order:3;}.folk-point-fish{order:2}.folk-point-row em{order:4;justify-self:start}}
@media(max-width:620px){.folk-point-thumbs img{width:42px;height:42px}.folk-point-thumbs{flex-wrap:wrap}}

/* BALYK04 V125 — Народная карта на главной вместо обычной обзорной карты */
.home-folk-map-panel .map-panel-head{align-items:flex-start;gap:12px}.home-folk-map-panel .map-panel-head p{margin:4px 0 0;color:#456b91;font-weight:700;line-height:1.35}.home-folk-map-canvas{width:100%;height:430px;border-radius:22px;overflow:hidden;background:#eaf6ff;border:1px solid #d9ebf8}.home-folk-map-footer{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:10px;padding:10px 12px;border-radius:16px;background:#f3f9ff;color:#315f8d;font-weight:900}.home-folk-map-footer a{color:#096bd8;font-weight:900}.home-folk-popup{min-width:210px}.home-folk-popup b{display:block;font-size:15px;color:#092a57}.home-folk-popup span{display:block;color:#096bd8;font-weight:900;margin:4px 0}.home-folk-popup small{display:block;color:#537199;font-weight:800}.home-folk-popup div{display:grid;grid-template-columns:repeat(3,1fr);gap:5px;margin-top:8px}.home-folk-popup img{width:100%;height:58px;object-fit:cover;border-radius:8px;background:#eaf6ff}.home-folk-popup a{display:block;margin-top:8px;font-weight:900;color:#096bd8}@media(max-width:620px){.home-folk-map-canvas{height:360px}.home-folk-map-footer{align-items:flex-start;flex-direction:column}.home-folk-map-panel .map-panel-head{display:block}.home-folk-map-panel .map-fullscreen-link{display:inline-flex;margin-top:8px}}


/* BALYK04 V126 — пагинация компактного списка «Отметки рыбаков» по 10 точек */
.folk-map-pagination{display:flex;flex-wrap:wrap;align-items:center;justify-content:center;gap:7px;margin-top:14px;padding:12px;border-radius:18px;background:#f3f9ff;border:1px solid #d6eafa}
.folk-page-btn{min-width:38px;height:38px;border:1px solid #b9dcfb;border-radius:12px;background:#fff;color:#0b3c78;font-weight:900;cursor:pointer;box-shadow:0 5px 12px rgba(20,70,120,.06)}
.folk-page-btn:hover:not(:disabled),.folk-page-btn.active{background:#096bd8;color:#fff;border-color:#096bd8}
.folk-page-btn:disabled{opacity:.45;cursor:not-allowed}
.folk-page-label{margin-left:6px;color:#537199;font-weight:900;font-size:13px}
@media(max-width:620px){.folk-map-pagination{justify-content:flex-start}.folk-page-btn{min-width:34px;height:34px}.folk-page-label{width:100%;margin-left:0}}

/* BALYK04 V128 — сортировка отметок по рекам/водоёмам и видимые страницы списка */
.folk-water-group-title{grid-column:1/-1;margin:8px 0 2px;padding:9px 12px;border-radius:14px;background:#e9f5ff;border:1px solid #cfe8fb;color:#0b3c78;font-weight:900}
.folk-points-help{margin:4px 0 12px;color:#537199;font-weight:800;line-height:1.35}


/* BALYK04 V129 — красивый центрированный переключатель страниц и экология точки */
.folk-map-pagination{justify-content:center!important;text-align:center;gap:10px;margin:18px auto 0!important;padding:14px 16px!important;background:linear-gradient(180deg,#f7fcff,#eef7ff)!important;border:1px solid #cde6fa!important;border-radius:24px!important;box-shadow:0 12px 28px rgba(30,96,160,.10);max-width:max-content;min-width:min(100%,340px)}
.folk-page-btn{min-width:42px!important;height:42px!important;border-radius:999px!important;border:1px solid #b9dcfb!important;background:#fff!important;color:#0b3c78!important;font-weight:900!important;box-shadow:0 8px 18px rgba(20,70,120,.10)!important;transition:transform .15s ease, box-shadow .15s ease, background .15s ease!important}
.folk-page-btn:hover:not(:disabled){transform:translateY(-1px);box-shadow:0 10px 22px rgba(20,70,120,.16)!important;background:#eaf6ff!important}
.folk-page-btn.active{background:linear-gradient(135deg,#0b76df,#12a6f4)!important;color:#fff!important;border-color:#0b76df!important;box-shadow:0 10px 24px rgba(11,118,223,.28)!important}
.folk-page-btn:disabled{opacity:.45!important;box-shadow:none!important;cursor:not-allowed!important}
.folk-page-label{width:100%;margin:2px 0 0!important;color:#537199!important;font-weight:900!important;font-size:13px!important;letter-spacing:.01em}
.folk-eco-badge{display:inline-flex!important;align-items:center;gap:6px;width:max-content;max-width:100%;margin:6px 0 4px;padding:6px 10px;border-radius:999px;font-size:12px!important;font-weight:900!important;border:1px solid #d6eafa;background:#f8fcff;color:#537199!important}
.folk-eco-badge.clean{background:#e9f9ef;color:#157139!important;border-color:#bce9c9}.folk-eco-badge.trash-low{background:#fff8dc;color:#8a5d00!important;border-color:#ffe08a}.folk-eco-badge.trash-medium{background:#fff1df;color:#a65a00!important;border-color:#ffc27a}.folk-eco-badge.trash-high{background:#fff0f0;color:#a83232!important;border-color:#ffc8c8}.folk-eco-badge.littered{background:#fff8dc;color:#8a5d00!important;border-color:#ffe08a}.folk-eco-badge.cleanup-needed{background:#fff1df;color:#a65a00!important;border-color:#ffc27a}.folk-eco-badge.unknown{background:#eef7ff;color:#537199!important}.folk-point-eco{margin:8px 0 6px!important}
@media(max-width:620px){.folk-map-pagination{max-width:100%;justify-content:center!important}.folk-page-btn{min-width:38px!important;height:38px!important}.folk-page-label{text-align:center}}

/* BALYK04 V130 — типы отметок Народной карты: рыбные точки, пляжи/закрытый доступ, опасные места */
.folk-map-filter select,.folk-map-form select{width:100%;box-sizing:border-box;border:1px solid #d6eafa;border-radius:14px;background:#f9fdff;color:#092a57;padding:11px 13px;font:inherit;font-weight:800;outline:none}
.folk-marker-icon{background:transparent;border:0}
.folk-marker-icon span{display:block;width:22px;height:22px;border-radius:50% 50% 50% 6px;transform:rotate(-45deg);border:3px solid #fff;box-shadow:0 6px 16px rgba(9,42,87,.28)}
.folk-marker-icon.danger span{box-shadow:0 6px 16px rgba(220,38,38,.32)}
.folk-marker-icon.beach-closed span{box-shadow:0 6px 16px rgba(245,158,11,.32)}
.folk-type-badge{display:inline-flex!important;align-items:center;gap:6px;width:max-content;border-radius:999px;padding:5px 9px;font-size:12px;font-weight:900;line-height:1.1;border:1px solid #cfe7ff;background:#eef8ff;color:#0b3c78;margin-top:4px}
.folk-type-badge.fishing{background:#eef8ff;border-color:#b9dcfb;color:#0b5cad}
.folk-type-badge.beach-closed{background:#fff7e6;border-color:#ffd38a;color:#9a5b00}
.folk-type-badge.danger{background:#fff0f0;border-color:#ffc2c2;color:#a83232}
.folk-type-badge:before{content:'●';font-size:11px}.folk-type-badge.fishing:before{color:#0b76df}.folk-type-badge.beach-closed:before{color:#f59e0b}.folk-type-badge.danger:before{color:#dc2626}
.folk-map-popup .folk-type-badge{margin:6px 0 2px}
.folk-point-main .folk-type-badge{font-size:11px;padding:4px 8px;margin-top:2px}
@media(max-width:760px){.folk-map-toolbar{grid-template-columns:1fr}.folk-map-filter{gap:8px}}

/* BALYK04 V132 — уточнённая экология и аккуратная навигация страниц */
.folk-map-pagination .folk-page-btn:first-child,.folk-map-pagination .folk-page-btn:nth-last-child(2){padding:0 16px;min-width:74px!important}
.folk-map-pagination:before{content:'Страницы отметок';width:100%;font-weight:900;color:#0b3c78;font-size:13px;text-transform:uppercase;letter-spacing:.04em}


/* BALYK04 V133 — спортивные мероприятия */
.sport-events-public{margin-top:24px}.sport-events-public .report-card{border:1px solid #dcecfb;border-radius:22px;background:#fff;padding:18px;box-shadow:0 12px 28px rgba(30,96,160,.10)}.sport-events-public dl{display:grid;grid-template-columns:140px 1fr;gap:6px 12px}.sport-events-public dt{font-weight:900;color:#0b3c78}.sport-events-public dd{margin:0}.sport-photo-public{display:flex;gap:8px;flex-wrap:wrap;margin-top:12px}.sport-photo-public img{width:110px;height:76px;object-fit:cover;border-radius:12px;border:1px solid #dcecfb;background:#eef7ff}@media(max-width:700px){.sport-events-public dl{grid-template-columns:1fr}.sport-photo-public img{width:92px;height:66px}}

/* BALYK04 V136 — расширенные цветные типы отметок Народной карты */
.folk-marker-icon.trash-many span{box-shadow:0 6px 16px rgba(139,90,43,.38)}
.folk-marker-icon.cleanup-needed span{box-shadow:0 6px 16px rgba(234,179,8,.38)}
.folk-marker-icon.good-access span{box-shadow:0 6px 16px rgba(22,163,74,.34)}
.folk-marker-icon.beach span{box-shadow:0 6px 16px rgba(6,182,212,.34)}
.folk-marker-icon.car-danger span{box-shadow:0 6px 16px rgba(153,27,27,.42)}
.folk-marker-icon.camp span{box-shadow:0 6px 16px rgba(124,58,237,.34)}
.folk-type-badge.trash-many{background:#f7efe5;border-color:#c89b70;color:#6b3f1d}
.folk-type-badge.cleanup-needed{background:#fff9db;border-color:#facc15;color:#7a5b00}
.folk-type-badge.good-access{background:#eafaf0;border-color:#86efac;color:#166534}
.folk-type-badge.beach{background:#e6fbff;border-color:#67e8f9;color:#0e7490}
.folk-type-badge.car-danger{background:#fff1f1;border-color:#fca5a5;color:#7f1d1d}
.folk-type-badge.camp{background:#f3e8ff;border-color:#d8b4fe;color:#5b21b6}
.folk-type-badge.trash-many:before{color:#8b5a2b}
.folk-type-badge.cleanup-needed:before{color:#eab308}
.folk-type-badge.good-access:before{color:#16a34a}
.folk-type-badge.beach:before{color:#06b6d4}
.folk-type-badge.car-danger:before{color:#991b1b}
.folk-type-badge.camp:before{color:#7c3aed}
.folk-map-legend{display:flex;flex-wrap:wrap;gap:8px;margin:10px 0 0}
.folk-map-legend span{display:inline-flex;align-items:center;gap:6px;border:1px solid #d9e8f7;background:#fff;border-radius:999px;padding:6px 10px;font-size:12px;font-weight:800;color:#27486b}
.folk-map-legend i{width:11px;height:11px;border-radius:999px;display:inline-block}


/* BALYK04 V139 — путёвка для рыбной точки и история drag-and-drop обновлений */
.folk-permit-badge{display:inline-flex!important;align-items:center;width:max-content;max-width:100%;margin:6px 0 4px;padding:6px 10px;border-radius:999px;font-size:12px!important;font-weight:900!important;border:1px solid #cfe4f8;background:#eef7ff;color:#0b3c78!important}
#folkPermitWrap small{font-weight:700;color:#6b87a5}.update-history-box{margin-top:18px;padding:14px;border-radius:18px;background:#f8fcff;border:1px solid #dcecfb}.update-history-box h3{margin:0 0 10px;color:#0b3c78}

/* BALYK04 V139: Чат рыбака, форум рыбака, анкеты пользователей */
.community-module .tool-card{background:#fff;border:1px solid rgba(20,90,120,.12);border-radius:22px;padding:18px;margin:16px 0;box-shadow:0 12px 28px rgba(20,70,90,.08)}
.community-form{display:grid;gap:12px}.community-form input,.community-form textarea{width:100%;box-sizing:border-box;border:1px solid #cfe0e8;border-radius:14px;padding:13px 14px;font:inherit}.community-form textarea{min-height:110px}
.community-list{display:grid;gap:12px;margin-top:18px}.community-post{display:grid;grid-template-columns:54px 1fr;gap:12px;background:#fff;border:1px solid rgba(20,90,120,.12);border-radius:18px;padding:14px;box-shadow:0 10px 24px rgba(20,70,90,.08)}.community-post img{width:54px;height:54px;border-radius:50%;object-fit:cover;background:#eef7ff}.community-post b{color:#0d5c76}.community-post code{background:#eef8fb;border-radius:999px;padding:3px 8px;color:#24505f}.community-post small{display:block;color:#6b7b83;margin-top:4px}.community-post h2{margin:0 0 6px;font-size:20px}.community-post p{margin:8px 0 0;line-height:1.55}.folk-form-status{border-radius:14px;padding:12px;margin:12px 0}.folk-form-status.ok{background:#effff4;color:#12612c;border:1px solid #bee8ca}.folk-form-status.error{background:#fff0f0;color:#9d1c1c;border:1px solid #ffcaca}
@media(max-width:640px){.community-post{grid-template-columns:42px 1fr}.community-post img{width:42px;height:42px}}


/* BALYK04 V149 — учебные страницы по узлам, снастям и приманкам */
.edu-visual{display:grid;grid-template-columns:minmax(0,1fr) 280px;gap:18px;align-items:center;background:#f7fbff;border:1px solid #d6eafa;border-radius:22px;padding:16px;margin:12px 0 4px;overflow:hidden}.edu-visual img{width:100%;max-width:280px;border-radius:18px;background:#fff;box-shadow:0 10px 26px rgba(15,70,110,.10)}.edu-visual b{display:block;font-size:20px;color:#0b3c78;margin-bottom:6px}.edu-mini-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(210px,1fr));gap:12px;margin-top:12px}.edu-mini-grid span{display:block;background:#fff;border:1px solid #d6eafa;border-radius:16px;padding:12px;font-weight:800;color:#17324d}.edu-note{background:#fff8df;border-left:5px solid #ffb703;border-radius:16px;padding:12px;margin-top:12px}.tackle-table td,.tackle-table th{vertical-align:top}@media(max-width:760px){.edu-visual{grid-template-columns:1fr}.edu-visual img{max-width:100%}}

/* V169 — Разрешено / запрещено: быстрый центр проверки правил */
.content-page .text-block.allowed-hero-check,
.content-page .text-block.allowed-countdown-info,
.content-page .text-block.allowed-green,
.content-page .text-block.allowed-yellow,
.content-page .text-block.allowed-red,
.content-page .text-block.allowed-periods,
.content-page .text-block.allowed-faq,
.content-page .text-block.allowed-npa-links,
.content-page .text-block.allowed-memo{
  border:1px solid rgba(17,124,231,.14);
  border-radius:24px;
  padding:20px;
  margin:18px 0;
  background:#fff;
  box-shadow:0 14px 34px rgba(30,96,160,.08);
}
.content-page .text-block.allowed-hero-check{
  background:linear-gradient(135deg,#eef8ff,#ffffff);
  border-color:rgba(17,124,231,.24);
}
.content-page .text-block.allowed-countdown-info{
  background:linear-gradient(135deg,#fff7e8,#ffffff);
  border-color:rgba(226,150,25,.24);
}
.content-page .text-block.allowed-green{background:linear-gradient(135deg,#edfdf4,#ffffff);border-color:rgba(39,174,96,.25)}
.content-page .text-block.allowed-yellow{background:linear-gradient(135deg,#fff9e6,#ffffff);border-color:rgba(236,178,46,.28)}
.content-page .text-block.allowed-red{background:linear-gradient(135deg,#fff0f0,#ffffff);border-color:rgba(220,66,66,.24)}
.content-page .text-block.allowed-faq table td:first-child{font-weight:800;color:#0b315f}
.content-page .text-block.allowed-periods table td:first-child{font-weight:800;color:#0b315f}
.content-page .text-block.allowed-green h2,
.content-page .text-block.allowed-yellow h2,
.content-page .text-block.allowed-red h2{font-size:26px}
@media(max-width:760px){
  .content-page .text-block.allowed-hero-check,
  .content-page .text-block.allowed-countdown-info,
  .content-page .text-block.allowed-green,
  .content-page .text-block.allowed-yellow,
  .content-page .text-block.allowed-red,
  .content-page .text-block.allowed-periods,
  .content-page .text-block.allowed-faq,
  .content-page .text-block.allowed-npa-links,
  .content-page .text-block.allowed-memo{padding:16px;border-radius:20px;margin:14px 0}
  .content-page .text-block.allowed-green h2,
  .content-page .text-block.allowed-yellow h2,
  .content-page .text-block.allowed-red h2{font-size:22px}
}

/* BALYK04 Codex - Folk map modal create/edit flow */
.folk-map-form:not([hidden]){
  position:fixed;
  left:50%;
  top:50%;
  transform:translate(-50%,-50%);
  z-index:5000;
  width:min(720px,calc(100vw - 32px));
  height:auto!important;
  min-height:0!important;
  max-height:min(86vh,820px);
  overflow-x:hidden;
  overflow-y:auto;
  margin:0;
  padding:20px;
  border-radius:24px;
  border:1px solid #cde6fa;
  background:linear-gradient(180deg,#ffffff 0%,#fbfdff 62%,#f4faff 100%);
  box-shadow:0 24px 64px rgba(30,96,160,.24);
  box-sizing:border-box;
}
.folk-map-form:not([hidden])::before{
  display:none;
  content:none;
}
.folk-form-close{
  position:absolute;
  right:14px;
  top:12px;
  width:38px;
  height:38px;
  border:1px solid #d6eafa;
  border-radius:50%;
  background:#f7fbff;
  color:#0b3c78;
  font-size:26px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.folk-form-close:hover{background:#e9f5ff}
.folk-map-form:not([hidden]) h3{
  margin:0 44px 14px 0;
  color:#092a57;
  font-size:22px;
  line-height:1.2;
}
.folk-map-form:not([hidden]) .folk-form-grid{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.folk-map-form:not([hidden]) label{
  min-width:0;
  margin:0;
}
.folk-map-form:not([hidden]) input,
.folk-map-form:not([hidden]) textarea,
.folk-map-form:not([hidden]) select{
  width:100%;
  max-width:100%;
  box-sizing:border-box;
  background:#ffffff;
}
.folk-map-form:not([hidden]) textarea{
  min-height:96px;
  max-height:180px;
}
.folk-map-form:not([hidden]) .folk-map-coords{
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:10px;
}
.folk-map-form:not([hidden]) .blue-btn{
  width:100%;
}
.folk-map-form:not([hidden]) .folk-map-status{
  margin-bottom:0;
}
.folk-map-popup .folk-popup-edit-btn{
  display:flex;
  width:100%;
  align-items:center;
  justify-content:center;
  margin-top:10px;
  border:0;
  border-radius:12px;
  background:#0b76df;
  color:#fff;
  font-weight:900;
  padding:9px 11px;
  cursor:pointer;
}
.folk-map-popup .folk-popup-edit-btn:hover{filter:brightness(1.05)}
.folk-map-canvas-wrap .folk-map-toolbar{
  display:grid;
  grid-template-columns:auto minmax(0,1fr);
  gap:12px;
  align-items:center;
  margin:0 0 10px;
  padding:10px;
  border:1px solid #d6eafa;
  border-radius:16px;
  background:linear-gradient(180deg,#ffffff,#f6fbff);
  box-shadow:0 8px 20px rgba(20,70,120,.06);
}
.folk-map-canvas-wrap .folk-add-point-toggle{
  align-self:center;
  display:flex;
  align-items:center;
  justify-content:center;
  white-space:nowrap;
  height:46px;
  min-height:0;
  margin:0;
  padding:0 18px;
  line-height:1;
}
.folk-map-canvas-wrap .folk-map-filter{
  width:100%;
  display:grid;
  grid-template-columns:auto minmax(0,1fr) minmax(190px,260px);
  gap:10px;
  align-items:center;
  padding:0;
  border:0;
  border-radius:0;
  box-shadow:none;
  background:transparent;
}
.folk-map-canvas-wrap .folk-map-filter input,
.folk-map-canvas-wrap .folk-map-filter select{
  width:100%;
  min-width:0;
}
.folk-map-canvas-wrap .folk-map-legend{
  display:flex;
  flex-wrap:wrap;
  justify-content:center;
  gap:8px;
  min-width:0;
  margin:10px 0 0;
  padding:0 4px;
}
.folk-map-canvas-wrap .folk-map-legend span{
  padding:6px 10px;
  font-size:12px;
  line-height:1.2;
  background:#fff;
}
.folk-map-canvas-wrap .folk-map-legend i{
  flex:0 0 auto;
}
.folk-map-points-panel-hidden{
  display:none!important;
}
.folk-map-popup-shell .leaflet-popup-content-wrapper{
  border-radius:18px;
}
.folk-map-popup-shell .leaflet-popup-content{
  width:min(640px, calc(100vw - 72px))!important;
  margin:14px 16px;
}
.folk-map-popup{
  width:100%;
  min-width:0;
  display:grid;
  grid-template-columns:minmax(240px,300px) minmax(0,1fr);
  column-gap:16px;
  row-gap:0;
  align-items:start;
}
.folk-map-popup .folk-popup-info{
  grid-column:2;
  display:grid;
  gap:7px;
  min-width:0;
}
.folk-map-popup .folk-popup-info > b{
  margin:0 26px 0 0;
  font-size:18px;
  line-height:1.18;
}
.folk-map-popup .folk-popup-info > span,
.folk-map-popup .folk-popup-info > small{
  margin:0;
}
.folk-map-popup .folk-popup-info > small:last-of-type{
  line-height:1.35;
}
.folk-map-popup .folk-popup-edit-btn{
  margin-top:4px;
}
.folk-map-popup .folk-popup-gallery{
  grid-column:1;
  grid-row:1;
  display:grid;
  gap:8px;
  align-self:stretch;
}
.folk-gallery-main{
  position:relative;
  display:block;
  width:100%;
  aspect-ratio:4/3;
  overflow:hidden;
  padding:0;
  border:0;
  border-radius:16px;
  background:#eaf6ff;
  box-shadow:0 10px 24px rgba(9,42,87,.12);
  cursor:zoom-in;
}
.folk-gallery-main img{
  width:100%;
  height:100%;
  display:block;
  object-fit:cover;
}
.folk-gallery-empty-card{
  cursor:default;
  display:flex;
  flex-direction:column;
  align-items:center;
  justify-content:center;
  gap:8px;
  border:1px dashed #b9dcfb;
  background:linear-gradient(180deg,#eef8ff,#f8fcff);
  color:#537199;
  text-align:center;
  box-shadow:none;
}
.folk-gallery-empty-card span{
  color:#0b3c78;
  font-size:18px;
  font-weight:900;
}
.folk-gallery-empty-card small{
  max-width:210px;
  line-height:1.35;
  font-weight:800;
}
.folk-gallery-empty-card:after{
  display:none;
}
.folk-gallery-main:after{
  content:'Открыть';
  position:absolute;
  right:8px;
  bottom:8px;
  padding:5px 8px;
  border-radius:999px;
  background:rgba(9,42,87,.76);
  color:#fff;
  font-size:11px;
  font-weight:900;
}
.folk-gallery-controls{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:8px;
}
.folk-gallery-arrow{
  width:30px;
  height:30px;
  border:1px solid #cfe4f8;
  border-radius:999px;
  background:#f7fbff;
  color:#0b3c78;
  font-size:22px;
  line-height:1;
  font-weight:900;
  cursor:pointer;
}
.folk-gallery-arrow:hover{background:#e9f5ff}
.folk-gallery-count{
  min-width:44px;
  text-align:center;
  color:#537199;
  font-size:12px;
  font-weight:900;
}
.folk-gallery-dots{
  display:flex;
  justify-content:center;
  gap:6px;
}
.folk-gallery-dot{
  width:22px;
  height:6px;
  padding:0;
  border:0;
  border-radius:999px;
  background:#cfe4f8;
  cursor:pointer;
}
.folk-gallery-dot.active{
  width:34px;
  background:#0b76df;
}
.folk-current-photos:not([hidden]){
  display:grid;
  gap:8px;
  margin:10px 0;
  padding:12px;
  border:1px solid #d6eafa;
  border-radius:16px;
  background:#f7fbff;
}
.folk-current-photos>b{
  color:#092a57;
}
.folk-current-photos small{
  color:#537199;
  font-weight:700;
}
.folk-modal-photos-empty{
  padding:14px;
  border:1px dashed #b9dcfb;
  border-radius:14px;
  background:#fff;
  color:#537199;
  font-weight:800;
  line-height:1.35;
}
.folk-main-photo-pick{
  display:grid;
  grid-template-columns:repeat(auto-fit,minmax(92px,1fr));
  gap:8px;
}
.folk-main-photo-option{
  position:relative;
  min-width:0;
  margin:0;
  padding:4px;
  border:1px solid #d6eafa;
  border-radius:14px;
  background:#fff;
  color:#0b3c78;
  cursor:pointer;
}
.folk-main-photo-option img{
  width:100%;
  height:72px;
  display:block;
  object-fit:cover;
  border-radius:10px;
}
.folk-main-photo-option span{
  display:block;
  padding:5px 2px 2px;
  font-size:11px;
  font-weight:900;
  text-align:center;
}
.folk-main-photo-option.active{
  border-color:#0b76df;
  box-shadow:0 0 0 3px rgba(11,118,223,.14);
}
.folk-main-photo-option.active span{
  color:#0b76df;
}
.folk-public-photo-viewer[hidden]{display:none!important}
.folk-public-photo-viewer{
  position:fixed;
  inset:0;
  z-index:7000;
  display:flex;
  align-items:center;
  justify-content:center;
  padding:24px;
}
.folk-public-photo-viewer-backdrop{
  position:absolute;
  inset:0;
  background:rgba(7,24,44,.78);
  backdrop-filter:blur(3px);
}
.folk-public-photo-viewer-box{
  position:relative;
  z-index:1;
  display:flex;
  align-items:center;
  justify-content:center;
  width:min(980px,96vw);
  height:min(760px,90vh);
  border-radius:22px;
  background:#07182c;
  box-shadow:0 24px 70px rgba(0,0,0,.38);
  overflow:hidden;
}
.folk-public-photo-viewer-box img{
  max-width:100%;
  max-height:100%;
  object-fit:contain;
}
.folk-viewer-close,
.folk-viewer-nav{
  position:absolute;
  z-index:2;
  border:1px solid rgba(255,255,255,.22);
  background:rgba(255,255,255,.9);
  color:#0b3c78;
  font-weight:900;
  cursor:pointer;
}
.folk-viewer-close{
  right:14px;
  top:14px;
  width:40px;
  height:40px;
  border-radius:999px;
  font-size:26px;
  line-height:1;
}
.folk-viewer-nav{
  top:50%;
  width:44px;
  height:54px;
  transform:translateY(-50%);
  border-radius:16px;
  font-size:34px;
  line-height:1;
}
.folk-viewer-nav.prev{left:14px}
.folk-viewer-nav.next{right:14px}
.folk-viewer-counter{
  position:absolute;
  left:50%;
  bottom:14px;
  transform:translateX(-50%);
  padding:7px 12px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#0b3c78;
  font-size:12px;
  font-weight:900;
}
@media(max-width:620px){
  .folk-map-form:not([hidden]){
    width:calc(100vw - 16px);
    max-height:94vh;
    padding:18px 14px;
    border-radius:20px;
  }
  .folk-map-form:not([hidden]) .folk-form-grid,
  .folk-map-form:not([hidden]) .folk-map-coords{
    grid-template-columns:1fr;
  }
  .folk-map-canvas-wrap .folk-map-toolbar,
  .folk-map-canvas-wrap .folk-map-filter{
    grid-template-columns:1fr;
  }
  .folk-map-canvas-wrap .folk-map-legend{
    max-height:none;
  }
  .folk-map-canvas-wrap .folk-add-point-toggle{
    width:100%;
  }
  .folk-map-popup-shell .leaflet-popup-content{
    width:min(320px, calc(100vw - 54px))!important;
    margin:15px 16px;
  }
  .folk-map-popup{
    grid-template-columns:1fr;
  }
  .folk-map-popup .folk-popup-gallery{
    grid-column:1;
    grid-row:auto;
  }
  .folk-map-popup .folk-popup-info{
    grid-column:1;
  }
  .folk-gallery-main{
    aspect-ratio:16/10;
  }
  .folk-public-photo-viewer{
    padding:10px;
  }
  .folk-public-photo-viewer-box{
    height:86vh;
    border-radius:18px;
  }
}

/* BALYK04 Codex - public home side widgets */
.home-public-widgets{
  display:none;
  grid-template-columns:1.15fr .85fr;
  gap:14px;
  margin:0 0 18px;
}
.home-side-widget{
  position:static;
  width:auto;
  padding:16px;
  border:1px solid #d6eafa;
  border-radius:18px;
  background:rgba(255,255,255,.86);
  box-shadow:0 16px 36px rgba(30,96,160,.10);
  backdrop-filter:blur(12px);
}
.home-side-widget>span{
  display:inline-flex;
  margin-bottom:8px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef8ff;
  color:#0b76df;
  font-size:12px;
  font-weight:900;
}
.home-side-widget h2{
  margin:0 0 10px;
  color:#092a57;
  font-size:19px;
  line-height:1.18;
}
.home-side-widget ul{
  display:grid;
  gap:9px;
  margin:0;
  padding:0;
  list-style:none;
}
.home-side-widget li{
  padding:10px;
  border:1px solid #e2f0fb;
  border-radius:14px;
  background:#fff;
}
.home-side-widget li b,
.home-angler-card b{
  display:block;
  color:#092a57;
  font-weight:900;
}
.home-side-widget small,
.home-side-widget li small{
  display:block;
  margin-top:4px;
  color:#537199;
  font-size:12px;
  line-height:1.35;
  font-weight:700;
}
.home-angler-card{
  display:grid;
  gap:8px;
  padding:10px;
  border:1px solid #e2f0fb;
  border-radius:14px;
  background:#fff;
}
.home-angler-card img{
  width:100%;
  height:118px;
  object-fit:contain;
  border-radius:12px;
  background:#f4f9ff;
}
.home-angler-rank{
  display:flex;
  justify-content:space-between;
  gap:8px;
  margin-top:8px;
  padding:9px 10px;
  border-radius:12px;
  background:#f5fbff;
  color:#0b3c78;
  font-size:12px;
  font-weight:900;
}
.home-angler-rank em{
  color:#537199;
  font-style:normal;
}
@media(max-width:900px){
  .home-public-widgets{grid-template-columns:1fr}
}

/* BALYK04 Codex - central home cards and weather fishing summary */
.feature-row{
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-auto-rows:minmax(98px,auto);
  align-items:stretch;
}
.feature-row>.feature-card{
  grid-column:span 3;
}
.home-info-card{
  background:linear-gradient(135deg,#ffffff 0%,#eef8ff 100%);
}
.home-trophy-card{
  grid-column:span 6;
  grid-row:span 2;
  display:grid;
  grid-template-columns:1fr;
  gap:12px;
  min-height:210px;
  align-content:stretch;
  background:linear-gradient(135deg,#ffffff 0%,#f4fbf2 100%);
}
.home-trophy-media{
  position:relative;
  min-height:118px;
  border:1px solid #dcecfb;
  border-radius:14px;
  overflow:hidden;
  background:#f4f9ff;
}
.home-trophy-media img{
  width:100%;
  height:100%;
  min-height:118px;
  object-fit:contain;
  display:block;
}
.home-trophy-media span{
  position:absolute;
  left:10px;
  bottom:10px;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.9);
  color:#0b3c78;
  font-size:12px;
  font-weight:900;
}
.home-trophy-card .feature-text{
  display:flex;
  flex-direction:column;
  min-height:0;
}
.home-trophy-card .feature-text b{
  font-size:20px;
  min-height:0;
}
.home-trophy-card .feature-text small{
  min-height:0;
  font-size:13px;
}
.weather-map-layers,
.fish-bite-model{
  margin-top:18px;
  padding:16px;
  border:1px solid #d6eafa;
  border-radius:20px;
  background:rgba(255,255,255,.82);
}
.weather-layer-head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:14px;
  margin-bottom:12px;
}
.weather-layer-head h3{
  margin:0;
  color:#092a57;
  font-size:22px;
}
.weather-layer-head p{
  margin:2px 0 0;
  color:#587493;
  font-weight:700;
  line-height:1.4;
  max-width:620px;
}
.weather-layer-tabs{
  display:flex;
  flex-wrap:wrap;
  gap:8px;
}
.weather-layer-tabs button{
  border:1px solid #cce5fa;
  border-radius:999px;
  background:#fff;
  color:#0b3c78;
  padding:9px 13px;
  font-weight:900;
  cursor:pointer;
}
.weather-layer-tabs button.active{
  background:#117ce7;
  border-color:#117ce7;
  color:#fff;
}
.weather-map-layers iframe{
  width:100%;
  height:430px;
  border:0;
  border-radius:16px;
  background:#eaf6ff;
}
.fish-bite-grid{
  display:grid;
  grid-template-columns:repeat(5,minmax(0,1fr));
  gap:10px;
}
.fish-bite-card{
  min-height:158px;
  padding:14px;
  border:1px solid #dcecfb;
  border-radius:16px;
  background:#fff;
  box-shadow:0 10px 22px rgba(30,96,160,.08);
}
.fish-bite-card div{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:8px;
}
.fish-bite-card b{
  color:#092a57;
  font-size:18px;
}
.fish-bite-card span{
  color:#6682a1;
  font-size:12px;
  font-weight:900;
  text-align:right;
}
.fish-bite-card strong{
  display:block;
  margin-top:12px;
  color:#0f7adf;
  font-size:30px;
  line-height:1;
}
.fish-bite-card em{
  display:inline-flex;
  margin-top:7px;
  padding:5px 9px;
  border-radius:999px;
  background:#eef8ff;
  color:#0b3c78;
  font-size:12px;
  font-style:normal;
  font-weight:900;
}
.fish-bite-card p{
  margin:10px 0 0;
  color:#587493;
  font-size:13px;
  line-height:1.35;
  font-weight:700;
}
.fish-bite-card.good strong{color:#159657}
.fish-bite-card.good em{background:#eaf8f0;color:#147b3f}
.fish-bite-card.bad strong{color:#b53838}
.fish-bite-card.bad em{background:#fff0f0;color:#9c2828}
.fish-bite-empty{
  grid-column:1/-1;
  padding:16px;
  border:1px dashed #b9d9f2;
  border-radius:16px;
  background:#fff;
  color:#587493;
  font-weight:900;
}
@media(max-width:1150px){
  .feature-row{grid-template-columns:repeat(2,minmax(0,1fr));grid-auto-rows:auto;}
  .feature-row>.feature-card,.home-trophy-card{grid-column:span 1;grid-row:auto;}
  .fish-bite-grid{grid-template-columns:repeat(2,minmax(0,1fr));}
}
@media(max-width:680px){
  .feature-row,.fish-bite-grid{grid-template-columns:1fr;}
  .feature-row>.feature-card,.home-trophy-card{grid-column:auto;}
  .weather-layer-head{display:block;}
  .weather-layer-tabs{margin-top:10px;}
  .weather-map-layers iframe{height:340px;}
}

/* BALYK04 Codex - approved home start layout */
.home-start-grid{
  display:grid;
  grid-template-columns:repeat(12,minmax(0,1fr));
  grid-template-areas:
    "where where where where trophy trophy trophy trophy trophy trophy trophy trophy"
    "rules rules permits permits trophy trophy trophy trophy trophy trophy trophy trophy"
    "weather weather weather weather map map map map map map map map"
    "sports sports sports sports map map map map map map map map"
    "feed feed feed feed feed feed feed feed feed feed feed feed";
  grid-template-rows:173px 173px 270px 270px auto;
  gap:14px;
  margin:0 0 22px;
  align-items:start;
}
.home-start-card,
.home-side-widget{
  min-width:0;
  border:1px solid #d6eafa;
  border-radius:18px;
  background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(244,250,255,.94) 100%);
  box-shadow:0 14px 34px rgba(30,96,160,.10);
  padding:16px;
  overflow:hidden;
}
.home-start-card h2,
.home-start-card b{
  margin:0;
  color:#092a57;
  line-height:1.14;
  font-weight:900;
}
.home-start-card h2{font-size:24px}
.home-start-card p,
.home-start-card span{
  display:block;
  margin-top:9px;
  color:#557195;
  font-size:14px;
  line-height:1.36;
  font-weight:700;
}
.home-start-card a,
.home-start-card em{
  color:#0f7adf;
  font-style:normal;
  font-weight:900;
}
.home-where-card{
  grid-area:where;
  display:flex;
  flex-direction:column;
  justify-content:flex-start;
  gap:5px;
  height:173px;
  min-height:173px;
  padding:10px;
}
.home-where-card h2{font-size:20px}
.home-where-card p{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:4px;
  font-size:11px;
  line-height:1.2;
}
.home-where-mini{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.home-where-mini span{
  display:flex;
  align-items:center;
  justify-content:center;
  gap:5px;
  margin:0;
  padding:5px 6px;
  border:1px solid #d6eafa;
  border-radius:13px;
  background:rgba(255,255,255,.72);
  color:#537199;
  font-size:10px;
  line-height:1.1;
  text-align:center;
}
.home-where-mini b{
  display:inline-block;
  flex:0 0 auto;
  color:#0f7adf;
  font-size:15px;
  line-height:1;
}
.home-where-actions{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:5px;
}
.home-where-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:25px;
  padding:4px 6px;
  border:1px solid #cce5fa;
  border-radius:13px;
  background:#fff;
  color:#0b3c78;
  text-align:center;
  font-size:11px;
  font-weight:900;
}
.home-trophy-feature{
  grid-area:trophy;
  display:grid;
  grid-template-columns:minmax(300px,.95fr) minmax(300px,1.05fr);
  gap:0;
  padding:0;
  min-height:360px;
}
.home-folk-map-feature{
  grid-area:map;
  display:flex;
  flex-direction:column;
  min-height:554px;
  padding:14px;
  align-self:stretch;
}
.home-rules-card,
.home-permits-card{
  align-self:start;
  height:173px;
  min-height:173px;
  padding:14px;
}
.home-folk-map-feature .map-panel-head{
  flex:0 0 auto;
  margin-bottom:8px;
}
.home-folk-map-feature .map-panel-head h2{
  font-size:22px;
}
.home-folk-map-feature .map-panel-head p{
  display:-webkit-box;
  -webkit-line-clamp:1;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:3px;
  font-size:12px;
  line-height:1.25;
}
.home-folk-map-feature .home-folk-map-canvas{
  flex:1 1 auto;
  min-height:425px;
  height:425px;
}
.home-folk-map-feature .home-folk-map-footer{
  flex:0 0 auto;
  display:flex;
  align-items:center;
  justify-content:space-between;
  min-height:38px;
  margin-top:8px;
  padding:8px 10px;
  font-size:12px;
  line-height:1;
}
.home-folk-map-feature .home-folk-map-footer span,
.home-folk-map-feature .home-folk-map-footer a{
  display:inline-flex;
  align-items:center;
  min-height:22px;
  margin:0;
  line-height:1;
}
.home-trophy-photo{
  position:relative;
  min-height:360px;
  border:0;
  border-right:1px solid #dcecfb;
  border-radius:0;
  background:linear-gradient(135deg,#eef8ff 0%,#f7fbff 100%);
  display:flex;
  align-items:center;
  justify-content:center;
  overflow:hidden;
}
.home-trophy-photo img{
  width:min(74%,260px);
  height:min(88%,330px);
  aspect-ratio:3/4;
  border:0;
  border-radius:0;
  background:transparent;
  object-fit:contain;
  box-shadow:none;
}
.home-trophy-photo.is-empty img{
  width:min(82%,300px);
  height:auto;
  aspect-ratio:auto;
  mix-blend-mode:multiply;
  opacity:.9;
}
.home-trophy-photo.has-photo img{
  object-fit:cover;
}
.home-trophy-photo span{
  position:absolute;
  left:10px;
  bottom:10px;
  margin:0;
  padding:6px 9px;
  border-radius:999px;
  background:rgba(255,255,255,.92);
  color:#0b3c78;
  font-size:12px;
  font-weight:900;
}
.home-trophy-copy{
  display:flex;
  flex-direction:column;
  min-width:0;
  padding:24px 26px 22px;
}
.home-trophy-copy small{
  align-self:flex-start;
  margin-bottom:9px;
  padding:6px 10px;
  border-radius:999px;
  background:#eaf6ff;
  color:#0b66bd;
  font-size:12px;
  font-weight:900;
}
.home-trophy-copy h2{
  font-size:30px;
}
.home-trophy-copy>a{
  margin-top:auto;
  display:inline-block;
  padding-top:12px;
}
.home-trophy-ranks{
  display:grid;
  grid-template-columns:1fr;
  gap:8px;
  margin-top:14px;
}
.home-trophy-ranks span{
  display:flex;
  justify-content:space-between;
  gap:10px;
  margin:0;
  padding:9px 10px;
  border:1px solid #dcecfb;
  border-radius:12px;
  background:#fff;
}
.home-trophy-ranks b{
  font-size:13px;
}
.home-trophy-ranks em{
  color:#557195;
  font-size:12px;
}
.home-small-card,
.home-updates-card{
  min-height:108px;
  display:flex;
  flex-direction:column;
}
.home-rules-card{grid-area:rules}
.home-permits-card{grid-area:permits}
.home-weather-feature{
  grid-area:weather;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  height:270px;
  min-height:270px;
  padding:10px 12px 12px;
}
.home-weather-feature h2{
  font-size:23px;
}
.home-sport-events-card{
  grid-area:sports;
  align-self:stretch;
  display:flex;
  flex-direction:column;
  height:270px;
  min-height:270px;
  padding:14px;
}
.home-feed-feature{
  grid-area:feed;
  align-self:start;
}
.home-small-card em,
.home-small-card>a,
.home-updates-card em{
  display:block;
  margin-top:auto;
  padding-top:11px;
  font-size:13px;
}
.home-weather-feature .weather-main{
  display:flex;
  align-items:center;
  gap:10px;
  margin:2px 0 3px;
}
.home-weather-feature .weather-icon{
  font-size:30px;
  line-height:1;
}
.home-weather-feature .temp{
  color:#092a57;
  font-size:34px;
  line-height:1;
  font-weight:900;
}
.home-weather-feature [data-weather-summary]{
  display:block;
  overflow:hidden;
  white-space:nowrap;
  text-overflow:ellipsis;
  font-size:12px;
  line-height:16px;
  min-height:16px;
  margin-top:2px;
}
.home-weather-feature .weather-stats{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:5px;
  margin-top:6px;
}
.home-weather-feature .weather-stats span{
  display:flex;
  flex-direction:column;
  align-items:flex-start;
  justify-content:center;
  margin:0;
  padding:6px 6px;
  border:1px solid #dcecfb;
  border-radius:12px;
  background:#fff;
}
.home-weather-feature .weather-stats b{
  display:block;
  font-size:14px;
}
.home-weather-feature .weather-stats small{
  display:block;
  margin-top:2px;
  color:#587493;
  font-size:10px;
  font-weight:800;
  line-height:1.15;
  text-align:left;
}
.home-weather-feature .weather-bite{
  margin-top:6px;
  padding:7px 9px;
  border:1px solid #d6eafa;
  border-radius:12px;
  background:#eef8ff;
  color:#092a57;
  font-weight:900;
  font-size:13px;
}
.home-weather-feature>a{
  display:block;
  margin-top:8px;
  padding-top:0;
  padding-bottom:0;
  font-size:12px;
}
.home-sport-events-card p{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin-top:7px;
  font-size:12px;
  line-height:1.3;
}
.home-sport-meta{
  display:grid;
  grid-template-columns:1fr;
  gap:6px;
  margin-top:9px;
}
.home-sport-meta span{
  margin:0;
  padding:7px 9px;
  border:1px solid #dcecfb;
  border-radius:12px;
  background:#fff;
  color:#557195;
  font-size:12px;
  line-height:1.25;
}
.home-sport-meta b{
  display:block;
  margin-bottom:2px;
  font-size:12px;
}
.home-sport-actions{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:auto;
  padding-top:9px;
}
.home-sport-actions a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:32px;
  padding:7px 8px;
  border:1px solid #cce5fa;
  border-radius:12px;
  background:#fff;
  color:#0b3c78;
  text-align:center;
  font-size:12px;
  font-weight:900;
}
.home-sport-actions a:first-child{
  background:#0f83ee;
  border-color:#0f83ee;
  color:#fff;
}
.home-folk-map-feature .leaflet-bar.leaflet-control-zoom,
.home-folk-map-feature .leaflet-control-zoom{
  display:grid;
  gap:8px;
  overflow:visible!important;
  border:0!important;
  background:transparent!important;
  box-shadow:none!important;
}
.home-folk-map-feature .leaflet-control-zoom a{
  box-sizing:border-box!important;
  display:flex!important;
  align-items:center!important;
  justify-content:center!important;
  width:36px!important;
  height:36px!important;
  padding:0 0 2px!important;
  border:1px solid #bfe1fb!important;
  border-radius:14px!important;
  background:#fff!important;
  color:#092a57!important;
  box-shadow:0 10px 22px rgba(30,96,160,.18);
  font:900 20px/1 Arial,sans-serif!important;
  text-align:center!important;
  text-decoration:none!important;
  text-indent:0!important;
  transition:background .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease;
}
.home-folk-map-feature .leaflet-control-zoom a:hover{
  background:#0f83ee!important;
  color:#fff!important;
  border-color:#0f83ee!important;
  box-shadow:0 12px 26px rgba(15,131,238,.24);
  transform:translateY(-1px);
}
.home-folk-map-feature .leaflet-control-zoom-in,
.home-folk-map-feature .leaflet-control-zoom-out{
  margin:0!important;
  border-bottom:1px solid #bfe1fb!important;
}
.home-folk-map-feature .leaflet-control-attribution{
  right:10px;
  bottom:8px;
  padding:3px 7px!important;
  border:1px solid rgba(204,229,250,.82);
  border-radius:10px;
  background:rgba(255,255,255,.86)!important;
  color:#456487;
  box-shadow:0 6px 16px rgba(30,96,160,.10);
  font-size:10px;
  line-height:1.25;
  white-space:nowrap;
}
.home-folk-map-feature .leaflet-control-attribution a{
  color:#0b6fcf;
  font-weight:800;
  text-decoration:none;
}
.home-feed-feature .news-grid-horizontal{
  display:grid;
  grid-template-columns:repeat(4,minmax(0,1fr));
  gap:12px;
  margin-top:12px;
}
.home-feed-feature .news-grid-horizontal article{
  display:flex;
  flex-direction:column;
  gap:8px;
  min-height:0;
  padding:14px;
  border:1px solid #dcecfb;
  border-radius:14px;
  background:#fff;
  box-shadow:none;
}
.home-feed-feature .news-grid-horizontal article>div{
  display:flex;
  flex-direction:column;
  gap:7px;
  min-width:0;
}
.home-feed-feature .news-grid-horizontal img{
  display:none;
}
.home-feed-feature .news-grid-horizontal i{
  display:none;
}
.home-feed-feature .news-grid-horizontal span{
  display:inline-flex;
  align-self:flex-start;
  margin:0;
  padding:5px 9px;
  border-radius:999px;
  background:#eaf6ff;
  color:#0f7adf;
  font-size:11px;
  line-height:1;
  font-weight:900;
  text-transform:none;
}
.home-feed-feature .news-grid-horizontal h3{
  display:-webkit-box;
  -webkit-line-clamp:2;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
  color:#092a57;
  font-size:16px;
  line-height:1.18;
  font-weight:900;
}
.home-feed-feature .news-grid-horizontal p{
  margin:0;
  color:#557195;
  font-size:13px;
  line-height:1.35;
}
.home-app-links{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:7px;
  margin-top:auto;
  padding-top:4px;
}
.home-app-links a{
  display:flex;
  align-items:center;
  justify-content:center;
  min-height:30px;
  padding:7px 8px;
  border:1px solid #cce5fa;
  border-radius:12px;
  background:#fff;
  color:#0b3c78;
  font-size:12px;
  font-weight:900;
}
.home-app-links a:first-child{
  background:#0f83ee;
  border-color:#0f83ee;
  color:#fff;
}
.portal-card-link{
  display:inline-flex;
  align-items:center;
  justify-content:center;
  align-self:flex-start;
  min-height:30px;
  margin-top:auto;
  padding:7px 12px;
  border:1px solid #cce5fa;
  border-radius:12px;
  background:#fff;
  color:#0f7adf!important;
  font-size:12px;
  font-weight:900;
}
.portal-card-link:hover{
  background:#0f83ee;
  border-color:#0f83ee;
  color:#fff!important;
}
.portal-feedback-module{
  margin-top:24px;
  padding:18px;
  border:1px solid #d6eafa;
  border-radius:20px;
  background:linear-gradient(135deg,rgba(255,255,255,.96) 0%,rgba(244,250,255,.94) 100%);
  box-shadow:0 14px 34px rgba(30,96,160,.10);
}
.portal-feedback-module h2{
  margin:0 0 8px;
  color:#092a57;
}
.portal-feedback-module p{
  margin:0 0 14px;
  color:#557195;
  font-weight:700;
  line-height:1.45;
}
.portal-feedback-form{
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:12px;
}
.portal-feedback-form label{
  display:flex;
  flex-direction:column;
  gap:6px;
  color:#092a57;
  font-weight:900;
}
.portal-feedback-form input,
.portal-feedback-form textarea{
  width:100%;
  border:1px solid #cce5fa;
  border-radius:14px;
  background:#fff;
  color:#092a57;
  padding:12px 14px;
  font:700 14px/1.35 inherit;
  outline:none;
}
.portal-feedback-form textarea{
  min-height:128px;
  resize:vertical;
}
.portal-feedback-wide,
.portal-feedback-form button{
  grid-column:1/-1;
}
.portal-feedback-status{
  margin:0 0 12px;
  padding:10px 12px;
  border-radius:14px;
  font-weight:900;
}
.portal-feedback-status.ok{
  border:1px solid #bfe8d1;
  background:#eefaf3;
  color:#147b3f;
}
.portal-feedback-status.bad{
  border:1px solid #ffd0d0;
  background:#fff2f2;
  color:#9c2828;
}
.home-wrap{
  padding-bottom:10px;
}
.home-start-grid{
  margin-bottom:8px;
}
@media(max-width:1150px){
  .home-start-grid{
    grid-template-columns:repeat(2,minmax(0,1fr));
    grid-template-areas:
      "where trophy"
      "rules trophy"
      "permits trophy"
      "weather map"
      "sports map"
      "feed feed";
    grid-template-rows:auto;
    grid-auto-rows:auto;
  }
  .home-trophy-feature{grid-template-columns:1fr}
  .home-feed-feature .news-grid-horizontal{grid-template-columns:repeat(2,minmax(0,1fr))}
}
@media(max-width:1040px){
  .home-start-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "trophy"
      "where"
      "rules"
      "permits"
      "weather"
      "sports"
      "map"
      "feed";
    grid-template-rows:auto;
    gap:12px;
  }
  .home-where-card,
  .home-rules-card,
  .home-permits-card,
  .home-weather-feature,
  .home-sport-events-card{
    height:auto;
    min-height:0;
  }
  .home-folk-map-feature{
    min-height:0;
  }
  .home-folk-map-feature .home-folk-map-canvas{
    height:360px;
    min-height:360px;
  }
  .home-feed-feature .news-grid-horizontal{
    grid-template-columns:1fr;
  }
  .home-feed-feature .news-grid-horizontal article{
    min-height:0;
  }
}
@media(max-width:640px){
  .home-start-grid{
    grid-template-columns:1fr;
    grid-template-areas:
      "where"
      "trophy"
      "map"
      "rules"
      "weather"
      "sports"
      "permits"
      "feed";
    grid-template-rows:auto;
  }
  .home-where-actions{grid-template-columns:1fr}
  .home-feed-feature .news-grid-horizontal{grid-template-columns:1fr}
  .home-feed-feature{
    padding:14px;
  }
  .home-feed-feature .news-grid-horizontal article{
    padding:12px;
  }
  .portal-feedback-form{
    grid-template-columns:1fr;
  }
  .home-start-card h2{font-size:22px}
  .home-trophy-copy h2{font-size:24px}
}

/* BALYK04 Codex - home rhythm corrections */
.home-ban-compact.ban-countdown-card.ban-countdown-card-v78{
  margin:0 0 16px!important;
  padding:12px 14px!important;
  border-radius:18px!important;
}
.home-ban-compact .ban-countdown-title{
  font-size:20px!important;
  margin:0 0 9px!important;
}
.home-ban-compact .ban-countdown-inner{
  grid-template-columns:74px minmax(180px,1fr) auto minmax(210px,1fr) 74px!important;
  gap:10px!important;
}
.home-ban-compact .ban-side-img{
  display:block!important;
  width:74px!important;
  height:74px!important;
  min-width:74px!important;
  max-width:74px!important;
  max-height:74px!important;
  border-radius:14px!important;
}
.home-ban-compact .ban-countdown-copy span{
  min-height:0!important;
  padding:8px 11px!important;
  font-size:12px!important;
}
.home-ban-compact .ban-countdown-timer div{
  min-width:50px!important;
  padding:7px 7px!important;
}
.home-ban-compact .ban-countdown-timer b{
  font-size:23px!important;
}
.home-ban-compact .ban-rule-row{
  padding:7px 9px!important;
  font-size:12px!important;
}
.home-ban-compact .ban-countdown-link{
  margin-top:9px!important;
  min-height:0!important;
  padding:9px 18px!important;
}
.home-map-weather-grid{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  gap:16px;
  align-items:start;
  margin-bottom:18px;
}
.home-map-weather-grid .home-folk-map-panel,
.home-map-weather-grid .weather-panel{
  min-height:0;
}
.home-map-weather-grid .weather-panel{
  display:flex;
  flex-direction:column;
  align-self:start;
  padding:16px;
}
.home-map-weather-grid .weather-panel .weather-main{
  margin-top:0;
  margin-bottom:6px;
}
.home-map-weather-grid .weather-panel .weather-stats{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
}
.home-map-weather-grid .weather-panel .weather-bite{
  margin-top:10px;
}
.home-map-weather-grid .weather-panel>a{
  margin-top:14px;
}
.home-secondary-grid.dashboard-v274{
  display:grid;
  grid-template-columns:minmax(0,1.35fr) minmax(280px,.65fr);
  grid-template-rows:auto!important;
  gap:16px;
  align-items:start!important;
  margin-bottom:0;
}
.home-secondary-grid .portal-feed-panel{
  grid-column:1;
  grid-row:1!important;
}
.home-secondary-grid .water-guide-panel{
  grid-column:2;
  grid-row:1!important;
}
.home-secondary-grid .news-grid-horizontal{
  grid-template-columns:repeat(3,minmax(0,1fr));
}
.home-secondary-grid .news-grid-horizontal article{
  grid-template-columns:42px minmax(0,1fr);
  min-height:118px;
  padding:12px;
  align-items:start;
}
.home-secondary-grid .news-grid-horizontal img{display:none}
.home-secondary-grid .news-grid-horizontal i{
  display:flex;
  align-items:center;
  justify-content:center;
  width:42px;
  height:42px;
  border-radius:14px;
  background:#eaf6ff;
  color:#0f7adf;
  font-style:normal;
  font-size:13px;
  font-weight:900;
}
.home-secondary-grid .news-grid-horizontal h3{
  font-size:16px;
  line-height:1.18;
  margin:7px 0 5px;
}
.home-secondary-grid .news-grid-horizontal p{
  display:-webkit-box;
  -webkit-line-clamp:3;
  -webkit-box-orient:vertical;
  overflow:hidden;
  margin:0;
  font-size:13px;
  line-height:1.35;
}
@media(max-width:980px){
  .home-ban-compact .ban-countdown-inner,
  .home-map-weather-grid,
  .home-secondary-grid.dashboard-v274{
    grid-template-columns:1fr!important;
  }
  .home-secondary-grid .portal-feed-panel,
  .home-secondary-grid .water-guide-panel{
    grid-column:auto;
  }
  .home-secondary-grid .news-grid-horizontal{
    grid-template-columns:1fr;
  }
}
