/* =================================================
   SECURIKA PAGE — page-specific styles
   Extends assets/styles.css, no global overrides
   ================================================= */

		#wrapper { overflow-x: hidden; }

/* ================================================= */

		/* ---------- BANNER STATIC SLIDE (no Swiper) ---------- */
		.expo-banner-slide {
			background-position: 50% 50%;
			background-repeat: no-repeat;
			background-size: cover;
			display: flex;
			flex-direction: column;
			justify-content: space-between;
			padding: 80px 0 192px;
			position: relative;
		}
		@media (min-width: 992px) {
			.expo-banner-slide {
				padding: 120px 0 192px;
			}
		}
		.expo-banner-slide::before {
			content: '';
			position: absolute;
			inset: 0;
			background: rgba(44, 44, 44, 0.45);
			pointer-events: none;
		}
		.expo-banner-slide .container {
			position: relative;
			z-index: 1;
		}

		/* ---------- JUMBOTRON override for expo ---------- */
		.section-jumbotron--expo {
			text-align: left;
		}
		.section-jumbotron--expo .swiper-slide__heading {
			margin: 0 0 32px;
			max-width: 820px;
			padding: 0;
			text-align: left;
			flex-grow: 0;
		}
		.section-jumbotron--expo .swiper-slide__heading .expo-title-line {
			display: block;
			font-size: 40px;
			font-weight: 500;
			line-height: 1.1;
			color: #fff;
		}
		@media (min-width: 768px) {
			.section-jumbotron--expo .swiper-slide__heading .expo-title-line {
				font-size: 56px;
			}
		}
		@media (min-width: 992px) {
			.section-jumbotron--expo .swiper-slide__heading .expo-title-line {
				font-size: 72px;
			}
		}

		/* Banner meta: метки типа "Дата", "Место" */
		.expo-banner-meta {
			display: flex;
			flex-wrap: wrap;
			gap: 8px 0;
			margin-bottom: 24px;
			align-items: flex-start;
		}
		.expo-banner-meta__item {
			font-size: 12px;
			font-weight: 400;
			color: rgba(255,255,255,0.6);
			padding-right: 20px;
			margin-right: 20px;
			border-right: 1px solid rgba(255,255,255,0.25);
			line-height: 1.4;
		}
		@media (min-width: 992px) {
			.expo-banner-meta__item {
				padding-right: 28px;
				margin-right: 28px;
			}
		}
		.expo-banner-meta__item:last-child {
			border-right: none;
			padding-right: 0;
			margin-right: 0;
		}
		/* Подпись: "Дата", "Место" */
		.expo-banner-meta__item span {
			display: block;
			color: rgba(255,255,255,0.7);
			font-size: 11px;
			font-weight: 400;
			margin-bottom: 3px;
			text-transform: uppercase;
			letter-spacing: 0.05em;
		}
		/* Значение: "22 – 24 апреля 2026" */
		.expo-banner-meta__item strong {
			display: block;
			font-weight: 400;
			color: #ff6b00;
			font-size: 14px;
		}

		/* Actions row */
		.section-jumbotron--expo .swiper-slide__bottom {
			text-align: left;
			padding-top: 0;
		}
		.expo-banner-actions {
			display: flex;
			flex-wrap: wrap;
			gap: 12px;
			align-items: center;
		}

		/* Advantages strip */
		.section-jumbotron--expo .advantages {
			height: auto !important;
			padding: 14px 0;
		}
		.section-jumbotron--expo .advantages ul {
			padding: 0 !important;
			padding-top: 0 !important;
			align-items: center;
			min-height: 0;
		}
		.section-jumbotron--expo .advantages ul > li {
			min-height: 0 !important;
			padding-top: 6px;
			padding-bottom: 6px;
			display: flex;
			align-items: center;
			border-left: 4px solid #ff6b00 !important;
			padding-left: 14px;
		}
		.section-jumbotron--expo .expo-banner-slide {
			padding-bottom: 88px !important;
		}

		/* ---------- EXPO MAIN SECTION ---------- */
		.section-expo-main {
			background-color: #f5f5f5;
			padding-top: 52px;
			padding-bottom: 64px;
		}
		@media (min-width: 992px) {
			.section-expo-main {
				padding-top: 64px;
				padding-bottom: 80px;
			}
		}

		.expo-layout {
			display: flex;
			flex-direction: column;
			gap: 32px;
			align-items: stretch;
		}
		@media (min-width: 1100px) {
			.expo-layout {
				flex-direction: row;
				gap: 40px;
				align-items: stretch;
			}
		}
		.expo-layout__card {
			width: 100%;
			display: flex;
			flex-direction: column;
		}
		@media (min-width: 1100px) {
			.expo-layout__card {
				flex: 0 0 520px;
				max-width: 520px;
			}
			.expo-layout__form {
				flex: 1 1 auto;
				min-width: 0;
			}
		}
		.expo-layout__card .expo-card,
		.expo-layout__form .expo-form-panel {
			height: 100%;
			display: flex;
			flex-direction: column;
		}
		.expo-layout__card .expo-card .expo-card__body,
		.expo-layout__form .expo-form-panel .expo-form-panel__bd {
			flex: 1 1 auto;
			display: flex;
			flex-direction: column;
		}
		.expo-layout__form #meetForm {
			display: flex;
			flex-direction: column;
			flex: 1 1 auto;
		}
		.expo-form-bottom {
			margin-top: auto;
			padding-top: 20px;
		}
		.expo-layout__form .expo-submit {
			margin-top: 0;
		}

		/* ---------- EXHIBITION CARD ---------- */
		.expo-card {
			background-color: #fff;
			border: 1px solid #d9d9d9;
		}
		.expo-card__title-row {
			display: flex;
			align-items: stretch;
			padding: 24px 28px 0;
			gap: 0;
		}
		.expo-card__title-bar {
			width: 8px;
			background-color: #ff6b00;
			flex-shrink: 0;
			margin-right: 14px;
			align-self: stretch;
		}
		/* Заголовок карточки: "Securika Moscow 2026" */
		.expo-card__title {
			font-size: 20px;
			font-weight: 700;
			letter-spacing: 0.07em;
			text-transform: uppercase;
			color: #2c2c2c;
			line-height: 1.2;
			margin: 0;
			padding: 2px 0;
		}
		@media (min-width: 992px) {
			.expo-card__title { font-size: 24px; }
		}

		.expo-card__body {
			padding: 22px 28px 28px;
		}

		/* Лид-текст под заголовком карточки */
		.expo-card__sub {
			font-size: 15px;
			font-weight: 500;
			color: #2c2c2c;
			line-height: 1.5;
			margin: 0 0 20px;
		}

		/* Stats: цифры */
		.expo-stats {
			display: flex;
			flex-wrap: wrap;
			margin: 0 -8px 24px;
		}
		.expo-stat {
			padding: 0 8px 14px;
			min-width: 33.33%;
		}
		.expo-stat__num {
			font-size: 1.9rem;
			font-weight: 500;
			color: #ff6b00;
			line-height: 1;
		}
		@media (min-width: 992px) {
			.expo-stat__num { font-size: 2.3rem; }
		}
		/* Подписи под цифрами */
		.expo-stat__lbl {
			font-size: 12px;
			font-weight: 400;
			color: #717680;
			margin-top: 4px;
		}

		/* Метки блоков: "Разделы выставки", "Получить билет" */
		.expo-block-label {
			font-size: 15px;
			font-weight: 500;
			color: #2c2c2c;
			margin: 0 0 10px;
		}

		/* Список разделов выставки */
		.expo-sections {
			list-style: none;
			margin: 0 0 24px;
			padding: 0;
		}
		.expo-sections li {
			position: relative;
			padding: 8px 0 8px 14px;
			font-size: 14px;
			font-weight: 400;
			color: #2c2c2c;
			border-bottom: 1px solid #f0f0f0;
			line-height: 1.4;
		}
		.expo-sections li:first-child { border-top: 1px solid #f0f0f0; }
		.expo-sections li::before {
			content: '';
			position: absolute;
			left: 0;
			top: 50%;
			transform: translateY(-50%);
			width: 4px;
			height: 4px;
			background-color: #ff6b00;
		}

		/* Блок промокода */
		.expo-stand {
			border: 1px solid #d9d9d9;
			border-left: 4px solid #ff6b00;
			background-color: #f5f5f5;
			padding: 14px 18px;
		}
		/* Заголовок блока промокода */
		.expo-stand strong {
			display: block;
			font-size: 14px;
			font-weight: 500;
			color: #2c2c2c;
			margin-bottom: 5px;
		}
		/* Текст с промокодом */
		.expo-stand span {
			font-size: 13px;
			font-weight: 400;
			color: #717680;
			line-height: 1.5;
		}

		/* ---------- MEETING FORM ---------- */
		.expo-form-panel {
			background-color: #fff;
			border: 1px solid #d9d9d9;
			width: 100%;
		}
		/* Шапка формы: тёмный фон */
		.expo-form-panel__hd {
			background-color: #2c2c2c;
			padding: 16px 26px;
		}
		/* Заголовок формы */
		.expo-form-panel__hd h2 {
			color: #fff;
			font-size: 17px;
			font-weight: 500;
			margin: 0;
			line-height: 1.3;
		}
		.expo-form-panel__bd {
			padding: 24px 28px 28px;
		}

		/* Метки внутри формы: "Выберите время", "Контактная информация" */
		.expo-f-label {
			font-size: 15px;
			font-weight: 500;
			color: #2c2c2c;
			margin: 0 0 10px;
		}

		/* Resource selector */
		.expo-res-sel {
			display: flex;
			align-items: center;
			justify-content: space-between;
			border: 1px solid #d9d9d9;
			padding: 11px 14px;
			background-color: #f5f5f5;
			cursor: pointer;
			margin-bottom: 8px;
			transition: border-color 0.1s;
			user-select: none;
		}
		.expo-res-sel:hover { border-color: #ff6b00; }
		.expo-res-sel span { font-size: 14px; color: #2c2c2c; }
		.expo-res-sel svg {
			width: 15px; height: 15px;
			fill: none; stroke: #ff6b00; stroke-width: 2;
			flex-shrink: 0;
		}

		/* Поясняющий текст под меткой */
		.expo-hint {
			font-size: 13px;
			font-weight: 400;
			color: #717680;
			line-height: 1.6;
			margin-bottom: 24px;
		}

		/* Строка со стендом */
		.expo-res-row {
			display: flex;
			align-items: center;
			gap: 10px;
			margin-bottom: 14px;
		}
		.expo-res-ico {
			width: 34px; height: 34px;
			background-color: #ff6b00;
			display: flex; align-items: center; justify-content: center;
			flex-shrink: 0;
		}
		.expo-res-ico svg {
			width: 17px; height: 17px;
			fill: none; stroke: #fff; stroke-width: 1.5;
		}
		/* Название стенда */
		.expo-res-name {
			font-size: 14px;
			font-weight: 500;
			color: #2c2c2c;
			line-height: 1.25;
		}
		/* Подпись зала под стендом */
		.expo-res-name span {
			display: block;
			font-size: 12px;
			font-weight: 400;
			color: #717680;
			margin-top: 2px;
		}

		/* Слоты времени */
		.expo-slots {
			display: grid;
			grid-template-columns: repeat(3, 1fr);
			gap: 8px;
			margin-bottom: 24px;
		}
		@media (min-width: 480px) {
			.expo-slots { grid-template-columns: repeat(5, 1fr); }
		}
		@media (min-width: 768px) {
			.expo-slots { grid-template-columns: repeat(7, 1fr); }
		}
		.expo-slot {
			border: 1px solid #d9d9d9;
			background: #fff;
			color: #2c2c2c;
			font-size: 14px;
			font-weight: 400;
			padding: 8px 4px;
			cursor: pointer;
			transition: all 0.1s;
			border-radius: 0;
			outline: none;
			font-family: Stem, sans-serif;
			text-align: center;
		}
		.expo-slot:hover { border-color: #ff6b00; color: #ff6b00; }
		.expo-slot.active { background-color: #ff6b00; border-color: #ff6b00; color: #fff; }

		/* Кнопки выбора даты */
		.expo-date-btns {
			display: flex;
			gap: 8px;
			margin-bottom: 12px;
			flex-wrap: wrap;
		}
		.expo-date-day {
			border: 1px solid #d9d9d9;
			background: #fff;
			color: #2c2c2c;
			font-size: 14px;
			font-weight: 400;
			padding: 10px 20px;
			cursor: pointer;
			transition: all 0.1s;
			border-radius: 0;
			outline: none;
			font-family: Stem, sans-serif;
		}
		.expo-date-day:hover { border-color: #ff6b00; color: #ff6b00; }
		.expo-date-day.active { background-color: #ff6b00; border-color: #ff6b00; color: #fff; }

		/* Date button (старый стиль, оставляем для совместимости) */
		.expo-date-btn {
			display: inline-flex;
			align-items: center;
			gap: 7px;
			border: 1px solid #ff6b00;
			color: #2c2c2c;
			background: transparent;
			font-size: 14px;
			font-weight: 400;
			padding: 7px 14px;
			cursor: pointer;
			margin-bottom: 18px;
			font-family: Stem, sans-serif;
			transition: all 0.1s;
			border-radius: 0;
		}
		.expo-date-btn:hover { background-color: #ff6b00; color: #fff; }
		.expo-date-btn svg { width: 13px; height: 13px; fill: none; stroke: currentColor; stroke-width: 2; }

		/* Промокод hover */
		#promoCode:hover {
			color: #ff6b00;
			border-bottom-color: #ff6b00;
		}

		/* Разделитель */
		.expo-sep { height: 1px; background-color: #d9d9d9; margin: 24px 0; }

		/* Поля формы */
		.expo-fields-wrap {
			border: 1px solid #d9d9d9;
			background-color: #fff;
			margin-bottom: 20px;
		}
		.expo-field {
			padding: 0 16px;
			border-bottom: 1px solid #d9d9d9;
		}
		.expo-field:last-child { border-bottom: none; }
		/* Лейбл поля: "Имя", "Телефон" */
		.expo-field label {
			display: block;
			font-size: 12px;
			font-weight: 400;
			color: #717680;
			padding-top: 12px;
			margin-bottom: 2px;
		}
		.expo-field label .req { color: #ff6b00; }
		/* Значение поля */
		.expo-field input {
			display: block; width: 100%;
			border: none; border-radius: 0;
			background: transparent;
			font-size: 14px; font-family: Stem, sans-serif; font-weight: 400; color: #2c2c2c;
			padding: 6px 0 12px; outline: none;
		}
		.expo-field input::placeholder { color: #bbb; }

		/* Согласие */
		.expo-consent {
			display: flex; align-items: flex-start; gap: 9px; margin-bottom: 20px;
		}
		.expo-consent input[type="checkbox"] {
			accent-color: #ff6b00; width: 14px; height: 14px; flex-shrink: 0; margin-top: 2px; cursor: pointer;
		}
		/* Текст согласия */
		.expo-consent label { font-size: 12px; font-weight: 400; color: #717680; line-height: 1.5; cursor: pointer; }
		.expo-consent label a { color: #ff6b00; }

		/* Кнопки отправки */
		.expo-submit {
			display: block; width: 100%;
			background-color: #ff6b00; border: 1px solid #ff6b00; color: #fff;
			font-size: 16px; font-weight: 500; padding: 15px 32px;
			cursor: pointer; border-radius: 0; transition: all 0.1s;
			font-family: Stem, sans-serif; text-align: center;
		}
		a.expo-submit { color: #fff; }
		.expo-submit:hover { background-color: #fff; color: #ff6b00; }
		a.expo-submit:hover { color: #ff6b00; }

		/* Сообщение об успехе */
		.expo-success {
			display: none; padding: 20px; background-color: #f5f5f5; border-left: 4px solid #ff6b00;
		}
		.expo-success strong { font-size: 15px; font-weight: 500; color: #2c2c2c; display: block; margin-bottom: 5px; }
		.expo-success p { font-size: 13px; font-weight: 400; color: #717680; margin: 0; line-height: 1.5; }