:root {
--bg-1: #081117;
--bg-2: #12202b;
--bg-3: #1a3140;
--panel: rgba(9, 17, 24, 0.72);
--panel-strong: rgba(9, 17, 24, 0.92);
--panel-soft: rgba(255, 255, 255, 0.04);
--line: rgba(201, 228, 255, 0.12);
--line-strong: rgba(201, 228, 255, 0.22);
--text: #f5f1e8;
--muted: #bbcad6;
--muted-strong: #d7e3ea;
--accent: #f3ba6c;
--accent-deep: #ca8e43;
--accent-soft: rgba(243, 186, 108, 0.16);
--shadow: 0 28px 80px rgba(0, 0, 0, 0.38);
--shadow-soft: 0 16px 40px rgba(0, 0, 0, 0.24);
}

* {
box-sizing: border-box;
}

html {
scroll-behavior: smooth;
}

body {
margin: 0;
min-height: 100vh;
font-family: Georgia, "Times New Roman", serif;
color: var(--text);
background:
radial-gradient(circle at top left, rgba(243, 186, 108, 0.16), transparent 26%),
radial-gradient(circle at top right, rgba(94, 155, 202, 0.12), transparent 24%),
linear-gradient(180deg, var(--bg-3), var(--bg-2) 28%, var(--bg-1) 100%);
overflow: hidden;
}

body::before {
content: "";
position: fixed;
inset: 0;
pointer-events: none;
opacity: 0.35;
background:
linear-gradient(rgba(255, 255, 255, 0.02), rgba(255, 255, 255, 0.02)),
repeating-linear-gradient(
90deg,
transparent 0,
transparent 95px,
rgba(255, 255, 255, 0.028) 96px
);
}

a,
button,
select {
font: inherit;
}

.site-shell {
position: relative;
z-index: 1;
padding: 18px 20px 20px;
height: 100vh;
display: flex;
flex-direction: column;
overflow: hidden;
}

.hero {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.85fr);
gap: 18px;
align-items: stretch;
width: 100%;
max-width: 1460px;
margin: 0 auto 14px;
}

.hero-copy,
.hero-panel,
.toolbar,
.timeline-viewport,
.timeline-rail {
border: 1px solid var(--line);
background: var(--panel);
backdrop-filter: blur(12px);
box-shadow: var(--shadow-soft);
}

.hero-copy {
position: relative;
overflow: hidden;
padding: 28px 32px;
border-radius: 32px;
min-height: 220px;
background:
linear-gradient(135deg, rgba(243, 186, 108, 0.14), transparent 34%),
linear-gradient(180deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
var(--panel-strong);
}

.hero-copy::after {
content: "";
position: absolute;
right: -80px;
bottom: -80px;
width: 260px;
height: 260px;
border-radius: 50%;
background: radial-gradient(circle, rgba(243, 186, 108, 0.22), transparent 68%);
filter: blur(6px);
}

.eyebrow,
.panel-label,
.filter-label {
display: inline-flex;
font-size: 0.78rem;
letter-spacing: 0.14em;
text-transform: uppercase;
color: rgba(245, 241, 232, 0.7);
}

.hero h1 {
position: relative;
margin: 10px 0 12px;
font-size: clamp(2.2rem, 4.3vw, 4.15rem);
line-height: 0.95;
letter-spacing: 0.04em;
text-transform: uppercase;
}

.hero-text {
position: relative;
max-width: 640px;
margin: 0;
font-size: 1rem;
line-height: 1.62;
color: var(--muted-strong);
}

.hero-actions {
position: relative;
display: flex;
gap: 12px;
flex-wrap: wrap;
margin-top: 20px;
}

.hero-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 11px 16px;
border-radius: 999px;
border: 1px solid transparent;
text-decoration: none;
cursor: pointer;
transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.hero-button:hover {
transform: translateY(-2px);
}

.hero-button-primary {
background: var(--accent);
color: #1d1307;
font-weight: 700;
}

.hero-button-secondary {
background: rgba(255, 255, 255, 0.05);
border-color: var(--line);
color: var(--text);
}

.hero-panel {
display: flex;
flex-direction: column;
justify-content: space-between;
padding: 24px;
border-radius: 30px;
gap: 14px;
}

.hero-panel-section strong,
.hero-stat strong,
.toolbar-status strong {
display: block;
margin-top: 6px;
font-size: 1.5rem;
line-height: 1.1;
}

.hero-panel-section p,
.toolbar-status p {
margin: 6px 0 0;
color: var(--muted);
line-height: 1.55;
}

.hero-stats {
display: grid;
grid-template-columns: repeat(3, 1fr);
gap: 12px;
}

.hero-stat {
padding: 14px 14px 12px;
border-radius: 20px;
background: var(--panel-soft);
border: 1px solid rgba(255, 255, 255, 0.06);
}

.featured-event {
padding: 16px 18px 14px;
border-radius: 22px;
border: 1px solid rgba(255, 255, 255, 0.08);
background:
linear-gradient(135deg, rgba(243, 186, 108, 0.1), transparent 48%),
rgba(255, 255, 255, 0.03);
}

.featured-event strong {
display: block;
margin-top: 6px;
font-size: 1.14rem;
line-height: 1.15;
}

.featured-event p {
margin: 8px 0 0;
color: var(--muted-strong);
line-height: 1.45;
}

.featured-event-actions {
display: flex;
gap: 10px;
margin-top: 12px;
}

.layout {
display: grid;
grid-template-columns: 1fr;
grid-template-rows: auto minmax(0, 1fr);
gap: 12px;
width: 100%;
max-width: 1460px;
margin: 0 auto;
flex: 1;
min-height: 0;
}

.site-footer {
width: 100%;
max-width: 1460px;
margin: 12px auto 0;
padding: 12px 18px 0;
border-top: 1px solid rgba(201, 228, 255, 0.08);
display: flex;
justify-content: flex-end;
}

.site-footer-link {
padding: 0;
border: 0;
background: transparent;
color: rgba(245, 241, 232, 0.62);
font-size: 0.82rem;
letter-spacing: 0.06em;
cursor: pointer;
text-decoration: underline;
text-underline-offset: 0.22em;
}

.site-footer-link:hover {
color: rgba(245, 241, 232, 0.86);
}

.toolbar {
display: grid;
grid-template-columns: minmax(0, 1.35fr) minmax(280px, 0.95fr) auto;
grid-template-areas:
"scope filters status";
gap: 12px 16px;
align-items: center;
padding: 14px 18px;
border-radius: 26px;
}

.scope-switch {
grid-area: scope;
display: flex;
flex-wrap: wrap;
gap: 10px;
align-items: center;
}

.scope-button,
.filter-select {
border: 1px solid var(--line);
background: rgba(255, 255, 255, 0.04);
color: var(--text);
}

.scope-button {
padding: 10px 14px;
border-radius: 999px;
cursor: pointer;
transition: border-color 0.2s ease, background 0.2s ease, transform 0.2s ease;
}

.scope-button:hover,
.scope-button:hover {
transform: translateY(-1px);
border-color: var(--line-strong);
}

.scope-button.active {
background: var(--accent-soft);
border-color: rgba(243, 186, 108, 0.36);
color: #ffe6c2;
}

.filter-group {
display: flex;
flex-direction: column;
gap: 6px;
min-width: 180px;
}

.quick-jumps,
.type-chip-row {
display: flex;
flex-wrap: wrap;
gap: 7px;
align-items: center;
}

.filter-select {
height: 44px;
padding: 0 13px;
border-radius: 16px;
outline: none;
}

.quick-jump-button,
.type-chip-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 8px 11px;
border-radius: 999px;
border: 1px solid var(--line);
background: rgba(255, 255, 255, 0.04);
color: var(--text);
cursor: pointer;
transition: transform 0.2s ease, border-color 0.2s ease, background 0.2s ease;
}

.toolbar > .scope-switch {
min-width: 0;
}

.toolbar > .scope-switch,
.toolbar > .filter-stack,
.toolbar > .toolbar-status {
min-width: 0;
}

.filter-stack {
grid-area: filters;
display: grid;
grid-template-columns: minmax(0, 1fr) minmax(210px, 0.85fr);
gap: 14px;
align-items: end;
}

.filter-stack .filter-group:first-child {
padding: 0 0 0 2px;
}

.filter-stack .filter-group:first-child .type-chip-row {
padding-top: 2px;
}

.quick-jump-button:hover,
.type-chip-button:hover {
transform: translateY(-1px);
border-color: var(--line-strong);
}

.type-chip-button.active {
background: var(--accent-soft);
border-color: rgba(243, 186, 108, 0.36);
color: #ffe6c2;
}

.toolbar-status {
grid-area: status;
justify-self: end;
text-align: right;
min-width: 126px;
}

.timeline-stage {
display: grid;
grid-template-columns: 56px minmax(0, 1fr);
gap: 14px;
align-items: stretch;
height: 100%;
min-height: 0;
}

.timeline-rail {
display: flex;
justify-content: center;
padding: 16px 0;
border-radius: 30px;
min-height: 0;
}

.timeline-dots {
display: flex;
flex-direction: column;
justify-content: center;
gap: 10px;
}

.timeline-dot {
appearance: none;
padding: 0;
width: 8px;
height: 8px;
border-radius: 50%;
background: rgba(255, 255, 255, 0.18);
border: 1px solid transparent;
cursor: pointer;
transition: transform 0.2s ease, background 0.2s ease, border-color 0.2s ease;
}

.timeline-dot.active {
transform: scale(1.35);
background: var(--accent);
border-color: rgba(255, 255, 255, 0.16);
}

.timeline-dot.has-events {
background: rgba(243, 186, 108, 0.45);
}

.timeline-viewport {
overflow: hidden;
border-radius: 34px;
padding: 0;
height: 100%;
min-height: 0;
}

#timeline-track {
transition: transform 0.55s cubic-bezier(0.22, 1, 0.36, 1);
will-change: transform;
height: 100%;
}

.day-slide {
display: grid;
grid-template-rows: auto 1fr;
gap: 12px;
padding: 16px;
height: 100%;
min-height: 0;
}

.day-header {
display: grid;
grid-template-columns: minmax(0, 1fr) auto;
gap: 12px;
align-items: center;
padding: 14px 18px;
border-radius: 26px;
border: 1px solid rgba(255, 255, 255, 0.08);
background:
linear-gradient(135deg, rgba(243, 186, 108, 0.08), transparent 30%),
rgba(255, 255, 255, 0.03);
}

.day-header-meta {
display: flex;
align-items: center;
justify-content: flex-end;
}

.day-marker {
display: inline-flex;
width: fit-content;
margin-bottom: 8px;
padding: 5px 9px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.05);
font-size: 0.72rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(245, 241, 232, 0.72);
}

.day-transition {
display: inline-flex;
width: fit-content;
margin: 0 0 8px;
padding: 5px 9px;
border-radius: 999px;
border: 1px solid rgba(243, 186, 108, 0.2);
background: rgba(243, 186, 108, 0.1);
font-size: 0.71rem;
letter-spacing: 0.1em;
text-transform: uppercase;
color: #ffe4be;
}

.day-title {
margin: 0;
font-size: clamp(1.3rem, 1.8vw, 1.8rem);
}

.day-subtitle {
margin: 6px 0 0;
color: var(--muted);
line-height: 1.45;
}

.day-count {
display: inline-flex;
align-items: center;
justify-content: center;
min-width: 92px;
padding: 10px 12px;
border-radius: 18px;
background: rgba(243, 186, 108, 0.1);
border: 1px solid rgba(243, 186, 108, 0.2);
font-size: 0.8rem;
letter-spacing: 0.08em;
text-transform: uppercase;
color: #ffe3be;
}

.day-empty-cta {
display: inline-flex;
width: fit-content;
margin-top: 10px;
padding: 10px 13px;
border-radius: 999px;
border: 1px solid rgba(243, 186, 108, 0.26);
background: rgba(243, 186, 108, 0.1);
color: #ffe5c3;
text-decoration: none;
line-height: 1.35;
}

.day-slide.day-empty {
grid-template-rows: auto;
}

.day-slide.day-empty .day-header {
padding-bottom: 22px;
}

.carousel-shell {
position: relative;
display: grid;
grid-template-columns: 52px minmax(0, 1fr) 52px;
grid-template-rows: minmax(0, 1fr) auto;
column-gap: 10px;
min-height: 0;
height: 100%;
}

.carousel-track {
grid-column: 2;
grid-row: 1;
display: flex;
gap: 22px;
width: 100%;
height: 100%;
overflow-x: auto;
overflow-y: hidden;
padding: 4px 2px;
scrollbar-width: none;
-ms-overflow-style: none;
align-items: stretch;
scroll-snap-type: x proximity;
touch-action: pan-x;
}

.carousel-track::-webkit-scrollbar {
display: none;
}

.event-card {
position: relative;
width: min(352px, calc(100vw - 220px));
min-width: min(352px, calc(100vw - 220px));
height: 100%;
max-height: 100%;
display: flex;
flex-direction: column;
border-radius: 28px;
border: 1px solid var(--line);
overflow: hidden;
cursor: pointer;
background: var(--panel-strong);
box-shadow: var(--shadow);
transition: transform 0.28s ease, border-color 0.28s ease, box-shadow 0.28s ease;
scroll-snap-align: start;
}

.event-card:hover {
transform: translateY(-6px);
border-color: rgba(243, 186, 108, 0.34);
box-shadow: 0 32px 80px rgba(0, 0, 0, 0.44);
}

.event-media {
position: relative;
height: 32%;
min-height: 116px;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
overflow: hidden;
}

.event-image {
width: 100%;
height: 100%;
object-fit: cover;
background:
radial-gradient(circle at top, rgba(243, 186, 108, 0.18), transparent 34%),
linear-gradient(180deg, rgba(17, 17, 17, 0.7), rgba(17, 17, 17, 0.95));
}

.event-image-fallback {
display: flex;
align-items: center;
justify-content: center;
padding: 18px;
font-size: 1rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(255, 228, 190, 0.92);
background:
radial-gradient(circle at top, rgba(243, 186, 108, 0.2), transparent 30%),
linear-gradient(135deg, rgba(255, 255, 255, 0.04), rgba(255, 255, 255, 0)),
linear-gradient(180deg, #172833, #0c161d);
}

.event-title-banner {
display: flex;
align-items: center;
min-height: 62px;
padding: 12px 18px;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
background:
linear-gradient(135deg, rgba(243, 186, 108, 0.08), transparent 38%),
rgba(255, 255, 255, 0.03);
}

.event-title-banner h3 {
margin: 0;
font-size: 1.14rem;
line-height: 1.2;
}

.event-info {
display: flex;
flex-direction: column;
gap: 10px;
flex: 1;
padding: 14px 18px 16px;
overflow: hidden;
}

.event-card-header {
display: flex;
align-items: center;
justify-content: space-between;
gap: 10px;
flex-wrap: wrap;
}

.event-info p {
margin: 0;
}

.event-chip,
.event-time-chip {
display: inline-flex;
align-items: center;
padding: 6px 10px;
border-radius: 999px;
font-size: 0.72rem;
letter-spacing: 0.1em;
text-transform: uppercase;
}

.event-chip {
background: var(--accent-soft);
color: #ffe4be;
}

.event-time-chip {
border: 1px solid rgba(255, 255, 255, 0.1);
background: rgba(255, 255, 255, 0.04);
color: var(--text);
}

.event-meta {
display: flex;
flex-direction: column;
gap: 7px;
}

.event-meta-item {
display: flex;
justify-content: space-between;
gap: 16px;
padding-bottom: 6px;
border-bottom: 1px solid rgba(255, 255, 255, 0.06);
}

.event-meta-label {
font-size: 0.68rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(245, 241, 232, 0.62);
}

.event-meta-value {
text-align: right;
color: var(--text);
line-height: 1.35;
display: -webkit-box;
-webkit-line-clamp: 1;
-webkit-box-orient: vertical;
overflow: hidden;
}

.event-summary {
color: rgba(245, 241, 232, 0.78);
line-height: 1.45;
display: -webkit-box;
-webkit-line-clamp: 2;
-webkit-box-orient: vertical;
overflow: hidden;
font-size: 0.96rem;
}

.event-link-hint {
display: inline-flex;
width: fit-content;
font-size: 0.76rem;
letter-spacing: 0.05em;
color: #ffe4be;
}

.carousel-hint {
display: inline-flex;
grid-column: 2;
grid-row: 2;
color: rgba(245, 241, 232, 0.62);
font-size: 0.84rem;
letter-spacing: 0.04em;
padding: 10px 4px 2px;
}

.carousel-nav {
grid-column: 1 / 4;
grid-row: 1;
display: grid;
grid-template-columns: 52px minmax(0, 1fr) 52px;
pointer-events: none;
align-items: center;
}

.carousel-nav-button {
pointer-events: auto;
align-self: center;
justify-self: center;
display: inline-flex;
align-items: center;
justify-content: center;
width: 46px;
height: 88px;
border-radius: 24px;
border: 1px solid rgba(201, 228, 255, 0.12);
background:
linear-gradient(180deg, rgba(255, 255, 255, 0.06), rgba(255, 255, 255, 0.03)),
rgba(9, 17, 24, 0.78);
color: var(--text);
cursor: pointer;
backdrop-filter: blur(12px);
box-shadow: var(--shadow-soft);
transition: transform 0.2s ease, border-color 0.2s ease, opacity 0.2s ease, background 0.2s ease;
}

.carousel-nav-button span {
font-size: 2rem;
line-height: 1;
transform: translateY(-2px);
}

.carousel-nav-button-prev {
grid-column: 1;
}

.carousel-nav-button-next {
grid-column: 3;
}

.carousel-nav-button:hover:not(:disabled) {
transform: translateY(-1px);
border-color: rgba(243, 186, 108, 0.34);
background:
linear-gradient(180deg, rgba(243, 186, 108, 0.14), rgba(255, 255, 255, 0.03)),
rgba(9, 17, 24, 0.88);
}

.carousel-nav-button:disabled {
opacity: 0.28;
cursor: default;
}

.info-card {
justify-content: center;
align-items: center;
text-align: center;
}

.info-card::after {
display: none;
}

.info-card .event-info {
align-items: center;
background: transparent;
padding: 30px;
}

.info-card a {
color: #ffe4be;
}

#event-modal {
position: fixed;
inset: 0;
display: none;
align-items: center;
justify-content: center;
z-index: 999;
}

#event-modal.active {
display: flex;
}

#legal-notice-modal {
position: fixed;
inset: 0;
display: none;
align-items: center;
justify-content: center;
z-index: 1000;
}

#legal-notice-modal.active {
display: flex;
}

.modal-overlay {
position: absolute;
inset: 0;
background: rgba(0, 0, 0, 0.75);
backdrop-filter: blur(10px);
}

.modal-window {
position: relative;
z-index: 2;
width: min(860px, calc(100vw - 32px));
max-height: 90vh;
overflow: auto;
padding: 28px;
border-radius: 30px;
border: 1px solid var(--line);
background: var(--panel-strong);
box-shadow: var(--shadow);
}

.legal-modal-window {
position: relative;
z-index: 2;
width: min(760px, calc(100vw - 32px));
max-height: 86vh;
overflow: auto;
padding: 28px;
border-radius: 30px;
border: 1px solid var(--line);
background: var(--panel-strong);
box-shadow: var(--shadow);
}

.legal-modal-window h2 {
margin: 0 36px 18px 0;
font-size: clamp(1.55rem, 2.6vw, 2.15rem);
}

.legal-copy {
margin: 0;
line-height: 1.72;
color: rgba(245, 241, 232, 0.9);
}

.legal-copy + .legal-copy {
margin-top: 14px;
}

.legal-copy-muted {
color: rgba(245, 241, 232, 0.72);
}

.legal-link {
color: #ffe4be;
text-decoration: underline;
text-underline-offset: 0.18em;
}

.legal-link:hover {
color: #fff1d8;
}

.modal-window img {
display: block;
width: 100%;
height: auto;
max-height: 360px;
object-fit: cover;
border-radius: 20px;
margin-bottom: 18px;
}

.modal-window h2,
.modal-window p {
margin: 0;
}

.modal-top-row {
display: flex;
align-items: center;
justify-content: space-between;
gap: 12px;
flex-wrap: wrap;
margin-bottom: 14px;
padding-right: 44px;
}

.modal-window h2 {
font-size: clamp(1.75rem, 3vw, 2.45rem);
margin-bottom: 18px;
}

.modal-details-grid {
display: grid;
grid-template-columns: repeat(auto-fit, minmax(220px, 1fr));
gap: 12px;
margin: 0 0 10px;
}

.modal-detail-item {
display: flex;
flex-direction: column;
gap: 6px;
padding: 15px 16px;
border-radius: 18px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.03);
}

.modal-detail-label,
.modal-section-title {
font-size: 0.78rem;
letter-spacing: 0.12em;
text-transform: uppercase;
color: rgba(245, 241, 232, 0.64);
}

.modal-detail-value {
line-height: 1.5;
}

.modal-section-title {
margin: 22px 0 10px;
}

.modal-copy {
line-height: 1.75;
color: rgba(245, 241, 232, 0.92);
}

.modal-copy-muted {
color: rgba(245, 241, 232, 0.78);
}

.modal-link-button {
display: inline-flex;
align-items: center;
justify-content: center;
padding: 12px 18px;
border-radius: 999px;
border: 1px solid rgba(243, 186, 108, 0.34);
background: rgba(243, 186, 108, 0.14);
color: #ffe4be;
text-decoration: none;
letter-spacing: 0.06em;
text-transform: uppercase;
font-size: 0.82rem;
}

.modal-link-row {
display: flex;
flex-wrap: wrap;
gap: 12px;
margin-top: 22px;
}

.modal-related {
margin-top: 18px;
padding-top: 16px;
border-top: 1px solid rgba(255, 255, 255, 0.08);
}

.modal-related-list {
display: flex;
flex-wrap: wrap;
gap: 10px;
margin-top: 10px;
}

.modal-related-pill {
display: inline-flex;
align-items: center;
padding: 8px 12px;
border-radius: 999px;
background: rgba(255, 255, 255, 0.04);
border: 1px solid rgba(255, 255, 255, 0.08);
color: rgba(245, 241, 232, 0.82);
font-size: 0.84rem;
}

#modal-close {
position: absolute;
top: 10px;
right: 14px;
border: 0;
background: transparent;
color: var(--text);
font-size: 28px;
cursor: pointer;
}

#legal-notice-close {
position: absolute;
top: 10px;
right: 14px;
border: 0;
background: transparent;
color: var(--text);
font-size: 28px;
cursor: pointer;
}

@media (max-width: 1080px) {
.hero {
grid-template-columns: 1fr;
}

.toolbar {
grid-template-columns: 1fr;
grid-template-areas:
"scope"
"filters"
"status";
}

.toolbar-status {
justify-self: start;
text-align: left;
}

.filter-stack {
grid-template-columns: 1fr;
}
}

@media (max-width: 768px) {
body {
overflow: auto;
}

.site-shell {
padding: 16px;
height: auto;
overflow: visible;
}

.hero-copy,
.hero-panel,
.toolbar,
.timeline-viewport,
.timeline-rail {
border-radius: 24px;
}

.hero-copy,
.hero-panel {
padding: 24px;
}

.hero-stats {
grid-template-columns: 1fr;
}

.toolbar {
grid-template-columns: 1fr;
grid-template-areas:
"scope"
"filters"
"status";
}

.carousel-hint {
display: inline-flex;
}

.timeline-stage {
grid-template-columns: 1fr;
height: auto;
min-height: auto;
}

.timeline-rail {
display: none;
}

.timeline-viewport {
overflow: visible;
height: auto;
}

#timeline-track {
transform: none !important;
height: auto;
}

.day-slide {
height: auto;
min-height: auto;
padding: 18px;
}

.day-header {
grid-template-columns: 1fr;
}

.day-header-meta {
justify-content: flex-start;
}

.event-card {
width: min(320px, calc(100vw - 70px));
min-width: min(320px, calc(100vw - 70px));
height: 410px;
}

.carousel-shell {
grid-template-columns: 1fr;
grid-template-rows: minmax(0, 1fr) auto;
}

.carousel-track {
grid-column: 1;
padding-right: 2px;
scrollbar-width: none;
}

.carousel-nav {
display: none;
}

.modal-window {
padding: 20px;
border-radius: 22px;
}

.legal-modal-window {
padding: 22px;
border-radius: 22px;
}

.modal-details-grid {
grid-template-columns: 1fr;
}
}
