:root{--font-sans: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--text-xs: .75rem;--text-sm: .875rem;--text-base: 1rem;--text-lg: 1.125rem;--text-xl: 1.25rem;--text-2xl: 1.5rem;--text-3xl: 1.875rem;--text-4xl: 2.25rem;--text-5xl: 3rem;--leading-tight: 1.25;--leading-normal: 1.5;--leading-relaxed: 1.625;--font-normal: 400;--font-medium: 500;--font-semibold: 600;--font-bold: 700;font-family:var(--font-sans);line-height:var(--leading-normal);font-weight:var(--font-normal);color-scheme:light dark;color:#ffffffde;background-color:#242424;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}a{font-weight:var(--font-medium);color:#646cff;text-decoration:inherit}a:hover{color:#535bf2}body{margin:0;font-size:var(--text-base);line-height:var(--leading-normal);min-width:320px;min-height:100vh}#root{min-height:100vh;width:100%}h1,h2,h3,h4,h5,h6{font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0}h1{font-size:var(--text-5xl)}h2{font-size:var(--text-4xl)}h3{font-size:var(--text-3xl)}h4{font-size:var(--text-2xl)}h5{font-size:var(--text-xl)}h6{font-size:var(--text-base)}p{margin:0 0 1em;font-size:var(--text-base);line-height:var(--leading-normal)}p:last-child{margin-bottom:0}button{border-radius:8px;border:1px solid transparent;padding:.6em 1.2em;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;background-color:#1a1a1a;cursor:pointer;transition:border-color .25s}button:hover{border-color:#646cff}button:focus,button:focus-visible{outline:4px auto -webkit-focus-ring-color}@media(prefers-color-scheme:light){:root{color:#213547;background-color:#fff}a:hover{color:#747bff}button{background-color:#f9f9f9}}.top-navbar{background:#fff;color:#1a1a1a;font-size:var(--text-l);border-bottom:1px solid #eee}.top-navbar__inner{max-width:1280px;margin:0 auto;padding:1rem;display:flex;align-items:center;justify-content:space-between;gap:1.5rem;flex-wrap:wrap}.top-navbar__brand{font-family:Marck Script,Great Vibes,cursive;font-size:1.75rem;font-weight:400;color:#1a1a1a;text-decoration:none;transition:color .2s ease,opacity .2s ease}.top-navbar__brand:hover{color:#333;opacity:.85}.top-navbar__nav{display:flex;align-items:center;gap:1.25rem}.navbar__contact__content{display:flex;gap:50px}.top-navbar__link{color:#444;text-decoration:none;transition:color .2s ease}.top-navbar__link:hover{color:#1a1a1a}.top-navbar__actions{display:flex;align-items:center;gap:1rem}.top-navbar__action{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#16a34a;background:transparent;border:1.5px solid #22c55e;border-radius:8px;text-decoration:none;transition:color .2s ease,background .2s ease,border-color .2s ease}.top-navbar__action:hover{color:#fff;background:#22c55e;border-color:#22c55e}.top-navbar__icon{font-size:1rem;opacity:.9}.top-navbar__username{display:inline-flex;align-items:center;gap:.5rem;padding:.5rem 1rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#1a1a1a;text-decoration:none;transition:opacity .2s ease}.top-navbar__username:hover{opacity:.85;color:#1a1a1a}.top-navbar__avatar{width:1.75rem;height:1.75rem;display:inline-flex;align-items:center;justify-content:center;font-size:.65rem;font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;flex-shrink:0}.footer{background:#2a2a2a;color:#e5e5e5;padding:1.5rem 1rem;margin-top:auto}.footer__inner{max-width:1280px;margin:0 auto;padding:0 1rem;display:flex;align-items:center;justify-content:space-between;gap:1rem;flex-wrap:wrap}.footer__brand{font-family:Marck Script,Great Vibes,cursive;font-size:1.5rem;font-weight:400;color:inherit;text-decoration:none;transition:color .2s ease,opacity .2s ease}.footer__brand:hover{color:#fff;opacity:.9}.footer__contacts{display:flex;align-items:center;gap:1.5rem;flex-wrap:wrap}.footer__link{font-size:var(--text-sm);color:#b0b0b0;text-decoration:none;transition:color .2s ease,opacity .2s ease}.footer__link:hover{color:#fff;opacity:.95}.layout{display:flex;flex-direction:column;min-height:100vh;background:#fff}.layout__main{flex:1;display:flex;flex-direction:column;min-height:0;background:#f5f5f5}.excursion-card{background:#fff;border-radius:10px;overflow:hidden;box-shadow:0 2px 12px #00000014;display:flex;flex-direction:column;height:100%;color:#1a1a1a}.excursion-card__image-wrap{position:relative;aspect-ratio:400 / 260;overflow:hidden;background:#eee}.excursion-card__image-wrap:after{content:"";position:absolute;inset:0;background:#00000059;opacity:0;transition:opacity .25s ease}.excursion-card:hover .excursion-card__image-wrap:after{opacity:1}.excursion-card__image{width:100%;height:100%;object-fit:cover;display:block}.excursion-card__body{padding:1rem 1.25rem;display:flex;flex-direction:column;gap:.5rem;flex:1}.excursion-card__title{font-size:var(--text-lg);font-weight:var(--font-semibold);line-height:var(--leading-tight);margin:0}.excursion-card__times{display:flex;flex-wrap:wrap;gap:.35rem}.excursion-card__times{font-size:var(--text-sm);color:#555}.excursion-card__reviews{display:inline-flex;align-items:baseline;gap:.35rem;font-size:var(--text-sm);text-decoration:none;color:inherit;transition:opacity .2s ease}.excursion-card__reviews:hover{opacity:.8}.excursion-card__rating{font-weight:var(--font-semibold);color:#1a1a1a}.excursion-card__rating:before{content:"★ ";color:#eab308}.excursion-card__review-count{color:#666}.excursion-card__price{font-size:var(--text-lg);font-weight:var(--font-semibold);color:#16a34a;margin:.25rem 0 0}.excursion-card__btn{display:inline-block;margin-top:auto;padding:.5rem 1rem;background:#22c55e;color:#fff;border-radius:8px;font-size:var(--text-sm);font-weight:var(--font-medium);text-align:center;text-decoration:none;transition:background .2s ease,transform .2s ease,box-shadow .2s ease}.excursion-card__btn:hover{background:#16a34a;color:#fff;transform:translateY(-1px);box-shadow:0 4px 12px #22c55e59}.excursion-grid{padding:2rem 1rem;background:#f5f5f5}.excursion-grid__inner{max-width:1280px;margin:0 auto;display:grid;grid-template-columns:repeat(3,1fr);gap:1.5rem}@media(max-width:900px){.excursion-grid__inner{grid-template-columns:repeat(2,1fr)}}@media(max-width:560px){.excursion-grid__inner{grid-template-columns:1fr}}.main-page{flex:1;display:flex;flex-direction:column;min-height:0;background:#f5f5f5}.main-page__toolbar{max-width:1280px;margin:0 auto;padding:1.5rem 1rem 0}.main-page__date-label{display:inline-flex;align-items:center;gap:.75rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#333}.main-page__date-input{padding:.5rem .75rem;font-size:var(--text-base);font-family:inherit;border:1.5px solid #ddd;border-radius:8px;background:#fff;color:#1a1a1a;transition:border-color .2s ease}.main-page__date-input:focus{outline:none;border-color:#22c55e}.main-page__date-wrap{display:flex;align-items:center;gap:.5rem}.main-page__calendar-btn{padding:.5rem 1rem;font-size:var(--text-base);font-family:inherit;font-weight:var(--font-medium);color:#fff;background:#22c55e;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.main-page__calendar-btn:hover{background:#16a34a}.main-page__error{max-width:1280px;margin:0 auto;padding:1rem;font-size:var(--text-base);color:#b91c1c}.main-page__lead{max-width:1280px;margin:0 auto;padding:2rem 1rem;font-size:var(--text-lg);color:#555}.contacts-page{flex:1;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.contacts-page__inner{max-width:640px;margin:0 auto}.contacts-page__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .75rem}.contacts-page__lead{font-size:var(--text-lg);color:#555;line-height:var(--leading-relaxed);margin:0 0 2.5rem}.contacts-page__list{display:flex;flex-direction:column;gap:1rem}.contacts-page__item{display:flex;align-items:center;gap:1.25rem;padding:1.25rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;text-decoration:none;color:inherit;transition:box-shadow .2s ease,transform .2s ease}.contacts-page__item:hover{box-shadow:0 8px 24px #0000001a;transform:translateY(-2px)}.contacts-page__icon{font-size:2rem;line-height:1}.contacts-page__content{display:flex;flex-direction:column;gap:.25rem}.contacts-page__label{font-size:var(--text-sm);color:#666;font-weight:var(--font-medium)}.contacts-page__value{font-size:var(--text-lg);font-weight:var(--font-semibold);color:#16a34a}.contacts-page__item:hover .contacts-page__value{color:#15803d}.reviews-page{flex:1;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.reviews-page__inner{max-width:720px;margin:0 auto}.reviews-page__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .75rem}.reviews-page__lead{font-size:var(--text-lg);color:#555;line-height:var(--leading-relaxed);margin:0 0 2.5rem}.reviews-page__empty{font-size:var(--text-lg);color:#6b7280;margin:0;padding:2rem 0}.reviews-page__back{display:inline-block;margin-top:1rem;font-size:var(--text-sm);color:#16a34a;text-decoration:none}.reviews-page__back:hover{text-decoration:underline}.reviews-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1.25rem}.reviews-page__item{padding:1.5rem;background:#fff;border:1px solid #eee;border-radius:12px;transition:box-shadow .2s ease,border-color .2s ease}.reviews-page__item:hover{box-shadow:0 4px 16px #0000000f;border-color:#e0e0e0}.reviews-page__header{display:flex;align-items:center;gap:.75rem;margin-bottom:.5rem}.reviews-page__avatar{width:1.8rem;height:1.8rem;display:inline-flex;align-items:center;justify-content:center;font-size:.6rem;font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;flex-shrink:0;box-shadow:0 2px 8px #22c55e4d}.reviews-page__user{font-size:var(--text-base);font-weight:var(--font-semibold);color:#1a1a1a}.reviews-page__date{font-size:var(--text-sm);color:#888}.reviews-page__rating{font-size:var(--text-sm);color:#eab308;margin-bottom:.5rem}.reviews-page__rating-value{margin-left:.35rem;color:#555;font-weight:var(--font-medium)}.reviews-page__excursion-link{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);color:#16a34a;text-decoration:none;margin-bottom:.75rem;transition:color .2s ease}.reviews-page__excursion-link:hover{color:#15803d;text-decoration:underline}.reviews-page__text{font-size:var(--text-base);line-height:var(--leading-relaxed);color:#333;margin:0}.reviews-page__total{color:#888;font-weight:var(--font-normal)}.reviews-page__error{color:#b91c1c;font-size:var(--text-lg)}.reviews-page__pagination{display:flex;align-items:center;justify-content:center;gap:1.5rem;margin-top:2.5rem;padding-top:1.5rem;border-top:1px solid #eee}.reviews-page__page-btn{padding:.5rem 1rem;font-size:var(--text-sm);font-family:inherit;font-weight:var(--font-medium);color:#fff;background:#22c55e;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease}.reviews-page__page-btn:hover:not(:disabled){background:#16a34a}.reviews-page__page-btn:disabled{background:#ccc;cursor:not-allowed}.reviews-page__page-info{font-size:var(--text-sm);color:#555}.review-create-page{flex:1;background:#f5f5f5;padding:2rem 1rem 4rem;min-height:0}.review-create-page__inner{max-width:520px;margin:0 auto}.review-create-page__lead,.review-create-page__error{font-size:var(--text-lg);color:#555;margin:0}.review-create-page__error{color:#b91c1c}.review-create-page__back{display:inline-block;font-size:var(--text-sm);color:#16a34a;text-decoration:none;margin-bottom:1.5rem;transition:color .2s ease}.review-create-page__back:hover{color:#15803d;text-decoration:underline}.review-create-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 1.5rem}.review-create-page__info{margin-bottom:2rem;padding:1rem 1.25rem;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb}.review-create-page__excursion{font-size:var(--text-lg);font-weight:var(--font-semibold);color:#1a1a1a;margin:0 0 .25rem}.review-create-page__date{font-size:var(--text-sm);color:#6b7280;margin:0}.review-create-page__form{display:flex;flex-direction:column;gap:1.5rem}.review-create-page__label{display:flex;flex-direction:column;gap:.5rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#333}.review-create-page__stars{display:flex;gap:.25rem}.review-create-page__star{width:2.5rem;height:2.5rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem;line-height:1;color:#e5e7eb;background:none;border:none;cursor:pointer;padding:0;transition:color .15s ease,transform .15s ease}.review-create-page__star:hover{transform:scale(1.1)}.review-create-page__star_filled{color:#fbbf24}.review-create-page__textarea{width:100%;padding:.75rem 1rem;font-size:var(--text-base);font-family:inherit;line-height:var(--leading-relaxed);border:1.5px solid #ddd;border-radius:8px;resize:vertical;min-height:120px}.review-create-page__textarea:focus{outline:none;border-color:#22c55e}.review-create-page__submit-error{font-size:var(--text-sm);color:#b91c1c;margin:0}.review-create-page__submit{padding:.75rem 1.5rem;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:inherit;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease}.review-create-page__submit:hover:not(:disabled){box-shadow:0 4px 20px #22c55e73;transform:translateY(-1px)}.review-create-page__submit:disabled{opacity:.6;cursor:not-allowed}.phone-input{font-variant-numeric:tabular-nums;letter-spacing:.02em}.login-page{flex:1;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.login-page__inner{max-width:420px;margin:0 auto}.login-page__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .75rem}.login-page__lead{font-size:var(--text-lg);color:#555;line-height:var(--leading-relaxed);margin:0 0 2rem}.login-page__form{display:flex;flex-direction:column;gap:1.25rem}.login-page__label{display:flex;flex-direction:column;gap:.5rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#333}.login-page__input{padding:.75rem 1rem;font-size:var(--text-base);font-family:inherit;border:1.5px solid #ddd;border-radius:8px;background:#fff;color:#1a1a1a;transition:border-color .2s ease}.login-page__input::placeholder{color:#999}.login-page__input:focus{outline:none;border-color:#22c55e}.login-page__submit{margin-top:.5rem;padding:.75rem 1.5rem;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;color:#fff;background:#22c55e;border:none;border-radius:8px;cursor:pointer;transition:background .2s ease,transform .2s ease}.login-page__submit:hover{background:#16a34a}.login-page__submit:active{transform:scale(.98)}.login-page__submit:disabled{opacity:.7;cursor:not-allowed}.login-page__error{display:flex;align-items:flex-start;gap:.5rem;margin:0;padding:.75rem 1rem;font-size:var(--text-sm);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:8px}.login-page__error-icon{flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;width:1.25rem;height:1.25rem;font-size:.875rem;font-weight:var(--font-bold);color:#fff;background:#dc2626;border-radius:50%}.login-page__success{margin:0;padding:.75rem 1rem;font-size:var(--text-sm);color:#166534;background:#f0fdf4;border:1px solid #bbf7d0;border-radius:8px}.login-page__error+.login-page__submit{margin-top:.5rem}.login-page__field-error{display:block;margin-top:.35rem;font-size:var(--text-xs);color:#b91c1c}.login-page__switch{margin-top:1.5rem;font-size:var(--text-sm);color:#555;text-align:center}.login-page__switch-btn{padding:0;font-size:inherit;font-family:inherit;font-weight:var(--font-medium);color:#16a34a;background:none;border:none;cursor:pointer;text-decoration:underline;transition:color .2s ease}.login-page__switch-btn:hover{color:#15803d}.profile-page{flex:1;display:flex;flex-direction:column;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.profile-page__inner{max-width:440px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.profile-page__card{box-sizing:border-box;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;padding:2.5rem 2rem;text-align:center;margin-top:auto;margin-bottom:auto}.profile-page__avatar{width:80px;height:80px;margin:0 auto 1.25rem;display:flex;align-items:center;justify-content:center;font-size:1.75rem;font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:50%;box-shadow:0 4px 14px #22c55e59}.profile-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .25rem;letter-spacing:-.02em}.profile-page__username{font-size:var(--text-sm);color:#666;margin:0 0 1.75rem}.profile-page__fields{text-align:left;border-top:1px solid #eee;padding-top:1.5rem;margin-bottom:1.75rem}.profile-page__field{display:flex;flex-direction:column;gap:.25rem;padding:.85rem 0;border-bottom:1px solid #f0f0f0}.profile-page__field:last-of-type{border-bottom:none}.profile-page__field-label{font-size:var(--text-xs);font-weight:var(--font-medium);color:#888;text-transform:uppercase;letter-spacing:.04em}.profile-page__field-value{font-size:var(--text-base);font-weight:var(--font-medium);color:#1a1a1a}.profile-page__field-value_link{color:#16a34a;text-decoration:none;transition:color .2s ease}.profile-page__field-value_link:hover{color:#15803d}.profile-page__field_muted .profile-page__field-value{color:#888;font-weight:var(--font-normal)}.profile-page__field-hint{font-size:var(--text-xs);color:#aaa;margin-top:.15rem}.profile-page__btn{box-sizing:border-box;display:block;width:100%;max-width:100%;padding:.75rem 1.5rem;font-size:var(--text-base);font-weight:var(--font-medium);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;text-decoration:none;text-align:center;transition:box-shadow .2s ease,transform .2s ease;box-shadow:0 2px 12px #22c55e4d}.profile-page__btn:hover{color:#fff;box-shadow:0 4px 20px #22c55e66;transform:translateY(-1px)}.profile-page__btn_logout{margin-top:.75rem;background:transparent;color:#666;box-shadow:none;border:1.5px solid #ddd}.profile-page__btn_logout:hover{color:#1a1a1a;background:#f5f5f5;border-color:#ccc;box-shadow:none}.profile-page__btn_logout:disabled{opacity:.7;cursor:not-allowed}.profile-edit-page{flex:1;display:flex;flex-direction:column;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.profile-edit-page__inner{max-width:440px;width:100%;margin:0 auto;flex:1;display:flex;flex-direction:column}.profile-edit-page__card{box-sizing:border-box;background:#fff;border-radius:16px;box-shadow:0 4px 24px #0000000f,0 1px 3px #0000000a;padding:2.5rem 2rem;margin-top:auto;margin-bottom:auto}.profile-edit-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .35rem;text-align:center}.profile-edit-page__lead{font-size:var(--text-sm);color:#666;line-height:var(--leading-relaxed);margin:0 0 1.75rem;text-align:center}.profile-edit-page__form{display:flex;flex-direction:column;gap:1.25rem}.profile-edit-page__label{display:flex;flex-direction:column;gap:.45rem;font-size:var(--text-sm);font-weight:var(--font-medium);color:#333}.profile-edit-page__label-text{display:block}.profile-edit-page__label-hint{font-size:var(--text-xs);font-weight:var(--font-normal);color:#999}.profile-edit-page__input{padding:.7rem 1rem;font-size:var(--text-base);font-family:inherit;border:1.5px solid #e5e5e5;border-radius:10px;background:#fff;color:#1a1a1a;transition:border-color .2s ease,box-shadow .2s ease}.profile-edit-page__input:focus{outline:none;border-color:#22c55e;box-shadow:0 0 0 3px #22c55e26}.profile-edit-page__input_disabled{background:#f8f8f8;color:#888;cursor:not-allowed;border-color:#eee}.profile-edit-page__error{padding:.75rem 1rem;font-size:var(--text-sm);color:#991b1b;background:#fef2f2;border:1px solid #fecaca;border-radius:10px}.profile-edit-page__actions{display:flex;align-items:center;gap:1rem;margin-top:.5rem;padding-top:.5rem}.profile-edit-page__submit{flex:1;padding:.75rem 1.25rem;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;cursor:pointer;transition:box-shadow .2s ease,transform .2s ease;box-shadow:0 2px 12px #22c55e4d}.profile-edit-page__submit:hover:not(:disabled){box-shadow:0 4px 20px #22c55e66;transform:translateY(-1px)}.profile-edit-page__submit:disabled{opacity:.7;cursor:not-allowed;transform:none}.profile-edit-page__cancel{font-size:var(--text-base);color:#666;text-decoration:none;transition:color .2s ease}.profile-edit-page__cancel:hover{color:#1a1a1a}.bookings-page{flex:1;background:#f5f5f5;padding:3rem 1rem 4rem;min-height:0}.bookings-page__inner{max-width:640px;margin:0 auto}.bookings-page__title{font-size:var(--text-4xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 1.5rem}.bookings-page__lead{font-size:var(--text-lg);color:#555;margin:0}.bookings-page__error{font-size:var(--text-base);color:#b91c1c;margin:0}.bookings-page__list{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:1rem}.bookings-page__item{position:relative;padding:1.25rem 1.5rem;background:#fff;border-radius:12px;box-shadow:0 2px 12px #0000000f;border:1px solid #eee;transition:box-shadow .2s ease}.bookings-page__item-tag{position:absolute;top:.75rem;right:.75rem;padding:.35rem .75rem;font-size:var(--text-xs);font-weight:var(--font-semibold);color:#166534;background:#dcfce7;border-radius:6px;border:1px solid #22c55e}.bookings-page__item:hover{box-shadow:0 4px 16px #00000014}.bookings-page__item_link{display:block;text-decoration:none;color:inherit;cursor:pointer}.bookings-page__item_past{background:#e8eaed;box-shadow:none;border:1px solid #d1d5db}.bookings-page__item_past:hover{box-shadow:none;background:#e8eaed}.bookings-page__item-header{display:flex;align-items:baseline;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.bookings-page__item-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:#1a1a1a}.bookings-page__item_past .bookings-page__item-title{color:#4b5563}.bookings-page__item-price{font-size:var(--text-base);font-weight:var(--font-semibold);color:#16a34a;white-space:nowrap}.bookings-page__item_past .bookings-page__item-price{color:#6b7280;font-weight:var(--font-medium)}.bookings-page__item-meta{font-size:var(--text-sm);color:#666}.bookings-page__item_past .bookings-page__item-meta{color:#6b7280}.bookings-page__item-date{margin-right:.75rem}.bookings-page__item-time:before{content:" • "}.booking-detail-page{flex:1;background:#f5f5f5;padding:2rem 1rem 4rem;min-height:0}.booking-detail-page__inner{max-width:560px;margin:0 auto}.booking-detail-page__lead,.booking-detail-page__error{font-size:var(--text-lg);color:#555;margin:0}.booking-detail-page__error{color:#b91c1c}.booking-detail-page__back{display:inline-block;font-size:var(--text-sm);color:#16a34a;text-decoration:none;margin-bottom:1.5rem;transition:color .2s ease}.booking-detail-page__back:hover{color:#15803d;text-decoration:underline}.booking-detail-page__header{margin-bottom:2rem}.booking-detail-page__title{font-size:var(--text-2xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 .5rem;line-height:var(--leading-tight)}.booking-detail-page__meta{font-size:var(--text-base);color:#6b7280;margin:0}.booking-detail-page__section{margin-bottom:1.5rem}.booking-detail-page__section-title{font-size:var(--text-sm);font-weight:var(--font-semibold);color:#6b7280;text-transform:uppercase;letter-spacing:.04em;margin:0 0 .75rem}.booking-detail-page__rows{list-style:none;margin:0;padding:0;background:#f9fafb;border-radius:12px;border:1px solid #e5e7eb;overflow:hidden}.booking-detail-page__row{display:flex;justify-content:space-between;align-items:center;padding:.75rem 1rem;border-bottom:1px solid #e5e7eb;font-size:var(--text-base)}.booking-detail-page__row:last-child{border-bottom:none}.booking-detail-page__row-label{color:#374151}.booking-detail-page__row-value{font-weight:var(--font-semibold);color:#1a1a1a}.booking-detail-page__footer{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.booking-detail-page__total{font-size:var(--text-xl);color:#1a1a1a;margin:0}.booking-detail-page__total strong{color:#16a34a}.booking-detail-page__btn{display:inline-block;padding:.75rem 1.5rem;font-size:var(--text-base);font-weight:var(--font-semibold);color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border-radius:10px;text-decoration:none;box-shadow:0 2px 12px #22c55e59;transition:box-shadow .2s ease,transform .2s ease}.booking-detail-page__btn:hover{color:#fff;box-shadow:0 4px 20px #22c55e73;transform:translateY(-1px)}.booking-detail-page__review-cta{display:block;margin:1.5rem 0 0;padding:1rem 1.25rem;font-size:var(--text-base);font-weight:var(--font-medium);color:#16a34a;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:10px;text-decoration:none;text-align:center;transition:background .2s ease,border-color .2s ease,color .2s ease}.booking-detail-page__review-cta:hover{background:#dcfce7;border-color:#22c55e;color:#15803d}.excursion-detail-page{flex:1;background:#f5f5f5;padding:2rem 1rem 4rem;min-height:0}.excursion-detail-page__inner{max-width:720px;margin:0 auto}.excursion-detail-page__lead,.excursion-detail-page__error{font-size:var(--text-lg);color:#555;margin:0}.excursion-detail-page__error{color:#b91c1c}.excursion-detail-page__header{margin-bottom:2rem}.excursion-detail-page__title{font-size:var(--text-3xl);font-weight:var(--font-bold);color:#1a1a1a;margin:0 0 1.25rem;line-height:var(--leading-tight);letter-spacing:-.02em}.excursion-detail-page__slider{position:relative;border-radius:16px;overflow:hidden;background:#e5e7eb;aspect-ratio:720 / 400;max-height:400px}.excursion-detail-page__slider-track{display:flex;transition:transform .35s ease-out;height:100%}.excursion-detail-page__slider-slide{flex:0 0 100%;width:100%;height:100%}.excursion-detail-page__slider-img{width:100%;height:100%;object-fit:cover;display:block}.excursion-detail-page__slider-btn{position:absolute;top:50%;transform:translateY(-50%);width:3rem;height:3rem;display:flex;align-items:center;justify-content:center;color:#1a1a1a;background:#ffffffeb;border:none;border-radius:50%;cursor:pointer;box-shadow:0 2px 12px #0000001f;transition:background .2s ease,box-shadow .2s ease,color .2s ease}.excursion-detail-page__slider-btn:hover{background:#fff;box-shadow:0 4px 20px #0000002e;color:#16a34a}.excursion-detail-page__slider-btn:active{box-shadow:0 1px 6px #00000026}.excursion-detail-page__slider-btn_prev{left:1rem}.excursion-detail-page__slider-btn_next{right:1rem}.excursion-detail-page__slider-dots{position:absolute;bottom:.75rem;left:0;right:0;display:flex;justify-content:center;gap:.5rem}.excursion-detail-page__slider-dot{width:.5rem;height:.5rem;padding:0;border:none;border-radius:50%;background:#fff9;cursor:pointer;transition:background .2s ease,transform .2s ease}.excursion-detail-page__slider-dot:hover{background:#ffffffe6}.excursion-detail-page__slider-dot_active{background:#fff;transform:scale(1.25)}.excursion-detail-page__section{margin-bottom:2rem}.excursion-detail-page__section-title{font-size:var(--text-lg);font-weight:var(--font-semibold);color:#1a1a1a;margin:0 0 1rem;padding-bottom:.5rem;border-bottom:2px solid #e5e7eb}.excursion-detail-page__description{font-size:var(--text-base);line-height:var(--leading-relaxed);color:#374151}.excursion-detail-page__description p{margin:0 0 .75rem}.excursion-detail-page__description p:last-child{margin-bottom:0}.excursion-detail-page__schedule-hint{font-size:var(--text-sm);color:#6b7280;margin:0 0 .75rem}.excursion-detail-page__schedules{list-style:none;margin:0;padding:0;display:flex;flex-wrap:wrap;gap:.5rem}.excursion-detail-page__schedules li{margin:0}.excursion-detail-page__schedule{display:block;padding:.625rem 1.25rem;background:#fff;border-radius:8px;font-size:var(--text-base);font-weight:var(--font-medium);font-family:inherit;color:#1a1a1a;box-shadow:0 1px 3px #0000000f;border:2px solid #e5e7eb;cursor:pointer;transition:border-color .2s ease,background .2s ease,box-shadow .2s ease}.excursion-detail-page__schedule:hover{border-color:#22c55e;background:#f0fdf4}.excursion-detail-page__schedule_selected{border-color:#16a34a;background:#f0fdf4;box-shadow:0 2px 8px #16a34a33}.excursion-detail-page__schedule_past,.excursion-detail-page__schedule:disabled{opacity:.6;cursor:not-allowed;color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.excursion-detail-page__schedule_past:hover,.excursion-detail-page__schedule:disabled:hover{background:#f3f4f6;border-color:#e5e7eb}.excursion-detail-page__muted{font-size:var(--text-sm);color:#6b7280;margin:0 0 1rem}.excursion-detail-page__options{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;gap:.75rem}.excursion-detail-page__option{display:flex;align-items:center;justify-content:space-between;gap:1rem;padding:1rem 1.25rem;background:#fff;border-radius:12px;border:1px solid #e5e7eb;box-shadow:0 1px 3px #0000000a}.excursion-detail-page__option-info{display:flex;flex-direction:column;gap:.25rem}.excursion-detail-page__option-name{font-size:var(--text-base);font-weight:var(--font-medium);color:#1a1a1a}.excursion-detail-page__option-price{font-size:var(--text-sm);font-weight:var(--font-semibold);color:#16a34a}.excursion-detail-page__stepper{display:flex;align-items:center;gap:.5rem}.excursion-detail-page__stepper-btn{width:2.25rem;height:2.25rem;display:inline-flex;align-items:center;justify-content:center;font-size:1.25rem;font-weight:var(--font-medium);line-height:1;color:#16a34a;background:#f0fdf4;border:1.5px solid #bbf7d0;border-radius:8px;cursor:pointer;transition:background .2s ease,border-color .2s ease,color .2s ease}.excursion-detail-page__stepper-btn:hover:not(:disabled){background:#dcfce7;border-color:#22c55e;color:#15803d}.excursion-detail-page__stepper-btn:disabled{opacity:.5;cursor:not-allowed;color:#9ca3af;background:#f3f4f6;border-color:#e5e7eb}.excursion-detail-page__stepper-value{min-width:2rem;text-align:center;font-size:var(--text-base);font-weight:var(--font-semibold);color:#1a1a1a}.excursion-detail-page__footer{margin-top:2rem;padding-top:1.5rem;border-top:2px solid #e5e7eb;display:flex;flex-direction:column;gap:1rem;align-items:flex-start}.excursion-detail-page__past-hint{font-size:var(--text-sm);color:#b91c1c;margin:0}.excursion-detail-page__booking-error{margin:0;padding:.5rem 0}.excursion-detail-page__booking-error-text{font-size:var(--text-sm);color:#b91c1c;margin:0 0 .5rem}.excursion-detail-page__booking-error-link{display:inline-block;font-size:var(--text-sm);font-weight:var(--font-medium);color:#16a34a;text-decoration:none;transition:color .2s ease}.excursion-detail-page__booking-error-link:hover{color:#15803d;text-decoration:underline}.excursion-detail-page__total{font-size:var(--text-xl);color:#1a1a1a;margin:0}.excursion-detail-page__total strong{color:#16a34a}.excursion-detail-page__book-btn{padding:.875rem 2rem;font-size:var(--text-base);font-weight:var(--font-semibold);font-family:inherit;color:#fff;background:linear-gradient(135deg,#22c55e,#16a34a);border:none;border-radius:10px;cursor:pointer;box-shadow:0 2px 12px #22c55e59;transition:box-shadow .2s ease,transform .2s ease}.excursion-detail-page__book-btn:hover{box-shadow:0 4px 20px #22c55e73;transform:translateY(-1px)}.excursion-detail-page__book-btn:active{transform:translateY(0)}
