/* Shared public components. Project exceptions: email placeholder and success auto-close. */
:root { --button:#ff0000; --button-hover:#f50000; --accent-dark:#247b83; --ui-button-width:240px; --ui-button-height:56px; --ui-radius:8px; }
.ui-icon { width:24px; height:24px; flex:none; display:inline-block; vertical-align:middle; }
.nav-chevron { width:24px; height:24px; transform:none; }
.menu-close-icon { display:none; }
.mobile-menu-toggle[aria-expanded="true"] .menu-icon { display:none; }
.mobile-menu-toggle[aria-expanded="true"] .menu-close-icon { display:block; }
.mobile-menu-toggle { display:none; align-items:center; justify-content:center; padding:12px; }
@media(max-width:1100px) { .mobile-menu-toggle { display:inline-flex; } }
/* No component frames. Dividers retain their own role. */
:where(button,input,select,textarea), .author-card, .main-nav__submenu, .cross-banner__action,
.lead-modal__dialog,.lead-form__phone-control,.lead-form__country,.video-modal__dialog,
.wave-service .wave-audio-card,.wave-service .wave-tariff,.wave-service .wave-resource,
.presentation-consent,.presentation-consent-close,.presentation-download {
 border:0!important; outline:0!important; box-shadow:none!important;
}
.author-card:hover { border:0; }
.lead-form input:not([type="checkbox"]),.lead-form textarea,.lead-form select { background:#f1f1f1; color:#111; }
.lead-form input::placeholder,.lead-form textarea::placeholder { color:#666; opacity:1; }
:where(a,button,input,select,textarea,[tabindex]):focus-visible {
 outline:0!important; box-shadow:none!important; background-color:#111!important; color:#fff!important;
}
.lead-form :where(input,select,textarea):focus-visible { background-color:#e5e5e5!important; color:#111!important; }
.lead-form :where(input,select,textarea):focus-visible::placeholder { color:#555!important; }
:where(a,button):focus-visible svg { color:inherit; }
/* Actions size to their labels; typography and corner radius remain shared. */
.page-header__button,.mobile-menu__button,.hero-slide__button,.cross-banner__action,
.key-button,.key-source-button,.material-sidebar-cta__button,.section-action,.more-button,.section-action,.more-button,.listing-more,.wave-service .wave-button,.presentation-download,.cookie-popup__accept {
 box-sizing:border-box; display:inline-flex; flex:none; justify-content:center; align-items:center;
 width:fit-content!important; min-width:0!important; max-width:100%; height:auto!important;
 min-height:56px!important; padding:8px 20px!important; border:0!important;
 border-radius:var(--ui-radius)!important; font-family:var(--body-font)!important;
 font-size:18px!important; font-weight:600!important; line-height:1.25!important;
 text-align:center; white-space:normal!important; background:#ff0000!important; color:#fff!important; text-decoration:none;
}
.page-header__button:hover,.mobile-menu__button:hover,.hero-slide:hover .hero-slide__button,
.cross-banner__link:hover .cross-banner__action,.key-button:hover,.key-source-button:hover,.material-sidebar-cta__button:hover,.section-action:hover,.more-button:hover,.wave-service .wave-button:hover,
.presentation-download:hover,.cookie-popup__accept:hover { background:#f50000!important; color:#fff!important; }
.wave-service .wave-button--light { background-color:#e5e5e5!important; color:#111!important; }
.lead-form__submit,.presentation-consent-accept {
 box-sizing:border-box; width:fit-content!important; max-width:100%; height:auto!important; min-height:56px!important;
 border:0!important; border-radius:8px!important; background:#ff0000!important; color:#fff!important;
 padding:8px 20px!important; font-family:var(--body-font)!important; font-size:18px!important; font-weight:600!important;
}
.page-header__button:focus-visible,.mobile-menu__button:focus-visible,.hero-slide__button:focus-visible,
.key-button:focus-visible,.key-source-button:focus-visible,.material-sidebar-cta__button:focus-visible,.section-action:focus-visible,.more-button:focus-visible,.wave-service .wave-button:focus-visible,.presentation-download:focus-visible,
.cookie-popup__accept:focus-visible,.lead-form__submit:focus-visible { background:#111!important; color:#fff!important; }
.page-header__contacts { flex-basis:240px; }
/* Dark text accents on light surfaces; pale cyan remains available for graphics. */
.author-card__cta { color:#247b83!important; display:inline-flex!important; align-items:center; gap:8px; }
.story-meta time,.story-meta span:last-child,.main-nav a:hover,.topic-links a:hover { color:#c90000!important; }
.site-footer a:hover { color:#fff; text-decoration:underline; }
.cross-banner__link { column-gap:24px; }
.hero-tabs { display:flex!important; flex-wrap:wrap!important; overflow:visible!important; gap:0 16px!important; height:auto!important; padding:0!important; }
.hero-tabs .hero-tab { min-width:0!important; flex:1 1 180px!important; white-space:normal!important; padding:16px!important; overflow-wrap:normal; }
.hero-tabs .hero-tab:focus-visible { background:#111!important; color:#fff!important; }
/* Preserve plus after expansion. No CSS-drawn or browser marker. */
.wave-details summary::after { display:none!important; }
summary { list-style:none; }
summary::-webkit-details-marker { display:none; }
summary::marker { content:""; }
.wave-details summary .ui-icon { margin-left:auto; }
.lead-modal__close,.video-modal__close,.presentation-consent-close { display:flex;align-items:center;justify-content:center;width:48px!important;height:48px!important;padding:12px!important;border-radius:8px!important; }
.lead-modal__dialog { overscroll-behavior:contain; }
@media(max-width:760px) {
 .hero-tabs .hero-tab { flex:1 1 140px!important; }
 .cross-banner__link { grid-template-columns:minmax(0,1fr); }
 .page-header__button,.mobile-menu__button,.hero-slide__button,.cross-banner__action,.key-button,
 .section-action,.more-button,.listing-more,.wave-service .wave-button,.presentation-download,.cookie-popup__accept,
 .lead-form__submit,.presentation-consent-accept { width:100%!important; }
 .hero-slide__button { max-width:100%; }
}

.story-preview-banner { border:0; color:#c90000!important; background:#fff0f0; }
.posts-all:hover { color:#c90000!important; }

@media(min-width:1101px) { .page-header__contacts { flex:0 0 240px!important; width:240px!important; } }

.mobile-menu__group,.mobile-menu,.cookie-popup__panel,.key-card,.key-link-card,.key-source-card,.video-share-modal__panel,.ilm-player,.ilm-player__quality-menu { border:0!important;box-shadow:none!important; }
.lead-form .is-invalid,.lead-form .is-invalid input,.lead-form .is-invalid textarea,.lead-form .is-invalid select { background:#fff0f0!important; box-shadow:none!important; }

.article-note,.story-content blockquote,.key-material__content blockquote { border-left:0!important; }
.ilm-player__play .ui-pause { display:none; }
.ilm-player--playing .ilm-player__play .ui-play { display:none; }
.ilm-player--playing .ilm-player__play .ui-pause { display:block; }
.key-source-video-block__play::before,.video-recommendation__play::after { display:none!important; }
.key-source-video-block__play,.video-recommendation__play { display:grid;place-items:center; }
.lead-form select { appearance:none; -webkit-appearance:none; padding-right:48px!important; background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='24' height='24' viewBox='0 0 24 24' fill='none' stroke='%23111' stroke-width='2'%3E%3Cpath d='M6 9l6 6 6-6'/%3E%3C/svg%3E"); background-repeat:no-repeat; background-position:right 12px center; background-size:24px 24px; }
.lead-form__country { padding-left:12px!important; min-width:92px; }
.author-card:focus-visible p,.author-card:focus-visible .author-card__cta { color:#fff!important; }
.hero-slide:focus-visible .hero-slide__button { background:#111!important; color:#fff!important; }
.cross-banner__link:focus-visible .cross-banner__action { background:#fff!important; color:#111!important; }
.feed-card:focus-visible .feed-card__shade { background:rgba(0,0,0,.8)!important; }

.main-nav__item--open .nav-chevron,.mobile-menu__group--open .nav-chevron,.wave-details[open] summary .ui-chevron { transform:rotate(180deg); }
.page-header__button,.mobile-menu__button,.hero-slide__button,.cross-banner__action,.key-button,.key-source-button,.material-sidebar-cta__button,.section-action,.more-button,.listing-more,.wave-service .wave-button,.presentation-download,.cookie-popup__accept,.lead-form__submit,.presentation-consent-accept { font-size:20px!important;line-height:1.2!important;padding:12px 24px!important; }

.presentation-download { flex:0 1 auto!important; overflow:visible; gap:12px; }
.presentation-download > span[aria-hidden] { display:inline-flex; flex:0 0 24px; width:24px; align-items:center; justify-content:center; }

.page-header__contacts .page-header__button,.mobile-menu__contacts .mobile-menu__button,.lead-form__submit,.presentation-consent-accept { width:100%!important; }
.article-image-text,.article-image-text > * { min-width:0;max-width:100%; }

.heading-word-wrap { hyphens:manual!important; word-break:normal; overflow-wrap:normal; }

/* Legal document: a single reading column, independent of service landing pages. */
.key-page[data-material-path="/personal-data-policy/"] { --policy-width:960px; }
.key-page[data-material-path="/personal-data-policy/"] .key-source-hero {
 display:block!important; min-height:0!important; height:auto!important; max-width:var(--policy-width)!important;
 margin:48px auto 0!important; padding:0!important; background:none!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-source-hero__media { display:none!important; }
.key-page[data-material-path="/personal-data-policy/"] .key-source-hero__content {
 position:static!important; width:100%!important; max-width:none!important; min-height:0!important; padding:0!important; background:none!important;
}
.key-page[data-material-path="/personal-data-policy/"] h1 {
 margin:0!important; font-family:var(--heading-font)!important; font-size:clamp(26px,3.4vw,44px)!important;
 font-weight:400!important; line-height:1.2!important; letter-spacing:0!important; color:#111!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-source-hero p {
 margin:20px 0 0!important; font-family:var(--body-font)!important; font-size:16px!important; line-height:1.5!important; color:#555!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material__content {
 position:static!important; left:auto!important; transform:none!important; box-sizing:border-box!important;
 width:100%!important; max-width:var(--policy-width)!important; margin:32px auto 64px!important; padding:0!important;
 font-family:var(--body-font)!important; font-size:20px!important; line-height:1.6!important; color:#222!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material__content :is(p,ul,ol,li,a,strong,em) {
 font-family:inherit!important; font-size:inherit!important; line-height:inherit!important; color:inherit;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material__content :is(p,ul,ol) { max-width:none!important; margin:0 0 20px!important; }
.key-page[data-material-path="/personal-data-policy/"] .key-material__content :is(ul,ol) { padding:0 0 0 28px!important; }
.key-page[data-material-path="/personal-data-policy/"] .key-material__content li { margin:0!important; padding:0!important; }
.key-page[data-material-path="/personal-data-policy/"] .key-material__content li + li { margin-top:8px!important; }
.key-page[data-material-path="/personal-data-policy/"] .key-material__content h2 {
 margin:48px 0 20px!important; padding:0!important; font-family:var(--heading-font)!important;
 font-size:28px!important; font-weight:400!important; line-height:1.3!important; letter-spacing:0!important; color:#111!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material__content a { color:#b90000!important; text-decoration:underline; text-underline-offset:3px; }
@media(max-width:760px) {
 .key-page[data-material-path="/personal-data-policy/"] .key-source-hero { margin-top:32px!important; }
 .key-page[data-material-path="/personal-data-policy/"] .key-material__content { font-size:18px!important; margin-top:28px!important; }
 .key-page[data-material-path="/personal-data-policy/"] .key-material__content h2 { font-size:23px!important; margin-top:36px!important; }
}
.key-page[data-material-path="/personal-data-policy/"] .key-source-hero {
 position:static!important; left:auto!important; right:auto!important; transform:none!important; width:100%!important; box-sizing:border-box!important;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material {
 box-sizing:border-box; width:100%; max-width:100%; margin:0 auto; padding:0 20px;
}
.key-page[data-material-path="/personal-data-policy/"] .key-material__content a[href^="https:"] { overflow-wrap:anywhere; }
