/*
Theme Name: America Explained
Theme URI: /
Description: Оригинальный дизайн сайта americaexplained.org, перенесённый в WordPress.
Author: America Explained
Version: 1.0
Text Domain: restored-americaexplained-org
*/


/* --- меню шапки без исходного JS --- */
nav.main-navigation:not(.slideout-navigation):not([class*="mobile"]),header nav:not(.slideout-navigation):not([class*="mobile"]),.site-header nav:not(.slideout-navigation):not([class*="mobile"]){display:block!important;visibility:visible!important;opacity:1!important;height:auto!important;max-height:none!important;overflow:visible!important}
nav.main-navigation > .inside-navigation,nav.main-navigation ul.menu,nav.main-navigation ul.sf-menu,.main-nav ul.menu,.main-nav ul.sf-menu,ul.navbar-nav{display:flex!important;flex-wrap:wrap!important;align-items:center!important;gap:1.2rem!important;visibility:visible!important;opacity:1!important}
nav.main-navigation ul.menu > li,nav.main-navigation ul.sf-menu > li,.main-nav ul.menu > li,.main-nav ul.sf-menu > li,ul.navbar-nav > li{display:list-item!important;list-style:none!important;float:none!important}
nav.slideout-navigation,.slideout-overlay,[class*="mobile-menu"]{display:none!important}
header .grid-container,.site-header .grid-container,nav.main-navigation .grid-container{max-width:1200px!important;width:auto!important;margin-left:auto!important;margin-right:auto!important;box-sizing:border-box!important}
nav.main-navigation a,#site-navigation a{color:var(--link-text,var(--accent,inherit))!important}
header{position:relative!important;z-index:9999!important}


/* --- комментарии восстановленного сайта не нужны --- */
#comments,.comments-area,#respond,#commentform,.comment-form,.comment-respond,.comments-title,#reply-title,.comment-reply-title,.comment-list,.comment-notes,.form-submit{display:none!important}


/* --- подборки GenerateBlocks (query loop) без потерянного inline-CSS плагина --- */
.gb-query-loop-item>.gb-container>.gb-grid-wrapper{display:flex!important;gap:1rem!important;align-items:flex-start!important;flex-wrap:nowrap!important}
.gb-query-loop-item>.gb-container>.gb-grid-wrapper>.gb-grid-column:first-child{flex:0 0 120px!important;width:120px!important;max-width:120px!important}
.gb-query-loop-item>.gb-container>.gb-grid-wrapper>.gb-grid-column:first-child img{width:100%!important;height:80px!important;object-fit:cover!important;border-radius:4px!important}
.gb-query-loop-item>.gb-container>.gb-grid-wrapper>.gb-grid-column:last-child{flex:1 1 auto!important;min-width:0!important}


/* --- две колонки: контент + свежие статьи --- */
.restored-columns{display:grid!important;grid-template-columns:minmax(0,1fr) 320px!important;gap:2.5rem!important;align-items:start!important}
@media(max-width:900px){.restored-columns{grid-template-columns:1fr!important}}
.restored-columns > *{min-width:0!important}
.restored-sidebar{position:sticky!important;top:1rem!important;background:rgba(255,255,255,.9)!important;border-radius:8px!important;padding:1.25rem!important;box-shadow:0 1px 3px rgba(0,0,0,.12)!important}
.restored-sidebar-title{margin:0 0 1rem!important;font-size:1.15rem!important;text-transform:uppercase!important;letter-spacing:.02em!important}
.restored-side-item{display:flex!important;gap:.75rem!important;align-items:flex-start!important;margin-bottom:1.1rem!important}
.restored-side-img{flex:0 0 92px!important;line-height:0!important;border-radius:6px!important;overflow:hidden!important}
.restored-side-img img{width:92px!important;height:62px!important;object-fit:cover!important;display:block!important}
.restored-side-link{display:block!important;font-weight:600!important;font-size:.92rem!important;line-height:1.35!important;text-decoration:none!important}
.restored-side-date{font-size:.78rem!important;opacity:.65!important;margin-top:.25rem!important}
.wpb-1col:has(.restored-columns),.wpb-2col:has(.restored-columns){max-width:1200px!important;width:auto!important}
.restored-columns{width:100%!important}
.restored-columns{max-width:1200px!important;margin:0 auto!important;padding:0 1.25rem!important;box-sizing:border-box!important}


/* --- сетка архивов (карточки с обложкой) --- */
.restored-grid{display:grid!important;grid-template-columns:repeat(auto-fill,minmax(260px,1fr))!important;gap:1.75rem!important;align-items:start!important;margin:1.5rem 0!important}
.restored-card{min-width:0!important;display:flex!important;flex-direction:column!important;gap:.6rem!important}
.restored-card-img{display:block!important;overflow:hidden!important;border-radius:8px!important;line-height:0!important}
.restored-card-img img{width:100%!important;height:auto!important;aspect-ratio:16/9!important;object-fit:cover!important;display:block!important}
.restored-card-title{margin:0!important;font-size:1.05rem!important;line-height:1.3!important}
.restored-card-title a{text-decoration:none!important}
.restored-card-meta{font-size:.85rem!important;opacity:.7!important}
.restored-archive-title{margin:0 0 1rem!important}


/* --- совместимость с WordPress --- */
.wp-block-image figure{margin:0}
.wp-block-group{min-width:0}
.screen-reader-text{position:absolute;left:-9999px}
ul.wpb-prose-list{padding-left:1.4em;margin:0 0 1.2em}
ol.wpb-prose-list{padding-left:1.4em;margin:0 0 1.2em}
ul.wpb-prose-list li{list-style:disc!important}
ol.wpb-prose-list li{list-style:decimal!important}
.wpb-prose-list li{margin-bottom:.35em;display:list-item!important}
.wp-block-heading{margin:1.3em 0 .6em;font-weight:600;line-height:1.3}
h2.wp-block-heading{font-size:1.5em}
h3.wp-block-heading{font-size:1.22em}
.wp-block-paragraph{margin:0 0 1.1em}
img:not([src]),img[src=''],img[src='#'],img[src='about:blank']{display:none!important}

/* --- навигация без исходного JS --- */
.restored-nav-host{visibility:visible!important;opacity:1!important;transform:none!important;animation:none!important}

/* --- резервная навигация (по умолчанию скрыта) --- */
.restored-nav-fallback{display:none}
html.restored-nav-on .restored-nav-fallback{display:block;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.12)}
html.restored-nav-on .restored-nav-fallback-list{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;justify-content:center}
html.restored-nav-on .restored-nav-fallback-list a{text-decoration:none;font:inherit;color:inherit}

/* --- меню обязательно на каждой странице --- */
body:has(.menu.withprimary,header nav a[href]) .restored-nav-fallback{}
body:not(:has(.menu.withprimary,header nav a[href])) .restored-nav-fallback{display:block!important;padding:14px 20px;background:#111;border-bottom:1px solid rgba(255,255,255,.12)}
body:not(:has(.menu.withprimary,header nav a[href])) .restored-nav-fallback-list{display:flex!important;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;justify-content:center}
body:not(:has(.menu.withprimary,header nav a[href])) .restored-nav-fallback-list a{text-decoration:none;font:inherit;color:#fff;text-transform:uppercase;font-size:.82rem;letter-spacing:.03em}
label:has([data-collapse-toggle]){display:none!important}
.group:hover .group-hover\:block{display:block!important}
h1.ellipsis,.wp-block-heading.ellipsis{display:none!important}

/* --- дропдауны без исходного JS --- */
header li,nav li,.restored-nav-host li,.menu-item-has-children{position:relative}
header nav li:hover>ul,header nav li:hover>ol,header nav li:focus-within>ul,nav li:hover>ul,nav li:focus-within>ul,.restored-nav-host li:hover>ul,.restored-nav-host li:focus-within>ul,.menu-item-has-children:hover>.sub-menu,.menu-item-has-children:focus-within>.sub-menu{display:block!important;visibility:visible!important;opacity:1!important;position:absolute;top:100%;left:0;z-index:999;min-width:220px;margin:0;padding:6px 0;list-style:none;text-align:left;background:#fff;color:#111;box-shadow:0 6px 24px rgba(0,0,0,.16)}
header nav li:hover>ul>li,nav li:hover>ul>li,.restored-nav-host li:hover>ul>li,.menu-item-has-children:hover>.sub-menu>li{display:block!important;float:none;width:auto}
header nav li:hover>ul a,nav li:hover>ul a,.restored-nav-host li:hover>ul a,.menu-item-has-children:hover>.sub-menu a{display:block;padding:6px 16px;white-space:nowrap;color:inherit}

/* --- прокрутка страницы не должна блокироваться --- */
html,body{overflow-y:visible!important}


/* --- подвал: нижнее меню в строку --- */
footer.restored-nav-host>ul,footer .restored-nav-host>ul{display:flex!important;flex-wrap:wrap!important;gap:.4rem 1.5rem!important;align-items:center!important;list-style:none!important;margin:0!important;padding:1rem 0!important}
footer.restored-nav-host>ul>li,footer .restored-nav-host>ul>li{margin:0!important;padding:0!important;float:none!important;list-style:none!important}
footer.restored-nav-host>ul>li>a,footer .restored-nav-host>ul>li>a{text-decoration:none!important;opacity:.75!important}
footer.restored-nav-host>ul>li>a:hover,footer .restored-nav-host>ul>li>a:hover{opacity:1!important;text-decoration:underline!important}

/* --- старый #page донора не сжимает сайт в узкую колонку --- */
body{min-width:0!important}
#page,#page-wrapper,#header{width:auto!important;max-width:100%!important}
#header{background-size:cover!important;background-position:center top!important}


/* --- базовое оформление (страховка на случай отсутствия дизайна донора) --- */
:root{--wpb-ink:#1f2430;--wpb-muted:#5b6472;--wpb-accent:#2451a3;--wpb-border:#dde1e7;--wpb-surface:#f6f7f9}
body{color:var(--wpb-ink);font-family:-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,Helvetica,Arial,sans-serif;line-height:1.55}
a{color:var(--wpb-accent)}
img{max-width:100%;height:auto}
header,.site-header{background:var(--wpb-ink);color:#fff;padding:1rem 1.5rem;display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:1rem}
header a,.site-header a{color:#fff}
h1,h2,h3,h4{line-height:1.25;margin:1.4em 0 .6em}
h1{font-size:1.9rem}h2{font-size:1.5rem}h3{font-size:1.2rem}
input[type=text],input[type=email],input[type=search],input[type=url],input[type=number],input[type=password],textarea,select{border:1px solid var(--wpb-border);border-radius:6px;padding:.5em .7em;font:inherit;color:inherit;background:#fff}
button,input[type=submit],input[type=button]{border:1px solid var(--wpb-accent);border-radius:6px;padding:.5em 1.1em;font:inherit;background:var(--wpb-accent);color:#fff;cursor:pointer}
button:hover,input[type=submit]:hover,input[type=button]:hover{opacity:.88}
input[type=checkbox],input[type=radio]{accent-color:var(--wpb-accent)}
table{border-collapse:collapse;width:100%}
table:not([class]) th,table:not([class]) td,table[class=''] th,table[class=''] td{border:1px solid var(--wpb-border);padding:.5em .75em;text-align:left}
table:not([class]) tr:nth-child(even),table[class=''] tr:nth-child(even){background:var(--wpb-surface)}

/* --- Drupal-клирфикс, если не докачался --- */
.clear-block{overflow:hidden}
header ul:not([class]),.site-header ul:not([class]),nav ul:not([class]),.nav ul:not([class]),#nav ul:not([class]){list-style:none;padding:0;margin:0;display:flex;flex-wrap:wrap;gap:1.2rem}
nav[class*="breadcrumb" i],.breadcrumb,.breadcrumbs{font-size:.9rem;color:var(--wpb-muted);margin:0 0 1rem}
nav[class*="breadcrumb" i] a,.breadcrumb a,.breadcrumbs a,nav[class*="breadcrumb" i] ul,.breadcrumb ul,.breadcrumbs ul{display:inline;list-style:none;padding:0;margin:0}
input[type=checkbox],input[type=radio]{vertical-align:middle;margin:0 .35em 0 0}
label:has(>input[type=checkbox]),label:has(>input[type=radio]){display:inline-flex;align-items:center;gap:.4em;margin-right:1em;cursor:pointer}
[style*="background-image"]{background-size:cover;background-position:center;background-repeat:no-repeat}

/* --- пустые decorative-слои не перехватывают клики --- */
div:empty[class*="absolute"]{pointer-events:none}

/* --- дубли SEO-заголовка рядом с текстовым логотипом --- */
.navbar-brand:not(:has(.site-title-text)){display:none!important}

/* --- подпись+значение в виджетах-«половинках» не слипаются --- */
.display__box--half{display:flex!important;align-items:baseline!important;gap:.4em!important;flex-wrap:wrap!important}
.display__box--half-label{font-weight:600!important;flex:0 0 auto!important;margin-left:0!important;margin-right:0!important}
.display__box--half-value{flex:1 1 auto!important;min-width:0!important;margin-left:0!important;margin-right:0!important}

/* --- addresources.org: нерабочие пункты меню без ссылки скрыты --- */
.navbar-nav .nav-item:not(:has(a)){display:none!important}


/* --- sayanythingmusic.com: современная адаптивная шапка вместо утраченной абсолютной раскладки --- */
[class*='header-image-']{position:relative;display:flex;flex-direction:column;justify-content:flex-end;min-height:300px;background-size:cover!important;background-position:center top!important;color:#fff;padding:1.5rem;box-sizing:border-box;gap:.3rem}
[class*='header-image-']::before{content:"";position:absolute;inset:0;background:linear-gradient(180deg,rgba(0,0,0,.1),rgba(0,0,0,.8));z-index:0}
[class*='header-image-']>*{position:relative;z-index:1}
[class*='header-image-'] h1{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}
[class*='header-image-'] h1 a{color:#fff;text-decoration:none}
[class*='header-image-'] .launchplayer p{display:inline-block;margin:0;padding:.4em 1em;border:1px solid rgba(255,255,255,.55);border-radius:999px;font-size:.72rem;letter-spacing:.06em;text-transform:uppercase}
[class*='header-image-'] .online-fans{font-size:.8rem;opacity:.9}
[class*='header-image-'] .login p{margin:.25rem 0 0;font-size:.8rem}
[class*='header-image-'] .login .sign-in,[class*='header-image-'] .login .register{text-transform:uppercase;letter-spacing:.03em;text-decoration:underline;cursor:pointer;margin-right:.6em}

/* --- главное меню: тёмная адаптивная панель --- */
.menu.withprimary{background:#111;margin:0}
.menu.withprimary ul.links{display:flex;flex-wrap:wrap;gap:0;margin:0;padding:0 .5rem;list-style:none}
.menu.withprimary ul.links li{list-style:none;margin:0;flex:0 0 auto!important;white-space:nowrap!important}
#primary a,#navigation a{text-indent:0!important;width:auto!important;height:auto!important;background-image:none!important}
.menu.withprimary ul.links li a,.menu.withprimary ul.links li{display:block;padding:.9em 1em;color:#c9c9c9;font-size:.82rem;text-transform:uppercase;letter-spacing:.03em;text-decoration:none}
.menu.withprimary ul.links li a:hover{color:#fff;background:rgba(255,255,255,.08)}
.menu.withprimary ul.links li.active-trail a,.menu.withprimary ul.links li.active a{color:#fff;box-shadow:inset 0 -3px 0 #e0393b}

/* --- вкладки NEWS / RECENT TWEETS --- */
ul.quicktabs_tabs{display:flex;gap:0;list-style:none;margin:0 0 1.25rem;padding:0;background:#111}
ul.quicktabs_tabs li{list-style:none;padding:.7em 1.2em;font-size:.85rem;text-transform:uppercase;letter-spacing:.03em;color:#999}
ul.quicktabs_tabs li a{color:#999;text-decoration:none}
ul.quicktabs_tabs li.active{color:#fff;font-weight:700}
ul.quicktabs_tabs li.active a{color:#fff}

/* --- колонка + сайдбар --- */
.wp-block-group.clear-block:has(>.column.sidebar){display:grid;grid-template-columns:minmax(0,1fr) 300px;gap:2.2rem;max-width:1200px;margin:0 auto;padding:1.75rem 1.25rem;box-sizing:border-box}
@media(max-width:860px){.wp-block-group.clear-block:has(>.column.sidebar){grid-template-columns:1fr}}
.column.sidebar{min-width:0}
.column.sidebar .block{margin-bottom:1.75rem;padding-bottom:1.25rem;border-bottom:1px solid #e5e5e5}
.column.sidebar .block:last-child{border-bottom:none}
.column.sidebar .block-title{margin:0 0 .75rem;font-size:.95rem;text-transform:uppercase;letter-spacing:.04em}


/* --- presidentsrock.com: меню и колонка+сайдбар без переноса --- */
#menu{display:flex!important;flex-wrap:wrap!important;align-items:stretch!important;list-style:none!important;margin:0!important;padding:0 1rem!important;width:auto!important}
#menu li{float:none!important;white-space:normal!important;list-style:none!important;display:flex!important;align-items:center!important;justify-content:center!important}
#menu li a{display:block!important;padding:.7em 1em!important}
#menu li:not(:has(a)){padding:.7em 1em!important;font-weight:bold!important}
#body:has(>#sidebar){display:grid!important;grid-template-columns:minmax(0,1fr) 300px!important;gap:2rem!important;max-width:1200px!important;margin:0 auto!important;padding:0 1.25rem!important;box-sizing:border-box!important}
@media(max-width:760px){#body:has(>#sidebar){grid-template-columns:1fr!important}}
#content,#sidebar{width:auto!important;max-width:100%!important;float:none!important;margin:0!important}

/* включено сборщиком: картинки с мёртвых хостов (в архиве их нет) не показываем */
img[src*="pagead2.googlesyndication.com"],img[srcset*="pagead2.googlesyndication.com"],img[src*="schema.org"],img[srcset*="schema.org"],img[src*="tailwindcss.com"],img[srcset*="tailwindcss.com"],img[src*="www.googletagmanager.com"],img[srcset*="www.googletagmanager.com"],img[src*="www.w3.org"],img[srcset*="www.w3.org"]{display:none!important}

/* WPBUILD_QUALITY_START */
/* сайдбар, уехавший под контент: разворачиваем на всю ширину */
.wp-block-group,.w-full,.shrink-0{max-width:100%!important;width:100%!important;flex:1 1 100%!important}
/* WPBUILD_QUALITY_END */

/* включено сборщиком: исходная шапка без JS сайта не отрисовалась */
.restored-nav-fallback{display:block!important;padding:14px 20px;border-bottom:1px solid rgba(0,0,0,.12)}
.restored-nav-fallback-list{display:flex;flex-wrap:wrap;gap:18px;margin:0;padding:0;list-style:none;justify-content:center}
.restored-nav-fallback-list a{text-decoration:none;font:inherit;color:inherit}

/* --- доли ширины донора против огульной растяжки аудита --- */
[class~="w-1/2"][class~="w-1/2"]{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
[class~="w-1/3"][class~="w-1/3"]{width:33.3333%!important;max-width:33.3333%!important;flex:0 0 33.3333%!important}
[class~="w-2/3"][class~="w-2/3"]{width:66.6667%!important;max-width:66.6667%!important;flex:0 0 66.6667%!important}
[class~="w-1/4"][class~="w-1/4"]{width:25%!important;max-width:25%!important;flex:0 0 25%!important}
[class~="w-3/4"][class~="w-3/4"]{width:75%!important;max-width:75%!important;flex:0 0 75%!important}
[class~="w-1/5"][class~="w-1/5"]{width:20%!important;max-width:20%!important;flex:0 0 20%!important}
[class~="w-2/5"][class~="w-2/5"]{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
[class~="w-3/5"][class~="w-3/5"]{width:60%!important;max-width:60%!important;flex:0 0 60%!important}
[class~="w-4/5"][class~="w-4/5"]{width:80%!important;max-width:80%!important;flex:0 0 80%!important}
[class~="w-1/6"][class~="w-1/6"]{width:16.6667%!important;max-width:16.6667%!important;flex:0 0 16.6667%!important}
[class~="w-5/6"][class~="w-5/6"]{width:83.3333%!important;max-width:83.3333%!important;flex:0 0 83.3333%!important}
@media(min-width:640px){
[class~="sm:w-1/2"][class~="sm:w-1/2"]{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
[class~="sm:w-1/3"][class~="sm:w-1/3"]{width:33.3333%!important;max-width:33.3333%!important;flex:0 0 33.3333%!important}
[class~="sm:w-2/3"][class~="sm:w-2/3"]{width:66.6667%!important;max-width:66.6667%!important;flex:0 0 66.6667%!important}
[class~="sm:w-1/4"][class~="sm:w-1/4"]{width:25%!important;max-width:25%!important;flex:0 0 25%!important}
[class~="sm:w-3/4"][class~="sm:w-3/4"]{width:75%!important;max-width:75%!important;flex:0 0 75%!important}
[class~="sm:w-1/5"][class~="sm:w-1/5"]{width:20%!important;max-width:20%!important;flex:0 0 20%!important}
[class~="sm:w-2/5"][class~="sm:w-2/5"]{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
[class~="sm:w-3/5"][class~="sm:w-3/5"]{width:60%!important;max-width:60%!important;flex:0 0 60%!important}
[class~="sm:w-4/5"][class~="sm:w-4/5"]{width:80%!important;max-width:80%!important;flex:0 0 80%!important}
[class~="sm:w-1/6"][class~="sm:w-1/6"]{width:16.6667%!important;max-width:16.6667%!important;flex:0 0 16.6667%!important}
[class~="sm:w-5/6"][class~="sm:w-5/6"]{width:83.3333%!important;max-width:83.3333%!important;flex:0 0 83.3333%!important}
}
@media(min-width:768px){
[class~="md:w-1/2"][class~="md:w-1/2"]{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
[class~="md:w-1/3"][class~="md:w-1/3"]{width:33.3333%!important;max-width:33.3333%!important;flex:0 0 33.3333%!important}
[class~="md:w-2/3"][class~="md:w-2/3"]{width:66.6667%!important;max-width:66.6667%!important;flex:0 0 66.6667%!important}
[class~="md:w-1/4"][class~="md:w-1/4"]{width:25%!important;max-width:25%!important;flex:0 0 25%!important}
[class~="md:w-3/4"][class~="md:w-3/4"]{width:75%!important;max-width:75%!important;flex:0 0 75%!important}
[class~="md:w-1/5"][class~="md:w-1/5"]{width:20%!important;max-width:20%!important;flex:0 0 20%!important}
[class~="md:w-2/5"][class~="md:w-2/5"]{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
[class~="md:w-3/5"][class~="md:w-3/5"]{width:60%!important;max-width:60%!important;flex:0 0 60%!important}
[class~="md:w-4/5"][class~="md:w-4/5"]{width:80%!important;max-width:80%!important;flex:0 0 80%!important}
[class~="md:w-1/6"][class~="md:w-1/6"]{width:16.6667%!important;max-width:16.6667%!important;flex:0 0 16.6667%!important}
[class~="md:w-5/6"][class~="md:w-5/6"]{width:83.3333%!important;max-width:83.3333%!important;flex:0 0 83.3333%!important}
}
@media(min-width:1024px){
[class~="lg:w-1/2"][class~="lg:w-1/2"]{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
[class~="lg:w-1/3"][class~="lg:w-1/3"]{width:33.3333%!important;max-width:33.3333%!important;flex:0 0 33.3333%!important}
[class~="lg:w-2/3"][class~="lg:w-2/3"]{width:66.6667%!important;max-width:66.6667%!important;flex:0 0 66.6667%!important}
[class~="lg:w-1/4"][class~="lg:w-1/4"]{width:25%!important;max-width:25%!important;flex:0 0 25%!important}
[class~="lg:w-3/4"][class~="lg:w-3/4"]{width:75%!important;max-width:75%!important;flex:0 0 75%!important}
[class~="lg:w-1/5"][class~="lg:w-1/5"]{width:20%!important;max-width:20%!important;flex:0 0 20%!important}
[class~="lg:w-2/5"][class~="lg:w-2/5"]{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
[class~="lg:w-3/5"][class~="lg:w-3/5"]{width:60%!important;max-width:60%!important;flex:0 0 60%!important}
[class~="lg:w-4/5"][class~="lg:w-4/5"]{width:80%!important;max-width:80%!important;flex:0 0 80%!important}
[class~="lg:w-1/6"][class~="lg:w-1/6"]{width:16.6667%!important;max-width:16.6667%!important;flex:0 0 16.6667%!important}
[class~="lg:w-5/6"][class~="lg:w-5/6"]{width:83.3333%!important;max-width:83.3333%!important;flex:0 0 83.3333%!important}
}
@media(min-width:1280px){
[class~="xl:w-1/2"][class~="xl:w-1/2"]{width:50%!important;max-width:50%!important;flex:0 0 50%!important}
[class~="xl:w-1/3"][class~="xl:w-1/3"]{width:33.3333%!important;max-width:33.3333%!important;flex:0 0 33.3333%!important}
[class~="xl:w-2/3"][class~="xl:w-2/3"]{width:66.6667%!important;max-width:66.6667%!important;flex:0 0 66.6667%!important}
[class~="xl:w-1/4"][class~="xl:w-1/4"]{width:25%!important;max-width:25%!important;flex:0 0 25%!important}
[class~="xl:w-3/4"][class~="xl:w-3/4"]{width:75%!important;max-width:75%!important;flex:0 0 75%!important}
[class~="xl:w-1/5"][class~="xl:w-1/5"]{width:20%!important;max-width:20%!important;flex:0 0 20%!important}
[class~="xl:w-2/5"][class~="xl:w-2/5"]{width:40%!important;max-width:40%!important;flex:0 0 40%!important}
[class~="xl:w-3/5"][class~="xl:w-3/5"]{width:60%!important;max-width:60%!important;flex:0 0 60%!important}
[class~="xl:w-4/5"][class~="xl:w-4/5"]{width:80%!important;max-width:80%!important;flex:0 0 80%!important}
[class~="xl:w-1/6"][class~="xl:w-1/6"]{width:16.6667%!important;max-width:16.6667%!important;flex:0 0 16.6667%!important}
[class~="xl:w-5/6"][class~="xl:w-5/6"]{width:83.3333%!important;max-width:83.3333%!important;flex:0 0 83.3333%!important}
}


/* === приведение внешнего вида americaexplained.org === */

/* 1. Дубль меню сверху. Резервное меню темы печатается, когда шапка донора не
   отрисовалась без своих скриптов, но здесь настоящее меню живо — и видно оба.
   🔴 Условие пишем ДВУМЯ правилами без запятой внутри :has(): чистильщик CSS на
   боксе (unhide_css) делит селектор по запятым НЕ УЧИТЫВАЯ скобки, от
   `body:has(.menu.withprimary,header nav a[href]) …` получает кусок
   `body:has(.menu.withprimary`, считает его правилом «спрятана вся страница» и
   вырезает объявление — в собранной теме от правила остаётся пустое `{}`. */
body:has(.menu.withprimary) .restored-nav-fallback{display:none!important}
body:has(header nav a[href]) .restored-nav-fallback{display:none!important}

/* 2. Название сайта в тёмной шапке. Наша замена вырезанного логотипа берёт цвет из
   переменной донора — тёмно-синий rgb(22,32,74) на фоне rgb(31,36,48), текст не
   читается вообще. В тёмной шапке делаем его светлым. */
header .site-title-text,header .site-title-text:visited{color:#fff!important}
header .site-title-text:hover{color:#dfe5f2!important}

/* 3. Карточки рубрик без обложки. У донора верх карточки — картинка с тёмной
   заливкой поверх; картинку архив не сохранил, осталась тёмная плашка 320x178 с
   белой ссылкой и тёмно-синим заголовком поверх неё. Превращаем в обычную светлую
   карточку: читаемый текст, рамка, отступы. */
article > header:not(:has(img)):has(h2 a),
article > header:not(:has(img)):has(h3 a){
  background:transparent!important;color:#182230!important;
  padding:0!important;min-height:0!important}
article:has(> header:not(:has(img)):has(h2 a)),
article:has(> header:not(:has(img)):has(h3 a)){
  background:#fff!important;border:1px solid #e6e8ee!important;border-radius:12px!important;
  padding:1.05rem 1.2rem!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important}
article > header:not(:has(img)) h2,
article > header:not(:has(img)) h3{color:#101828!important;margin:.15rem 0 .35rem!important}
article > header:not(:has(img)) a{color:#16204a!important;text-decoration:none!important}
article > header:not(:has(img)) a:hover{text-decoration:underline!important}

/* 4. Картинки в статье одного формата. Донорские фото приезжают в натуральную
   величину: одно на всю колонку и очень высокое, соседнее мелкое. Приводим к одной
   ширине и одной пропорции — «ровными блоками», как на нормальных статьях. */
.restored-content img{max-width:100%!important}
.restored-content .wp-block-image img,
.restored-content > figure img{
  width:100%!important;height:auto!important;aspect-ratio:16/9!important;
  object-fit:cover!important;border-radius:10px!important;display:block!important;
  margin:0 auto!important}

/* 5. Типографика текста статьи: ровная строка, читаемая длина, спокойные отступы. */
.restored-content p,.restored-content li{line-height:1.65!important}
.restored-content h2{margin:1.9rem 0 .7rem!important;line-height:1.25!important}
.restored-content h3{margin:1.5rem 0 .6rem!important;line-height:1.3!important}


/* === карточки рубрик: компактная светлая карточка (уточнение) === */
/* 🔴 `:has()` внутри `:has()` недопустим — браузер выбрасывает правило целиком, и
   первая версия карточки не применилась вообще. Проверку «внутри нет картинки»
   делаем через `:not(:has(img))` (вложенность в :not разрешена), а признак карточки
   берём отдельным `:has(> header h2 a)` на том же элементе. */
article:not(:has(img)):has(> header h2 a),
article:not(:has(img)):has(> header h3 a){
  background:#fff!important;border:1px solid #e6e8ee!important;border-radius:12px!important;
  padding:.95rem 1.15rem!important;box-shadow:0 1px 2px rgba(16,24,40,.05)!important;
  overflow:visible!important}
article:not(:has(img)):has(> header h2 a):hover,
article:not(:has(img)):has(> header h3 a):hover{
  border-color:#c9d0de!important;box-shadow:0 4px 14px rgba(16,24,40,.09)!important}

/* Верх карточки держал место под несохранившуюся обложку: дата 50px, у заголовка
   отбивка сверху 30px, плюс gap 16px — 171px на две строки текста. Поджимаем. */
article > header:not(:has(img)){gap:.3rem!important;display:block!important}
article > header:not(:has(img)) > div:first-child{
  margin:0!important;padding:0!important;min-height:0!important;
  font-size:.8rem!important;line-height:1.3!important;color:#667085!important}
article > header:not(:has(img)) h2,
article > header:not(:has(img)) h3{
  margin:.3rem 0 0!important;font-size:1.12rem!important;line-height:1.35!important}

/* Разделительная линия карточкам больше не нужна — у них своя рамка. */
article:not(:has(img)):has(> header h2 a){border-bottom-width:1px!important}


/* === шапка: убрать донорскую плашку и вернуть показ меню === */

/* 1. Белая полоса в самый верх страницы — донорский партнёрский дисклеймер
   («We are independent & ad-supported. We may earn a commission…»), 1400x53.
   К восстановленному сайту отношения не имеет, висит на каждой странице.
   Целимся по тройке классов: у одноимённого текстового блока в контенте
   («America Explained is dedicated to…») нет `w-full` и `text-center`. */
div.w-full.bg-grey-lightmost.text-center{display:none!important}

/* 2. Пункты меню в шапке. Контейнер меню у донора держится Tailwind-парой
   `hidden lg:flex`: спрятан по умолчанию, показывается от планшета. Правило для
   `lg:flex` в архивных стилях не применяется, побеждает `hidden` — и всё меню
   схлопнуто в 0x0. Замер на главной: видна ровно одна ссылка, логотип; «Explore»,
   «About», рубрики — все нулевого размера. Возвращаем показ контейнера.
   🔴 Мобильную панель (`ul.hidden py-3 px-7 md:px-11`) НЕ трогаем: у неё нет
   `lg:flex`, под селектор она не попадает и остаётся скрытой, как и задумано.
   Выпадашки тоже не трогаем — они открываются по наведению, это проверено. */
header [class~="hidden"][class*="lg:flex"],
header nav[class~="hidden"][class*="lg:flex"]{
  display:flex!important;align-items:center!important;justify-content:flex-end!important}

/* Подписи пунктов в тёмной шапке — читаемым цветом. */
header nav a,header nav li,header [class*="lg:flex"] a,header [class*="lg:flex"] li{
  color:#fff!important}
header nav a:hover,header [class*="lg:flex"] a:hover{
  color:#cfe0ff!important;text-decoration:underline!important}

/* Ссылки ВНУТРИ выпадашки лежат на светлой подложке — там нужен тёмный текст,
   иначе белое по белому (замер: контраст 0 у «Health», «History» и остальных). */
header [class*="group-hover:"] a,header [class*="group-hover:"] li{
  color:#16204a!important}
header [class*="group-hover:"] a:hover{color:#2b58c9!important}


/* === шапка и блоки: ровная линия, ровные кнопки === */

/* 1. Светлая линия под кнопками меню — нижняя рамка донорской обёртки внутри
   ТЁМНОЙ шапки (`border-b border-b-grey-light`). На светлом фоне донора это был
   незаметный разделитель, на тёмной шапке — кривая белая черта поперёк. */
header [class*="border-b"]{border-bottom:0!important;box-shadow:none!important}

/* 🔴 И НИКАКИХ рамок на самих кнопках. Первая версия правила оформляла «карточку
   выпадашки» по признаку `[class*="group-hover:"]`, но этот класс есть и у самой
   надписи-кнопки (`div.cursor-pointer px-3 py-2 group-hover:…`) — в результате
   вокруг «Explore» и «About» появилась светлая рамка, то есть ровно та полоска,
   которую убирали. Оформляем ТОЛЬКО список выпадашки (`ul`). */
header div[class*="group-hover:"],
header button[class*="group-hover:"],
header a[class*="group-hover:"]{border:0!important;box-shadow:none!important;
  background:transparent!important}

/* 2. Шапка: логотип, пункты и кнопка — по одной средней линии. */
header,header > div,header > div > div,header section,
header [class*="justify-between"],header [class*="justify-end"]{align-items:center!important}
header{padding-top:.7rem!important;padding-bottom:.7rem!important}
header nav ul,header nav li{align-items:center!important}
header nav a,header nav button,header nav [class*="cursor-pointer"]{
  line-height:1.25!important;padding-top:.35rem!important;padding-bottom:.35rem!important;
  display:inline-flex!important;align-items:center!important;gap:.3rem!important}

/* 3. Выпадашка — аккуратная карточка с ровными пунктами. Только <ul>. */
header ul[class*="group-hover:"]{
  background:#fff!important;border:1px solid #e6e8ee!important;border-radius:10px!important;
  box-shadow:0 10px 28px rgba(16,24,40,.14)!important;padding:.4rem 0!important;
  min-width:230px!important}
header ul[class*="group-hover:"] li{display:block!important;margin:0!important;border:0!important}
header ul[class*="group-hover:"] a{
  display:block!important;padding:.5rem .9rem!important;line-height:1.35!important;
  white-space:nowrap!important;text-align:left!important;border:0!important}
header ul[class*="group-hover:"] a:hover{background:#f3f6fc!important}

/* 4. Текст в блоках — по левому краю, без случайных сдвигов архивной вёрстки. */
.restored-content p,.restored-content li,.restored-content h2,
.restored-content h3,.restored-content h4{text-align:left!important}
article > header:not(:has(img)) *{text-align:left!important}

/* 5. Карточки в ряду — от одной верхней линии, чтобы ряд не шёл «лестницей». */
[class*="grid"] > article{align-self:start!important}


/* === шапка главной: логотип и пункты по одной средней линии === */
/* 🔴 Замер до правки: центр надписи логотипа Y=31, центр «Explore»/«About» Y=69 —
   разница 38px, визуально «текст не в уровень». Причина: логотип прижат к ВЕРХУ
   своей половины (обёртка `flex-1 flex` без вертикального выравнивания), а пункты
   к НИЗУ своей — их держат донорские `h-full` + `py-3` на пунктах списка.
   Снимаем растяжку по высоте у пунктов и центрируем обе половины. */
header [class*="flex-1"]{align-items:center!important}
header nav > ul,
header [class*="justify-end"] > ul,
header [class*="justify-end"] > div > ul{
  align-items:center!important;height:auto!important}
header nav > ul > li,
header [class*="justify-end"] ul > li{
  height:auto!important;align-items:center!important;
  padding-top:0!important;padding-bottom:0!important}
header .site-title-text{display:inline-flex!important;align-items:center!important}


/* === логотип: центрировать внутри своей половины шапки === */
/* Сама половина уже по центру ряда (её центр Y=43), а ссылка внутри прижата к
   верху вложенной обёртки — центр надписи оставался Y=31 против Y=43 у пунктов. */
header [class*="flex-1"] > *{
  display:flex!important;align-items:center!important;height:100%!important;
  margin-top:0!important;margin-bottom:0!important}


/* === ровные строки в блоках контента === */
/* 🔴 Строки «подпись — значение» у донора собраны на `flex justify-between`: подпись
   слева, значение прижато к ПРАВОМУ краю контейнера. На странице контактов это дало
   разрыв в пол-экрана — замер: основной левый край текста x=168, а почта стоит на
   x=675 и x=705 (Δ507 и Δ537). Именно это и читается как «блок с текстом не ровный».
   Ставим значения сразу за подписью. */
.restored-content [class*="justify-between"]{
  justify-content:flex-start!important;gap:.75rem!important;flex-wrap:wrap!important}
.restored-content [class*="justify-between"] > *{margin-right:0!important}

/* Случайные горизонтальные сдвиги архивной вёрстки: на /about.htm у подписи
   «Group General Manager» инлайновый `margin-left:290px`, из-за него строка уезжает
   от общего края. Внутри контента таких сдвигов быть не должно. */
.restored-content [style*="margin-left"],
.restored-content [class*="ml-"]{margin-left:0!important}


/* === уточнение: авто-отступ, уводивший значения вправо === */
/* 🔴 `justify-content:flex-start` на строке не помог: у самого значения стоит
   `margin-left:auto` — в flex-контейнере авто-отступ съедает всё свободное место и
   прижимает элемент к правому краю ВНЕ зависимости от justify-content. Замер после
   первой попытки: у почты вычисленный margin-left стал 507px и 537px. Снимаем
   авто-отступы у детей таких строк и левые отступы у абзацев и заголовков контента
   (на /about.htm у подписи «Group General Manager» отступ 290px приходит из класса,
   а не из инлайна, поэтому селектор по `style` его не ловил). */
.restored-content [class*="justify-between"] > *{
  margin-left:0!important;margin-right:0!important}
.restored-content p,.restored-content h2,.restored-content h3,
.restored-content h4,.restored-content address{margin-left:0!important}



/* === подчёркивание, обрезка картинок, блок подписки (v2) === */

/* 1. Жирная черта при наведении. У донора на ссылках класс
   `hover:underline decoration-[.36em]` — замер даёт толщину подчёркивания 6.48px
   бирюзовым. На тексте это читается как случайная полоса, а не как подчёркивание.
   Оставляем подчёркивание, но нормальной толщины. */
[class*="decoration-["],
[class*="decoration-["]:hover,
[class*="hover:underline"]:hover{
  text-decoration-thickness:2px!important;text-underline-offset:3px!important}

/* 2. Обрезка картинок. Пропорции НЕ ломаем: картинка вписывается целиком,
   ширина по колонке, высота ограничена (оригиналы у донора 4:3 и 1:1, любой
   `object-fit:cover` с общим аспектом срезал им верх и низ). */
.restored-content .wp-block-image img,
.restored-content > figure img,
.restored-content figure img{
  aspect-ratio:auto!important;object-fit:contain!important;
  width:auto!important;max-width:100%!important;height:auto!important;
  max-height:560px!important;margin:0 auto!important;display:block!important;
  border-radius:10px!important}

/* 3. Блок подписки в тёмной полосе. Приём: раскладываю его в ДВЕ ЧАСТИ —
   слева текст в столбик (заголовок, под ним подпись), справа поле с кнопкой.
   Что было не так:
   • на главной блок приехал из конструктора блоков БЕЗ формы, остались два
     абзаца; прежнее `justify-content:space-between` растащило их по краям полосы
     (замер: заголовок x32..1037, подпись x1047..1368 в две строки вплотную к
     правому краю) — выглядело так, будто текст вылез из блока;
   • на статьях заголовок был зажат в 280px и рвался посередине фразы
     («America Explained,» / «in your inbox»).
   Целюсь только в <section> — тот же класс носит кнопка Subscribe в скрытом
   донорском модальном окне, её трогать не надо. */
section[class~="bg-primary-dark"]{
  display:block!important;padding:2.4rem 2rem!important}

/* контейнер по центру полосы, единая ширина на всех страницах */
section[class~="bg-primary-dark"] > *{
  width:100%!important;max-width:1140px!important;margin:0 auto!important}

/* ряд: текст слева, форма справа; на узком экране переносится */
section[class~="bg-primary-dark"] [class~="full-column"]{
  display:flex!important;flex-wrap:wrap!important;align-items:center!important;
  justify-content:space-between!important;gap:1.2rem 2.5rem!important}

/* левая половина — столбик: заголовок, под ним подпись.
   `flex:1 1 420px` даёт заголовку ширину под одну строку. */
section[class~="bg-primary-dark"] [class~="md:flex-1"]{
  display:flex!important;flex-direction:column!important;
  align-items:flex-start!important;justify-content:center!important;
  flex:1 1 420px!important;gap:.45rem!important;max-width:100%!important}

/* половина с формой остаётся строкой и держится правого края */
section[class~="bg-primary-dark"] [class~="md:flex-1"]:has(input){
  flex-direction:row!important;align-items:center!important;
  justify-content:flex-end!important;flex:0 1 500px!important;gap:.6rem!important}

/* заголовок: одна строка, если влезает, и цветная планка слева на месте */
section[class~="bg-primary-dark"] [class~="bar"]{
  margin:0!important;max-width:100%!important;flex:0 0 auto!important;
  font-size:1.35rem!important;line-height:1.3!important}
section[class~="bg-primary-dark"] [class~="bar"] p{
  font-size:1.35rem!important;line-height:1.3!important;margin:0!important;
  max-width:none!important;font-weight:700!important}

/* подпись под заголовком: по левому краю вместе с ним (pl-5 у неё уже есть),
   ширина под 2 строки максимум, не прижата к краю полосы */
section[class~="bg-primary-dark"] p[class*="max-w-80"]{
  max-width:52ch!important;margin:0!important;
  font-size:1rem!important;line-height:1.5!important}

/* поле и кнопка одной высоты */
section[class~="bg-primary-dark"] input{
  height:46px!important;flex:1 1 auto!important;max-width:320px!important;
  border-radius:8px!important;padding:0 .9rem!important;border:0!important}
section[class~="bg-primary-dark"] button{
  height:46px!important;border-radius:8px!important;padding:0 1.15rem!important;
  white-space:nowrap!important;flex:0 0 auto!important}


/* === боковая карточка подписки: убрать пустую половину «Follow us» === */

/* Карточка на главной (`bg-whispering-sky`, 429px) разделена у донора на две
   половины: слева подписка, справа соцсети. Соцсети вырезаны при очистке от
   DMCA-рисков — замер показал в правой половине 0 ссылок и 0 картинок, остался
   один заголовок «Follow us» и 179x267 пустоты. При этом левая половина честно
   держала свои 50%, и заголовок подписки рвался на четыре строки.
   Приём: прячем половину, в которой не осталось ничего кроме заголовка, а
   подписке отдаём всю ширину карточки. */
[class~="bg-whispering-sky"] div:has(> h2:only-child){display:none!important}
[class~="bg-whispering-sky"] [class~="lg:w-1/2"]{
  width:100%!important;max-width:none!important;flex:1 1 100%!important}

/* Заголовок соразмерно карточке, поле и кнопка одной высоты (было поле 70px). */
[class~="bg-whispering-sky"] [class*="text-2xl"]{
  font-size:1.3rem!important;line-height:1.3!important}
[class~="bg-whispering-sky"] input{
  height:46px!important;padding:0 .9rem!important;border-radius:8px!important}
[class~="bg-whispering-sky"] button{
  height:44px!important;border-radius:8px!important}

/* Карточка лежит в CSS-сетке, а элементы сетки по умолчанию растягиваются на
   высоту всего ряда — рядом высокая картинка «Top Articles», и под кнопкой
   оставалось 332px пустого голубого фона (замер: содержимое кончается на 274,
   карточка 606). Прижимаем ячейку к содержимому. */
[class*="grid"] > *:has(> [class~="bg-whispering-sky"]){align-self:start!important}


/* === футер главной: заголовки без ссылок и нижняя строка === */

/* На главной футер собран конструктором блоков, и в нём остались пустые
   заголовки: колонка «Categories» — 334x185 и ни одной ссылки, а под ссылками
   «About/Contact» висит одинокий «Find Us» (ссылки соцсетей вырезаны по DMCA).
   Приём: прячем колонку футера, в которой не осталось ссылок, и заголовок, за
   которым не следует список. Колонки со ссылками правило не задевает. */
footer [class~="sm:w-1/2"]:not(:has(a)){display:none!important}
footer [class~="bar"]:not(:has(+ ul)):not(:has(a)){display:none!important}

/* Колонки не растягиваются на высоту ряда — под названием сайта была дыра. */
footer [class~="full-column"]{align-items:flex-start!important}

/* Нижняя строка: копирайт и ссылки по одному левому краю, ссылки не слипаются
   (было «Privacy PolicyTerms and Conditions» встык и по центру). */
footer [class*="mb-6"][class*="flex"]{
  justify-content:flex-start!important;padding-left:0!important}
footer [class*="mb-6"][class*="flex"] p{margin:0!important;text-align:left!important}
footer p a + a{margin-left:1.1rem!important}

/* Оставшаяся колонка ссылок держится левого края своей половины: после скрытия
   пустой «Categories» она висела в 167px от края (замер x887 вместо x720). */
footer [class~="sm:w-1/2"][class*="md:flex"]{justify-content:flex-start!important}


/* === по отчёту дефектоскопа: карточки, иконки, ряды, телефон === */

/* 1. Тёмные карточки на страницах рубрик. Заголовок тёмно-синий на тёмном фоне,
   контраст 1.14 при норме 4.5 — текст не читается (замер точки 200,1468 на
   history.htm: <header> с фоном rgb(31,36,48), <h2> цветом rgb(16,24,40)).
   Прежняя правка требовала, чтобы заголовок был ССЫЛКОЙ (`:has(h2 a)`), а у этих
   карточек заголовок — простой текст, и правило проходило мимо. Снимаем это
   условие: светлая карточка нужна независимо от того, ссылка внутри или нет. */
article > header:not(:has(img)):has(h2),
article > header:not(:has(img)):has(h3){
  background:transparent!important;color:#182230!important;
  padding:0!important;min-height:0!important}
article:has(> header:not(:has(img)):has(h2)),
article:has(> header:not(:has(img)):has(h3)){
  background:#fff!important;border:1px solid #e6e8ee!important;border-radius:12px!important;
  padding:1.05rem 1.2rem!important;box-shadow:0 1px 2px rgba(16,24,40,.04)!important}
article > header:not(:has(img)) h2,
article > header:not(:has(img)) h3,
article > header:not(:has(img)) h2 a,
article > header:not(:has(img)) h3 a{color:#101828!important}

/* 2. Иконки в плитке «40M annual readers». Замер: зазор между иконкой и текстом
   0px при норме 8–12, а сами иконки 48, 53, 51 и 36px — ряд выглядит несобранным.
   Приводим к одному размеру и отбиваем от текста. */
a[class*="flex-row"] > svg:first-child,
a[class*="flex-row"] > img:first-child{
  width:44px!important;height:44px!important;flex:0 0 44px!important;
  margin-right:.7rem!important}

/* 3. Карточки в ряду разной высоты (87 и 111px — низ ряда «лестницей»).
   В сетке элементы должны растягиваться на высоту ряда, а содержимое —
   прижиматься к верху. */
[class*="grid"] > article,
[class*="grid"] > li{align-self:stretch!important;display:flex!important;
  flex-direction:column!important;justify-content:flex-start!important}

/* 4. Телефон (375px): карточка автора «Johnny Slakva / Engineering lead» шире
   экрана — 298px внутри родителя 154px, правый край на 431px при окне 375.
   Донор рассчитывал её на строку; на узком экране разворачиваем в столбик. */
@media (max-width:480px){
  a[class*="flex-row"]{flex-direction:column!important;align-items:center!important;
    text-align:center!important;max-width:100%!important}
  a[class*="flex-row"] > *{max-width:100%!important}
  a[class*="flex-row"] > svg:first-child,
  a[class*="flex-row"] > img:first-child{margin:0 0 .5rem!important}
}


/* === вылеты за границы блоков === */

/* 1. Плитка статистики: внутренний блок сдвинут вниз на 17px и торчит из своей
   ячейки на 18px (замер: родитель 334x168 в 33,2471 — ребёнок 333x168 в 33,2488).
   У донора он прижимался к низу (`self-end`) внутри более высокой ячейки; после
   пересборки ячейка стала ровно по содержимому, и прижатие превратилось в вылет. */
[class*="w-1/4"] > [class*="self-end"],
[class*="w-1/3"] > [class*="self-end"]{
  align-self:stretch!important;height:auto!important;margin-top:0!important}

/* 2. Футер: правая половина торчит на 20px за контейнер (замер: половина
   720..1388 при контейнере 32..1368). Две половины по 50% плюс промежуток не
   влезают в ряд — пусть делят остаток по-честному. */
footer [class~="sm:w-1/2"]{
  flex:1 1 0!important;min-width:0!important;max-width:none!important}


/* === длинные ссылки на телефоне и последняя половина футера === */

/* 1. На 375px страница шире окна: в списке источников лежит голая ссылка
   `https://www.desmoinesregister.com/…` — 411px в контейнере 265px, правый край
   на 477 при окне 375. Длинные адреса без пробелов не переносятся по умолчанию,
   их надо разрешить рвать в любом месте. */
.restored-content a,
.restored-content li,
.restored-content p,
.restored-content td{overflow-wrap:anywhere!important;word-break:break-word!important}

/* 2. Футер: правая половина всё ещё торчала на 20px (замер: 720..1388 при
   контейнере 32..1368) — `flex:1 1 0` не пересилил ширину 50% от донора.
   Задаём ширину явно и добавляем промежуток между половинами. */
footer [class~="full-column"]{column-gap:24px!important}
footer [class~="sm:w-1/2"]{
  flex:1 1 0!important;width:auto!important;min-width:0!important;max-width:none!important}


/* === футер (сильнее), картинки на телефоне, мелкий текст на контактах === */

/* 1. Футер, третий подход. Прошлые две правки не работали, и вот почему: выше в
   этом же файле лежит МОЯ ЖЕ более ранняя правка с удвоенным селектором
   `[class~="sm:w-1/2"][class~="sm:w-1/2"]{width:50%!important;max-width:50%...}`.
   Удвоение даёт вес (0,2,0), а `footer [class~="sm:w-1/2"]` — только (0,1,1), и
   старое правило побеждало. Замер это и показывал: flex 0/0/50%, maxW 50% —
   значит новые строки просто не применялись.
   Здесь удваиваю селектор тоже, плюс тег `footer` — получается (0,2,1).
   Заодно снимаю авто-отступы: у колонки «Get Around» они давали по 167px с
   каждой стороны, и она висела в середине вместо левого края своей половины. */
footer [class~="sm:w-1/2"][class~="sm:w-1/2"]{
  flex:1 1 0!important;width:auto!important;
  max-width:none!important;min-width:0!important;
  margin-left:0!important;margin-right:0!important}

/* 2. Телефон: обложка 1.20 показывалась вертикальной полосой 0.67 — от кадра
   оставалось 45%. Задаём спокойную пропорцию, чтобы фото читалось. */
@media (max-width:480px){
  img[class*="max-h-"]{aspect-ratio:16/10!important;height:auto!important;
    object-fit:cover!important;width:100%!important}
}

/* 3. Контакты: 101 символ в строке при норме 45–90. Причина не в ширине колонки,
   а в мелком кегле (14px в колонке 704px). Возвращаем нормальный размер — строка
   становится 88 символов и текст читается легче. */
.restored-content [class*="text-sm"]{font-size:1rem!important;line-height:1.6!important}


/* === кнопка не должна быть полосой === */

/* «Discover why» растянулась на 640px — на широком экране это читается как
   полоса, а не кнопка (у донора класс `w-full` рассчитан на узкую колонку).
   Ограничиваем ширину на экранах от планшета; на телефоне кнопка во всю ширину
   остаётся, там это правильно. */
@media (min-width:768px){
  a[class*="btn"],button[class*="btn"]{max-width:320px!important}
  a[class*="btn"][class*="w-full"]{width:auto!important;min-width:200px!important}
}

/* === подпись поверх фотографии: прижата влево, как в оригинале === */

/* Что было не так. У донора подпись — накладка в НИЖНЕМ ЛЕВОМ углу снимка:
   белый прямоугольник на половину ширины, справа остаётся кусок фотографии
   (классы `w-5/6 sm:w-3/6` — 83% на телефоне, 50% от планшета). В сборке правило
   для `sm:w-3/6` не уцелело, работала только мобильная доля 83%, а моя прошлая
   правка (`left:0;right:0`) вдобавок отцентровала плашку — получилась белая
   простыня поперёк снимка с обрезками фото по краям.
   Возвращаем замысел: прижимаем к левому краю и даём донорские 50% от планшета.
   Плюс аккуратность — скруглённый верхний правый угол, мягкая тень и внутренние
   отступы, чтобы текст не лип к краям. */
article > [class*="absolute"][class*="bottom-0"]{
  left:0!important;right:auto!important;margin:0!important;
  border-top-right-radius:16px!important;
  box-shadow:0 -6px 28px rgba(16,24,40,.10)!important;
  padding:.35rem 2.2rem .35rem 0!important}

@media (min-width:640px){
  article > [class*="absolute"][class*="bottom-0"]{width:50%!important;min-width:340px!important}
}

/* === аккуратность плашки: углы и лишние 18px === */

/* 1. Белая плашка свисала на 18px ниже фотографии. Замер показал причину: сама
   картинка блочная, а лежит она внутри АБЗАЦА (`p.wp-block-paragraph`), у
   которого снизу отступ 17.6px — конструктор блоков заворачивает картинку в
   абзац. Карточка из-за этого на 18px выше снимка (686 против 668), а плашка
   прижата к низу карточки. Убираем отступ у абзаца, в котором только картинка. */
article p:has(img),
figure p:has(img),
[class*="overflow-hidden"] > p:has(img){margin-bottom:0!important}

/* 2. Нижний левый угол плашки был квадратным и торчал за скруглённый угол
   снимка. Повторяем радиус карточки. */
article > [class*="absolute"][class*="bottom-0"]{
  border-bottom-left-radius:16px!important}

/* === подпись на карточке: метка и заголовок === */

/* Было: метка «SPOTLIGHT» 16px весом 600 тем же синим, что и заголовок 19.5px —
   два элемента одного веса спорят друг с другом, и непонятно, что тут главное.
   Плюс внутренние отступы донора раздували плашку до 175px под две строки текста.
   Делаю как в нормальной редакционной карточке: маленькая разрядка-метка
   акцентным цветом, под ней крупный заголовок чернильного цвета. */

article > [class*="absolute"][class*="bottom-0"]{
  padding:1.15rem 1.75rem 1.3rem!important}
article > [class*="absolute"][class*="bottom-0"] > *{
  padding:0!important;margin:0!important}

/* метка: мелкая, в разрядку, акцентным цветом */
article > [class*="absolute"][class*="bottom-0"] h6,
article > [class*="absolute"][class*="bottom-0"] h6 a{
  font-size:.72rem!important;line-height:1.2!important;font-weight:700!important;
  letter-spacing:.12em!important;text-transform:uppercase!important;
  color:#2451a3!important;text-decoration:none!important;margin:0!important}
article > [class*="absolute"][class*="bottom-0"] h6{margin:0 0 .5rem!important}

/* заголовок: крупнее метки втрое, чернильный, подчёркивание только при наведении */
article > [class*="absolute"][class*="bottom-0"] h3,
article > [class*="absolute"][class*="bottom-0"] h2{
  font-size:1.5rem!important;line-height:1.25!important;font-weight:700!important;
  margin:0!important}
article > [class*="absolute"][class*="bottom-0"] h3 a,
article > [class*="absolute"][class*="bottom-0"] h2 a{
  color:#101828!important;text-decoration:none!important;
  font-size:inherit!important;line-height:inherit!important}
article > [class*="absolute"][class*="bottom-0"] h3 a:hover,
article > [class*="absolute"][class*="bottom-0"] h2 a:hover{
  color:#2451a3!important;text-decoration:underline!important;
  text-underline-offset:3px!important;text-decoration-thickness:2px!important}

/* === шапка: название слева, меню справа на ВСЕХ страницах === */

/* Разные типы страниц рисуют шапку разными шаблонами, и на статьях внутренний
   контейнер не растягивался: замер дал 851px против 1352px на главной
   (flex-grow 0 вместо 1). Само распределение «по краям» внутри шапки работало,
   но происходило внутри этих 851px — поэтому меню уезжало к названию, а не к
   правому краю. Заставляем контейнер занимать всю ширину шапки. */
header > *{flex:1 1 100%!important;min-width:0!important}

/* И фиксируем сам ряд: название слева, меню справа, всё по средней линии. */
header [class*="justify-between"]{
  justify-content:space-between!important;align-items:center!important;width:100%!important}

/* === шапка: название вплотную слева, меню вплотную справа === */

/* Замер показал: левая половина шапки — flex-ячейка шириной 640px, и название
   вставало по её центру (239px вместо 56px). Правая половина при этом кончалась
   на 1127px вместо 1344px — меню не доходило до края.
   Прижимаем содержимое каждой половины к своему краю. */
header [class*="justify-between"] > *:first-child{
  justify-content:flex-start!important;align-items:center!important;text-align:left!important}
header [class*="justify-between"] > *:first-child > *{
  margin-left:0!important;margin-right:auto!important}

header [class*="justify-end"],
header [class*="lg:flex"]{justify-content:flex-end!important;align-items:center!important}
header [class*="justify-end"] > *,
header [class*="lg:flex"] > ul,
header [class*="lg:flex"] > nav{margin-left:auto!important;margin-right:0!important}
