/* Carsharing Web — общие стили (мобильная и десктоп) */

:root {
	--carsharing-primary: #2563eb;
	--carsharing-primary-dark: #1d4ed8;
	--carsharing-bg: #f8fafc;
	--carsharing-card-border: #e2e8f0;
	--carsharing-text: #1e293b;
	--carsharing-text-muted: #64748b;
}

/* Навигация */
.carsharing-nav {
	background: var(--carsharing-primary);
	color: #fff;
	padding: 0.6rem 1rem;
	margin-bottom: 1.5rem;
	border-radius: 0.5rem;
	box-shadow: 0 1px 3px rgba(0,0,0,0.1);
}
.carsharing-nav a {
	color: #fff;
	text-decoration: none;
	font-weight: 500;
	padding: 0.4rem 0.8rem;
	border-radius: 0.375rem;
	transition: background 0.15s;
	min-height: 44px;
	display: inline-flex;
	align-items: center;
}
.carsharing-nav a:hover { background: rgba(255,255,255,0.2); color: #fff; }
.carsharing-nav .nav-brand { font-size: 1.1rem; }
.carsharing-nav .btn-back {
	background: rgba(255,255,255,0.2);
	font-size: 0.95rem;
}
.carsharing-nav .btn-back:hover { background: rgba(255,255,255,0.3); }
.carsharing-nav { display: flex; align-items: center; justify-content: space-between; flex-wrap: wrap; gap: 0.5rem; }

/* Контейнер страницы */
.carsharing-page { background: var(--carsharing-bg); color: var(--carsharing-text); }
.carsharing-page { max-width: 900px; margin: 0 auto; padding: 0 0.75rem; }
@media (min-width: 768px) { .carsharing-page { padding: 0 1rem; } }

/* Заголовки страниц */
.carsharing-page-title {
	font-size: 1.5rem;
	font-weight: 600;
	color: var(--carsharing-text);
	margin-bottom: 1.25rem;
	display: flex;
	align-items: center;
	gap: 0.5rem;
}
@media (min-width: 768px) { .carsharing-page-title { font-size: 1.75rem; } }

/* Карточки секций форм */
.carsharing-card {
	border: 1px solid var(--carsharing-card-border);
	border-radius: 0.5rem;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	margin-bottom: 1rem;
	overflow: hidden;
}
.carsharing-card-header {
	background: var(--carsharing-primary);
	color: #fff;
	padding: 0.65rem 1rem;
	font-weight: 600;
	font-size: 1rem;
}
.carsharing-card-body { padding: 1rem; background: #fff; }
@media (min-width: 768px) { .carsharing-card-body { padding: 1.25rem; } }

/* Формы */
.carsharing-form .form-label { font-weight: 500; color: var(--carsharing-text); }
.carsharing-form .form-control, .carsharing-form .form-select {
	border-radius: 0.375rem;
	border-color: var(--carsharing-card-border);
	font-size: 1rem;
	min-height: 44px;
}
.carsharing-form .form-control:focus, .carsharing-form .form-select:focus {
	border-color: var(--carsharing-primary);
	box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.15);
}
.carsharing-form .required::after { content: " *"; color: #dc2626; }
.carsharing-form .row > [class*="col"] { margin-bottom: 0.75rem; }
@media (min-width: 768px) { .carsharing-form .row > [class*="col"] { margin-bottom: 1rem; } }

/* Кнопки */
.carsharing-btn-submit {
	background: var(--carsharing-primary);
	border-color: var(--carsharing-primary);
	color: #fff;
	font-weight: 600;
	padding: 0.65rem 1.5rem;
	min-height: 48px;
	border-radius: 0.5rem;
	transition: background 0.15s, transform 0.1s;
}
.carsharing-btn-submit:hover {
	background: var(--carsharing-primary-dark);
	border-color: var(--carsharing-primary-dark);
	color: #fff;
	transform: translateY(-1px);
}
.carsharing-btn-submit:focus-visible { box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.35); }

/* Главная: карточки */
.carsharing-home .card {
	border: 1px solid var(--carsharing-card-border);
	border-radius: 0.5rem;
	box-shadow: 0 1px 2px rgba(0,0,0,0.05);
	transition: transform 0.2s, box-shadow 0.2s;
	height: 100%;
}
.carsharing-home .card:hover {
	transform: translateY(-4px);
	box-shadow: 0 8px 20px rgba(0,0,0,0.08);
}
.carsharing-home .card-body { padding: 1.25rem; text-align: center; }
.carsharing-home .card-title { font-weight: 600; color: var(--carsharing-text); font-size: 1.1rem; }
.carsharing-home .card-text { color: var(--carsharing-text-muted); font-size: 0.9rem; margin-bottom: 1rem; }
.carsharing-home .card-icon { font-size: 2rem; margin-bottom: 0.75rem; line-height: 1; }
.carsharing-home .btn { border-radius: 0.5rem; font-weight: 500; min-height: 44px; width: 100%; text-align: center; }
.carsharing-home .card-body .btn {
	display: inline-flex !important;
	justify-content: center !important;
	align-items: center !important;
	text-align: center !important;
}
.carsharing-home .row.g-4 { row-gap: 1rem; }
@media (min-width: 768px) { .carsharing-home .card-body { padding: 1.5rem; } .carsharing-home .card-icon { font-size: 2.25rem; } }

/* Сводка и календарь */
.carsharing-summary .form-control { min-width: 200px; }
.carsharing-summary .card { border-radius: 0.5rem; border-color: var(--carsharing-card-border); }
.car-summary-calendar th, .car-summary-calendar td { min-width: 36px; min-height: 36px; padding: 0.4rem; text-align: center; font-size: 0.9rem; }
@media (min-width: 768px) { .car-summary-calendar th, .car-summary-calendar td { min-width: 42px; min-height: 42px; padding: 0.5rem; } }

/* Кнопки «Открыть» на главной — центрирование текста (span внутри flex) и симметричный padding */
.carsharing-btn-open {
	display: flex !important;
	justify-content: center !important;
	align-items: center !important;
	width: 100% !important;
	text-align: center !important;
	padding-left: 1rem !important;
	padding-right: 1rem !important;
}
.carsharing-btn-open span {
	display: block;
}

/* Кнопки отправки формы */
.carsharing-form-actions { margin-top: 1.5rem; margin-bottom: 2rem; }
@media (max-width: 767px) { .carsharing-form-actions .btn { min-height: 48px; width: 100%; } }

