.app{min-height:100vh;display:flex;flex-direction:column;background-color:var(--color-bg)}.app__main{flex:1}.modal{position:fixed;top:0;left:0;right:0;bottom:0;z-index:1000;animation:modal-fade-in .2s ease-out}.modal__overlay{display:flex;align-items:center;justify-content:center;width:100%;height:100%;background-color:#00000080;animation:overlay-fade-in .2s ease-out}.modal__content{position:relative;background-color:var(--color-bg-white);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg);padding:var(--spacing-xl);max-width:600px;width:90%;max-height:90vh;overflow-y:auto;animation:modal-content-in .3s ease-out}.modal__close{position:absolute;top:var(--spacing-md);right:var(--spacing-md);width:32px;height:32px;display:flex;align-items:center;justify-content:center;font-size:var(--font-size-lg);color:var(--color-text-secondary);border-radius:var(--radius-full);transition:background-color var(--transition-fast),color var(--transition-fast)}.modal__close:hover{background-color:var(--color-bg);color:var(--color-text)}@keyframes modal-fade-in{0%{opacity:0}to{opacity:1}}@keyframes overlay-fade-in{0%{background-color:#0000}to{background-color:#00000080}}@keyframes modal-content-in{0%{opacity:0;transform:scale(.95) translateY(-10px)}to{opacity:1;transform:scale(1) translateY(0)}}.subscription__title{font-size:var(--font-size-lg);font-weight:700;color:#fff;margin-bottom:var(--spacing-xs)}.subscription__text{font-size:var(--font-size-sm);color:#ffffffbf;margin-bottom:var(--spacing-md)}.subscription__form{display:flex;gap:var(--spacing-sm)}.subscription__input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);font-size:var(--font-size-md);background-color:#fff}.subscription__input:focus{outline:none;border-color:var(--color-primary)}.subscription__button{padding:var(--spacing-sm) var(--spacing-md);background-color:transparent;border:1px solid rgba(255,255,255,.5);color:#fff;font-size:var(--font-size-sm);font-weight:600;border-radius:var(--radius-sm);white-space:nowrap;cursor:pointer;transition:background-color var(--transition-fast),border-color var(--transition-fast)}.subscription__button:hover:not(:disabled){background-color:#ffffff26;border-color:#fff}.subscription__button:disabled{opacity:.5;cursor:not-allowed}.subscription__message{margin-top:var(--spacing-sm);font-size:var(--font-size-xs);color:#ffffffbf}.subscription__message--success{color:var(--color-success)}.subscription__message--error{color:var(--color-error)}.subscription__modal{text-align:center;padding:var(--spacing-lg)}.subscription__modal-icon{width:60px;height:60px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin:0 auto var(--spacing-md);font-size:var(--font-size-xl);font-weight:700}.subscription__modal-icon--success{background-color:var(--color-success);color:#fff}.subscription__modal-icon--error{background-color:var(--color-error);color:#fff}.subscription__modal-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-dark);margin-bottom:var(--spacing-sm)}.subscription__modal-text{font-size:var(--font-size-base);color:var(--color-text-secondary);margin-bottom:var(--spacing-lg)}.subscription__modal-button{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-dark);font-size:var(--font-size-base);font-weight:600;border:none;border-radius:var(--radius-sm);cursor:pointer;transition:background-color var(--transition-fast)}.subscription__modal-button:hover{background-color:var(--color-primary-hover)}.footer{background-color:var(--color-dark);color:#fff;margin-top:auto}.footer__container{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg);display:flex;gap:var(--spacing-2xl);justify-content:center}.footer__contacts,.footer__subscription{flex:1;max-width:300px}.footer__title{font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-md)}.footer__contact-item{display:flex;font-size:var(--font-size-sm);color:#ffffffbf;margin-bottom:var(--spacing-md)}.footer__contact-item>img{width:30px;padding-right:10px}.footer__socials-title{font-size:var(--font-size-base);font-weight:600;margin-bottom:var(--spacing-md);margin-top:var(--spacing-lg)}.footer__socials-list{display:flex;gap:var(--spacing-md)}.footer__social-icon{display:flex;align-items:center;justify-content:center;width:30px;height:30px;cursor:pointer;transition:background-color var(--transition-fast)}.footer__bottom{border-top:1px solid rgba(255,255,255,.15);max-width:var(--max-width);margin:0 auto;padding:var(--spacing-md) var(--spacing-lg);display:flex;justify-content:space-between}.footer__bottom-logo{font-size:var(--font-size-lg);font-weight:700}.footer__bottom-copy{font-size:var(--font-size-sm);color:#ffffff80}.header{background-color:var(--color-dark);position:sticky;top:0;z-index:100}.header__container{max-width:var(--max-width);margin:0 auto;padding:0 var(--spacing-lg);height:var(--header-height);display:flex;align-items:center;justify-content:space-between}.header__logo{font-size:var(--font-size-xl);font-weight:700;color:#fff}.header__nav{display:flex;gap:var(--spacing-xl)}.header__link{color:#ffffffd9;font-size:var(--font-size-md);padding:var(--spacing-sm) 0;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.header__link:hover{color:#fff;border-bottom-color:var(--color-primary)}.header__link:active{color:var(--color-primary);border-bottom-color:var(--color-primary)}.steps{background-color:var(--color-dark-light)}.steps__container{max-width:var(--max-width);margin:0 auto;display:flex;height:var(--steps-height)}.steps__item{flex:1;display:flex;align-items:center;height:100%;position:relative;padding:0 var(--spacing-lg) 0 var(--spacing-xl);color:#ffffff80;font-size:var(--font-size-base);font-weight:600;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%,14px 50%)}.steps__item:first-child{margin-left:22px;clip-path:polygon(0 0,calc(100% - 14px) 0,100% 50%,calc(100% - 14px) 100%,0 100%);padding-left:var(--spacing-lg)}.steps__item:last-child{clip-path:polygon(0 0,100% 0,100% 100%,0 100%,14px 50%);flex:none;width:200px}.steps__item--active,.steps__item--done{background-color:var(--color-primary);color:var(--color-dark)}.steps__item--done{opacity:.75}.steps__number{display:flex;align-items:center;justify-content:center;width:24px;height:24px;border:2px solid currentColor;border-radius:var(--radius-full);margin-right:var(--spacing-sm);font-size:var(--font-size-sm);font-weight:700;flex-shrink:0}.steps__label{white-space:nowrap}.passenger-form{background-color:#fff;border:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.passenger-form__header{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light)}.passenger-form__collapse,.passenger-form__close{cursor:pointer;color:var(--color-text-light);font-size:var(--font-size-lg);width:24px;text-align:center}.passenger-form__collapse:hover,.passenger-form__close:hover{color:var(--color-text)}.passenger-form__title{flex:1;font-size:var(--font-size-base);font-weight:600;color:var(--color-dark)}.passenger-form__body{padding:var(--spacing-md)}.passenger-form__type{margin-bottom:var(--spacing-md)}.passenger-form__select{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);background-color:#fff;min-width:180px}.passenger-form__select:focus{outline:none;border-color:var(--color-primary)}.passenger-form__row{display:grid;grid-template-columns:repeat(auto-fit,minmax(180px,1fr));gap:var(--spacing-md);margin-bottom:var(--spacing-md)}.passenger-form__group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.passenger-form__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.passenger-form__input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.passenger-form__input:focus{outline:none;border-color:var(--color-primary)}.passenger-form__input--error{border-color:var(--color-error)}.passenger-form__error{font-size:var(--font-size-xs);color:var(--color-error)}.passenger-form__gender{display:flex;gap:0}.passenger-form__gender-btn{width:60px;height:36px;border:1px solid var(--color-border);background-color:#fff;font-size:var(--font-size-base);font-weight:700;cursor:pointer;transition:all var(--transition-fast)}.passenger-form__gender-btn:first-child{border-radius:var(--radius-sm) 0 0 var(--radius-sm)}.passenger-form__gender-btn:last-child{border-radius:0 var(--radius-sm) var(--radius-sm) 0}.passenger-form__gender-btn--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-dark)}.passenger-form__checkbox-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;margin-top:var(--spacing-md)}.passenger-form__checkbox-label input[type=checkbox]{accent-color:var(--color-primary);width:16px;height:16px}.passenger-form__close{cursor:pointer;color:var(--color-text-light);font-size:var(--font-size-lg);width:24px;text-align:center;background:none;border:none;padding:0}.passenger-form__close:hover{color:var(--color-text)}.passenger-form__actions{display:flex;justify-content:space-between;padding:var(--spacing-md);background-color:var(--color-bg);border-top:1px solid var(--color-border-light)}.passenger-form__actions>.passenger-form__next{cursor:pointer;border:1px solid black;background:none;padding:8px 16px;border-radius:5px;font-weight:700}.passenger-form__actions--valid{background-color:#b2f6a1}.passenger-form__actions--error{background-color:#ffb59e}.passenger-form__success{display:flex;align-items:center;gap:var(--spacing-sm);color:#fff;font-weight:600;font-size:var(--font-size-base)}.checkout__layout{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg);align-items:flex-start}.checkout__sidebar{width:240px;flex-shrink:0}.checkout__sidebar-title{background-color:var(--color-dark-light);color:#fff;font-size:var(--font-size-base);font-weight:700;padding:var(--spacing-md);text-align:center;margin:0}.checkout__trip-summary{background-color:var(--color-dark-light);color:#fff}.checkout__trip-section{padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.checkout__trip-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-base);font-weight:700;margin-bottom:var(--spacing-sm)}.checkout__trip-arrow{color:var(--color-dark);height:20px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-sm);font-size:var(--font-size-xs)}.checkout__trip-arrow>img{height:inherit;padding-right:10px}.checkout__trip-info{font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.checkout__trip-times{font-size:var(--font-size-xs);color:#fff9}.checkout__passengers-summary{padding:var(--spacing-md);border-bottom:1px solid rgba(255,255,255,.1)}.checkout__passengers-label{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-lg);font-weight:700;margin-bottom:var(--spacing-sm)}.checkout__passengers-icon{height:20px;color:var(--color-primary)}.checkout__passengers-icon>img{height:inherit;padding-right:10px}.checkout__passenger-row{display:flex;justify-content:space-between;font-size:var(--font-size-sm);margin-bottom:var(--spacing-xs)}.checkout__total{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);font-size:var(--font-size-base);font-weight:700}.checkout__total-price{font-size:var(--font-size-xl);color:var(--color-primary)}.checkout__content{flex:1;min-width:0}.checkout__section{background-color:#fff;border:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.checkout__section-title{font-size:var(--font-size-lg);font-weight:600;color:var(--color-dark);padding:var(--spacing-md);border-bottom:1px solid var(--color-border-light);margin:0}.checkout__fields{padding:var(--spacing-md);display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:var(--spacing-md)}.checkout__group{display:flex;flex-direction:column;gap:var(--spacing-xs)}.checkout__label{font-size:var(--font-size-xs);color:var(--color-text-secondary);text-transform:uppercase}.checkout__input{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-md)}.checkout__input:focus{outline:none;border-color:var(--color-primary)}.checkout__input--error{border-color:var(--color-error)}.checkout__error{font-size:var(--font-size-xs);color:var(--color-error)}.checkout__payment{padding:var(--spacing-md)}.checkout__radio{display:flex;align-items:center;gap:var(--spacing-sm);cursor:pointer;font-size:var(--font-size-base);margin-bottom:var(--spacing-md)}.checkout__radio input[type=radio]{accent-color:var(--color-primary);width:18px;height:18px}.checkout__payment-methods{display:flex;gap:var(--spacing-lg);margin-bottom:var(--spacing-md)}.checkout__payment-method{font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark);cursor:pointer}.checkout__submit{width:auto;padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-dark);font-size:var(--font-size-base);font-weight:700;border-radius:var(--radius-sm);transition:background-color var(--transition-fast);display:block}.checkout__submit:hover{background-color:var(--color-primary-hover)}.checkout__add-passenger{width:100%;padding:var(--spacing-md);background-color:transparent;border:1px dashed var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);color:var(--color-primary);cursor:pointer;transition:all var(--transition-fast)}.checkout__add-passenger:hover{border-color:var(--color-primary);background-color:#ffb1000d}.checkout__footer{display:flex;justify-content:space-between}.confirmation{min-height:60vh}.confirmation__layout{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg)}.confirmation__content{flex:1;min-width:0}.container{max-width:100%;margin:0 auto}.card{background:#fff;border-radius:4px;margin-bottom:20px;box-shadow:0 2px 4px #0000001a;overflow:hidden}.card-header{padding:20px 24px;font-size:28px;font-weight:400;border-bottom:1px solid #e0e0e0;color:#333}.train-section{display:flex;min-height:280px}.train-info{background-color:#e8e5ec;padding:24px;width:200px;display:flex;flex-direction:column;align-items:center;justify-content:center;flex-shrink:0}.train-icon{width:80px;height:80px;border:2px solid #fff;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:16px}.train-number{font-size:24px;font-weight:600;margin-bottom:8px;color:#333}.train-route-info{font-size:14px;color:#999;text-align:center;line-height:1.4}.train-schedule{flex:1;padding:24px;border-right:1px solid #e0e0e0;display:flex;flex-direction:column;justify-content:center}.schedule-row{display:flex;align-items:center;margin-bottom:24px}.schedule-row:last-child{margin-bottom:0}.schedule-row--return{border-top:1px dashed #e0e0e0;padding-top:16px;margin-top:16px}.time-block{flex:1}.city{font-size:16px;margin-top:2px;color:#333}.duration{text-align:center;padding:0 20px;color:#999;font-size:14px;display:flex;flex-direction:column;align-items:center}.arrow{color:#fa0;font-size:24px;margin-top:8px}.train-pricing{width:280px;padding:24px;flex-shrink:0}.price-row{display:flex;align-items:center;margin-bottom:16px}.price-type{flex:1;font-size:14px;color:#333}.seats-left{color:#fa0;font-size:14px;margin:0 8px;min-width:30px;text-align:center}.price-label{font-size:12px;color:#999;margin-right:8px}.price-value{font-size:20px;font-weight:600;color:#333}.price-currency{font-size:16px;color:#999;margin-left:2px}.amenities{display:flex;justify-content:flex-end;gap:12px;margin:16px 0;color:#ccc;font-size:16px}.btn-change{background:transparent;border:1px solid #333;color:#333;padding:8px 24px;border-radius:4px;font-size:16px;font-weight:600;cursor:pointer;transition:all .2s}.btn-change:hover{background:#f5f5f5}.passengers-section{display:flex;min-height:200px}.passengers-list{flex:1;border-right:1px solid #e0e0e0}.passenger-card{display:flex;align-items:flex-start;padding:24px;border-bottom:1px solid #f0f0f0}.passenger-card:last-child{border-bottom:none}.passenger-avatar{width:60px;height:60px;background-color:#fa0;border-radius:50%;margin-right:20px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.passenger-type{margin-top:8px;font-size:14px;font-weight:500;color:#333;min-width:80px}.passenger-details{flex:1}.passenger-name{font-size:16px;font-weight:500;margin-bottom:8px;color:#333}.passenger-info{font-size:14px;color:#999;line-height:1.6}.passenger-total{padding:24px 24px 40px;display:flex;flex-direction:column;justify-content:flex-end;align-items:center;width:280px;flex-shrink:0}.total-price{font-size:24px;font-weight:400;margin-bottom:16px;color:#333}.total-price strong{font-size:28px;margin-left:8px;color:#333}.total-currency{font-size:20px;color:#999}.payment-section{display:flex;min-height:80px}.payment-method{flex:1;padding:24px;border-right:1px solid #e0e0e0;font-size:20px;color:#333;display:flex;align-items:center}.payment-actions{display:flex;align-items:center;justify-content:center;padding:24px;width:280px;flex-shrink:0}.confirm-section{text-align:right;margin-top:20px}.btn-confirm{background-color:#fa0;color:#fff;border:none;padding:16px 48px;font-size:18px;font-weight:600;border-radius:4px;cursor:pointer;text-transform:uppercase;transition:background-color .2s}.btn-confirm:hover{background-color:#e69900}.btn-confirm:disabled{opacity:.7;cursor:not-allowed}.confirmation__error{background-color:#fff5f5;border:1px solid #ff4444;border-radius:4px;padding:16px;color:#f44;margin-bottom:20px}.confirmation__success{max-width:600px;margin:40px auto;text-align:center;background-color:#fff;border:1px solid #e0e0e0;padding:40px;border-radius:4px}.confirmation__success-icon{width:80px;height:80px;background-color:#4caf50;color:#fff;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.confirmation__success-title{font-size:24px;font-weight:700;color:#333;margin-bottom:16px}.confirmation__success-text{font-size:16px;color:#666;margin-bottom:32px;line-height:1.6}.confirmation__success-button{padding:16px 48px;background-color:#fa0;color:#fff;font-weight:700;border-radius:4px;transition:background-color .2s;border:none;cursor:pointer;font-size:16px}.confirmation__success-button:hover{background-color:#e69900}@media (max-width: 768px){.confirmation__layout{flex-direction:column}.confirmation__layout>aside{width:100%;order:2}.confirmation__content{order:1}.train-section,.passengers-section,.payment-section{flex-direction:column}.train-info,.train-pricing{width:100%}.train-schedule,.passengers-list,.payment-method{border-right:none;border-bottom:1px solid #e0e0e0}.schedule-row{flex-direction:column;text-align:center}.duration{margin:8px 0}.confirm-section{text-align:center}.passenger-total{width:100%;padding-bottom:24px}.payment-actions{width:100%}}.city-autocomplete__list{position:absolute;top:100%;left:0;right:19px;background-color:#fff;border:1px solid var(--color-border);border-top:none;max-height:200px;overflow-y:auto;z-index:10;box-shadow:var(--shadow-md)}.search-form--home{background-color:#2d2d31d9;padding:var(--spacing-lg);min-width:460px;display:flex;flex-direction:column;gap:var(--spacing-sm)}.search-form-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/fe-2-diplom/img/header-order-image.png);background-size:cover;background-position:center;background-repeat:no-repeat}.search-form--home .search-form__label{color:#fff;font-size:var(--font-size-lg);font-weight:300}.search-form--home .search-form__direction{display:flex;align-items:center;gap:var(--spacing-sm)}.search-form--home .search-form__dates{display:flex;gap:var(--spacing-md);margin-bottom:var(--spacing-xs)}.search-form--home .search-form__input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-md);background-color:#fff;width:100%}.search-form--home .search-form__input:focus{outline:none}.search-form--home .search-form__button{width:100%;padding:var(--spacing-md);background-color:var(--color-primary);color:var(--color-dark);font-size:var(--font-size-base);font-weight:700;border-radius:var(--radius-sm);margin-top:var(--spacing-sm);transition:background-color var(--transition-fast),transform var(--transition-fast)}.search-form--home .search-form__button:hover{background-color:var(--color-primary-hover)}.search-form--home .search-form__button:active{background-color:var(--color-primary-active);transform:scale(.98)}.search-form--search{display:flex;align-items:center;height:200px;position:relative;background-color:var(--color-dark);background-image:url(/fe-2-diplom/img/header-order-image.png);background-size:cover;padding:var(--spacing-md) 0}.search-form__inner{position:relative;max-width:var(--max-width);margin:0 auto;padding:18px var(--spacing-lg);display:flex;align-items:flex-end;gap:var(--spacing-lg);background-color:#ffffff1a}.search-form__section:first-child{flex:0}.search-form__section{flex:1}.search-form__swap{color:#ccc;cursor:pointer;font-size:var(--font-size-lg);min-width:32px;min-height:32px}.search-form__swap:hover{color:#fff}.search-form--search .search-form__label{display:block;color:#fff;font-size:var(--font-size-lg);font-weight:300;margin-bottom:var(--spacing-sm)}.search-form--search .search-form__row{display:flex;align-items:center;gap:var(--spacing-sm)}.search-form--search .search-form__input{flex:1;padding:var(--spacing-sm) var(--spacing-md);border:none;border-radius:var(--radius-sm);font-size:var(--font-size-md);background-color:#fff}.search-form--search .search-form__input:focus{outline:none}.search-form--search .search-form__button{padding:var(--spacing-sm) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-dark);font-size:var(--font-size-base);font-weight:700;border-radius:var(--radius-sm);white-space:nowrap;transition:background-color var(--transition-fast),transform var(--transition-fast)}.search-form--search .search-form__button:hover{background-color:var(--color-primary-hover)}.search-form--search .search-form__button:active{background-color:var(--color-primary-active);transform:scale(.98)}.city-autocomplete{position:relative;flex:1}.search-form__error{position:absolute;bottom:-18px;left:0;font-size:11px;color:#f44336;white-space:nowrap}.search-form__error-inline{font-size:11px;color:#f44336;position:absolute;bottom:-16px;left:0}.search-form__direction>.city-autocomplete>.city-autocomplete__list{right:0}.search-form__row>.city-autocomplete>.city-autocomplete__list{right:0}.city-autocomplete__list{position:absolute;top:110%;left:0;right:0;background-color:#fff;border:1px solid var(--color-border);border-top:none;max-height:200px;overflow-y:auto;z-index:10;box-shadow:var(--shadow-md)}.city-autocomplete__item{padding:var(--spacing-sm) var(--spacing-md);font-size:var(--font-size-sm);cursor:pointer;transition:background-color var(--transition-fast)}.city-autocomplete__item:hover{background-color:var(--color-bg)}.home__hero{position:relative;min-height:500px;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#8b6914,#d4a017,#c4880d);overflow:hidden}.home__hero-overlay{position:absolute;top:0;right:0;bottom:0;left:0;background-image:url(/fe-2-diplom/img/header-base-image.png);background-size:cover;background-position:center;background-repeat:no-repeat}.home__hero-content{position:relative;z-index:1;max-width:var(--max-width);width:100%;padding:var(--spacing-xl) var(--spacing-lg);display:flex;align-items:center;justify-content:space-between;gap:var(--spacing-xl)}.home__hero-title{color:#fff;font-size:var(--font-size-2xl);font-weight:300;line-height:1.2;max-width:300px}.home__hero-title strong{font-weight:700}.home__container{position:relative;max-width:var(--max-width);margin:0 auto;padding:var(--spacing-xl) var(--spacing-lg)}.home__section-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-text);margin-bottom:var(--spacing-lg)}.home__section-title--light{color:#fff}.home__about{background-color:#fff}.home__about-content{border-left:4px solid var(--color-primary);padding-left:var(--spacing-md)}.home__about-text{color:var(--color-text);line-height:1.6;margin-bottom:var(--spacing-sm)}.home__about-text--accent{font-weight:500}.home__about-text--bold{font-weight:700}.home__how{position:relative;background-color:var(--color-primary)}.home__how-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl)}.home__how-more{padding:var(--spacing-sm) var(--spacing-lg);border:1px solid white;border-radius:var(--radius-sm);color:#fff;font-size:var(--font-size-md);font-weight:600;background:transparent;transition:background-color var(--transition-fast),color var(--transition-fast)}.home__how-more:hover{background-color:#fff;color:var(--color-dark)}.home__how-items{display:flex;justify-content:center;gap:var(--spacing-2xl)}.home__how-item{text-align:center}.home__how-icon{width:100px;height:100px;border-radius:var(--radius-full);background-color:#ffffff4d;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto var(--spacing-md)}.home__how-label{color:#fff;font-size:var(--font-size-md);line-height:1.4}.home__reviews{background-color:#fff}.home__reviews-list{display:flex;gap:var(--spacing-xl)}.home__review{display:flex;gap:var(--spacing-md);flex:1}.home__review-avatar{width:80px;height:80px;border-radius:var(--radius-full);background-color:var(--color-border);flex-shrink:0;overflow:hidden}.home__review-author{font-size:var(--font-size-md);font-weight:600;margin-bottom:var(--spacing-xs)}.home__review-text{font-size:var(--font-size-sm);color:var(--color-text-secondary);line-height:1.5;font-style:italic}.payment{min-height:60vh}.payment__layout{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg)}.payment__sidebar{width:280px;flex-shrink:0}.payment__sidebar-title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-dark);text-transform:uppercase;letter-spacing:.5px;margin-bottom:var(--spacing-md)}.payment__trip-summary{background-color:#fff;border:1px solid var(--color-border);padding:var(--spacing-md)}.payment__trip-section{margin-bottom:var(--spacing-md)}.payment__trip-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark);display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.payment__trip-arrow{color:var(--color-primary)}.payment__trip-info{font-size:var(--font-size-sm);color:var(--color-text)}.payment__trip-times{font-size:var(--font-size-sm);color:var(--color-text-light)}.payment__passengers-summary{padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);margin-bottom:var(--spacing-md)}.payment__passengers-label{font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark);display:flex;align-items:center;gap:var(--spacing-xs);margin-bottom:var(--spacing-xs)}.payment__passenger-row{font-size:var(--font-size-sm);color:var(--color-text)}.payment__passenger-seats{font-size:var(--font-size-sm);color:var(--color-text-light)}.payment__total{display:flex;justify-content:space-between;align-items:center;padding-top:var(--spacing-md);border-top:1px solid var(--color-border-light);font-size:var(--font-size-base);font-weight:700}.payment__total-price{font-size:var(--font-size-lg);color:var(--color-primary)}.payment__content{flex:1;min-width:0}.payment__section-title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-dark);margin-bottom:var(--spacing-md)}.payment__method-cards{display:flex;gap:var(--spacing-sm);margin-bottom:var(--spacing-lg)}.payment__method-card{padding:var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#fff;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.payment__method-card:hover{border-color:var(--color-primary)}.payment__method-card--active{border-color:var(--color-primary);background-color:var(--color-primary);color:var(--color-dark);font-weight:600}.payment__card-form{background-color:#fff;border:1px solid var(--color-border);padding:var(--spacing-lg);margin-bottom:var(--spacing-md)}.payment__field{margin-bottom:var(--spacing-md)}.payment__field-row{display:flex;gap:var(--spacing-md)}.payment__field-row .payment__field{flex:1}.payment__label{display:block;font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-bottom:var(--spacing-xs)}.payment__input{width:100%;padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);transition:border-color var(--transition-fast)}.payment__input:focus{outline:none;border-color:var(--color-primary)}.payment__input--error{border-color:#f44336}.payment__error{display:block;font-size:11px;color:#f44336;margin-top:2px}.payment__error{padding:var(--spacing-md);background-color:#ffebee;border:1px solid #FFCDD2;border-radius:var(--radius-sm);color:#d32f2f;font-size:var(--font-size-sm);margin-bottom:var(--spacing-md)}.payment__actions{display:flex;gap:var(--spacing-md)}.payment__submit{flex:1;padding:var(--spacing-md) var(--spacing-lg);background-color:var(--color-primary);color:var(--color-dark);font-size:var(--font-size-base);font-weight:700;border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.payment__submit:hover{background-color:var(--color-primary-hover)}.payment__submit:disabled{opacity:.7;cursor:not-allowed}.payment__back{padding:var(--spacing-md) var(--spacing-lg);background-color:#fff;color:var(--color-text-secondary);font-size:var(--font-size-base);font-weight:600;border:1px solid var(--color-border);border-radius:var(--radius-sm);transition:all var(--transition-fast)}.payment__back:hover{border-color:var(--color-primary);color:var(--color-primary)}.filters{background-color:var(--color-dark-light);color:#fff;padding:var(--spacing-md);width:240px;flex-shrink:0}.filters__section{line-height:25px;margin-bottom:var(--spacing-md)}.filters__section--border{padding-top:var(--spacing-md);border-top:1px solid rgba(255,255,255,.15)}.filters__toggle{display:flex;align-items:center;justify-content:space-between;padding:var(--spacing-xs) 0;cursor:pointer}.filters__toggle-label{display:flex;align-items:center;font-size:var(--font-size-sm);color:#ffffffd9}.filters__toggle-label>img{padding-right:10px;width:22px}.filters__switch{width:40px;height:20px;background-color:#ffffff4d;border-radius:10px;position:relative;cursor:pointer;transition:background-color var(--transition-fast);flex-shrink:0}.filters__switch--on{background-color:var(--color-primary)}.filters__switch-knob{position:absolute;top:2px;left:2px;width:16px;height:16px;background-color:#fff;border-radius:50%;transition:transform var(--transition-fast)}.filters__switch--on .filters__switch-knob{transform:translate(20px)}.filters__price-header{display:flex;justify-content:space-between;margin-bottom:var(--spacing-sm)}.filters__price-label{font-size:var(--font-size-sm);color:#ffffffd9}.filters__price-range-text{font-size:var(--font-size-xs);color:#ffffff80}.filters__price-slider{position:relative;height:24px;margin:var(--spacing-sm) 0}.filters__price-slider-track{position:absolute;top:50%;left:0;right:0;height:4px;background-color:#fff3;border-radius:2px;transform:translateY(-50%)}.filters__price-slider-fill{position:absolute;top:50%;height:4px;background-color:var(--color-primary);border-radius:2px;transform:translateY(-50%)}.filters__price-slider-input{position:absolute;top:50%;left:0;width:100%;height:4px;-webkit-appearance:none;-moz-appearance:none;appearance:none;background:transparent;pointer-events:none;transform:translateY(-50%)}.filters__price-slider-input::-webkit-slider-thumb{-webkit-appearance:none;-moz-appearance:none;appearance:none;width:20px;height:20px;border-radius:50%;background-color:#fff;cursor:pointer;pointer-events:auto;box-shadow:0 1px 4px #0000004d}.filters__price-slider-input::-moz-range-thumb{width:20px;height:20px;border-radius:50%;background-color:#fff;cursor:pointer;pointer-events:auto;border:none;box-shadow:0 1px 4px #0000004d}.filters__price-labels{display:flex;justify-content:space-between;font-size:var(--font-size-xs);color:#ffffff80;margin-top:var(--spacing-xs)}.filters__reset{width:100%;padding:var(--spacing-sm);margin-top:var(--spacing-md);background-color:transparent;border:1px solid rgba(255,255,255,.3);border-radius:var(--radius-sm);color:#ffffffb3;font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.filters__reset:hover{border-color:var(--color-primary);color:var(--color-primary)}.filters--readonly{opacity:.8}.filters--readonly .filters__toggle{cursor:default}.filters--readonly .filters__toggle--disabled{opacity:.6}.filters--readonly .filters__switch{cursor:default;opacity:.6}.filters--readonly .filters__price-slider-input:disabled::-webkit-slider-thumb{cursor:default}.filters--readonly .filters__price-slider-input:disabled::-moz-range-thumb{cursor:default}.last-routes{margin-top:var(--spacing-lg)}.last-routes__title{font-size:var(--font-size-sm);font-weight:700;color:var(--color-dark);margin-bottom:var(--spacing-sm);text-transform:uppercase;letter-spacing:.5px}.last-routes__list{display:flex;flex-direction:column;gap:var(--spacing-xs)}.last-routes__card{background-color:#fff;border:1px solid var(--color-border);box-shadow:0 1px 2px #00000014;padding:var(--spacing-sm) var(--spacing-md)}.last-routes__card-route{display:flex;justify-content:space-between;margin-bottom:4px}.last-routes__card-from,.last-routes__card-to{display:flex;flex-direction:column}.last-routes__card-city{font-size:13px;font-weight:600;color:var(--color-dark)}.last-routes__card-station{font-size:11px;color:var(--color-text-light)}.last-routes__card-footer{display:flex;justify-content:space-between;align-items:center;padding-top:4px;border-top:1px solid var(--color-border-light)}.last-routes__card-features{display:flex;align-items:center;gap:4px}.last-routes__card-feature{width:15px;opacity:.35}.last-routes__card-price{font-size:16px;font-weight:700;color:var(--color-primary)}.last-routes__loading{text-align:center;padding:var(--spacing-md);color:var(--color-text-secondary);font-size:var(--font-size-sm)}.pagination{display:flex;align-items:center;justify-content:flex-end;gap:var(--spacing-sm);padding:var(--spacing-md) 0}.pagination__arrow,.pagination__number{width:44px;height:40px;display:flex;align-items:center;justify-content:center;border:1px solid var(--color-border);border-radius:var(--radius-sm);font-size:var(--font-size-base);color:var(--color-text-secondary);background-color:#fff;transition:all var(--transition-fast)}.pagination__arrow:hover:not(:disabled),.pagination__number:hover:not(.pagination__number--active){border-color:var(--color-primary);color:var(--color-dark)}.pagination__number--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-dark);font-weight:700}.pagination__arrow:disabled{opacity:.3;cursor:not-allowed}.route-card{display:grid;grid-template-columns:140px 1fr auto;background-color:#fff;box-shadow:0 1px 3px #0000001f;border:1px solid var(--color-border);min-height:140px;margin-bottom:var(--spacing-md)}.route-card__info{background-color:#e8e6ee;padding:var(--spacing-md);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:4px;border-right:1px solid var(--color-border-light)}.route-card__train-icon{width:56px;height:56px;border:2px solid rgba(255,255,255,.7);border-radius:50%;display:flex;align-items:center;justify-content:center;margin-bottom:6px;color:#fffc}.route-card__train-icon img{width:32px;height:32px}.route-card__train-number{font-weight:700;font-size:var(--font-size-base);color:var(--color-dark);margin-bottom:4px}.route-card__train-route{font-size:11px;color:var(--color-text-secondary);text-align:center;line-height:1.4}.route-card__time-containe{display:flex;flex-direction:column;align-items:center;justify-content:center}.route-card__schedule{display:flex;align-items:center;padding:var(--spacing-md) var(--spacing-lg);gap:var(--spacing-md)}.route-card__time-block{display:flex;flex-direction:column;gap:2px;min-width:100px}.route-card__time{font-size:18px;font-weight:700;color:var(--color-dark);line-height:1.2}.route-card__city{font-size:12px;color:var(--color-text);line-height:1.2}.route-card__station{font-size:11px;color:var(--color-text-light);line-height:1.2}.route-card__arrow-block{display:flex;flex-direction:column;align-items:center;gap:4px;min-width:50px}.route-card__duration{font-size:11px;color:var(--color-text-light)}.route-card__arrow{font-size:20px;color:var(--color-primary);font-weight:700;line-height:1}.route-card__classes{display:flex;flex-direction:column;padding:var(--spacing-md);gap:4px;min-width:180px;border-left:1px solid var(--color-border-light)}.route-card__class-row{display:flex;align-items:center;gap:var(--spacing-sm);font-size:13px;line-height:1.4}.route-card__class-name{flex:1;color:var(--color-text)}.route-card__class-count{color:var(--color-primary);font-weight:600;min-width:20px;text-align:right}.route-card__class-price{font-weight:700;color:var(--color-dark);white-space:nowrap}.route-card__features{display:flex;justify-content:flex-end;align-items:center;gap:6px;margin-top:auto;padding-top:8px;border-top:1px solid var(--color-border-light)}.route-card__feature{width:15px;opacity:.35}.route-card__button{margin-top:8px;padding:8px 16px;background-color:var(--color-primary);color:var(--color-dark);font-weight:700;font-size:13px;border-radius:4px;text-align:center;text-decoration:none;transition:background-color .15s ease;border:none;cursor:pointer}.route-card__button:hover{background-color:var(--color-primary-hover)}.route-card__button:active{background-color:var(--color-primary-active)}.route-list{display:flex;flex-direction:column;gap:var(--spacing-md)}.route-list__empty{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.search-results__loading{position:fixed;top:0;left:0;width:100vw;height:100vh;display:flex;justify-items:center;align-items:center;background-color:#3e3c4199;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);z-index:100;overflow:hidden}.img-loader-container{position:relative;width:100%;height:100px;overflow:hidden;display:flex;align-items:center}.track-image{position:absolute;bottom:20px;width:100%;height:5px}.train-image-wrapper{position:absolute;bottom:28px;width:300px;animation:moveImg 3s linear infinite}.train-image{width:100%;height:auto}@keyframes moveImg{0%{transform:translate(-200px)}to{transform:translate(100vw)}}.search-results__layout{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg);align-items:flex-start;background-color:var(--color-bg);min-height:60vh}.search-results__sidebar{width:240px;flex-shrink:0;display:flex;flex-direction:column;gap:var(--spacing-lg)}.search-results__content{flex:1;min-width:0}.search-results__header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-md)}.search-results__count{font-size:var(--font-size-sm);color:var(--color-text-secondary)}.search-results__controls{display:flex;gap:var(--spacing-lg);font-size:var(--font-size-xs);color:var(--color-text-light);align-items:center}.search-results__sort{display:flex;align-items:center;gap:var(--spacing-xs)}.search-results__sort-label{color:var(--color-text-secondary);margin-right:var(--spacing-xs)}.search-results__sort-select{border:none;background-color:inherit;background-image:none;font-size:var(--font-size-sm);color:var(--color-text);cursor:pointer;transition:border-color var(--transition-fast);min-width:140px;-webkit-appearance:none;-moz-appearance:none;appearance:none}.search-results__sort-select:hover{border-color:var(--color-primary)}.search-results__sort-select:focus{outline:none}.search-results__per-page{display:flex;align-items:center;gap:var(--spacing-xs)}.search-results__per-page-label{color:var(--color-text-secondary);font-size:var(--font-size-sm)}.search-results__per-page-buttons{display:flex;gap:2px}.search-results__per-page-btn{color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.search-results__per-page-btn:hover{color:var(--color-text)}.search-results__per-page-btn--active{color:var(--color-dark);font-weight:600}.search-results__loading,.search-results__error{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary);font-size:var(--font-size-lg)}.search-results__error{color:var(--color-error)}.seat-map__layout{max-width:var(--max-width);margin:0 auto;padding:var(--spacing-lg);display:flex;gap:var(--spacing-lg);align-items:flex-start;background-color:var(--color-bg);min-height:60vh}.seat-map__content{flex:1;min-width:0}.seat-map__title{font-size:var(--font-size-lg);font-weight:700;color:var(--color-dark);margin-bottom:var(--spacing-lg)}.seat-map__route-info{display:flex;flex-wrap:wrap;align-items:center;gap:var(--spacing-md);padding:var(--spacing-md);background-color:#fff;border-top:1px solid var(--color-border);border-bottom:1px solid var(--color-border);margin-bottom:var(--spacing-md)}.seat-map__route-info.train-summary{display:flex;flex-wrap:nowrap;padding:0;background-color:#f9f9f9;border:none;gap:0;margin:0}.seat-map__back-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#fff;color:var(--color-text-secondary);font-size:var(--font-size-sm);cursor:pointer;transition:all var(--transition-fast)}.seat-map__back-btn:hover{border-color:var(--color-primary);color:var(--color-primary)}.seat-map__route-details{flex:1;display:flex;flex-direction:column;gap:2px}.seat-map__route-train{font-size:var(--font-size-base);font-weight:700;color:var(--color-dark)}.seat-map__route-path{font-size:var(--font-size-sm);color:var(--color-text)}.seat-map__route-time{font-size:var(--font-size-sm);color:var(--color-text-light)}.seat-map__coach-types{display:flex;gap:var(--spacing-md);margin:var(--spacing-md)}.seat-map__coach-type-btn{padding:var(--spacing-sm) var(--spacing-md);border:1px solid var(--color-border);border-radius:var(--radius-sm);background-color:#fff;font-size:var(--font-size-sm);color:var(--color-text-secondary);cursor:pointer;transition:all var(--transition-fast)}.seat-map__coach-type-btn:hover{border-color:var(--color-primary)}.seat-map__coach-type-btn--active{background-color:var(--color-primary);border-color:var(--color-primary);color:var(--color-dark);font-weight:700}.seat-map__coach-tabs{display:flex;align-items:center;gap:var(--spacing-sm);padding:var(--spacing-sm) 10px;border-top:1px solid var(--color-border-light);border-bottom:1px solid var(--color-border-light)}.seat-map__coach-tabs-label{font-size:var(--font-size-sm);color:var(--color-text-secondary);margin-right:var(--spacing-sm)}.seat-map__coach-tab{padding:var(--spacing-xs) var(--spacing-sm);border:none;background:none;font-size:var(--font-size-sm);color:var(--color-text-light);cursor:pointer;border-bottom:2px solid transparent;transition:color var(--transition-fast),border-color var(--transition-fast)}.seat-map__coach-tab:hover{color:var(--color-text)}.seat-map__coach-tab--active{color:var(--color-primary);border-bottom-color:var(--color-primary);font-weight:600}.seat-map__wagon{background-color:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-sm)}.seat-map__wagon-info{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-md);background-color:var(--color-bg);border-bottom:1px solid var(--color-border-light)}.seat-map__wagon-number{display:flex;flex-direction:column;gap:2px}.seat-map__wagon-label{font-size:var(--font-size-xs);color:var(--color-text-secondary)}.seat-map__wagon-value{font-size:var(--font-size-xl);font-weight:700;color:var(--color-dark)}.seat-map__wagon-info-block{display:flex;gap:var(--spacing-lg)}.seat-map__wagon-info-block>div{display:flex;flex-direction:column;gap:2px}.seat-map__wagon-info-label{font-size:var(--font-size-xs);color:var(--color-text-light)}.seat-map__wagon-info-value{font-size:var(--font-size-sm);font-weight:600;color:var(--color-dark)}.seat-map__wagon-services{display:flex;gap:var(--spacing-sm)}.seat-map__wagon-service-btn{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border:1px solid var(--color-text);border-radius:var(--radius-md);background-color:#fff;cursor:pointer;transition:all var(--transition-fast);padding:4px}.seat-map__wagon-service-btn:hover{background-color:var(--color-primary)}.seat-map__wagon-service-btn--active{border-color:var(--color-primary);background-color:var(--color-primary)}.seat-map__wagon-service-btn img,.seat-map__wagon-service-included img{width:80%;height:80%;object-fit:contain}.seat-map__wagon-service-included{display:flex;align-items:center;justify-content:center;width:32px;height:32px;border-radius:var(--radius-md);background-color:var(--color-primary);padding:4px;opacity:.6;cursor:default}.seat-map__wagon-body{height:120px;display:flex;align-items:center;justify-content:center;margin:var(--spacing-lg)}.seat-map__wagon-header,.seat-map__wagon-footer{flex-shrink:0;height:120px;display:flex;align-items:center}.seat-map__wagon-header img,.seat-map__wagon-footer img{width:100%;height:100%;object-fit:contain;display:block;opacity:.5}.seat-map__wagon-seats{flex:1;display:flex;flex-direction:column;align-items:center;gap:4px}.seat-map__wagon-table{border-collapse:separate;padding:0 4px;border-top:3px solid #ccc;border-bottom:3px solid #ccc;height:100%;display:flex;flex-direction:column;justify-content:space-around}.seat-map__wagon-table tr{display:flex;justify-content:center;height:28px}.seat-map__wagon-table td{padding:0;text-align:center}.seat-map__seat{width:24px;height:24px;display:flex;align-items:center;justify-content:center;font-size:11px;font-weight:600;border:1px solid #D0D0D0;border-radius:2px;cursor:pointer;transition:all .1s ease;background-color:#e8e8e8;color:#666}.seat-map__seat:hover{background-color:#ffb100!important;border-color:#ffb100!important;color:var(--color-dark)!important}.seat-map__seat.seat--selected{background-color:#ffb100!important;border-color:#e5a000!important;color:var(--color-dark)!important;font-weight:700!important}.seat-map__seat.seat--occupied{background-color:#d0d0d0!important;border-color:silver!important;color:#999!important;cursor:not-allowed}.seat-map__wagon-row--side{margin-top:6px;padding-top:6px;border-top:2px solid var(--color-border)}.seat-map__legend--footer{display:flex;align-items:center;justify-content:space-between;padding-right:15px}.seat-map__legend{display:flex;gap:var(--spacing-lg);padding:var(--spacing-md);border-top:1px solid var(--color-border-light)}.seat-map__legend-item{display:flex;align-items:center;gap:var(--spacing-xs);font-size:var(--font-size-sm);color:var(--color-text-secondary)}.seat-map__legend-item:before{content:"";width:16px;height:16px;border:1px solid var(--color-border);border-radius:2px}.seat-map__legend-item--free:before{background-color:#e8e8e8}.seat-map__legend-item--selected:before{background-color:#ffb100;border-color:#e5a000}.seat-map__legend-item--occupied:before{background-color:#d0d0d0;border-color:silver}.seat-map__footer{display:flex;align-items:center;justify-content:end;padding:var(--spacing-md) 0}.seat-map__total{font-size:var(--font-size-lg);font-weight:700;color:var(--color-primary)}.seat-map__next{padding:var(--spacing-md) var(--spacing-xl);background-color:var(--color-primary);color:var(--color-dark);font-weight:700;font-size:var(--font-size-base);border-radius:var(--radius-sm);transition:background-color var(--transition-fast)}.seat-map__next:hover{background-color:var(--color-primary-hover)}.seat-map__loading,.seat-map__error{text-align:center;padding:var(--spacing-xl);color:var(--color-text-secondary)}.seat-map__error{color:var(--color-error)}.seat-map__direction{background-color:#fff;border:1px solid var(--color-border);box-shadow:var(--shadow-sm);margin-bottom:var(--spacing-lg);border-radius:var(--radius-sm)}.seat-map__direction-title{font-size:var(--font-size-base);font-weight:700;color:var(--color-dark);padding:var(--spacing-md);background-color:var(--color-bg);border-bottom:1px solid var(--color-border-light);text-transform:uppercase;letter-spacing:.5px}.seat-map__header{display:flex;justify-content:flex-start;align-items:center;padding:10px 15px}.seat-map__header>img{width:40px;height:32px;margin-right:10px}.seat-map__direction--return>.seat-map__header{justify-content:flex-end}.train-summary{background-color:#f9f9f9;border-radius:4px;display:flex;align-items:center;width:100%;padding:0;box-shadow:0 1px 3px #0000001a;overflow:hidden}.col{padding:20px 24px;display:flex;align-items:center;position:relative}.col:not(:last-child):after{content:"";position:absolute;right:0;top:20%;height:60%;width:1px;background-color:#e0e0e0}.col-info{flex:0 0 200px;justify-content:space-between}.train-icon-circle{width:60px;height:60px;margin-right:12px;flex-shrink:0;padding:10px;border:2px solid white;border-radius:50%}.text-info{display:flex;flex-direction:column;justify-content:center}.train-number{font-size:20px;font-weight:700;color:#333;margin-bottom:6px}.route-path{font-size:13px;color:#777;line-height:1.4}.col-departure{flex:1;text-align:center}.time{font-size:24px;font-weight:700;color:#333}.city{font-size:16px;font-weight:500;color:#333;margin-top:4px}.station{font-size:14px;color:#999;margin-top:2px}.col-arrival{flex:1;text-align:center}.arrow-icon{width:20px;height:10px;margin-right:20px;display:flex;align-items:center}.arrival-text-block{display:flex;flex-direction:column}.col-duration{flex:0 0 auto;background-color:#f5f5f5}.clock-icon-wrapper{display:flex;align-items:center;margin-right:12px}.clock-svg{width:28px;height:28px}.duration-text{font-size:16px;font-weight:400;color:#333;line-height:1.2}:root{--color-primary: #FFB100;--color-primary-hover: #E5A000;--color-primary-active: #CC8E00;--color-dark: #2D2D31;--color-dark-light: #3B3B40;--color-bg: #F5F5F8;--color-bg-white: #FFFFFF;--color-text: #333333;--color-text-secondary: #888888;--color-text-light: #AAAAAA;--color-border: #E0E0E0;--color-border-light: #F0F0F0;--color-success: #4CAF50;--color-error: #F44336;--color-warning: #FF9800;--color-disabled: #CCCCCC;--color-seat-available: #4CAF50;--color-seat-selected: #FFB100;--color-seat-occupied: #CCCCCC;--max-width: 1200px;--header-height: 80px;--steps-height: 56px;--sidebar-width: 240px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--font-size-xs: 12px;--font-size-sm: 13px;--font-size-md: 14px;--font-size-base: 15px;--font-size-lg: 18px;--font-size-xl: 24px;--font-size-2xl: 32px;--font-size-3xl: 48px;--radius-sm: 3px;--radius-md: 5px;--radius-lg: 8px;--radius-full: 50%;--shadow-sm: 0 1px 3px rgba(0, 0, 0, .12);--shadow-md: 0 2px 6px rgba(0, 0, 0, .15);--shadow-lg: 0 4px 12px rgba(0, 0, 0, .2);--transition-fast: .15s ease;--transition-normal: .3s ease}*,*:before,*:after{margin:0;padding:0;box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Open Sans,Helvetica Neue,sans-serif;font-size:var(--font-size-md);color:var(--color-text);background-color:var(--color-bg);-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;line-height:1.5}a{color:inherit;text-decoration:none}button{font-family:inherit;cursor:pointer;border:none;background:none}input,select,textarea{font-family:inherit;font-size:inherit}img{max-width:100%;display:block}ul,ol{list-style:none}
