MediaWiki:Common.css: відмінності між версіями
Admin (обговорення | внесок) (login v2.29: посилений градієнт + z-index 50/51 над усім крім футера) |
Admin (обговорення | внесок) (login v2.30: відкат v2.29 (градієнт повернуто до 180px/0.55, z-index 3/4)) Мітка: Ручний відкіт |
||
| Рядок 998: | Рядок 998: | ||
text-decoration: underline; | text-decoration: underline; | ||
} | } | ||
/* Темний градієнт прикріплений до низу viewport — fixed щоб завжди знизу | /* Темний градієнт прикріплений до низу viewport — fixed щоб завжди знизу */ | ||
body.mw-special-Userlogin::after, | body.mw-special-Userlogin::after, | ||
body.mw-special-CreateAccount::after { | body.mw-special-CreateAccount::after { | ||
| Рядок 1008: | Рядок 1006: | ||
right: 0; | right: 0; | ||
bottom: 0; | bottom: 0; | ||
height: | height: 180px; | ||
background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0. | background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.55) 100%); | ||
pointer-events: none; | pointer-events: none; | ||
z-index: | z-index: 3; | ||
} | } | ||
/* Footer — натуральний flex-потік, margin-top: auto штовхне його до низу | /* Footer — натуральний flex-потік, margin-top: auto штовхне його до низу | ||
| Рядок 1020: | Рядок 1018: | ||
body.mw-special-CreateAccount .mw-footer-container { | body.mw-special-CreateAccount .mw-footer-container { | ||
position: relative !important; | position: relative !important; | ||
z-index: | z-index: 4 !important; | ||
margin-top: 50px !important; | margin-top: 50px !important; | ||
} | } | ||
Версія за 20:37, 16 травня 2026
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;800&display=swap');
/* Жорстка заборона Chrome Android Auto-Dark / Force Dark — сайт лише світлий */
:root { color-scheme: only light; }
html { background-color: #ffffff; color-scheme: only light; }
body { background-color: #ffffff; }
@media (prefers-color-scheme: dark) {
/* Сигнал браузеру: ми НЕ підтримуємо темну тему (та не намагайся її форсити) */
:root { color-scheme: only light !important; }
html, body { background-color: #ffffff !important; }
}
/* Place card — vertical layout (image top, body below) */
.place-card {
display: flex;
flex-direction: column;
background: #fff;
border: 1px solid #eef1f6;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 1px 8px rgba(0,0,0,.04);
transition: transform .15s ease, box-shadow .15s ease;
}
.place-card:hover {
transform: translateY(-2px);
box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.08);
}
.place-card__img {
width: 100%;
aspect-ratio: 16 / 10;
overflow: hidden;
background: #f5f7fb;
}
.place-card__img a, .place-card__img img {
display: block;
width: 100%;
height: 100%;
object-fit: cover;
}
.place-card__body { padding: 14px 18px 18px; }
.place-card__title { font-size: 17px; font-weight: 700; margin: 0 0 8px; line-height: 1.25; }
.place-card__title a { color: #111827; text-decoration: none; }
.place-card__title a:hover { color: #2a6df4; }
.place-card__meta { font-size: 13px; color: #6b7280; margin: 0 0 10px; line-height: 1.5; }
.place-card__desc { font-size: 14px; line-height: 1.5; color: #374151; }
/* Grid: 2 columns desktop, 1 column mobile */
.places-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 18px;
margin: 16px 0;
}
@media (max-width: 640px) {
.places-grid { grid-template-columns: 1fr; }
}
/* Add-place button */
.add-place-btn{ text-align:center; margin:20px 0; }
.add-place-btn a{
display:inline-block; background:#2a6df4; color:#fff !important;
padding:10px 14px; border-radius:8px; text-decoration:none;
font-weight:600; box-shadow:0 1px 2px rgba(0,0,0,.12);
}
.add-place-btn a:hover{ background:#1f57c2; }
/* Banner image — responsive (full width on mobile, native on desktop) */
.banner-wrapper { width: 100%; }
.banner-wrapper img,
.banner-image img { max-width: 100%; height: auto; display: block; }
/* Wikitable — clean style: no borders, cells separated by white gaps over light-gray fill */
.wikitable {
background: transparent;
border: 0;
border-collapse: separate;
border-spacing: 3px;
margin: 1em 0;
color: inherit;
}
.wikitable > * > tr > th,
.wikitable > * > tr > td {
background: #f5f7fb;
border: 0;
padding: 12px 16px;
vertical-align: top;
}
.wikitable > * > tr > th {
background: #e8eef7;
font-weight: 600;
text-align: left;
}
/* PageForms — Place form: card layout, modern inputs */
.pf-place-form { max-width: 720px; margin: 0 auto; }
#pfForm { background: #fff; }
#pfForm .pf-place-form h2 {
font-size: 12px; text-transform: uppercase; letter-spacing: 0.8px;
color: #6b7280; font-weight: 600; margin: 28px 0 12px;
padding-bottom: 6px; border-bottom: 1px solid #e8eef7;
}
#pfForm .pf-place-form h2:first-child { margin-top: 0; }
#pfForm dl { margin: 0 0 16px; }
#pfForm dt { font-size: 13px; color: #374151; font-weight: 600; margin-bottom: 6px; }
#pfForm dt small { font-weight: 400; color: #9ca3af; margin-left: 4px; }
#pfForm dd { margin: 0; }
#pfForm .inputSpan { display: block; }
#pfForm .createboxInput {
width: 100%; max-width: 100%; box-sizing: border-box;
padding: 10px 14px; font-size: 15px; line-height: 1.4;
background: #fafbfd; border: 1px solid #eef1f6; border-radius: 8px;
font-family: inherit; color: #111827;
transition: border-color .15s, background .15s, box-shadow .15s;
}
#pfForm .createboxInput:focus {
outline: none; background: #fff; border-color: #2a6df4;
box-shadow: 0 0 0 3px rgba(42,109,244,0.15);
}
#pfForm .createboxInput::placeholder { color: #9ca3af; }
#pfForm textarea { min-height: 110px; resize: vertical; }
#pfForm .pfUploadable {
display: inline-block; margin-top: 8px; font-size: 13px;
color: #2a6df4; text-decoration: none;
}
#pfForm .pfUploadable:hover { text-decoration: underline; }
/* coords row: keep Lat/Lon inputs side-by-side */
#pfForm .pf-coord-label { font-size: 13px; color: #6b7280; margin-right: 4px; }
#pfForm dd:has(.pf-coord-label) .inputSpan { display: inline-block; width: auto; }
#pfForm dd:has(.pf-coord-label) .createboxInput { width: 140px; display: inline-block; }
#pfForm dd:has(.pf-coord-label) { display: flex; align-items: center; gap: 8px; flex-wrap: wrap; }
/* Logo wordmark — Manrope font + tagline */
.mw-logo { align-items: center; gap: 7px; overflow: visible !important; }
.mw-logo-icon { height: 43px !important; width: auto !important; flex-shrink: 0; }
.mw-logo-container,
.vector-header-start .mw-logo-container {
display: inline-block;
overflow: visible !important;
max-width: none !important;
width: auto !important;
}
.mw-logo-wordmark {
font-family: 'Manrope', system-ui, -apple-system, sans-serif !important;
font-weight: 700 !important;
font-size: 24px !important;
color: #1a2240 !important;
letter-spacing: -0.015em;
line-height: 1.1;
display: block;
white-space: nowrap;
overflow: visible;
}
.mw-logo-container::after {
content: 'вікіпедія для емігрантів';
display: block;
font-family: 'Manrope', system-ui, sans-serif;
font-size: 7px;
font-weight: 600;
letter-spacing: 0.16em;
text-transform: uppercase;
color: #4b5d8c;
margin-top: 3px;
white-space: nowrap;
}
/* Search input — restrained, encyclopedic */
.vector-search-box .cdx-search-input,
.cdx-typeahead-search .cdx-search-input,
form.cdx-search-input {
border-radius: 999px !important;
background: #f4f6fa !important;
border: 1px solid transparent !important;
box-shadow: none !important;
transition: background 0.2s ease, border-color 0.2s ease;
overflow: hidden;
padding: 0 !important;
}
.vector-search-box .cdx-search-input:hover,
.cdx-typeahead-search .cdx-search-input:hover,
form.cdx-search-input:hover {
background: #eef1f7 !important;
}
.vector-search-box .cdx-search-input:focus-within,
.cdx-typeahead-search .cdx-search-input:focus-within,
form.cdx-search-input:focus-within {
background: #ffffff !important;
border-color: #1a2240 !important;
box-shadow: none !important;
}
.cdx-search-input .cdx-text-input,
.cdx-typeahead-search .cdx-text-input {
border: none !important;
background: transparent !important;
}
.cdx-search-input .cdx-text-input__input,
.cdx-typeahead-search .cdx-text-input__input {
background: transparent !important;
border: none !important;
box-shadow: none !important;
height: 38px !important;
padding: 0 16px 0 36px !important;
font-size: 14px !important;
color: #1a2240 !important;
}
.cdx-search-input .cdx-text-input__input::placeholder,
.cdx-typeahead-search .cdx-text-input__input::placeholder {
color: #8b95ad !important;
font-weight: 400;
}
.cdx-search-input .cdx-text-input__start-icon,
.cdx-typeahead-search .cdx-text-input__start-icon {
left: 12px !important;
top: 50% !important;
opacity: 0.5;
transform: translateY(-50%) scale(0.8) !important;
transform-origin: left center;
}
/* Ghost button — restrained */
.cdx-search-input .cdx-search-input__end-button,
.cdx-typeahead-search .cdx-search-input__end-button {
border-radius: 999px !important;
background: transparent !important;
color: #4b5d8c !important;
border: none !important;
padding: 0 16px !important;
height: 38px !important;
margin: 0 !important;
font-weight: 500 !important;
font-size: 13px !important;
letter-spacing: 0;
cursor: pointer;
transition: background 0.15s ease, color 0.15s ease;
}
.cdx-search-input .cdx-search-input__end-button:hover,
.cdx-typeahead-search .cdx-search-input__end-button:hover {
background: #eef1f7 !important;
color: #1a2240 !important;
}
/* Typeahead suggestions dropdown */
.cdx-typeahead-search .cdx-menu {
border-radius: 14px !important;
border: 1px solid #e3e7ef !important;
box-shadow: 0 8px 24px rgba(15, 23, 42, 0.08) !important;
margin-top: 6px !important;
overflow: hidden;
}
.cdx-typeahead-search .cdx-menu-item:hover,
.cdx-typeahead-search .cdx-menu-item--highlighted {
background: #f4f6fa !important;
}
/* Hide TOC header "Зміст сховати" in left sidebar */
#mw-panel-toc .vector-toc-pinnable-header { display: none !important; }
/* ============================================================
Page hero — повноширинний блок з заголовком на сторінках країн
============================================================
Hero рендериться як position:absolute всередині .mw-page-container-inner,
щоб не залежати від grid-колонок (mainMenu / pageContent).
.mw-page-container-inner отримує padding-top на висоту hero, щоб
контент починався під ним.
Поки сірий фон. Щоб поставити зображення — заміни значення
--page-hero-bg на url(...) (можна на конкретну країну).
*/
:root {
--page-hero-bg: #e8e8e8;
--page-hero-fg: #1a2240;
--page-hero-height: 500px;
}
/* Country-specific hero backgrounds */
body.page-🇷🇴_Румунія {
--page-hero-bg: url("/resources/assets/hero/romania.png");
--page-hero-fg: #ffffff;
}
body:is(.page-🇷🇴_Румунія) .mw-page-container-inner {
position: relative;
padding-top: calc(var(--page-hero-height) + 24px); /* hero + top offset (12) + bottom gap (12) — симетрично */
}
/* Прибрати весь верхній відступ TOC sidebar — pinnable-header ("Зміст" + кнопки)
та дефолтні top-paddings на обгортках. */
.skin-vector-2022 .vector-toc-pinnable-header {
display: none !important;
}
.skin-vector-2022 #mw-panel-toc,
.skin-vector-2022 #vector-toc-pinned-container,
.skin-vector-2022 #vector-toc {
padding-top: 0 !important;
margin-top: 0 !important;
}
/* Прибрати "Матеріал з Країнопедії" та інший pre-content шум, який створює
асиметрію між верхнім (24px) і нижнім (виглядав ~70px) відступом hero. */
body:is(.page-🇷🇴_Румунія) .vector-body-before-content,
body:is(.page-🇷🇴_Румунія) #contentSub {
display: none !important;
}
body:is(.page-🇷🇴_Румунія) #mw-content-text > .mw-parser-output > :first-child {
margin-top: 0 !important;
}
/* Vector-2022 додає власні top-paddings на content-обгортки — занулюємо
щоб body-текст починався одразу під padding-top контейнера. */
body:is(.page-🇷🇴_Румунія) main#content.mw-body,
body:is(.page-🇷🇴_Румунія) #bodyContent.vector-body,
body:is(.page-🇷🇴_Румунія) #mw-content-text,
body:is(.page-🇷🇴_Румунія) #mw-content-text > .mw-parser-output {
padding-top: 0 !important;
margin-top: 0 !important;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar {
position: absolute;
top: 12px;
left: 0;
right: 0;
width: auto;
height: var(--page-hero-height);
margin: 0;
padding: 0 32px;
background: var(--page-hero-bg);
background-size: cover;
background-position: center;
display: flex;
align-items: center;
justify-content: center;
border-radius: 16px;
box-sizing: border-box;
z-index: 1;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .firstHeading {
text-align: center;
font-size: 40px;
font-weight: 700;
color: var(--page-hero-fg);
margin: 0;
border: none;
padding: 0;
word-wrap: break-word;
line-height: 1.2;
}
/* Mobile: коротший hero */
@media screen and (max-width: 720px) {
body:is(.page-🇷🇴_Румунія) {
--page-hero-height: 220px;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar {
padding: 0 16px;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .firstHeading {
font-size: 28px;
}
}
/* MinervaNeue — hero для сторінок країн (картинка + заголовок, 60vh, з боковими відступами).
Верхній і нижній отступи рівні (12px). */
.skin-minerva.page-🇷🇴_Румунія .pre-content.heading-holder {
position: relative;
margin: 12px;
padding: 0;
height: 60vh;
min-height: 280px;
background-image: var(--page-hero-bg);
background-size: cover;
background-position: center;
display: flex;
align-items: center;
justify-content: center;
border-radius: 16px;
overflow: hidden;
}
.skin-minerva.page-🇷🇴_Румунія .pre-content.heading-holder .page-heading {
position: relative;
z-index: 1;
width: 100%;
padding: 0 20px;
text-align: center;
}
.skin-minerva.page-🇷🇴_Румунія .pre-content.heading-holder .firstHeading {
font-family: "Manrope", sans-serif;
font-size: 36px;
font-weight: 700;
color: var(--page-hero-fg, #ffffff);
margin: 0;
border: none;
padding: 0;
line-height: 1.15;
text-shadow: 0 2px 12px rgba(0, 0, 0, 0.35);
letter-spacing: -0.01em;
}
.skin-minerva.page-🇷🇴_Румунія .pre-content.heading-holder .tagline {
display: none;
}
/* На зовсім малих екранах — трохи менший заголовок */
@media screen and (max-width: 360px) {
.skin-minerva.page-🇷🇴_Румунія .pre-content.heading-holder .firstHeading {
font-size: 30px;
}
}
/* Page Tools (Інструменти, правий sidebar) — закріплено назавжди.
Ховаємо кнопки pin/unpin і примусово показуємо sidebar навіть якщо
у юзера збережений unpinned стан в preferences/куках. */
[data-event-name^="pinnable-header.vector-page-tools."] {
display: none !important;
}
/* Сховати tabs "Обговорення" і "Головна" з UI */
#ca-talk, #ca-nstab-main { display: none !important; }
/* "Обговорення" в персональному меню (User_talk:current_user) */
#pt-mytalk { display: none !important; }
/* Sticky header (з'являється при скролі) — дублі іконок талку та watch-зірки */
#ca-talk-sticky-header,
#ca-watchstar-sticky-header { display: none !important; }
/* Toolbar (Читати / Редагувати / ...) переміщається JS всередину hero
і ставиться на 24px від нижнього краю, по центру */
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar {
position: absolute;
bottom: 24px;
left: 0;
right: 0;
z-index: 2;
margin: 0;
padding: 0 24px;
display: flex;
justify-content: center;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar-container {
width: auto !important;
display: flex !important;
justify-content: center !important;
gap: 24px;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar a {
color: #ffffff !important;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}
/* Прибрати суцільну горизонтальну лінію під toolbar (box-shadow Vector),
лишається лише підкреслення активної вкладки */
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar-container {
box-shadow: none !important;
}
/* Сховати dropdown "Інструменти" і зірочку (watch) з toolbar — глобально.
В toolbar це #vector-page-tools-dropdown (НЕ #p-cactions, той — "Більше опцій").
Також ховаємо правий sticky-rail "Інструменти". */
.skin-vector-2022 #vector-page-tools-dropdown,
.skin-vector-2022 .vector-page-tools-landmark,
.skin-vector-2022 #p-cactions,
.skin-vector-2022 #ca-watch,
.skin-vector-2022 #ca-unwatch {
display: none !important;
}
/* === Service cards (грід для Послуг — клінінг, переклад, доставка тощо) === */
.services-grid {
display: grid;
grid-template-columns: repeat(2, 1fr);
gap: 18px;
margin: 16px 0;
}
@media (max-width: 640px) {
.services-grid { grid-template-columns: 1fr; }
}
.service-card {
box-sizing: border-box;
display: flex;
flex-direction: column;
background: #fff;
border: 1px solid #eef1f6;
border-radius: 14px;
overflow: hidden;
box-shadow: 0 1px 2px rgba(0,0,0,.03), 0 1px 8px rgba(0,0,0,.04);
transition: transform .15s ease, box-shadow .15s ease;
}
.service-card:hover {
transform: translateY(-2px);
box-shadow: 0 2px 4px rgba(0,0,0,.04), 0 6px 18px rgba(0,0,0,.08);
}
.service-card__body { padding: 16px 20px 18px; }
.service-card__title {
font-size: 17px;
font-weight: 700;
margin: 0 0 8px;
line-height: 1.25;
}
.service-card__title a { color: #111827; text-decoration: none; }
.service-card__title a:hover { color: #2a6df4; }
.service-card__desc {
font-size: 14px;
line-height: 1.5;
color: #374151;
margin-bottom: 12px;
}
.service-card__meta {
display: flex;
flex-direction: column;
gap: 4px;
font-size: 13px;
color: #4b5563;
border-top: 1px solid #f3f4f6;
padding-top: 10px;
}
.service-card__row {
line-height: 1.5;
padding-left: 22px;
background-repeat: no-repeat;
background-position: 0 4px;
background-size: 14px 14px;
}
.service-card__row a { color: #2a6df4; text-decoration: none; }
.service-card__row a:hover { text-decoration: underline; }
/* SVG-іконки (Heroicons solid, fill #4b5563, URL-encoded) */
.service-card__row--phone {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%234b5563%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M1.5%204.5a3%203%200%200%201%203-3h1.372c.86%200%201.61.586%201.819%201.42l1.105%204.423a1.875%201.875%200%200%201-.694%201.955l-1.293.97c-.135.101-.164.249-.126.352a11.285%2011.285%200%200%200%206.197%206.197c.103.038.25.009.352-.126l.97-1.293a1.875%201.875%200%200%201%201.955-.694l4.423%201.105c.834.209%201.42.959%201.42%201.82V19.5a3%203%200%200%201-3%203h-2.25C8.552%2022.5%201.5%2015.448%201.5%206.75V4.5z%27%20clip-rule%3D%27evenodd%27%2F%3E%3C%2Fsvg%3E");
}
.service-card__row--telegram {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%234b5563%27%3E%3Cpath%20d%3D%27M3.478%202.405a.75.75%200%200%200-.926.94l2.432%207.905H13.5a.75.75%200%200%201%200%201.5H4.984l-2.432%207.905a.75.75%200%200%200%20.926.94%2060.519%2060.519%200%200%200%2018.445-8.986.75.75%200%200%200%200-1.218A60.517%2060.517%200%200%200%203.478%202.405z%27%2F%3E%3C%2Fsvg%3E");
}
.service-card__row--languages {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%234b5563%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M9%202.25a.75.75%200%200%201%20.75.75v1.506a49.38%2049.38%200%200%201%205.343.371.75.75%200%201%201-.186%201.489c-.66-.083-1.323-.151-1.99-.206a18.67%2018.67%200%200%201-2.969%206.323c.317.384.65.753.998%201.107a.75.75%200%201%201-1.07%201.052A18.902%2018.902%200%200%201%209%2013.687a18.823%2018.823%200%200%201-5.656%204.482.75.75%200%201%201-.688-1.333%2017.323%2017.323%200%200%200%205.396-4.353A18.72%2018.72%200%200%201%205.89%208.598a.75.75%200%200%201%201.388-.568A17.21%2017.21%200%200%200%209%2011.224a17.17%2017.17%200%200%200%202.391-5.165%2048.038%2048.038%200%200%200-8.298.307.75.75%200%200%201-.186-1.489%2049.159%2049.159%200%200%201%205.343-.371V3A.75.75%200%200%201%209%202.25zM15.75%209a.75.75%200%200%201%20.68.433l5.25%2011.25a.75.75%200%201%201-1.36.634l-1.198-2.567h-6.744l-1.198%202.567a.75.75%200%200%201-1.36-.634l5.25-11.25A.75.75%200%200%201%2015.75%209zm-2.672%208.25h5.344l-2.672-5.726-2.672%205.726z%27%20clip-rule%3D%27evenodd%27%2F%3E%3C%2Fsvg%3E");
}
.service-card__row--website {
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%234b5563%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M12%202.25c-5.385%200-9.75%204.365-9.75%209.75s4.365%209.75%209.75%209.75%209.75-4.365%209.75-9.75S17.385%202.25%2012%202.25zM4.575%2015.6a8.25%208.25%200%200%200%209.348%204.425%201.966%201.966%200%200%200-1.84-1.275.983.983%200%200%201-.97-.822l-.073-.437c-.094-.565.25-1.11.8-1.267l.99-.282c.427-.123.783-.418.982-.816l.036-.073a1.453%201.453%200%200%201%202.328-.377L16.5%2015h.628a2.25%202.25%200%200%201%201.983%201.186%208.25%208.25%200%200%200-6.345-12.4c.044.262.18.503.389.676l1.068.89c.442.369.535%201.01.216%201.49l-.51.766a2.25%202.25%200%200%201-1.161.886l-.143.048a1.107%201.107%200%200%200-.57%201.664c.369.555.169%201.307-.427%201.605L9%2013.125l.423%201.059a.956.956%200%200%201-1.652.928l-.679-.906a1.125%201.125%200%200%200-1.906.143l-.476.952a.992.992%200%200%201-.785.572l-.504.054z%27%20clip-rule%3D%27evenodd%27%2F%3E%3C%2Fsvg%3E");
}
/* CTA-картка "Я виконавець, додати себе" — як service-card, але з пунктирною рамкою */
.service-card--cta {
align-items: center;
justify-content: center;
text-align: center;
background: #f8fafc;
border: 2px dashed #cbd5e1;
box-shadow: none;
color: #4b5563;
text-decoration: none;
padding: 16px 20px 18px;
transition: border-color .15s, background .15s, color .15s, transform .15s;
}
.service-card--cta:hover {
border-color: #2a6df4;
background: #f0f6ff;
color: #2a6df4;
transform: translateY(-2px);
box-shadow: none;
text-decoration: none;
}
.service-card--cta__plus {
width: 36px;
height: 36px;
border-radius: 50%;
background: #fff;
border: 1.5px solid currentColor;
display: flex;
align-items: center;
justify-content: center;
font-size: 22px;
line-height: 1;
margin: 0 auto 10px;
}
.service-card--cta__title {
display: block;
font-weight: 600;
font-size: 15px;
color: inherit;
}
.service-card--cta__hint {
display: block;
font-size: 12px;
color: #6b7280;
margin-top: 4px;
}
.service-card--cta:hover .service-card--cta__hint { color: inherit; opacity: .85; }
/* extlink-обгортка навколо CTA-картки має заповнити висоту cargo-картки */
.services-grid > a {
display: flex;
text-decoration: none;
color: inherit;
}
.services-grid > a:hover { text-decoration: none; }
.services-grid > a > .service-card--cta {
flex: 1;
width: 100%;
display: flex;
flex-direction: column;
}
/* Прибираємо стрілочку external link зі всіх <a> у грідах послуг */
.services-grid > a.external {
background-image: none !important;
padding-right: 0 !important;
}
/* Гарантія однакової висоти CTA-картки і звичайних cargo-карток */
.services-grid { align-items: stretch; }
.services-grid > a { box-sizing: border-box; align-self: stretch; }
.services-grid > a > .service-card--cta { box-sizing: border-box; }
/* Mobile (MinervaNeue) — лого + назва сайту в шапці */
.skin-minerva .branding-box a {
display: inline-flex;
align-items: center;
gap: 8px;
text-decoration: none;
color: inherit;
}
.skin-minerva .branding-box span img {
width: auto;
height: 28px;
display: block;
}
.skin-minerva .branding-box span::after {
content: "Країнопедія";
font-family: "Manrope", sans-serif;
font-weight: 600;
font-size: 17px;
color: #1a2240;
white-space: nowrap;
}
.skin-minerva .branding-box span {
display: inline-flex;
align-items: center;
gap: 8px;
}
/* MinervaNeue — секція "Міста" у бургер-drawer (нашого Common.js) */
.skin-minerva .cities-drawer-section {
border-top: 1px solid #eaecf0;
margin-top: 8px;
}
.skin-minerva .cities-drawer-section__heading {
margin: 0;
padding: 14px 16px 6px;
font-family: inherit;
font-size: 12px;
font-weight: 700;
color: #72777d;
text-transform: uppercase;
letter-spacing: 0.06em;
border: none;
background: transparent;
}
.skin-minerva .cities-drawer-section__list {
margin: 0;
padding: 0;
list-style: none;
}
.skin-minerva .cities-drawer-item .toggle-list-item__anchor {
display: flex;
align-items: center;
gap: 12px;
padding: 10px 16px;
text-decoration: none;
color: #202122;
font-size: 16px;
}
.skin-minerva .cities-drawer-item .toggle-list-item__label {
flex: 1;
}
.skin-minerva .cities-drawer-item__icon {
width: 20px;
height: 20px;
background-image: url("data:image/svg+xml;charset=utf-8,%3Csvg%20xmlns%3D%27http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%27%20viewBox%3D%270%200%2024%2024%27%20fill%3D%27%2354595d%27%3E%3Cpath%20fill-rule%3D%27evenodd%27%20d%3D%27M11.54%2022.351l.07.04.028.016a.76.76%200%2000.723%200l.028-.015.071-.041a16.975%2016.975%200%20001.144-.742%2019.58%2019.58%200%20002.683-2.282c1.944-1.99%203.963-4.98%203.963-8.827a8.25%208.25%200%2000-16.5%200c0%203.846%202.02%206.837%203.963%208.827a19.58%2019.58%200%20002.682%202.282%2016.975%2016.975%200%20001.145.742zM12%2013.5a3%203%200%20100-6%203%203%200%20000%206z%27%20clip-rule%3D%27evenodd%27%2F%3E%3C%2Fsvg%3E");
background-repeat: no-repeat;
background-position: center;
background-size: 18px 18px;
flex-shrink: 0;
}
/* Неіснуюча сторінка міста — приглушений колір + знак + */
.skin-minerva .cities-drawer-item--missing .toggle-list-item__label {
color: #9aa0a6;
}
.skin-minerva .cities-drawer-item--missing .cities-drawer-item__icon {
opacity: 0.45;
}
.skin-minerva .cities-drawer-item--missing .toggle-list-item__anchor::after {
content: "+";
margin-left: auto;
color: #9aa0a6;
font-size: 22px;
line-height: 1;
font-weight: 400;
}
/* MinervaNeue — кнопка "Увійти" виділена як CTA */
.skin-minerva #p-personal { padding: 6px 12px; }
.skin-minerva #p-personal .toggle-list-item {
margin: 0;
}
.skin-minerva #p-personal .toggle-list-item__anchor {
display: flex;
align-items: center;
gap: 12px;
background: #f84840;
color: #ffffff !important;
border-radius: 10px;
padding: 12px 14px;
font-weight: 600;
box-shadow: 0 2px 6px rgba(248, 72, 64, 0.25);
transition: background .15s, box-shadow .15s, transform .1s;
}
.skin-minerva #p-personal .toggle-list-item__anchor:hover,
.skin-minerva #p-personal .toggle-list-item__anchor:active {
background: #e63a32;
color: #ffffff !important;
box-shadow: 0 3px 8px rgba(248, 72, 64, 0.35);
}
.skin-minerva #p-personal .toggle-list-item__label {
color: #ffffff;
}
/* Зробити іконку білою (вона SVG-mask на background-image) */
.skin-minerva #p-personal .minerva-icon {
filter: brightness(0) invert(1);
}
/* MinervaNeue — прибрати вбудоване "Домашня"/"Випадкова" з drawer */
.skin-minerva #p-navigation {
display: none;
}
/* MinervaNeue — верхня менюшка без сірого фону */
.skin-minerva .header-container,
.skin-minerva .header-container.header-chrome,
.skin-minerva .minerva-header {
background: #ffffff !important;
border-bottom: none !important;
box-shadow: none !important;
}
/* MinervaNeue — прибрати порожній banner-container/siteNotice над hero */
.skin-minerva .banner-container:empty,
.skin-minerva #siteNotice:empty {
display: none;
}
/* MinervaNeue — закріпити "Налаштування" внизу drawer + світліший фон + сховати scrollbar */
.skin-minerva #mw-mf-page-left {
display: flex;
flex-direction: column;
min-height: 100%;
background: #ffffff;
scrollbar-width: none; /* Firefox */
-ms-overflow-style: none; /* IE/Edge legacy */
}
.skin-minerva #mw-mf-page-left::-webkit-scrollbar {
display: none; /* WebKit (Chrome, Safari, Brave) */
width: 0;
height: 0;
}
.skin-minerva #mw-mf-page-left #pt-preferences {
order: 99;
margin-top: auto;
border-top: 1px solid #eaecf0;
padding-top: 4px;
}
/* Disclaimer (єдиний пункт у ul.hlist після видалення About) — під налаштуваннями */
.skin-minerva #mw-mf-page-left ul.hlist {
order: 100;
margin: 0 0 8px;
padding: 0;
list-style: none;
}
.skin-minerva #mw-mf-page-left ul.hlist .toggle-list-item__anchor {
font-size: 13px;
color: #72777d;
padding: 8px 16px;
}
/* MinervaNeue — баннер "Про Країнопедію" зверху drawer (4 сторони — 4 окремі кольори) */
.skin-minerva .drawer-about-banner {
display: flex;
align-items: center;
justify-content: space-between;
margin: 12px;
padding: 24px 20px;
background: transparent;
border-top: 2px solid #00b898;
border-right: 2px solid #f8b020;
border-bottom: 2px solid #f84840;
border-left: 2px solid #1070b0;
border-radius: 0;
color: #1a2240 !important;
text-decoration: none !important;
font-family: "Manrope", sans-serif;
position: relative;
order: -10;
}
.skin-minerva .drawer-about-banner__title {
display: flex;
flex-direction: column;
gap: 4px;
line-height: 1.2;
}
.skin-minerva .drawer-about-banner__kicker,
.skin-minerva .drawer-about-banner__name {
font-size: 18px;
font-weight: 700;
letter-spacing: -0.01em;
text-transform: none;
color: #1a2240;
}
.skin-minerva .drawer-about-banner__arrow {
font-size: 22px;
line-height: 1;
color: #72777d;
transition: transform .15s ease, color .15s ease;
flex-shrink: 0;
margin-left: 12px;
}
.skin-minerva .drawer-about-banner:hover,
.skin-minerva .drawer-about-banner:active {
text-decoration: none !important;
color: #1a2240 !important;
}
.skin-minerva .drawer-about-banner:hover .drawer-about-banner__arrow,
.skin-minerva .drawer-about-banner:active .drawer-about-banner__arrow {
transform: translateX(4px);
color: #1a2240;
}
/* Vector-2022 (desktop) — wordmark як текст замість картинки.
$wgLogos['wordmark'] — png для Minerva (мобілка); на десктопі
ховаємо img і малюємо текст "Країнопедія" через ::before. */
.skin-vector-2022 .mw-logo-wordmark {
display: none !important;
}
.skin-vector-2022 .mw-logo-container::before {
content: 'Країнопедія';
font-family: 'Manrope', system-ui, sans-serif;
font-weight: 600;
font-size: 24px;
color: #1a2240;
letter-spacing: -0.015em;
line-height: 1.1;
display: block;
white-space: nowrap;
}
/* ====================================================================
Special:UserLogin / Special:CreateAccount — beautiful auth pages v2
==================================================================== */
/* BODY стає flex-контейнером на весь viewport, щоб header + page-container + footer
правильно розподілили висоту. Інакше .mw-page-container з min-height:100vh
опускається нижче хедера → overflow + форма візуально вище центру. */
body.mw-special-Userlogin,
body.mw-special-CreateAccount {
min-height: 100vh !important;
display: flex !important;
flex-direction: column !important;
background-color: #1a2240 !important;
background-image: url('/images/login-bg.png?v=2') !important;
background-size: cover !important;
background-repeat: no-repeat !important;
background-position: center center !important;
background-attachment: fixed !important;
}
/* Покрити html теж, щоб не було просвіту якщо body не покриває все */
html.client-js body.mw-special-Userlogin,
html body.mw-special-Userlogin {
background-color: #1a2240 !important;
}
html:has(body.mw-special-Userlogin) {
background-image: url('/images/login-bg.png?v=2') !important;
background-size: cover !important;
background-repeat: no-repeat !important;
background-position: center center !important;
background-attachment: fixed !important;
background-color: #1a2240 !important;
min-height: 100vh;
}
body.mw-special-Userlogin .vector-header-container,
body.mw-special-CreateAccount .vector-header-container {
flex: 0 0 auto;
/* Як на головній — Vector default: max-width 99.75em, центровано */
max-width: 99.75em !important;
min-width: 31.25em !important;
margin-left: auto !important;
margin-right: auto !important;
width: 100% !important;
align-self: center !important;
box-sizing: border-box !important;
}
/* Фон + повна ширина viewport (прибираємо Vector max-width центрування) */
body.mw-special-Userlogin .mw-page-container,
body.mw-special-CreateAccount .mw-page-container {
background: transparent !important;
flex: 1 1 auto !important;
min-height: 0 !important;
display: flex !important;
flex-direction: column !important;
max-width: none !important;
width: 100% !important;
margin: 0 !important;
padding: 0 !important;
border: none !important;
}
/* Inner — замінити Vector grid (з зарезервованою sidebar-колонкою) на flex column,
flex:1 щоб займало всю висоту в page-container, justify-center для вертикалі */
body.mw-special-Userlogin .mw-page-container-inner,
body.mw-special-CreateAccount .mw-page-container-inner {
flex: 1 1 auto !important;
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
padding-top: 24px !important;
padding-bottom: 24px !important;
grid-template-columns: 1fr !important;
grid-template-areas: none !important;
width: 100% !important;
max-width: none !important;
position: relative !important;
}
body.mw-special-Userlogin .mw-content-container,
body.mw-special-CreateAccount .mw-content-container {
display: flex !important;
flex-direction: column !important;
align-items: center !important;
justify-content: center !important;
width: 100% !important;
max-width: none !important;
margin: 0 !important;
grid-column: 1 / -1 !important;
}
/* (стара flex-розкладка .mw-body / #bodyContent видалена — тепер
.mw-body це повноцінна картка, див. секцію нижче) */
/* Footer — стискається до контенту і центрується по горизонталі */
body.mw-special-Userlogin .mw-footer-container,
body.mw-special-CreateAccount .mw-footer-container {
flex: 0 0 auto;
margin-top: auto;
width: auto !important;
max-width: max-content !important;
margin-left: auto !important;
margin-right: auto !important;
background: none !important;
padding: 16px !important;
color: #ffffff !important;
}
/* Усі тексти і посилання у футері — білі з легкою тінню для читабельності */
body.mw-special-Userlogin .mw-footer-container,
body.mw-special-Userlogin .mw-footer-container *,
body.mw-special-CreateAccount .mw-footer-container,
body.mw-special-CreateAccount .mw-footer-container * {
color: #ffffff !important;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
}
body.mw-special-Userlogin .mw-footer-container a,
body.mw-special-CreateAccount .mw-footer-container a {
color: #ffffff !important;
text-decoration: none;
}
body.mw-special-Userlogin .mw-footer-container a:hover,
body.mw-special-CreateAccount .mw-footer-container a:hover {
color: #ffffff !important;
text-decoration: underline;
}
body.mw-special-Userlogin #mw-footer,
body.mw-special-CreateAccount #mw-footer {
padding: 0 !important;
}
/* Футер-плейси — в один рядок, відцентровано, маленький розмір */
body.mw-special-Userlogin #footer-places,
body.mw-special-CreateAccount #footer-places {
display: flex !important;
flex-wrap: wrap;
gap: 16px;
justify-content: center;
margin: 0 !important;
padding: 0 !important;
}
body.mw-special-Userlogin #footer-places li,
body.mw-special-CreateAccount #footer-places li {
font-size: 12px;
color: #ffffff !important;
text-shadow: 0 1px 3px rgba(0, 0, 0, 0.5);
position: relative;
z-index: 2;
}
body.mw-special-Userlogin #footer-places li a,
body.mw-special-CreateAccount #footer-places li a {
color: #ffffff !important;
text-decoration: none;
}
body.mw-special-Userlogin #footer-places li a:hover,
body.mw-special-CreateAccount #footer-places li a:hover {
color: #ffffff !important;
text-decoration: underline;
}
/* Темний градієнт прикріплений до низу viewport — fixed щоб завжди знизу */
body.mw-special-Userlogin::after,
body.mw-special-CreateAccount::after {
content: "";
position: fixed;
left: 0;
right: 0;
bottom: 0;
height: 180px;
background: linear-gradient(to bottom, transparent 0%, rgba(0, 0, 0, 0.55) 100%);
pointer-events: none;
z-index: 3;
}
/* Footer — натуральний flex-потік, margin-top: auto штовхне його до низу
.mw-page-container. Не fixed, тому фізично під формою — не перекриває.
margin-top: 50px — мінімальний відступ від форми (якщо контент короткий —
auto штовхне ще нижче, до низу viewport). */
body.mw-special-Userlogin .mw-footer-container,
body.mw-special-CreateAccount .mw-footer-container {
position: relative !important;
z-index: 4 !important;
margin-top: 50px !important;
}
/* Sitenotice між inner і footer — не повинен заважати */
body.mw-special-Userlogin .vector-sitenotice-container,
body.mw-special-CreateAccount .vector-sitenotice-container {
flex: 0 0 auto;
}
/* Прибрати "Мобільний вигляд" з футера */
#footer-places-mobileview {
display: none !important;
}
/* Прибрати page-toolbar і tools-dropdown на сторінках авторизації */
body.mw-special-Userlogin .vector-page-toolbar,
body.mw-special-Userlogin .vector-page-titlebar-toc,
body.mw-special-CreateAccount .vector-page-toolbar,
body.mw-special-CreateAccount .vector-page-titlebar-toc {
display: none !important;
}
/* Сховати весь лівий sidebar (main menu + TOC) на auth-сторінках —
щоб контент-область займала всю ширину і form міг центруватись по екрану. */
body.mw-special-Userlogin .vector-main-menu-container,
body.mw-special-Userlogin .vector-main-menu-landmark,
body.mw-special-Userlogin #mw-panel,
body.mw-special-Userlogin #mw-panel-toc,
body.mw-special-Userlogin .vector-page-tools-landmark,
body.mw-special-CreateAccount .vector-main-menu-container,
body.mw-special-CreateAccount .vector-main-menu-landmark,
body.mw-special-CreateAccount #mw-panel,
body.mw-special-CreateAccount #mw-panel-toc,
body.mw-special-CreateAccount .vector-page-tools-landmark {
display: none !important;
}
/* .mw-content-container — flex row для двох карток (login | register) поряд */
body.mw-special-Userlogin .mw-content-container,
body.mw-special-CreateAccount .mw-content-container {
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
height: 100% !important;
max-width: none !important;
background: none !important;
border: none !important;
display: flex !important;
flex-direction: row !important;
flex-wrap: wrap !important;
align-items: center !important;
justify-content: center !important;
gap: 24px !important;
flex: 1 1 auto !important;
grid-column: 1 / -1 !important;
}
/* Картки однакової ширини */
body.mw-special-Userlogin .mw-body,
body.mw-special-Userlogin .mw-register-panel,
body.mw-special-CreateAccount .mw-body,
body.mw-special-CreateAccount .mw-register-panel {
flex: 0 1 420px !important;
}
/* === ПРАВА панель: реєстрація === */
.mw-register-panel {
background: #ffffff;
border-radius: 20px;
padding: 56px 32px 40px;
box-shadow:
0 1px 2px rgba(26, 34, 64, 0.04),
0 8px 32px rgba(26, 34, 64, 0.10);
position: relative;
overflow: hidden;
box-sizing: border-box;
text-align: center;
z-index: 2;
align-self: stretch;
display: flex;
flex-direction: column;
justify-content: center;
align-items: center;
}
/* Top-stripe як у лівій */
.mw-register-panel::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg,
#f84840 0%, #f84840 25%,
#f8b020 25%, #f8b020 50%,
#1070b0 50%, #1070b0 75%,
#00b898 75%, #00b898 100%);
z-index: 1;
}
.mw-register-panel__title {
font-family: "Manrope", sans-serif;
font-weight: 800;
font-size: 32px;
color: #1a2240;
letter-spacing: -0.02em;
line-height: 1.1;
margin-bottom: 8px;
}
.mw-register-panel__sub {
font-family: "Manrope", sans-serif;
font-weight: 400;
font-size: 15px;
color: #6b7280;
line-height: 1.4;
margin-bottom: 32px;
max-width: 280px;
}
.mw-register-panel__cta {
display: inline-block;
background: #00b898;
color: #ffffff !important;
font-family: "Manrope", sans-serif;
font-weight: 600;
font-size: 16px;
padding: 14px 28px;
border-radius: 10px;
text-decoration: none !important;
transition: background 0.15s, transform 0.05s;
}
.mw-register-panel__cta:hover {
background: #009e82;
text-decoration: none !important;
}
.mw-register-panel__cta:active {
transform: translateY(1px);
}
/* Mobile — стак вертикально */
@media (max-width: 880px) {
body.mw-special-Userlogin .mw-body,
body.mw-special-Userlogin .mw-register-panel,
body.mw-special-CreateAccount .mw-body,
body.mw-special-CreateAccount .mw-register-panel {
flex: 0 1 calc(100% - 32px) !important;
max-width: 420px !important;
}
}
/* .mw-body — це КАРТКА входу (зліва). Біла, з тінню, top-страйп. */
body.mw-special-Userlogin .mw-body,
body.mw-special-CreateAccount .mw-body {
background: #ffffff !important;
border-radius: 20px !important;
padding: 40px 32px 32px !important;
box-shadow:
0 1px 2px rgba(26, 34, 64, 0.04),
0 8px 32px rgba(26, 34, 64, 0.10) !important;
overflow: hidden !important;
width: calc(100% - 32px) !important;
max-width: 420px !important;
display: block !important;
align-items: initial !important;
box-sizing: border-box !important;
position: relative !important;
margin: 0 !important;
z-index: 2 !important;
}
/* 4-кольорова смуга зверху карточки (бренд-акцент) */
body.mw-special-Userlogin .mw-body::before,
body.mw-special-CreateAccount .mw-body::before {
content: "";
position: absolute;
top: 0;
left: 0;
right: 0;
height: 3px;
background: linear-gradient(90deg,
#00b898 0%, #00b898 25%,
#1070b0 25%, #1070b0 50%,
#f8b020 50%, #f8b020 75%,
#f84840 75%, #f84840 100%);
z-index: 1;
}
/* Сховати page-titlebar (header області) — він не потрібен на login */
body.mw-special-Userlogin .mw-body-header,
body.mw-special-CreateAccount .mw-body-header {
display: none !important;
}
/* Оригінальний h1 .firstHeading "Вхід до системи" приховуємо —
замість нього welcome з MediaWiki:Loginprompt виступає як заголовок */
body.mw-special-Userlogin .firstHeading,
body.mw-special-CreateAccount .firstHeading {
display: none !important;
}
/* Welcome — контейнер */
body.mw-special-Userlogin #userloginprompt,
body.mw-special-CreateAccount #userloginprompt {
display: block !important;
text-align: center;
margin: 0 0 28px;
padding: 0;
background: none;
}
body.mw-special-Userlogin .login-welcome,
body.mw-special-CreateAccount .login-welcome {
display: block;
}
/* "Вітаємо" — заголовок */
body.mw-special-Userlogin .login-welcome-title,
body.mw-special-CreateAccount .login-welcome-title {
font-family: "Manrope", sans-serif;
font-weight: 800;
font-size: 32px;
color: #1a2240;
letter-spacing: -0.02em;
line-height: 1.1;
margin: 0 0 8px;
}
/* "Раді бачити знову" — підзаголовок */
body.mw-special-Userlogin .login-welcome-sub,
body.mw-special-CreateAccount .login-welcome-sub {
font-family: "Manrope", sans-serif;
font-weight: 400;
font-size: 15px;
color: #6b7280;
letter-spacing: 0;
line-height: 1.4;
margin: 0;
}
/* #bodyContent / #mw-content-text — прозорі прохідники всередині .mw-body */
body.mw-special-Userlogin #bodyContent,
body.mw-special-CreateAccount #bodyContent,
body.mw-special-Userlogin #mw-content-text,
body.mw-special-CreateAccount #mw-content-text {
background: none !important;
border: none !important;
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
max-width: none !important;
box-sizing: border-box;
}
/* #userloginForm — не картка, просто wrapper для форми */
body.mw-special-Userlogin #userloginForm,
body.mw-special-CreateAccount #userloginForm {
background: none !important;
border-radius: 0 !important;
padding: 0 !important;
box-shadow: none !important;
margin: 16px 0 0 0 !important;
overflow: visible !important;
}
body.mw-special-Userlogin #userloginForm::before,
body.mw-special-CreateAccount #userloginForm::before {
content: none !important;
}
/* Видалити старий top-stripe з #userloginForm (тепер на .mw-body) */
body.mw-special-Userlogin #userloginForm::before,
body.mw-special-CreateAccount #userloginForm::before {
content: none !important;
}
body.mw-special-Userlogin #userloginForm form,
body.mw-special-CreateAccount #userloginForm form {
margin: 0;
}
/* Зануляємо паддінги/маржини wrapper-ів MediaWiki HTMLForm, щоб все
мало єдиний контейнер і вирівнювалось по тій самій сітці. */
body.mw-special-Userlogin .mw-htmlform-field-HTMLTextField,
body.mw-special-Userlogin .mw-htmlform-field-HTMLCheckField,
body.mw-special-Userlogin .mw-htmlform-field-HTMLSubmitField,
body.mw-special-Userlogin .mw-htmlform-field-HTMLInfoField,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLTextField,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLCheckField,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLSubmitField,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLInfoField {
padding: 0 !important;
}
body.mw-special-Userlogin #userloginForm .mw-input,
body.mw-special-Userlogin #userloginForm .cdx-text-input,
body.mw-special-CreateAccount #userloginForm .mw-input,
body.mw-special-CreateAccount #userloginForm .cdx-text-input,
body.mw-special-CreateAccount .mw-htmlform-codex .mw-input,
body.mw-special-CreateAccount .mw-htmlform-codex .cdx-text-input {
padding: 0 !important;
margin: 0 !important;
width: 100% !important;
box-sizing: border-box !important;
}
/* MediaWiki .mw-ui-vform-field має дефолтний max-width 25em — звужує
всі поля до лівого краю. Знімаємо ліміт, форма теж на повну ширину. */
body.mw-special-Userlogin .mw-ui-vform-field,
body.mw-special-Userlogin .mw-htmlform-codex,
body.mw-special-Userlogin #userloginForm form,
body.mw-special-CreateAccount .mw-ui-vform-field,
body.mw-special-CreateAccount .mw-htmlform-codex,
body.mw-special-CreateAccount #userloginForm form {
max-width: none !important;
width: 100% !important;
box-sizing: border-box !important;
}
/* Spacing для полів */
body.mw-special-Userlogin .mw-htmlform-field-HTMLTextField,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLTextField {
margin-bottom: 16px !important;
}
/* Лейбли — компактні, приглушені */
body.mw-special-Userlogin .mw-htmlform-field-HTMLTextField > label,
body.mw-special-CreateAccount .mw-htmlform-field-HTMLTextField > label {
display: block;
font-size: 13px;
font-weight: 600;
color: #4a5568;
margin-bottom: 6px;
font-family: "Manrope", sans-serif;
}
/* Інпути — pill-style, soft fill, focus → білий + темний бордер */
body.mw-special-Userlogin #userloginForm .cdx-text-input__input,
body.mw-special-CreateAccount #userloginForm .cdx-text-input__input,
body.mw-special-CreateAccount .mw-htmlform-codex .cdx-text-input__input {
background: #f4f6fa !important;
border: 1px solid transparent !important;
border-radius: 10px !important;
padding: 12px 14px !important;
font-size: 15px !important;
width: 100% !important;
box-sizing: border-box !important;
box-shadow: none !important;
transition: border-color 0.15s, background 0.15s !important;
font-family: "Manrope", sans-serif !important;
}
body.mw-special-Userlogin #userloginForm .cdx-text-input__input:focus,
body.mw-special-CreateAccount #userloginForm .cdx-text-input__input:focus,
body.mw-special-CreateAccount .mw-htmlform-codex .cdx-text-input__input:focus {
background: #ffffff !important;
border-color: #1a2240 !important;
outline: none !important;
box-shadow: none !important;
}
/* Checkbox "Запам'ятати мене" */
body.mw-special-Userlogin .mw-userlogin-rememberme {
margin: 8px 0 24px;
}
body.mw-special-Userlogin .cdx-checkbox {
display: flex;
align-items: center;
gap: 8px;
}
body.mw-special-Userlogin .cdx-checkbox__label {
font-size: 14px;
font-family: "Manrope", sans-serif;
color: #4a5568;
cursor: pointer;
}
body.mw-special-Userlogin .cdx-checkbox__input {
width: 18px;
height: 18px;
margin: 0;
cursor: pointer;
}
/* Submit "Вхід" / "Створити обліковий запис" — коралова CTA */
body.mw-special-Userlogin #wpLoginAttempt,
body.mw-special-CreateAccount #wpCreateaccount,
body.mw-special-CreateAccount button.mw-htmlform-submit {
background: #f84840 !important;
border-color: #f84840 !important;
color: #ffffff !important;
border-radius: 10px !important;
padding: 12px 24px !important;
font-weight: 700 !important;
width: 100% !important;
font-size: 15px !important;
font-family: "Manrope", sans-serif !important;
box-shadow: 0 2px 8px rgba(248, 72, 64, 0.25) !important;
transition: background 0.15s, box-shadow 0.15s !important;
margin-top: 4px;
}
body.mw-special-Userlogin #wpLoginAttempt:hover,
body.mw-special-CreateAccount #wpCreateaccount:hover {
background: #e63a32 !important;
border-color: #e63a32 !important;
box-shadow: 0 4px 12px rgba(248, 72, 64, 0.35) !important;
}
/* Допоміжні лінки ("Допомога з входу", "Забули пароль") — центровано */
body.mw-special-Userlogin .mw-userlogin-help,
body.mw-special-Userlogin .mw-form-related-link-container,
body.mw-special-CreateAccount .mw-form-related-link-container {
text-align: center !important;
font-size: 14px;
margin-top: 16px;
}
body.mw-special-Userlogin .mw-userlogin-help a,
body.mw-special-Userlogin .mw-form-related-link-container a,
body.mw-special-CreateAccount .mw-form-related-link-container a {
color: #1070b0;
text-decoration: none;
font-weight: 500;
}
body.mw-special-Userlogin .mw-userlogin-help a:hover,
body.mw-special-Userlogin .mw-form-related-link-container a:hover {
color: #1a2240;
text-decoration: underline;
}
/* "Допомога з входу" — приховаємо як external/непотрібне посилання */
body.mw-special-Userlogin .mw-userlogin-help {
display: none;
}
/* "Немає облікового запису?" — footer-секція форми, з top-розділювачем.
Wrapper-и батьків зануляємо, щоб footer вийшов до самих країв картки. */
body.mw-special-Userlogin .mw-htmlform-field-HTMLInfoField:has(#mw-createaccount-cta) {
margin: 24px -32px -32px !important;
padding: 0 !important;
width: calc(100% + 64px) !important;
}
body.mw-special-Userlogin .mw-htmlform-field-HTMLInfoField:has(#mw-createaccount-cta) > .mw-input {
margin: 0 !important;
padding: 0 !important;
width: 100% !important;
}
body.mw-special-Userlogin #mw-createaccount-cta {
margin: 0 !important;
padding: 20px 32px !important;
background: #f9fafc;
border-radius: 0 0 20px 20px;
border-top: 1px solid #eef0f4;
text-align: center;
font-size: 14px;
color: #6b7280;
font-family: "Manrope", sans-serif;
display: flex;
align-items: center;
justify-content: center;
gap: 8px;
flex-wrap: wrap;
box-shadow: none;
width: 100%;
box-sizing: border-box;
}
body.mw-special-Userlogin #mw-createaccount-join {
background: transparent !important;
border: none !important;
color: #1070b0 !important;
border-radius: 0 !important;
padding: 0 !important;
font-weight: 700 !important;
font-size: 14px !important;
font-family: "Manrope", sans-serif !important;
text-decoration: none !important;
box-shadow: none !important;
transition: color 0.15s !important;
}
body.mw-special-Userlogin #mw-createaccount-join:hover {
background: transparent !important;
color: #f84840 !important;
text-decoration: underline !important;
}
/* Прибрати сірі силуети людей знизу (фоновий help-icon) */
body.mw-special-Userlogin .mw-userlogin-help-icon,
body.mw-special-Userlogin #userloginprompt::before,
body.mw-special-Userlogin .mw-ui-container > .mw-userlogin-help-icon {
display: none !important;
}
/* Mobile — менші відступи в карточці */
@media screen and (max-width: 480px) {
body.mw-special-Userlogin #userloginForm,
body.mw-special-CreateAccount #userloginForm {
padding: 24px 20px;
}
body.mw-special-Userlogin .firstHeading,
body.mw-special-CreateAccount .firstHeading {
font-size: 26px;
margin-top: 16px;
}
}