/*
Theme Name:        MVweb Base
Theme URI:         https://mvweb.ru/themes/mvweb-base
Description:       Universal classic WordPress theme by MVweb with a visual Customizer builder. Assemble page templates from prebuilt blocks, switch layouts and grids, and adapt the site for business, e-commerce, magazine, news or sports projects. Extendable with MVweb block plugins through the theme adapter.
Version:           0.1.0
Requires at least: 6.4
Tested up to:      7.0
Requires PHP:      8.1
Author:            MVweb
Author URI:        https://mvweb.ru
License:           GPL v2 or later
License URI:       https://www.gnu.org/licenses/gpl-2.0.html
Text Domain:       mvweb-base
Domain Path:       /languages
Tags:              custom-colors, custom-logo, custom-menu, featured-images, theme-options, translation-ready, blog, e-commerce, news
*/

.mvweb-skip-link {
	position: absolute;
	left: -9999px;
	top: 0;
	z-index: 100;
}

.mvweb-skip-link:focus {
	left: var(--mvweb-space-2);
	top: var(--mvweb-space-2);
	width: auto;
	height: auto;
	padding: var(--mvweb-space-2) var(--mvweb-space-4);
	background: var(--mvweb-color-surface);
	color: var(--mvweb-color-text);
	border-radius: var(--mvweb-radius-2);
	box-shadow: var(--mvweb-shadow-2);
}

.mvweb-site-header {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	column-gap: var(--mvweb-space-5);
	row-gap: var(--mvweb-space-3);
	background: var(--mvweb-color-surface);
	border-bottom: 1px solid var(--mvweb-color-border);
}

.mvweb-site-header > * {
	padding-inline: var(--mvweb-space-4);
}

/* Top bar */

.mvweb-topbar {
	background: var(--mvweb-color-bg);
	border-bottom: 1px solid var(--mvweb-color-border);
	font-size: var(--mvweb-fs-1);
	color: var(--mvweb-color-muted);
}

.mvweb-topbar__inner {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mvweb-space-3) var(--mvweb-space-5);
	padding-block: var(--mvweb-space-2);
}

.mvweb-topbar__contacts {
	display: flex;
	flex-wrap: wrap;
	gap: var(--mvweb-space-2) var(--mvweb-space-4);
}

.mvweb-topbar__contact {
	display: inline-flex;
	align-items: center;
	gap: var(--mvweb-space-1);
	color: inherit;
	text-decoration: none;
}

.mvweb-topbar__contact:hover {
	color: var(--mvweb-color-primary);
}

.mvweb-topbar__schedule {
	display: inline-flex;
	align-items: center;
	gap: var(--mvweb-space-1);
}

.mvweb-topbar__socials {
	display: flex;
	align-items: center;
	gap: var(--mvweb-space-2);
	margin: 0;
	margin-inline-start: auto;
	padding: 0;
	list-style: none;
}

.mvweb-topbar__social {
	display: inline-flex;
	color: var(--mvweb-color-muted);
}

.mvweb-topbar__social:hover {
	color: var(--mvweb-color-primary);
}

/* Header bar (logo / menu / actions) */

.mvweb-site-header > .mvweb-topbar {
	flex-basis: 100%;
	padding-inline: 0;
}

.mvweb-site-header > .mvweb-nav {
	flex: 1 1 auto;
}

.mvweb-site-header > .mvweb-branding,
.mvweb-site-header > .mvweb-header-actions {
	display: flex;
	align-items: center;
}

.mvweb-branding {
	min-height: 3rem;
	padding-block: var(--mvweb-space-3);
}

.mvweb-branding__title {
	margin: 0;
	font-family: var(--mvweb-font-heading);
	font-size: var(--mvweb-fs-4);
	font-weight: var(--mvweb-fw-bold);
	line-height: 1.1;
}

.mvweb-branding__title a {
	color: var(--mvweb-color-text);
	text-decoration: none;
}

.mvweb-branding .custom-logo {
	height: auto;
	max-height: 3.5rem;
	width: auto;
}

.mvweb-nav__list {
	display: flex;
	flex-wrap: wrap;
	align-items: center;
	gap: var(--mvweb-space-4);
	margin: 0;
	padding: 0;
	list-style: none;
}

.mvweb-nav--start {
	justify-content: flex-start;
}

.mvweb-nav--center {
	justify-content: center;
}

.mvweb-nav--end {
	justify-content: flex-end;
}

.mvweb-nav__list a {
	color: var(--mvweb-color-text);
	font-weight: var(--mvweb-fw-medium);
	text-decoration: none;
}

.mvweb-nav__list a:hover,
.mvweb-nav__list .current-menu-item > a {
	color: var(--mvweb-color-primary);
}

.mvweb-header-actions {
	gap: var(--mvweb-space-3);
}

.mvweb-header-actions__search form {
	display: flex;
	align-items: center;
	gap: var(--mvweb-space-1);
}

.mvweb-header-actions__cta {
	white-space: nowrap;
}

/* Home zone blocks */

.mvweb-block {
	padding-block: var(--mvweb-space-6);
}

.mvweb-section-title {
	margin: 0 0 var(--mvweb-space-5);
	font-family: var(--mvweb-font-heading);
	font-size: var(--mvweb-fs-4);
	font-weight: var(--mvweb-fw-bold);
	color: var(--mvweb-color-text);
	text-align: center;
}

.mvweb-grid {
	display: grid;
	gap: var(--mvweb-space-4);
}

.mvweb-grid--2 {
	grid-template-columns: repeat(2, 1fr);
}

.mvweb-grid--3 {
	grid-template-columns: repeat(3, 1fr);
}

.mvweb-grid--4 {
	grid-template-columns: repeat(4, 1fr);
}

.mvweb-hero {
	background: var(--mvweb-color-surface);
}

.mvweb-hero--has-image {
	background-size: cover;
	background-position: center;
	color: var(--mvweb-color-on-primary);
}

.mvweb-hero__inner {
	display: flex;
	flex-direction: column;
	align-items: flex-start;
	gap: var(--mvweb-space-4);
	padding-block: var(--mvweb-space-6);
}

.mvweb-hero__title {
	margin: 0;
	font-family: var(--mvweb-font-heading);
	font-size: var(--mvweb-fs-5);
	font-weight: var(--mvweb-fw-bold);
	line-height: 1.1;
}

.mvweb-hero__text {
	margin: 0;
	font-size: var(--mvweb-fs-3);
	max-width: 60ch;
}

.mvweb-feature,
.mvweb-service {
	align-items: flex-start;
	text-align: left;
}

.mvweb-service--link {
	text-decoration: none;
	color: inherit;
	transition: box-shadow 0.15s ease;
}

.mvweb-service--link:hover {
	box-shadow: var(--mvweb-shadow-2);
}

.mvweb-feature .mvweb-icon,
.mvweb-service .mvweb-icon {
	color: var(--mvweb-color-primary);
}

.mvweb-cta {
	background: var(--mvweb-color-primary);
	color: var(--mvweb-color-on-primary);
}

.mvweb-cta__inner {
	display: flex;
	flex-direction: column;
	align-items: center;
	gap: var(--mvweb-space-4);
	text-align: center;
}

.mvweb-cta__title {
	margin: 0;
	font-family: var(--mvweb-font-heading);
	font-size: var(--mvweb-fs-4);
	font-weight: var(--mvweb-fw-bold);
}

.mvweb-cta__text {
	margin: 0;
	max-width: 60ch;
}

.mvweb-cta__button {
	background: var(--mvweb-color-surface);
	color: var(--mvweb-color-primary);
}

.mvweb-review {
	gap: var(--mvweb-space-3);
}

.mvweb-review__rating {
	display: flex;
	gap: var(--mvweb-space-1);
	color: var(--mvweb-color-accent);
}

.mvweb-review__text {
	margin: 0;
	font-style: italic;
	color: var(--mvweb-color-text);
}

.mvweb-review__author {
	font-weight: var(--mvweb-fw-medium);
	color: var(--mvweb-color-muted);
}

.mvweb-contacts__grid {
	display: grid;
	grid-template-columns: 1fr 1fr;
	gap: var(--mvweb-space-5);
	align-items: start;
}

.mvweb-contacts__details {
	display: flex;
	flex-direction: column;
	gap: var(--mvweb-space-3);
}

.mvweb-contacts__item {
	display: flex;
	align-items: center;
	gap: var(--mvweb-space-2);
	margin: 0;
}

.mvweb-contacts__item a {
	color: var(--mvweb-color-text);
	text-decoration: none;
}

.mvweb-contacts__item a:hover {
	color: var(--mvweb-color-primary);
}

.mvweb-contacts__item .mvweb-icon {
	color: var(--mvweb-color-primary);
}

.mvweb-contacts__map iframe {
	width: 100%;
	min-height: 280px;
	border: 0;
	border-radius: var(--mvweb-radius-2);
}

/* Footer zone blocks */

.mvweb-site-footer {
	background: var(--mvweb-color-text);
	color: var(--mvweb-color-bg);
}

.mvweb-footer-columns {
	padding-block: var(--mvweb-space-6);
}

.mvweb-footer-columns__grid {
	display: grid;
	grid-template-columns: repeat(auto-fit, minmax(200px, 1fr));
	gap: var(--mvweb-space-5);
}

.mvweb-footer-column__title {
	margin: 0 0 var(--mvweb-space-3);
	font-family: var(--mvweb-font-heading);
	font-size: var(--mvweb-fs-3);
	font-weight: var(--mvweb-fw-bold);
	color: var(--mvweb-color-bg);
}

.mvweb-footer-column__text {
	font-size: var(--mvweb-fs-2);
	color: var(--mvweb-color-muted);
}

.mvweb-footer-column__text a {
	color: var(--mvweb-color-bg);
}

.mvweb-footer-socials {
	padding-block: var(--mvweb-space-4);
	border-top: 1px solid color-mix(in srgb, var(--mvweb-color-bg) 15%, transparent);
}

.mvweb-footer-socials__list {
	display: flex;
	align-items: center;
	gap: var(--mvweb-space-3);
	margin: 0;
	padding-inline: var(--mvweb-space-4);
	list-style: none;
}

.mvweb-footer-socials__link {
	display: inline-flex;
	color: var(--mvweb-color-muted);
}

.mvweb-footer-socials__link:hover {
	color: var(--mvweb-color-bg);
}

.mvweb-footer-copyright {
	padding-block: var(--mvweb-space-4);
	border-top: 1px solid color-mix(in srgb, var(--mvweb-color-bg) 15%, transparent);
	font-size: var(--mvweb-fs-1);
	color: var(--mvweb-color-muted);
}

.mvweb-footer-copyright__text {
	margin: 0;
}

/* Media */

@media (max-width: 768px) {
	.mvweb-site-header > .mvweb-nav {
		flex-basis: 100%;
		order: 10;
	}

	.mvweb-nav__list {
		justify-content: flex-start;
	}

	.mvweb-topbar__socials {
		margin-inline-start: 0;
	}

	.mvweb-grid--2,
	.mvweb-grid--3,
	.mvweb-grid--4 {
		grid-template-columns: 1fr;
	}

	.mvweb-contacts__grid {
		grid-template-columns: 1fr;
	}
}
