MediaWiki:Common.css: відмінності між версіями
Admin (обговорення | внесок) (hide Головна tab too) |
Admin (обговорення | внесок) (CSS: toolbar в hero, bottom 24px, білі лінки) |
||
| Рядок 323: | Рядок 323: | ||
/* Сховати tabs "Обговорення" і "Головна" з UI */ | /* Сховати tabs "Обговорення" і "Головна" з UI */ | ||
#ca-talk, #ca-nstab-main { display: none !important; } | #ca-talk, #ca-nstab-main { 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; | |||
} | |||
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar a { | |||
color: #ffffff !important; | |||
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4); | |||
} | |||
Версія за 01:21, 4 травня 2026
@import url('https://fonts.googleapis.com/css2?family=Manrope:wght@400;600;800&display=swap');
/* 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) + 56px); /* hero + top offset (24) + bottom gap (32) */
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar {
position: absolute;
top: 24px;
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;
}
}
/* 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; }
/* 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;
}
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar .vector-page-toolbar a {
color: #ffffff !important;
text-shadow: 0 1px 2px rgba(0, 0, 0, 0.4);
}