/* ===== Мероприятия (/events/): две формы во вкладках (основа — cargo.css и corporate.css) ===== */
.events-widget{max-width:960px}

/* переключатель блока: билеты, проживание, дополнительные периоды */
.cargo-section--toggle{margin-top:14px;padding:0;background:var(--color-bg-soft);border:1px solid var(--color-border);border-radius:var(--radius-lg);transition:border-color .2s,background .2s,box-shadow .2s}
.cargo-section--toggle.is-on{background:#fff;border-color:var(--theme-accent);box-shadow:0 8px 24px rgba(96,110,178,.12)}
.cargo-toggle{display:flex;align-items:center;gap:14px;padding:16px 20px;cursor:pointer;user-select:none}
.cargo-toggle input{position:absolute;opacity:0;width:1px;height:1px;margin:0;pointer-events:none}
.cargo-toggle__switch{position:relative;flex:0 0 46px;width:46px;height:26px;border-radius:13px;background:#C9CED8;transition:background .2s}
.cargo-toggle__switch::after{content:'';position:absolute;left:3px;top:3px;width:20px;height:20px;border-radius:50%;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.25);transition:transform .2s}
.cargo-toggle input:checked + .cargo-toggle__switch{background:var(--theme-accent)}
.cargo-toggle input:checked + .cargo-toggle__switch::after{transform:translateX(20px)}
.cargo-toggle input:focus-visible + .cargo-toggle__switch{outline:2px solid var(--color-cta);outline-offset:3px}
.cargo-toggle__text{display:flex;flex-direction:column;gap:2px;min-width:0}
.cargo-toggle__title{font-size:16px;font-weight:700;color:var(--color-primary-dark)}
.cargo-toggle__sub{font-size:13px;line-height:1.45;color:var(--color-text-secondary)}
.cargo-section--toggle .cargo-grid{padding:4px 20px 22px;animation:route-in .25s ease-out}
.cargo-section--toggle .cargo-grid[hidden]{display:none}

/* мультивыбор: плитки с галочкой, перенос в несколько рядов */
.events-widget .choice--multi{grid-template-columns:repeat(auto-fill,minmax(168px,1fr))}
.events-widget .choice--multi .choice__body{position:relative;justify-content:flex-start;gap:10px;padding:0 14px;text-align:left}
.events-widget .choice--multi .choice__title{white-space:normal;line-height:1.3}
.events-widget .choice--multi .choice__body::before{content:'';flex:0 0 18px;height:18px;box-sizing:border-box;border:1.5px solid var(--color-border);border-radius:5px;background:#fff;transition:all .2s}
.events-widget .choice--multi .choice__item input:checked + .choice__body{background:#F3F5FB;border-color:var(--theme-accent);box-shadow:0 0 0 3px rgba(96,110,178,.14)}
.events-widget .choice--multi .choice__item input:checked + .choice__body .choice__title{color:var(--color-primary-dark)}
.events-widget .choice--multi .choice__item input:checked + .choice__body::before{background:var(--theme-accent) url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 16 16'%3E%3Cpath d='M3.5 8.5l3 3 6-7' fill='none' stroke='%23fff' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E") center/14px no-repeat;border-color:var(--theme-accent)}
.events-widget .choice--chips .choice__title{white-space:normal}

/* «Как это работает» и сетки блоков страницы */
#included .included-grid{grid-template-columns:repeat(3,minmax(0,1fr))}

@media(max-width:768px){
	.cargo-toggle{padding:14px 14px;gap:12px}
	.cargo-toggle__title{font-size:15px}
	.cargo-section--toggle .cargo-grid{padding:2px 14px 18px}
	.events-widget .choice--multi{grid-template-columns:minmax(0,1fr)}
}

/* ===== Мастер: форма по шагам (events-wizard.js) ===== */
.events-widget{scroll-margin-top:90px}
.wiz-stepper{display:flex;margin:22px 0 6px;padding:0;list-style:none}
.wiz-stepper__item{position:relative;flex:1;display:flex;flex-direction:column;align-items:center;gap:8px;text-align:center;font-size:12px;font-weight:600;color:var(--color-text-muted);transition:color .2s;scroll-margin-top:90px}
.wiz-stepper__item + .wiz-stepper__item::before{content:'';position:absolute;top:15px;right:50%;width:100%;height:2px;background:var(--color-border);transition:background .3s;z-index:0}
.wiz-stepper__num{position:relative;z-index:1;width:32px;height:32px;border-radius:50%;display:flex;align-items:center;justify-content:center;background:#fff;border:2px solid var(--color-border);font-size:13px;font-weight:800;color:var(--color-text-muted);transition:all .25s}
.wiz-stepper__item.is-current{color:var(--color-primary-dark)}
.wiz-stepper__item.is-current .wiz-stepper__num{border-color:var(--theme-accent);color:var(--theme-accent);box-shadow:0 0 0 4px rgba(96,110,178,.12)}
.wiz-stepper__item.is-done{color:var(--color-text-secondary);cursor:pointer}
.wiz-stepper__item.is-done .wiz-stepper__num{background:var(--theme-accent);border-color:var(--theme-accent);font-size:0;color:#fff}
.wiz-stepper__item.is-done .wiz-stepper__num::after{content:'✓';font-size:15px;line-height:1}
.wiz-stepper__item.is-current::before,.wiz-stepper__item.is-done::before{background:var(--theme-accent)}
body.theme-gold .wiz-stepper__item.is-current .wiz-stepper__num{box-shadow:0 0 0 4px rgba(212,175,55,.18)}

.wiz-step{animation:wiz-step .28s ease both}
.wiz-step[hidden]{display:none}
@keyframes wiz-step{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}
.wiz-step > .cargo-section:first-child{margin-top:22px}
.wiz-step .cargo-consents{margin-top:24px;padding-top:20px}
.wiz-status{margin-top:0}
.wiz-status:has(.cargo-form__status:empty){display:none}

.wiz-nav{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-top:26px}
.wiz-nav .btn{min-height:52px;border-radius:var(--radius-md)}
.wiz-back{padding:0 22px}
.wiz-next{margin-left:auto;min-width:170px;padding:0 30px}
.wiz-nav .cargo-submit{margin-left:auto;min-width:240px;font-size:16px}

@media(max-width:768px){
	.wiz-stepper{margin:18px 0 28px}
	.wiz-stepper__item{font-size:11px;gap:6px}
	.wiz-stepper__num{width:28px;height:28px;font-size:12px}
	.wiz-stepper__item + .wiz-stepper__item::before{top:13px}
	/* на телефоне подпись только у текущего шага */
	.wiz-stepper__label{display:none}
	.wiz-stepper__item.is-current .wiz-stepper__label{display:block;position:absolute;top:36px;left:50%;transform:translateX(-50%);white-space:nowrap}
	.wiz-step > .cargo-section:first-child{margin-top:16px}
	.wiz-nav{flex-wrap:wrap}
	.wiz-nav .wiz-next,.wiz-nav .cargo-submit{flex:1 1 100%;order:-1;margin-left:0;min-width:0}
	.wiz-back{flex:1 1 100%}
}
