/* LEUKEMIA.WORLD — wave 2 feature pages (food database, know your body, country guide). 2026-10-07 */
.w2-page{min-width:0}
.w2-head .lead{max-width:62ch}
.w2-badges{margin:10px 0 0}
.w2-badge{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;font-weight:650;line-height:1.25;padding:4px 10px;border-radius:999px;border:1px solid;letter-spacing:.01em}
.w2-badge::before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor;flex-shrink:0}
.sb-ok{color:var(--teal);border-color:rgba(94,196,186,.4);background:var(--teal-soft)}
.sb-care{color:var(--gold);border-color:rgba(241,201,142,.4);background:var(--gold-soft)}
.sb-avoid{color:#ff9a94;border-color:rgba(255,123,116,.42);background:var(--accent-soft)}
.w2-sec h2{scroll-margin-top:90px}
.w2-page .note{font-size:14px;color:var(--muted)}

/* country picker */
.w2-cpick{display:flex;flex-wrap:wrap;gap:8px;margin:22px 0 4px}
.w2-cpick a{display:inline-flex;align-items:center;gap:6px;padding:7px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);font-size:14px;background:rgba(255,255,255,.03);transition:border-color .2s,background .2s}
.w2-cpick a small{color:var(--faint);font-size:12px}
.w2-cpick a:hover{text-decoration:none;border-color:rgba(94,196,186,.6)}
.w2-cpick a[aria-current="page"]{border-color:var(--teal);background:var(--teal-soft)}

/* filters */
.w2-filters{margin:18px 0 8px}
.w2-filters fieldset{margin:0;padding:16px 18px;border-radius:var(--radius-sm);border:1px solid var(--line);background:rgba(255,255,255,.025);min-width:0}
.w2-filters legend{padding:0 6px;font-weight:700;font-size:14px;color:var(--muted);letter-spacing:.02em}
.w2-frow{display:grid;grid-template-columns:repeat(auto-fit,minmax(190px,1fr));gap:12px}
.w2-frow label{display:flex;flex-direction:column;gap:5px;font-size:13.5px;color:var(--muted);min-width:0}
.w2-frow select{width:100%;min-width:0;height:42px;border-radius:10px;border:1px solid var(--line-2);background:var(--surface);color:var(--text);font:15px var(--font);padding:0 10px}
.w2-frow select:focus-visible{outline:2px solid var(--teal);outline-offset:2px}
.w2-check{display:flex;gap:10px;align-items:flex-start;margin:12px 0 6px;font-size:14px;color:var(--muted);cursor:pointer}
.w2-check input{margin-top:3px;width:18px;height:18px;accent-color:var(--teal);flex-shrink:0}
.w2-abroad{margin-top:12px;border-radius:var(--radius-sm);border:1px solid rgba(241,201,142,.28);background:linear-gradient(160deg,rgba(241,201,142,.07),rgba(16,35,64,.4));padding:0 16px}
.w2-abroad summary{display:flex;align-items:center;gap:10px;min-height:48px;cursor:pointer;font-weight:650;list-style:none}
.w2-abroad summary::-webkit-details-marker{display:none}
.w2-abroad summary::after{content:"+";margin-left:auto;color:var(--gold);font-size:20px;line-height:1}
.w2-abroad[open] summary::after{content:"–"}
.w2-abroad summary svg{width:20px;height:20px;color:var(--gold);flex-shrink:0}
.w2-abroad[open]{padding-bottom:16px}
.w2-scn{margin-top:14px;padding:16px;border-radius:12px;background:rgba(10,22,40,.55);border:1px solid var(--line)}
.w2-scn h3{margin:0 0 6px;font-family:var(--serif);font-size:19px;line-height:1.3}
.w2-scn h4{margin:14px 0 6px;font-size:14px;color:var(--gold);letter-spacing:.02em}
.w2-scn p{margin:0;font-size:14.5px}
.w2-count{margin:16px 0 10px;color:var(--muted);font-size:14px}

/* dish grid */
.w2-grid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px}
.w2-grid-sm{grid-template-columns:repeat(auto-fill,minmax(180px,1fr))}
.w2-dish a{display:flex;flex-direction:column;height:100%;border-radius:14px;overflow:hidden;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);transition:border-color .25s,transform .25s var(--ease)}
.w2-dish a:hover{text-decoration:none;border-color:rgba(94,196,186,.5);transform:translateY(-2px)}
.w2-thumb{position:relative;display:block;aspect-ratio:16/9;background:#0a1628;overflow:hidden}
.w2-thumb svg,.w2-thumb .w2-photo{width:100%;height:100%;display:block;object-fit:cover}
.w2-thumb-badge{position:absolute;left:8px;bottom:8px;z-index:1;pointer-events:none;filter:drop-shadow(0 2px 6px rgba(0,0,0,.55));max-width:calc(100% - 16px)}
.w2-thumb-badge .w2-badge{margin:0;max-width:100%;white-space:normal;backdrop-filter:blur(6px);background:rgba(10,22,40,.78)}
@media (max-width:560px){
  /* mobile cards are row layout with a small square thumb — keep the readable badge in .w2-dt */
  .w2-thumb-badge{display:none}
}
.w2-dt{display:flex;flex-direction:column;gap:6px;padding:12px 14px 14px;min-width:0;align-items:flex-start}
.w2-dt small{color:var(--faint);font-size:12px;letter-spacing:.06em;text-transform:uppercase}
.w2-dt b{font-size:15.5px;line-height:1.3;font-weight:650;overflow-wrap:anywhere}
.w2-cnote{display:inline-flex;align-items:center;gap:6px;font-size:12.5px;color:#f3e2c4}
.w2-cnote svg{width:15px;height:15px;color:var(--gold)}
.w2-art{display:block;width:100%;height:auto;stroke:none}
.w2-fig{border-radius:16px;background:#06101f;border:1px solid rgba(94,196,186,.22);box-shadow:0 18px 40px -22px rgba(0,0,0,.65),0 0 0 1px rgba(10,22,40,.4)}
.w2-fig svg,.w2-fig .w2-photo-hero{aspect-ratio:16/9;width:100%;height:auto;display:block;object-fit:cover}
.w2-photo-hero{border-radius:0}
.w2-fig figcaption{padding:10px 16px;font-size:13px;color:var(--faint)}

/* dish page */
.w2-ing{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.w2-ing li{padding:6px 12px;border-radius:999px;background:rgba(255,255,255,.04);border:1px solid var(--line);font-size:14.5px}
.w2-list{margin:10px 0 0;padding-left:20px}
.w2-list li{margin:6px 0}
.w2-two{display:grid;grid-template-columns:1fr 1fr;gap:12px;margin-top:8px}
.w2-two .w2-sec{margin:0}
.w2-two .w2-sec h2{font-size:19px;margin-top:0}
@media (max-width:700px){.w2-two{grid-template-columns:1fr}}
.w2-phases{list-style:none;margin:0;padding:0;display:grid;gap:8px}
.w2-phases li{display:flex;align-items:center;gap:12px;padding:10px 14px;border-radius:12px;border:1px solid var(--line);background:rgba(255,255,255,.02)}
.w2-phases li span:nth-child(2){display:flex;flex-direction:column;min-width:0;flex:1}
.w2-phases small{color:var(--muted);font-size:13px}
.w2-ph-dot{width:10px;height:10px;border-radius:50%;flex-shrink:0;background:var(--faint)}
.w2-phases .is-on .w2-ph-dot{background:var(--teal);box-shadow:0 0 0 4px var(--teal-soft)}
.w2-phases .is-off{opacity:.7}
.w2-phases .is-off .w2-ph-dot{background:transparent;border:2px solid #ff9a94}
.w2-ph-st{font-size:12.5px;color:var(--muted);text-align:right;flex-shrink:0;max-width:40%}
.w2-phases .is-on .w2-ph-st{color:var(--teal)}
.w2-nut{width:100%;border-collapse:collapse;font-size:15px}
.w2-nut th,.w2-nut td{padding:9px 14px;border-bottom:1px solid var(--line);text-align:left}
.w2-nut td{text-align:right;font-variant-numeric:tabular-nums}
.w2-nut tr:last-child th,.w2-nut tr:last-child td{border-bottom:0}
.w2-chips{list-style:none;margin:0 0 12px;padding:0;display:flex;flex-wrap:wrap;gap:8px}
.w2-chips a{display:inline-block;padding:6px 12px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);font-size:14px;background:rgba(255,255,255,.03)}
.w2-chips a:hover{text-decoration:none;border-color:var(--teal)}
.w2-gl{display:flex;flex-wrap:wrap;gap:8px;margin:12px 0 0}
.w2-gl a{padding:5px 11px;border-radius:8px;border:1px dashed rgba(241,201,142,.45);color:var(--gold);font-size:14px}
.w2-gl a:hover{text-decoration:none;background:var(--gold-soft)}

/* know your body */
.w2-body{display:grid;grid-template-columns:minmax(0,340px) minmax(0,1fr);gap:26px;margin:26px 0 10px;align-items:start}
.w2-body-fig{position:sticky;top:84px;padding:14px;border-radius:var(--radius);border:1px solid var(--line);background:radial-gradient(120% 80% at 50% 20%,rgba(94,196,186,.08),rgba(10,22,40,.7))}
.w2-body-svg{display:block;width:100%;height:auto;max-height:72vh;stroke:none;overflow:visible}
.w2-org{cursor:pointer;outline:none}
.w2-org .w2-shape{fill:rgba(94,196,186,.22);stroke:rgba(94,196,186,.75);stroke-width:1.4;transition:fill .25s,stroke .25s,opacity .25s}
.w2-org[data-org="heart"] .w2-shape{fill:rgba(224,71,76,.3);stroke:rgba(255,123,116,.85)}
.w2-org[data-org="marrow"] .w2-shape{fill:rgba(241,201,142,.22);stroke:rgba(241,201,142,.8)}
.w2-org .w2-node{fill:rgba(241,201,142,.55);stroke:rgba(241,201,142,.95)}
.w2-org .w2-dashed{stroke-dasharray:3 3}
.w2-org .w2-gutline{stroke:rgba(94,196,186,.55);stroke-width:1.2}
.w2-org .w2-vessel{transition:stroke-width .25s,stroke-opacity .25s}
.has-sel .w2-org:not(.is-on) .w2-shape{opacity:.55}
.w2-org:hover .w2-shape,.w2-org:focus-visible .w2-shape{opacity:1;stroke:#e9eff8}
.w2-org.is-on .w2-shape{opacity:1;fill:rgba(94,196,186,.5);stroke:#e9eff8;stroke-width:2;filter:url(#w2glow)}
.w2-org[data-org="heart"].is-on .w2-shape{fill:rgba(224,71,76,.6)}
.w2-org[data-org="marrow"].is-on .w2-shape,.w2-org[data-org="nodes"].is-on .w2-shape{fill:rgba(241,201,142,.6)}
.w2-org.is-on .w2-vessel,.w2-org[data-org="blood"]:hover .w2-vessel,.w2-org[data-org="blood"]:focus-visible .w2-vessel{stroke-width:4;stroke-opacity:1;filter:url(#w2glow)}
.w2-org:focus-visible .w2-shape,.w2-org:focus-visible .w2-vessel{stroke:var(--gold);stroke-width:2.4}
.w2-body-fig .note{margin:8px 4px 0;font-size:12.5px;color:var(--faint);text-align:center}
.w2-orgchips{display:flex;flex-wrap:wrap;gap:8px}
.w2-orgchips button{min-height:40px;padding:7px 13px;border-radius:999px;border:1px solid var(--line-2);background:rgba(255,255,255,.03);color:var(--text);font:600 14px var(--font);cursor:pointer;transition:border-color .2s,background .2s}
.w2-orgchips button:hover{border-color:rgba(94,196,186,.6)}
.w2-orgchips button[aria-pressed="true"]{border-color:var(--teal);background:var(--teal-soft);color:#dff6f3}
.w2-kbd{margin:10px 0 0;font-size:13px}
.w2-organ-panel{margin-top:16px;padding:20px 22px;border-radius:var(--radius);border:1px solid rgba(94,196,186,.35);background:linear-gradient(160deg,rgba(94,196,186,.09),rgba(16,35,64,.65));min-width:0}
.w2-op-head{display:flex;align-items:center;gap:12px}
.w2-op-head h2{margin:0;font-family:var(--serif);font-size:26px;line-height:1.2}
.w2-op-ico{width:44px;height:44px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);flex-shrink:0}
.w2-op-ico svg{width:22px;height:22px}
.w2-op-sec h3{margin:18px 0 4px;font-size:13px;letter-spacing:.08em;text-transform:uppercase;color:var(--gold)}
.w2-op-sec p{margin:0}
.w2-op-sec .related{margin-top:8px}
@media (max-width:860px){.w2-body{grid-template-columns:1fr}.w2-body-fig{position:static;max-width:360px;margin-inline:auto;width:100%}.w2-body-svg{max-height:60vh}}

/* country guide */
.w2-rg{margin:30px 0 12px;font-family:var(--serif);font-size:22px}
.w2-rg small{color:var(--faint);font:600 13px var(--font);margin-left:6px}
.w2-cgrid{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(230px,1fr));gap:10px}
.w2-cgrid a{display:flex;flex-direction:column;gap:4px;height:100%;padding:14px 16px;border-radius:14px;border:1px solid var(--line);background:rgba(255,255,255,.025);color:var(--text);transition:border-color .25s,transform .25s var(--ease)}
.w2-cgrid a:hover{text-decoration:none;border-color:rgba(94,196,186,.5);transform:translateY(-2px)}

.w2-cthumb{display:block;margin:-14px -16px 10px;border-radius:14px 14px 0 0;overflow:hidden;aspect-ratio:16/9;background:#0a1628}
.w2-cthumb img{display:block;width:100%;height:100%;object-fit:cover}
.w2-cgrid a{padding-top:0;overflow:hidden}
.w2-chero{margin:18px 0 22px;border-radius:16px;overflow:hidden;border:1px solid var(--line);background:#0a1628;aspect-ratio:16/9}
.w2-chero img{display:block;width:100%;height:100%;object-fit:cover}
.w2-cn{font-weight:700;font-size:16.5px}
.w2-cl{font-size:13px;color:var(--muted);line-height:1.4}
.w2-ce{display:inline-flex;align-items:center;gap:6px;margin-top:4px;font-weight:800;font-size:18px;color:#ffb3ae;font-variant-numeric:tabular-nums}
.w2-ce svg{width:16px;height:16px;color:var(--accent)}
.w2-ce small{font:500 12.5px var(--font);color:var(--muted)}
.w2-ctags{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px}
.w2-ctags i{font-style:normal;font-size:11.5px;padding:2px 8px;border-radius:999px;background:rgba(255,255,255,.05);border:1px solid var(--line);color:var(--muted)}
.w2-em ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(160px,1fr));gap:10px}
.w2-em li{display:flex;align-items:center;gap:12px;padding:12px 14px;border-radius:12px;border:1px solid rgba(255,123,116,.3);background:linear-gradient(160deg,rgba(255,123,116,.1),rgba(16,35,64,.5));min-width:0}
.w2-em-n{font-size:28px;font-weight:800;line-height:1;color:#ffd2cf;font-variant-numeric:tabular-nums;flex-shrink:0}
.w2-em-k{display:flex;flex-direction:column;font-size:14px;font-weight:600;line-height:1.3;min-width:0}
.w2-em-k small{font-weight:400;color:var(--muted);font-size:12.5px;margin-top:2px}
.w2-em-src{margin:10px 0 0;font-size:13px;color:var(--faint);overflow-wrap:anywhere}

/* entry points */
.w2-feature{display:flex;align-items:center;gap:14px;padding:14px 16px;border-radius:16px;border:1px solid rgba(94,196,186,.35);background:linear-gradient(160deg,rgba(94,196,186,.1),rgba(16,35,64,.55));color:var(--text);margin:18px 0;transition:border-color .25s,transform .25s var(--ease)}
.w2-feature:hover{text-decoration:none;border-color:var(--teal);transform:translateY(-2px)}
.w2-fi{width:42px;height:42px;border-radius:12px;display:grid;place-items:center;background:var(--teal-soft);color:var(--teal);flex-shrink:0}
.w2-fi svg{width:21px;height:21px}
.w2-ft{display:flex;flex-direction:column;gap:2px;min-width:0;flex:1}
.w2-ft b{font-size:16px;font-weight:650}
.w2-ft small{font-size:13.5px;color:var(--muted);line-height:1.4}
.w2-feature > svg:last-child{color:var(--teal);flex-shrink:0}
.w2-explore{padding-top:48px}
.w2-explore h2{font-family:var(--serif);font-size:clamp(24px,3.4vw,32px);margin:0 0 14px}
.w2-explore ul{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:12px}
.w2-explore .w2-feature{margin:0;height:100%}
.w2-sitlinks{display:flex;flex-wrap:wrap;gap:6px 16px;margin:10px 0 0;font-size:14.5px}

@media (max-width:420px){
  .w2-filters fieldset{padding:14px}
  .w2-em-n{font-size:24px}
  .w2-op-head h2{font-size:22px}
  .w2-organ-panel{padding:16px}
  .w2-ph-st{max-width:46%}
}
@media (prefers-reduced-motion:reduce){
  .w2-dish a,.w2-cgrid a,.w2-feature,.w2-org .w2-shape,.w2-org .w2-vessel,.w2-orgchips button{transition:none}
  .w2-dish a:hover,.w2-cgrid a:hover,.w2-feature:hover{transform:none}
}
@media (max-width:560px){
  .w2-grid,.w2-grid-sm{grid-template-columns:1fr;gap:8px}
  .w2-dish a{flex-direction:row;align-items:stretch}
  .w2-thumb{width:96px;min-height:96px;aspect-ratio:1/1;flex-shrink:0}
  .w2-dt{padding:10px 12px;gap:4px;justify-content:center}
  .w2-dt b{font-size:15px}
  .w2-badge{font-size:11.5px;padding:3px 8px}
}
.w2-more-wrap{margin:14px 0 0;text-align:center}
.w2-more{min-height:44px;padding:10px 20px}
/* songs page: language groups */
.sg-gnav{display:flex;flex-wrap:wrap;gap:8px;margin:26px 0 6px}
.sg-gnav a{display:inline-flex;align-items:center;gap:6px;padding:8px 14px;border-radius:999px;border:1px solid var(--line-2);color:var(--text);font-size:14.5px;background:rgba(255,255,255,.03)}
.sg-gnav a small{color:var(--faint);font-size:12px}
.sg-gnav a:hover{text-decoration:none;border-color:var(--teal)}
.sg-group{margin-top:34px;scroll-margin-top:84px}
.sg-gh{display:flex;align-items:baseline;gap:10px;flex-wrap:wrap;margin:0 0 16px;padding-bottom:10px;border-bottom:1px solid var(--line);font-family:var(--serif);font-size:clamp(22px,3.2vw,28px)}
.sg-gh small{font:600 13px var(--font);color:var(--faint);letter-spacing:.02em}
.sg-soon{color:var(--gold,#f1c98e);background:rgba(241,201,142,.1);border-color:rgba(241,201,142,.35);margin-left:6px}
.th-song-meta .sg-soon:first-child{margin-left:0}
.sg-after-note{margin:10px 0 0;font-size:13.5px;color:var(--muted)}
/* 2026-10-17 contrast (dark theme) */
html:not([data-theme=light]) .w2-body-fig .note,html:not([data-theme=light]) .w2-ce small{color:#a9b8cf}
html:not([data-theme=light]) .w2-cpick a small{color:#a9b8cf}

/* Country cities (e.g. Russia → Makhachkala, Moscow) — clickable */
.w2-cities{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:.85rem}
.w2-city,.w2-cities a.w2-city{display:grid;gap:.35rem;padding:.75rem;border-radius:14px;background:linear-gradient(160deg,rgba(18,28,52,.95),rgba(10,16,32,.98));border:1px solid rgba(255,123,132,.22);text-decoration:none;color:inherit;transition:border-color .2s,transform .2s}
a.w2-city:hover{border-color:rgba(255,123,132,.55);transform:translateY(-1px)}
.w2-city .w2-cn{font-weight:650;color:#eef2ff}
.w2-city .w2-cnote{color:#9aabca;font-size:.85rem;line-height:1.35}
.w2-city .w2-clater{color:#ff9aa3;font-size:.75rem}
/* Light theme: «Города / области» section titles readable on light bg */
html[data-theme=light] .w2-country .tsec > h2,
html[data-theme=light] .w2-countries .tsec > h2,
html[data-theme=light] .w2-page .tsec > h2{color:#0f1b33}
html[data-theme=light] .w2-city-page .lead{color:#3c4d68}
