MediaWiki:Common.css
Увага: Після публікування слід очистити кеш браузера, щоб побачити зміни.
- Firefox / Safari: тримайте Shift, коли натискаєте Оновити, або натисніть Ctrl-F5 чи Ctrl-Shift-R (⌘-R на Apple Mac)
- Google Chrome: натисніть Ctrl-Shift-R (⌘-Shift-R на Apple Mac)
- Internet Explorer / Edge: тримайте Ctrl, коли натискаєте Оновити, або натисніть Ctrl-F5
- Opera: натисніть Ctrl-F5
@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;
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 "Інструменти" (#p-cactions) у toolbar в hero */
body:is(.page-🇷🇴_Румунія) .vector-page-titlebar #p-cactions {
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 {
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-іконки (Lucide style, stroke #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%27none%27%20stroke%3D%27%234b5563%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%2016.92v3a2%202%200%200%201-2.18%202%2019.79%2019.79%200%200%201-8.63-3.07%2019.5%2019.5%200%200%201-6-6%2019.79%2019.79%200%200%201-3.07-8.67A2%202%200%200%201%204.11%202h3a2%202%200%200%201%202%201.72%2012.84%2012.84%200%200%200%20.7%202.81%202%202%200%200%201-.45%202.11L8.09%209.91a16%2016%200%200%200%206%206l1.27-1.27a2%202%200%200%201%202.11-.45%2012.84%2012.84%200%200%200%202.81.7A2%202%200%200%201%2022%2016.92z%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%27none%27%20stroke%3D%27%234b5563%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27M22%202%2011%2013%27%2F%3E%3Cpath%20d%3D%27M22%202%2015%2022%2011%2013%202%209z%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%27none%27%20stroke%3D%27%234b5563%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Cpath%20d%3D%27m5%208%206%206%27%2F%3E%3Cpath%20d%3D%27m4%2014%206-6%202-3%27%2F%3E%3Cpath%20d%3D%27M2%205h12%27%2F%3E%3Cpath%20d%3D%27M7%202h1%27%2F%3E%3Cpath%20d%3D%27m22%2022-5-10-5%2010%27%2F%3E%3Cpath%20d%3D%27M14%2018h6%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%27none%27%20stroke%3D%27%234b5563%27%20stroke-width%3D%272%27%20stroke-linecap%3D%27round%27%20stroke-linejoin%3D%27round%27%3E%3Ccircle%20cx%3D%2712%27%20cy%3D%2712%27%20r%3D%2710%27%2F%3E%3Cpath%20d%3D%27M2%2012h20%27%2F%3E%3Cpath%20d%3D%27M12%202a15%2015%200%200%201%204%2010%2015%2015%200%200%201-4%2010%2015%2015%200%200%201-4-10%2015%2015%200%200%201%204-10z%27%2F%3E%3C%2Fsvg%3E");
}