/* Owner's softer editorial design: warm header, pill controls, rounded media. */
:root{--radius-control:999px;--radius-media:16px;--header-paper:#eeeadf}
html[data-theme=dark]{--header-paper:#262b27}
.site-header{background:var(--header-paper)}
.site-header .masthead{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:22px;min-height:126px}
.site-header .header-tools{justify-self:end}
.site-header .masthead-languages{margin:0!important;justify-self:end}
.site-header .masthead:has(.masthead-dateline){grid-template-columns:minmax(0,1fr) auto auto auto}
.site-header .masthead-dateline{margin:0!important;justify-self:center;align-self:center;text-align:center;font:650 11px/1.75 var(--sans);letter-spacing:.11em;text-transform:uppercase;color:var(--muted);white-space:nowrap}
.site-header .masthead-dateline strong{display:block;font-weight:650;color:var(--ink);letter-spacing:.06em}
@media(max-width:900px){.site-header .masthead-dateline{display:none}}
.site-header .masthead-languages .polit-languages{gap:5px;padding:0;flex-wrap:nowrap}
.site-header .masthead-languages .polit-languages a{min-width:44px;min-height:44px;padding:9px 11px;text-align:center;font-size:12px;line-height:24px}
.site-header .masthead-languages .polit-languages a[aria-current]{background:var(--red);color:#fff;border-color:var(--red)}
html[data-theme=dark] .site-header .masthead-languages .polit-languages a[aria-current]{color:#171c1b}
@media(pointer:fine) and (min-width:901px){.site-header .masthead-languages .polit-languages a{min-width:36px;min-height:36px;padding:6px 9px;font-size:11px;line-height:22px}}
.site-header .lang-switch{position:relative}
.site-header .lang-switch>summary{list-style:none;cursor:pointer}
.site-header .lang-switch>summary::-webkit-details-marker{display:none}
.site-header .lang-switch>summary::marker{content:""}
.site-header .lang-switch .polit-languages{display:flex}
@media(min-width:601px){.site-header .lang-switch>summary{display:none}.site-header .lang-switch>.lang-switch-list{display:block}.site-header .lang-switch::details-content{content-visibility:visible;block-size:auto;overflow:visible}}
@media(max-width:600px){.site-header .lang-switch>summary{display:flex;align-items:center;justify-content:center;width:44px;height:44px;border-radius:999px;background:var(--red);color:#fff;font:700 12px/1 var(--sans);letter-spacing:.02em}
html[data-theme=dark] .site-header .lang-switch>summary{color:#171c1b}
.site-header .lang-switch:not([open])>.lang-switch-list{display:none}
.site-header .lang-switch[open]>.lang-switch-list{position:absolute;top:52px;right:0;padding:7px;background:var(--paper);border:1px solid var(--line);border-radius:14px;box-shadow:0 12px 34px color-mix(in srgb,var(--ink) 22%,transparent);z-index:30}
.site-header .lang-switch .polit-languages{flex-direction:column;gap:4px}
.site-header .lang-switch .polit-languages a{min-width:54px}}
.wp-site-blocks button,.wp-site-blocks input[type=submit],.wp-site-blocks input[type=button],.wp-site-blocks .wp-element-button,.wp-site-blocks .wp-block-button__link,.wp-site-blocks .polit-languages a,.wp-site-blocks .arest-tabs a,.wp-site-blocks .fresh-badge,.wp-site-blocks .hot-badge{border-radius:var(--radius-control)!important}
.wp-site-blocks textarea,.wp-site-blocks select,.wp-site-blocks input:not([type=checkbox]):not([type=radio]):not([type=submit]):not([type=button]){border-radius:12px}
.wp-site-blocks .story-image,.wp-site-blocks .article-cover,.wp-site-blocks .article-cover img,.wp-site-blocks .wp-block-image img,.wp-site-blocks .article-content img,.wp-site-blocks .polit-video-frame,.wp-site-blocks iframe,.wp-site-blocks .wp-block-embed__wrapper,.wp-site-blocks .image-lightbox,.wp-site-blocks .image-lightbox>img{border-radius:var(--radius-media)}
.wp-site-blocks .cover-zoom,.wp-site-blocks .polit-video-load{border-radius:var(--radius-media)!important}
.wp-site-blocks .story-image,.wp-site-blocks .article-cover,.wp-site-blocks .polit-video-frame{overflow:hidden}
.wp-site-blocks .arest-feature,.wp-site-blocks .login-panel,.wp-site-blocks .privacy-dialog,.wp-site-blocks .polit-update,.wp-site-blocks .polit-video-quote,.wp-site-blocks .demo-notice,.wp-site-blocks .translation-notice,.wp-site-blocks .hub-empty{border-radius:16px}
.wp-site-blocks .header-saved,.wp-site-blocks .header-login{border-radius:999px}
.wp-site-blocks .header-search .wp-block-search__inside-wrapper{border:1px solid var(--line);border-radius:999px;padding:2px 6px 2px 12px;background:var(--paper)}
.site-header .nav-shell{padding-block:0;border-top:1px solid var(--line);border-bottom:0}
.site-header .main-navigation .wp-block-navigation__responsive-container:not(.is-menu-open){display:none!important}
/* Pill rail. Sizes come from the variables below, so a sub-category rail is
   the same component with different numbers: add .category-rail--sub and
   override --pill-* on it. Do not hard-code sizes in the rules. */
.category-rail{margin:0!important;min-width:0;max-width:100%;--pill-h:44px;--pill-px:17px;--pill-py:10px;--pill-fs:12px;--pill-gap:9px;--rail-pt:15px;--rail-pb:13px;--pill-border:color-mix(in srgb,var(--ink) 30%,transparent)}
.category-rail ul{display:flex;gap:var(--pill-gap);list-style:none;padding:var(--rail-pt) 3px var(--rail-pb);margin:0;max-width:100%;overflow-x:auto;overscroll-behavior-inline:contain;scrollbar-width:thin;scrollbar-color:var(--line) transparent;scroll-snap-type:x proximity}
.category-rail li{flex:1 0 auto;scroll-snap-align:start;margin:0}
.category-rail .category-pill{display:flex;align-items:center;justify-content:center;min-height:var(--pill-h);padding:var(--pill-py) var(--pill-px);border:1px solid var(--pill-border);border-radius:999px;text-decoration:none!important;white-space:nowrap;color:var(--ink);font:600 var(--pill-fs)/1.5 var(--sans);transition:background-color .18s,border-color .18s}
.category-rail .category-pill-arest{border-color:var(--red);color:color-mix(in srgb,var(--red) 70%,var(--ink));background:color-mix(in srgb,var(--red) 8%,transparent)}
.category-rail .category-pill[aria-current]{border-color:var(--red);background:var(--red);color:var(--paper)}
.category-rail a:focus-visible{outline-offset:-4px}
.site-header .is-menu-open .wp-block-navigation-item__content{border-radius:999px}
.site-header .is-menu-open .wp-block-navigation-item{border:0}
.site-header .is-menu-open .wp-block-navigation__container{gap:8px!important}
@media(hover:hover){.category-rail .category-pill:hover{border-color:var(--red);background:color-mix(in srgb,var(--red) 10%,var(--header-paper))}.category-rail .category-pill[aria-current]:hover{background:var(--red)}.masthead-languages .polit-languages a:not([aria-current]):hover{background:var(--paper)}}
@media(max-width:700px){.category-rail ul{-webkit-mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent);mask-image:linear-gradient(to right,#000 calc(100% - 26px),transparent)}}
@media(max-width:1100px) and (min-width:901px){.site-header .masthead{gap:16px}.site-header .header-search{width:150px}}
@media(max-width:900px){.site-header .masthead{grid-template-columns:minmax(0,1fr) auto;gap:15px;min-height:112px;padding-right:54px}.site-header .header-tools{display:none}.site-header .masthead-languages{justify-self:end}.category-rail{--rail-pt:12px;--rail-pb:12px;--pill-gap:8px;--pill-px:16px}.category-rail li{flex:0 0 auto}.site-header .main-navigation .wp-block-navigation__responsive-container-open{top:73px}}
@media(max-width:600px){:root{--radius-media:14px}.site-header .masthead{grid-template-columns:1fr;gap:13px;min-height:0;padding:22px 0 16px}.site-header .brand{padding-right:106px}.site-header .masthead-languages{display:block;position:absolute;top:88px;right:64px;margin:0!important;z-index:6}.site-header .main-navigation .wp-block-navigation__responsive-container-open{top:88px}.category-rail{--rail-pt:11px;--rail-pb:11px;--pill-py:9px;--pill-px:15px}.site-header .nav-shell{border-top:1px solid var(--line)}}
@media(prefers-reduced-motion:reduce){.category-rail .category-pill{transition:none}}
/* Phone fixes 2026-10-29. Test width is 280px: Chrome on Android with the
   largest system font zooms the whole page, so a 360px phone lays out at ~280px. */
.wp-site-blocks :focus:not(:focus-visible){outline:none}
.story-title{overflow-wrap:break-word}
@media(max-width:600px){
.site-header .masthead{grid-template-columns:minmax(0,1fr) auto;align-items:start;gap:0 10px}
.site-header .brand{padding-right:0;min-width:0}
.site-header .brand .wordmark{font-size:clamp(20px,7.6vw,31px)}
.site-header .masthead-languages{position:static;grid-column:2;grid-row:1;margin:-9px 0 0!important}
.site-header .nav-shell{display:flex;align-items:center;gap:6px}
.site-header .nav-shell .main-navigation{flex:0 0 auto;margin:0}
.site-header .nav-shell .category-rail{flex:1 1 auto;min-width:0}
.site-header .main-navigation .wp-block-navigation__responsive-container-open{position:static;top:auto;right:auto;margin-left:-10px}
.category-rail{--pill-h:36px;--pill-py:6px;--pill-px:13px;--pill-gap:6px}
.hero-query .story-title{font-size:clamp(25px,9vw,33px)}
.news-grid .story-title{font-size:clamp(21px,7.6vw,27px)}
.brief-query .story-title{font-size:clamp(19px,6.8vw,22px)}
.article-title{font-size:clamp(26px,9.4vw,35px)}
.page-title{font-size:clamp(28px,10vw,37px)}
.arest-title{font-size:clamp(24px,8.6vw,39px)}
}
@media(max-width:400px){.wp-site-blocks .arest-feature{padding:22px 18px}}
@media(max-width:400px){.latest-carousel .story-card{grid-template-columns:64px 1fr;gap:0 10px}.latest-carousel .story-image a,.latest-carousel .story-image img{height:64px!important}.latest-carousel .story-card{height:auto;min-height:64px}.latest-carousel .story-title{font-size:15px}}
/* Compact phone footer 2026-10-29: links flow in lines instead of tall columns */
@media(max-width:600px){
.site-footer{padding:26px 0 14px}
.footer-grid{grid-template-columns:minmax(0,1fr);gap:16px}
.footer-wordmark{font-size:26px;white-space:nowrap}
.footer-description{font-size:12px;line-height:1.6;margin:8px 0 12px}
.footer-column h3{margin-bottom:2px}
.footer-list{display:flex;flex-wrap:wrap;gap:0 16px}
.footer-list li+li{margin-top:0}
.footer-list a{display:inline-block;padding-block:6px}
.footer-bottom{margin-top:16px!important;padding-top:12px}
}
/* Sharper secondary text 2026-10-29: darker grey, tighter lines, +1px on phones */
:root{--muted:#4c524c}
body{font-weight:400}
html[data-theme=dark]{--muted:#c0c8be}
.story-excerpt{font-size:15px;line-height:1.5}
.article-deck{line-height:1.45}
@media(max-width:600px){
.hero-query .story-excerpt,.news-grid .story-excerpt{font-size:15px}
.article-deck{font-size:18px}
.article-content{line-height:1.65}
.section-intro{font-size:12px}
}
/* Fira Sans (OFL 1.1, assets/fonts/OFL.txt), self-hosted. Type scale follows a major Ukrainian news site on phones. 2026-10-29 */
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-sans-cyrillic-400-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:400;font-display:swap;src:url(fonts/fira-sans-latin-400-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fira-sans-cyrillic-600-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:600;font-display:swap;src:url(fonts/fira-sans-latin-600-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fira-sans-cyrillic-700-normal.woff2) format("woff2");unicode-range:U+0301,U+0400-045F,U+0490-0491,U+04B0-04B1,U+2116}
@font-face{font-family:"Fira Sans";font-style:normal;font-weight:700;font-display:swap;src:url(fonts/fira-sans-latin-700-normal.woff2) format("woff2");unicode-range:U+0000-00FF,U+0131,U+0152-0153,U+02BB-02BC,U+02C6,U+02DA,U+02DC,U+0304,U+0308,U+0329,U+2000-206F,U+20AC,U+2122,U+2191,U+2193,U+2212,U+2215,U+FEFF,U+FFFD}
html:root{--sans:"Fira Sans",system-ui,-apple-system,"Segoe UI",Arial,sans-serif;--serif:var(--sans);--wp--preset--font-family--interface:var(--sans);--wp--preset--font-family--editorial:var(--sans)}
body{font-family:var(--sans)}
.site-header .brand .wordmark,.footer-wordmark{font-family:Georgia,"Times New Roman",serif}
.story-title,.article-title,.page-title,.section-heading,.arest-title,.article-content h2,.article-content h3{letter-spacing:0}
@media(max-width:600px){
.hero-query .story-title,.article-title,.page-title{font-size:28px;line-height:1.1}
.news-grid .story-title,.brief-query .story-title,.related-stories .story-title{font-size:19px;line-height:1.2;font-weight:600}
.latest-carousel .story-title{font-size:16px;line-height:1.2;font-weight:600}
.article-content{font-size:19px;line-height:1.45}
.article-deck{font-size:19px;line-height:1.45}
.story-excerpt{font-size:16px;line-height:1.45}
.arest-title{font-size:clamp(26px,9vw,34px)}
}
/* Tighter vertical rhythm on phones 2026-10-29 */
@media(max-width:600px){
.site-header .masthead{padding:10px 0 8px}
.site-header .edition-band{min-height:0}
.category-rail{--rail-pt:8px;--rail-pb:8px}
.category-rail ul,.latest-carousel .wp-block-post-template{scrollbar-width:none}
.category-rail ul::-webkit-scrollbar,.latest-carousel .wp-block-post-template::-webkit-scrollbar{display:none}
.carousel-section{padding-block:12px 10px}
.latest-carousel .wp-block-post-template{padding-bottom:0}
.carousel-section+.site-main{padding-top:6px}
.site-main>.wp-block-group:first-child,.section-top{margin-top:0!important;padding-top:0}
.section-top{margin-bottom:12px!important;padding-top:14px}
}
/* Tighter vertical rhythm on phones, round 2 2026-10-29 */
@media(max-width:600px){
.site-header .edition-band .header-saved,.site-header .edition-band .header-login,.site-header .edition-band .theme-toggle{min-height:38px;padding-block:4px}
.site-header .masthead{padding:6px 0 6px}
.site-header .masthead-languages{margin-top:-2px!important}
.site-header .brand-caption{margin-top:2px;line-height:1.4}
.category-rail{--rail-pt:6px;--rail-pb:6px}
.carousel-section{padding-block:8px 8px}
.carousel-heading{margin-bottom:6px}
.carousel-controls button{width:40px;height:36px}
.section-top{padding-top:10px;padding-bottom:8px;margin-bottom:10px!important}
.section-intro{margin-top:2px!important}
.hero-query .story-image{margin-bottom:10px!important}
}
/* Compact article meta on phones 2026-10-29: byline, metrics, AI note, reading tools */
@media(max-width:600px){
.article-deck{margin-bottom:8px!important}
.article-byline{display:flex;flex-wrap:wrap;align-items:baseline;gap:0 8px;margin:6px 0 0!important}
.article-byline>*{margin:0!important;font-size:13px!important;line-height:1.4;color:var(--muted)}
.article-metrics{display:flex;flex-wrap:wrap;align-items:center;gap:4px 14px;margin:4px 0 0!important;font-size:13px;line-height:1.4}
.article-metrics .like-button{min-height:32px;padding:3px 12px;font-size:13px}
.article-metrics .metric-status:empty{display:none}
.ai-disclosure{margin:6px 0 0!important;padding:0 0 0 8px!important;border-left-width:2px!important;font-size:12px;line-height:1.35}
.reading-tools{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin:8px 0 10px!important;padding-top:8px!important;font-size:13px;line-height:1.3}
.reading-tools>p{margin:0!important;font-size:13px}
.reading-tools>p:has(.reading-status:empty){display:none}
.reading-tools .save-story{min-height:34px;padding:3px 12px;font-size:13px}
.reading-tools .text-size-controls{display:flex;gap:4px}
.reading-tools .text-size-controls button{min-width:36px;min-height:34px;padding:0 8px;font-size:13px}
}
/* Article meta as a tight list with hairline dividers (owner request) 2026-10-29 */
@media(max-width:600px){
.article-byline,.article-metrics,.ai-disclosure,.reading-tools{margin:0!important;padding:4px 0!important;border-top:1px solid var(--line);line-height:1.2}
.article-byline{margin-top:6px!important}
.article-byline>*{line-height:1.2}
.article-metrics{gap:2px 12px}
.article-metrics .like-button{min-height:30px;padding:2px 10px}
.ai-disclosure{border-left:0!important;padding-left:0!important}
.ai-disclosure::before{content:"";display:inline-block;width:3px;height:.9em;background:var(--red);margin-right:6px;vertical-align:-1px}
.reading-tools{gap:4px 8px;border-bottom:1px solid var(--line);margin-bottom:10px!important}
.reading-tools .save-story,.reading-tools .text-size-controls button{min-height:30px}
}
