.diga-course-manager {
--diga-primary: #25883c;
--diga-primary-dark: #1e6f32;
--diga-success: #25883c;
--diga-warning: #b86b00;
--diga-danger: #b42318;
--diga-info: #1769aa;
--diga-muted: #68716b;
--diga-text: #202428;
--diga-border: #dce4de;
--diga-surface: #ffffff;
--diga-soft: #f5f8f6;
font-family: "Roboto", Arial, sans-serif;
color: var(--diga-text);
}
.diga-course-manager *,
.diga-course-manager *::before,
.diga-course-manager *::after {
box-sizing: border-box;
}
.diga-course-filters {
display: grid;
grid-template-columns: repeat(2, minmax(0, 1fr));
gap: 16px;
padding: 18px;
margin-bottom: 22px;
border: 1px solid var(--diga-border);
border-radius: 14px;
background: var(--diga-soft);
}
.diga-course-filters label span {
display: block;
margin-bottom: 6px;
font-weight: 700;
}
.diga-course-filters select {
width: 100%;
min-height: 46px;
padding: 8px 12px;
border: 1px solid var(--diga-border);
border-radius: 8px;
background: #fff;
}
.diga-filter-note {
grid-column: 1 / -1;
margin: 0;
font-size: 13px;
color: var(--diga-muted);
}
.diga-course-list {
display: grid;
gap: 18px;
}
.diga-course-card {
display: grid;
grid-template-columns: minmax(155px, 0.72fr) minmax(260px, 2fr) minmax(190px, 0.9fr);
gap: 24px;
align-items: center;
padding: 24px;
border: 1px solid var(--diga-border);
border-left: 5px solid var(--diga-success);
border-radius: 16px;
background: var(--diga-surface);
box-shadow: 0 8px 30px rgba(23, 42, 30, 0.08);
}
.diga-status-few_places { border-left-color: var(--diga-warning); }
.diga-status-full,
.diga-status-cancelled { border-left-color: var(--diga-danger); }
.diga-status-waitlist,
.diga-status-request { border-left-color: var(--diga-info); }
.diga-status-coming { border-left-color: #7b817d; }
.diga-course-date {
display: flex;
flex-direction: column;
gap: 5px;
padding-right: 22px;
border-right: 1px solid var(--diga-border);
}
.diga-course-date-label {
font-size: 13px;
font-weight: 700;
letter-spacing: .06em;
text-transform: uppercase;
color: var(--diga-muted);
}
.diga-course-date strong {
font-size: 20px;
line-height: 1.3;
}
.diga-course-date span:last-child {
color: var(--diga-muted);
}
.diga-course-content h3 {
margin: 8px 0 6px;
font-family: "Roboto", Arial, sans-serif;
font-size: clamp(20px, 2vw, 27px);
line-height: 1.25;
color: var(--diga-text);
}
.diga-course-qualification,
.diga-course-location,
.diga-course-places {
margin: 6px 0 0;
}
.diga-course-qualification {
color: var(--diga-muted);
}
.diga-course-location,
.diga-course-places {
font-weight: 600;
}
.diga-status-badge {
display: inline-flex;
align-items: center;
gap: 8px;
font-size: 14px;
font-weight: 700;
color: var(--diga-success);
}
.diga-status-dot {
width: 10px;
height: 10px;
border-radius: 50%;
background: currentColor;
}
.diga-status-few_places .diga-status-badge { color: var(--diga-warning); }
.diga-status-full .diga-status-badge,
.diga-status-cancelled .diga-status-badge { color: var(--diga-danger); }
.diga-status-waitlist .diga-status-badge,
.diga-status-request .diga-status-badge { color: var(--diga-info); }
.diga-status-coming .diga-status-badge { color: #686e6a; }
.diga-course-action {
display: flex;
flex-direction: column;
align-items: stretch;
gap: 14px;
}
.diga-course-price {
display: flex;
flex-direction: column;
text-align: right;
}
.diga-course-price strong {
font-size: 23px;
line-height: 1.2;
}
.diga-course-price span {
color: var(--diga-muted);
font-size: 13px;
}
.diga-booking-button {
display: inline-flex;
align-items: center;
justify-content: center;
min-height: 48px;
padding: 12px 18px;
border: 2px solid var(--diga-primary);
border-radius: 9px;
background: var(--diga-primary);
color: #fff !important;
font-weight: 700;
line-height: 1.2;
text-align: center;
text-decoration: none !important;
transition: background-color .2s ease, border-color .2s ease, transform .2s ease;
}
.diga-booking-button:hover {
background: var(--diga-primary-dark);
border-color: var(--diga-primary-dark);
transform: translateY(-1px);
}
.diga-booking-button:focus-visible {
outline: 3px solid #111;
outline-offset: 3px;
}
.diga-booking-button-disabled {
background: #e7ebe8;
border-color: #d2d8d4;
color: #555f59 !important;
cursor: not-allowed;
}
.diga-empty-state {
padding: 34px;
border: 1px dashed var(--diga-border);
border-radius: 14px;
background: var(--diga-soft);
text-align: center;
}
.diga-empty-state h3 {
margin-top: 0;
font-family: "Roboto", Arial, sans-serif;
}
@media (max-width: 900px) {
.diga-course-card {
grid-template-columns: 1fr 1.5fr;
}
.diga-course-action {
grid-column: 1 / -1;
display: grid;
grid-template-columns: 1fr 1fr;
align-items: end;
}
.diga-course-price {
text-align: left;
}
}
@media (max-width: 640px) {
.diga-course-filters {
grid-template-columns: 1fr;
padding: 14px;
}
.diga-filter-note {
grid-column: auto;
}
.diga-course-card {
grid-template-columns: 1fr;
gap: 18px;
padding: 19px;
border-left-width: 4px;
border-radius: 13px;
}
.diga-course-date {
padding-right: 0;
padding-bottom: 16px;
border-right: 0;
border-bottom: 1px solid var(--diga-border);
}
.diga-course-date strong {
font-size: 19px;
}
.diga-course-content h3 {
font-size: 22px;
}
.diga-course-action {
grid-column: auto;
display: flex;
}
.diga-course-price {
text-align: left;
}
.diga-booking-button {
width: 100%;
min-height: 52px;
font-size: 16px;
}
}
.diga-booking-summary{font-family:"Roboto",Arial,sans-serif;padding:22px;border:1px solid #dce4de;border-left:5px solid #25883c;border-radius:14px;background:#f5f8f6;color:#202428}.diga-booking-summary-label{font-size:13px;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#68716b}.diga-booking-summary h2{margin:6px 0;font-family:"Roboto",Arial,sans-serif;font-size:clamp(22px,3vw,30px)}.diga-booking-summary p{margin:0 0 14px}.diga-booking-summary dl{margin:0;display:grid;gap:8px}.diga-booking-summary dl div{display:grid;grid-template-columns:110px 1fr;gap:12px}.diga-booking-summary dt{font-weight:700}.diga-booking-summary dd{margin:0}.diga-booking-summary-error{border-left-color:#b42318}@media(max-width:640px){.diga-booking-summary dl div{grid-template-columns:1fr;gap:2px}}