/*
Theme Name: USTNO
Description: Редактируемый сайт USTNO — аудио, текст и конспект. Native Gutenberg block theme.
Version: 1.2.1
Requires at least: 7.1
Tested up to: 7.1.3
Requires PHP: 8.3
Text Domain: ustno
License: GPL-2.0-or-later
*/
:root { color-scheme: dark; }
* { box-sizing: border-box; }
html { scroll-behavior: smooth; scroll-padding-top: 1rem; }
body { margin: 0; }
h1,h2,h3 { text-wrap: balance; }
p { text-wrap: pretty; }
h1 { font-size: clamp(2.1rem,4.1vw,3.6rem); max-width: 19ch; }
h2 { font-size: clamp(1.8rem,3vw,2.5rem); }
h3 { font-size: 1.35rem; }
a { text-underline-offset: .22em; }
a:hover { text-decoration-thickness: 2px; }
a:focus-visible,button:focus-visible,summary:focus-visible { outline: 3px solid #A7A5FF; outline-offset: 5px; }
.wp-site-blocks { padding: 0; }
.wp-site-blocks > * { margin-block-start: 0; }
.ustno-header,.ustno-footer { padding: 28px max(20px,calc((100% - 1200px)/2)); }
.ustno-header { border-bottom: 1px solid #334154; }
.ustno-header-inner { max-width: 1200px !important; justify-content: space-between; gap: 1.5rem; flex-wrap: wrap; }
.ustno-identity:has(.custom-logo-link) .wp-block-site-title { display: none; }
.ustno-identity .custom-logo-link { display: flex; align-items: center; min-height: 44px; }
.ustno-identity img { width: 148px; height: auto; }
.wp-block-site-title { font-size: 1.65rem; font-weight: 700; letter-spacing: -.025em; }
.wp-block-site-title a { text-decoration: none; color: #F3F6FB; }
.wp-block-navigation { font-size: 1rem; }
.wp-block-navigation a { min-height: 44px; display: flex; align-items: center; }
.wp-block-navigation__responsive-container-open,.wp-block-navigation__responsive-container-close { padding: 12px; }
/* Core overlay defaults have higher specificity than the unscoped theme rule.
   Scope this to the site header; leave native menu state/focus/navigation intact. */
.ustno-header .wp-block-navigation .wp-block-navigation__responsive-container.has-modal-open.is-menu-open {
 background: var(--wp--preset--color--background); color: var(--wp--preset--color--text);
 /* Core translateY animation retains a transformed fixed containing block: the close
    button otherwise scrolls away on short screens. Keep this native overlay instant. */
 animation: none;
 padding: max(20px,env(safe-area-inset-top)) max(20px,env(safe-area-inset-right)) max(20px,env(safe-area-inset-bottom)) max(20px,env(safe-area-inset-left));
}
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-content {
 padding-top: 72px; align-items: stretch;
}
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation__container {
 width: 100%; align-items: stretch; gap: 8px;
}
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation-item { width: 100%; }
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content {
 display: flex; width: 100%; min-height: 56px; padding: 12px 16px; font-size: 24px; line-height: 1.35;
 justify-content: flex-start; text-align: left; border-radius: 12px;
}
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content:hover { background: #151D29; }
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation-item__content[href="https://t.me/speach_to_bot"] {
 margin-top: 16px; background: #A7A5FF; color: #0B1018; justify-content: center;
}
.ustno-header .wp-block-navigation .is-menu-open .wp-block-navigation__responsive-container-close {
 position: fixed; top: max(20px,env(safe-area-inset-top)); right: max(20px,env(safe-area-inset-right));
 min-width: 48px; min-height: 48px; border-radius: 12px; background: #151D29; z-index: 10;
}
.ustno-main { padding: 72px 20px 96px; }
.ustno-main:has(.ustno-hero) { padding: 0; }
.ustno-main > .wp-block-post-content { max-width: none; }
.ustno-hero,.ustno-section { max-width: none !important; padding: 96px max(20px,calc((100% - 1200px)/2)); }
.ustno-section { border-top: 1px solid #334154; }
.ustno-hero > *, .ustno-section > * { max-width: 1200px !important; }
.ustno-hero-grid { align-items: center !important; gap: 70px; }
.ustno-hero-grid > .wp-block-column { flex: 1 1 0; min-width: 0; }
.ustno-hero-grid > .wp-block-column:first-child { flex-grow: 1.15; }
.ustno-lead { color: #AFBCCB; font-size: 1.125rem; max-width: 60ch !important; }
.ustno-intro { color: #A7A5FF; font-size: .9rem; font-weight: 600; }
.ustno-muted,.wp-block-post-date { color: #AFBCCB; font-size: .9rem; }
.ustno-result { padding: 32px; background: #151D29; border-radius: 16px; }
.ustno-result h2 { font-size: clamp(1.7rem,2.5vw,2.2rem); }
.ustno-result-row { border-top: 1px solid #334154; padding-top: 18px; }
.ustno-result-row h3 { color: #A7A5FF; margin-bottom: .25rem; }
.ustno-result-row p { margin-top: 0; color: #AFBCCB; font-size: 1rem; }
.ustno-proof,.ustno-cases,.ustno-steps { gap: 40px; margin-top: 48px; }
.ustno-proof h3 { color: #A7A5FF; }
.ustno-steps .ustno-intro { font-size: 1rem; }
.ustno-price-card { background: #151D29; border-radius: 16px; padding: 32px; height: 100%; }
.ustno-pricing { gap: 24px; margin-top: 40px; }
.ustno-price { font-size: clamp(1.8rem,3vw,2.7rem); font-weight: 600; line-height: 1.2; }
.wp-block-buttons { gap: 16px; align-items: center; }
.wp-block-button__link { min-height: 52px; display: inline-flex; align-items: center; justify-content: center; text-align: center; }
.wp-block-button.is-style-outline > .wp-block-button__link { border: 1px solid #98A9C4; color: #F3F6FB; }
.wp-block-button__link:hover { filter: brightness(1.08); }
.ustno-faq > h2 { margin-bottom: 40px; }
.wp-block-details { border-bottom: 1px solid #334154; padding: 20px 0; }
.wp-block-details summary { cursor: pointer; min-height: 44px; align-content: center; font-weight: 600; }
.wp-block-details p { color: #AFBCCB; max-width: 70ch; }
.ustno-closing { background: #151D29; }
.ustno-footer { border-top: 1px solid #334154; color: #AFBCCB; font-size: .9rem; padding-top: 48px; padding-bottom: 48px; }
.ustno-posts { max-width: 1000px; }
.ustno-posts .wp-block-post-template { padding: 0; }
.ustno-posts .wp-block-post { padding: 32px 0; border-bottom: 1px solid #334154; }
.ustno-posts .wp-block-post-title { max-width: 32ch; }
.wp-block-query-pagination { padding-top: 24px; }
.ustno-reading { max-width: 780px; margin-inline: auto; }
.ustno-reading h1 { max-width: none; font-size: clamp(2rem,4vw,3rem); }
.ustno-reading .wp-block-post-content > h2 { margin-top: 2.8rem; }
.ustno-reading .wp-block-post-content > p,.ustno-reading li { max-width: 70ch; }
.ustno-article-cta { padding: 32px; background: #151D29; border-radius: 16px; margin-top: 56px; }
.ustno-breadcrumbs { font-size: .9rem; }
/* Editor mirrors the frontend canvas. No editor-only structure or custom HTML blocks. */
.editor-styles-wrapper { background: #0B1018; color: #F3F6FB; }
@media (max-width: 781px) {
 .ustno-hero,.ustno-section { padding: 60px 20px; }
 .ustno-hero-grid { gap: 36px; }
 .ustno-hero-grid > .wp-block-column { flex-basis: 100% !important; }
 .ustno-proof,.ustno-cases,.ustno-steps { gap: 24px; margin-top: 32px; }
 .ustno-main { padding-top: 40px; }
 .ustno-price-card,.ustno-result { padding: 24px; }
 .ustno-footer .wp-block-columns { gap: 24px; }
}
@media (max-width: 400px) {
 .ustno-header,.ustno-footer { padding-inline: 16px; }
 .ustno-hero,.ustno-section { padding-inline: 16px; }
 .wp-block-buttons { flex-direction: column; align-items: stretch; }
 .wp-block-button { width: 100%; }
 .wp-block-button__link { width: 100%; }
}
@media (prefers-reduced-motion: reduce) { html { scroll-behavior: auto; } }

/* New copy: native blocks grow with their content; no clipping or forced headline breaks. */
.ustno-hero h1 { max-width: 16ch; text-wrap: balance; }
.ustno-hero-grid:has(> .wp-block-column:only-child) { max-width: 1000px !important; }
.ustno-section > h2 { max-width: 26ch !important; text-wrap: balance; }
.ustno-cases,.ustno-proof { row-gap: 32px; }
.ustno-price-card { height: auto; }
.ustno-reading .wp-block-table { overflow-x: auto; margin-block: 32px; }
.ustno-reading .wp-block-table table { min-width: 580px; border-collapse: collapse; }
.ustno-reading .wp-block-table td,.ustno-reading .wp-block-table th { border-color: #334154; padding: 16px; vertical-align: top; }
.ustno-reading .wp-block-table th { color: #F3F6FB; text-align: left; }
.ustno-reading .wp-block-table td { color: #AFBCCB; }
.ustno-reading .wp-block-details a { overflow-wrap: anywhere; }

.ustno-hero > h1 { max-width: 19ch !important; margin-inline: 0 !important; }
.ustno-hero > .ustno-lead,.ustno-section > p { max-width: 65ch !important; margin-inline: 0 !important; }
.ustno-section > h2 { margin-inline: 0 !important; }
.ustno-cases { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); }
@media (max-width: 781px) { .ustno-cases { grid-template-columns: minmax(0,1fr); } }

/* Shared site grid and compact reading/navigation rhythm. */
.ustno-footer > .wp-block-columns { max-width: 1200px !important; margin-inline: auto; gap: 48px; }
.ustno-footer .wp-block-column:first-child > p { max-width: 34ch; }
.ustno-footer a:not(.custom-logo-link) { display: inline-flex; align-items: center; min-height: 44px; vertical-align: middle; }
.ustno-footer .wp-block-column > p { margin-block: 12px 0; }
.ustno-main:not(.ustno-reading) > .ustno-lead { max-width: 740px !important; }
.ustno-posts .wp-block-post { padding-block: 24px; }
.ustno-posts .wp-block-post-title { font-size: clamp(1.55rem,2.5vw,2.1rem); }
.ustno-posts .wp-block-post-excerpt { margin-block-start: 16px; }
.ustno-posts .wp-block-post-excerpt__more-link { display: inline-flex; align-items: center; min-height: 44px; }
.ustno-posts .wp-block-post-excerpt__more-text { margin-block: 8px 0; }
.ustno-faq > .wp-block-details { margin-block-start: 0; padding-block: 12px; }
.ustno-faq > h2 { margin-bottom: 24px; }
.ustno-cases > .wp-block-column { display: flex; flex-direction: column; }
.ustno-cases > .wp-block-column > :first-child { margin-top: 0; }
.ustno-cases > .wp-block-column > p:last-child:has(> a) { margin-top: auto; padding-top: 16px; }
.ustno-cases a { display: inline-flex; align-items: center; min-height: 44px; }

/* The approved transcript/summary example is one specimen, without invented app UI. */
#rezultat .ustno-proof { padding: clamp(20px,3vw,40px); background: var(--wp--preset--color--surface); border: 1px solid #334154; border-radius: 16px; gap: 40px; }
#rezultat .ustno-proof h3 { margin-top: 0; }
#rezultat .ustno-proof strong { color: var(--wp--preset--color--accent); font-variant-numeric: tabular-nums; }
#rezultat .ustno-proof ul { padding-inline-start: 1.25em; }
#rezultat .ustno-proof li + li { margin-top: 12px; }
@media (min-width: 782px) {
 .ustno-pricing { display: grid !important; grid-template-columns: repeat(2,minmax(0,1fr)); grid-template-rows: repeat(6,auto); row-gap: 20px; }
 .ustno-pricing > .wp-block-column { display: grid; grid-template-rows: subgrid; grid-row: span 6; }
 .ustno-pricing .ustno-price-card { display: grid; grid-template-rows: subgrid; grid-row: span 6; height: 100%; }
 .ustno-pricing .ustno-price-card > * { margin-block: 0; margin-inline: 0 !important; }
}
@media (min-width: 600px) {
 .ustno-header .wp-block-navigation { font-size: clamp(.875rem,1.1vw,1rem); }
 .ustno-header .wp-block-navigation__container { gap: clamp(12px,1.5vw,24px); }
 .ustno-header .wp-block-navigation-item__content[href="https://t.me/speach_to_bot"] { padding: 10px 16px; border-radius: 10px; background: #A7A5FF; color: #101226; font-weight: 600; }
}
@media (max-width: 781px) {
 #rezultat .ustno-proof { gap: 28px; }
 #rezultat .ustno-proof > .wp-block-column + .wp-block-column { border-top: 1px solid #334154; padding-top: 24px; }
}


/* Reading pages keep title, sections and subsection copy visibly distinct. */
.ustno-reading .wp-block-post-content > h2 { font-size: clamp(1.5rem,2.2vw,1.875rem); }
.ustno-reading .wp-block-post-content > h3 { margin-block-start: 2rem; }
.ustno-reading .wp-block-post-content > h3 + * { margin-block-start: .5rem; }
.ustno-proof h3 { color: var(--wp--preset--color--text); }
.wp-site-blocks { min-height: 100vh; display: flex; flex-direction: column; }
.wp-site-blocks > footer { margin-block-start: auto; }

.ustno-reading { min-width: 0; width: 100%; }
.ustno-table-hint { display: none; }
.ustno-reading .wp-block-table:focus-visible { outline: 3px solid #A7A5FF; outline-offset: 5px; }
@media (max-width: 619px) {
 .ustno-table-hint { display: block; position: sticky; left: 0; width: 100%; margin: 0 0 12px; color: #AFBCCB; font-size: .875rem; }
}

/* Core sets navigation anchors to block; center their text as well as their boxes. */
.ustno-header .wp-block-navigation .wp-block-navigation-item__content { display: flex; align-items: center; justify-content: center; }
