/* Soligorsk Online · color primitives and semantic tokens v2.0 · logo palette */
:root{
 --color-neutral-0:#FFFFFF;
 --color-neutral-25:#FCFCFC;
 --color-neutral-50:#F7F7F7;
 --color-neutral-100:#EFEFEF;
 --color-neutral-200:#E0E0E0;
 --color-neutral-300:#C7C7C7;
 --color-neutral-400:#999999;
 --color-neutral-500:#737373;
 --color-neutral-600:#5C5C5C;
 --color-neutral-700:#414141;
 --color-neutral-800:#242424;
 --color-neutral-900:#171717;
 --color-blue-50:#EFF9FF;
 --color-blue-100:#DCF2FF;
 --color-blue-200:#B6E5FF;
 --color-blue-300:#78CFFF;
 --color-blue-400:#32B4FF;
 --color-blue-500:#0095ED;
 --color-blue-600:#0075D4;
 --color-blue-700:#005EB5;
 --color-blue-800:#004B91;
 --color-blue-900:#00346D;
 --color-coral-50:#FFF3F0;
 --color-coral-100:#FFE3DC;
 --color-coral-200:#FFC5BB;
 --color-coral-300:#FFA395;
 --color-coral-400:#FF8174;
 --color-coral-500:#FF665C;
 --color-coral-600:#D43F38;
 --color-coral-700:#B8302C;
 --color-coral-800:#932722;
 --color-coral-900:#70211D;
 --color-green-50:#EDF8F0;
 --color-green-100:#D7EEDD;
 --color-green-200:#B4DEC0;
 --color-green-300:#87C699;
 --color-green-400:#53A970;
 --color-green-500:#318850;
 --color-green-600:#227447;
 --color-green-700:#1C603B;
 --color-green-800:#184D32;
 --color-green-900:#143D29;
 --color-amber-50:#FFF8E7;
 --color-amber-100:#FFF0C2;
 --color-amber-200:#F8DC88;
 --color-amber-300:#F2C45B;
 --color-amber-400:#E8AB2A;
 --color-amber-500:#C58A12;
 --color-amber-600:#996609;
 --color-amber-700:#7A5108;
 --color-amber-800:#63420A;
 --color-amber-900:#50360D;
 --canvas:#FFFFFF;
 --surface:#FFFFFF;
 --surface-subtle:#F7F7F7;
 --surface-hover:#EFEFEF;
 --surface-inverse:#171717;
 --border-subtle:#E0E0E0;
 --border-control:#B5B5B5;
 --border-strong:#737373;
 --content-primary:#171717;
 --content-secondary:#5C5C5C;
 --content-tertiary:#737373;
 --content-inverse:#FFFFFF;
 --content-inverse-secondary:#EFEFEF;
 --content-disabled:#999999;
 --action-primary:#0075D4;
 --action-primary-hover:#005EB5;
 --action-primary-pressed:#004B91;
 --action-primary-content:#FFFFFF;
 --action-secondary:#0075D4;
 --action-secondary-hover:#005EB5;
 --action-soft:#EFF9FF;
 --action-link:#005EB5;
 --selected-bg:#DCF2FF;
 --selected-content:#004B91;
 --focus-ring:#0075D4;
 --success-bg:#EDF8F0;
 --success-content:#227447;
 --warning-bg:#FFF8E7;
 --warning-content:#7A5108;
 --error-bg:#FFF3F0;
 --error-content:#B63832;
 --info-bg:#EFF9FF;
 --info-content:#005EB5;
 --brand-coral:#FF8174;
 --brand-cyan:#09C8E5;
 --brand-deep-blue:#00346D;
 --editorial-jobs-bg:#DCF2FF;
 --text-primary:var(--content-primary);--text-secondary:var(--content-secondary);--text-tertiary:var(--content-tertiary);--text-link:var(--action-link);--text-positive:var(--success-content);--text-critical:var(--error-content);--text-inverse:var(--content-inverse);--text-inverse-secondary:var(--content-inverse-secondary);--text-disabled:var(--content-disabled);
 --ink:var(--content-primary);--muted:var(--content-secondary);--paper:var(--canvas);--line:var(--border-subtle);--green:var(--action-primary);--green2:var(--action-soft);
}
body{background:var(--canvas);color:var(--content-primary)}
.primary,.searchbox .primary,.telegram-cta{background:var(--action-primary);color:var(--action-primary-content)}
.primary:hover,.searchbox .primary:hover,.telegram-cta:hover{background:var(--action-primary-hover)}
.primary:active,.telegram-cta:active{background:var(--action-primary-pressed)}
.header-account,.review-submit button{background:var(--action-secondary);color:var(--content-inverse)}
.header-account:hover{background:var(--action-secondary-hover)}
.header-search,.utility,.place-details,.editorial-summary,.place-story,.menu-item{background:var(--surface-subtle)}
.header-icon,.ghost,.pill,.all-link,.category-selects select{border-color:var(--border-control);color:var(--content-secondary)}
.pill.selected,.category-flags button[aria-pressed=true],.editorial-action.on{background:var(--selected-bg);color:var(--selected-content);border-color:var(--action-primary)}
.category-row.selected{background:var(--action-soft);box-shadow:inset 3px 0 var(--action-primary)}
.rating,.row-photo .rating{background:var(--success-content);color:var(--content-inverse)}
.jobs-intro a{background:var(--success-content);color:var(--content-inverse)}
.place-offer button{background:var(--error-content);color:var(--content-inverse)}
.place-offer button:hover{background:var(--color-coral-800)}
.place-score>b{background:var(--brand-coral);color:var(--content-primary)}
.row-copy .row-open{color:var(--success-content)}
.place-tabs a:first-child{color:var(--error-content);border-color:var(--error-content)}
.telegram-banner{background:var(--info-bg)}
.telegram-cta:disabled,.telegram-cta:disabled:hover{background:var(--color-neutral-100);color:var(--content-secondary)}
.photo-fav.on,.fav.on{color:var(--error-content)}
input:focus-visible,button:focus-visible,a:focus-visible,select:focus-visible,textarea:focus-visible{outline:3px solid var(--focus-ring);outline-offset:3px}
:disabled{cursor:not-allowed}
/* Interaction contract: default → hover → pressed → selected → focus → disabled. */
:root{--control-disabled-bg:#EFEFEF;--control-disabled-text:#999;--favorite-bg:#FFF3F0;--favorite-content:#B8302C;--focus-halo:#B6E5FF;--lime:var(--brand-cyan);--orange:var(--brand-coral)}
:where(button,a,input,select,textarea){-webkit-tap-highlight-color:#0075d426}
:where(button,a){transition:background-color .16s,color .16s,border-color .16s,box-shadow .16s}
:where(button,[role=button]):not(:disabled):hover{border-color:var(--action-primary)}
:where(button,[role=button]):not(:disabled):active{box-shadow:inset 0 0 0 1px var(--action-primary-pressed)}
:where(input,textarea,select){accent-color:var(--action-primary);caret-color:var(--action-primary)}
:where(input,textarea,select):hover{border-color:var(--border-strong)}
:where(input,textarea,select):focus{border-color:var(--action-primary)}
:where(input,textarea)::placeholder{color:var(--content-tertiary);opacity:1}
:where(input,textarea,select)[aria-invalid=true]{border-color:var(--error-content);background:var(--error-bg)}
:where(button,a,input,select,textarea):focus-visible{outline:3px solid var(--focus-ring)!important;outline-offset:3px;box-shadow:0 0 0 5px white}
:where(button,input,textarea,select):disabled,[aria-disabled=true]{background:var(--control-disabled-bg)!important;color:var(--control-disabled-text)!important;border-color:var(--border-subtle)!important;box-shadow:none!important;cursor:not-allowed}
::selection{background:var(--selected-bg);color:var(--selected-content)}
.primary,.header-account,.review-submit button,.telegram-cta,.jobs-intro a{background:var(--action-primary);color:white;border-color:var(--action-primary)}
.primary:hover,.header-account:hover,.review-submit button:hover,.telegram-cta:hover,.jobs-intro a:hover{background:var(--action-primary-hover);color:white}
.primary:active,.header-account:active,.review-submit button:active,.telegram-cta:active,.jobs-intro a:active{background:var(--action-primary-pressed)}
.header-icon:hover,.ghost:hover,.pill:hover,.all-link:hover,.news-desk-tabs button:hover,.news-desk-topics button:hover{background:var(--action-soft);color:var(--action-link);border-color:var(--action-primary)}
.header-icon:active,.ghost:active,.pill:active,.all-link:active,.news-desk-tabs button:active,.news-desk-topics button:active{background:var(--selected-bg);color:var(--selected-content)}
.pill.selected,.news-desk-tabs button[aria-pressed=true],.news-desk-topics button[aria-pressed=true],.category-flags button[aria-pressed=true]{background:var(--action-primary);border-color:var(--action-primary);color:white}
.nav a.active,.nav a[aria-current=page]{background:var(--action-soft);color:var(--action-link)}
.nav a:hover{color:var(--action-primary);background:var(--action-soft)}
.nav a.active:after{background:var(--brand-coral)}
.nd-save,.photo-fav,.fav{color:var(--content-secondary)}
.nd-save:hover,.photo-fav:hover,.fav:hover{background:var(--favorite-bg);color:var(--favorite-content)}
.nd-save[aria-pressed=true],.photo-fav.on,.fav.on,.editorial-action.on{background:var(--favorite-bg);color:var(--favorite-content);border-color:var(--brand-coral)}
.nd-save[aria-pressed=true] svg{fill:var(--brand-coral)}
.nd-card:hover h2{color:var(--action-link)}
.nd-lead:hover .nd-copy h2{color:white;text-decoration:underline;text-decoration-color:var(--brand-cyan);text-underline-offset:7px;text-decoration-thickness:2px}
.nd-pagination button:hover{background:var(--action-soft);border-color:var(--action-primary);color:var(--action-link)}
.news-desk-search:focus-within{outline:2px solid var(--focus-ring)}
.news-desk-head p,.nd-copy p,.nd-meta,.nd-result-line,.nd-pagination p{color:var(--content-secondary)}
.nd-lead .nd-meta,.nd-lead .nd-meta span:first-child,.nd-lead .nd-copy p{color:#fff}
.telegram-banner{background:var(--action-soft)}
.place-offer button{background:var(--color-coral-600);color:white}
.place-offer button:hover{background:var(--color-coral-700)}
.place-offer button:active{background:var(--color-coral-800)}
@media(prefers-reduced-motion:reduce){:where(button,a){transition:none}}
