.jforma-course-card { border:1px solid #e5e5e5; background:#fff; padding:18px; } .jfc-inner {
display:grid;
grid-template-columns: 1.2fr 1fr; gap:22px;
align-items:start;
}
.jfc-inner.jfc-has-header {
grid-template-areas:
"header header"
"left   right";
}
.jfc-header { grid-area: header; margin-bottom:6px; }
.jfc-title {
margin:0 0 6px 0; font-size:26px; line-height:1.25; font-weight:800; color:#222;
}
.jfc-subtitle {
margin:0 0 8px 0; font-size:16px; line-height:1.5; color:#444; font-style:italic;
}
.jfc-ref { font-style:italic; color:#555; margin-top:-4px; }
.jfc-left { grid-area: left; }
.jfc-right { grid-area: right; } .jfc-image { position:relative; border:12px solid #f0c419; background:#fafafa; }
.jfc-image img { display:block; width:100%; height:auto; } .jfc-specs { border:1px solid #ececec; background:#fff; padding:14px; display:flex; flex-direction:column; gap:12px; }
.jfc-specs-lg { font-size:16px; } .jfc-spec { display:flex; align-items:center; gap:10px; }
.jfc-spec i { width:18px; text-align:center; } .jfc-spec .jfc-k { font-weight:700; margin-right:6px; }
.jfc-spec .jfc-v { font-weight:400; } .jfc-cta-wrap { margin:16px 0; }
.jfc-cta {
display:inline-flex; align-items:center; justify-content:center;
padding:10px 18px; border-radius:6px; background:#6957ff; color:#fff; text-decoration:none;
font-weight:700; letter-spacing:.3px; transition:filter .15s ease, transform .05s ease;
}
.jfc-cta:hover { filter:brightness(0.95); }
.jfc-cta:active { transform:translateY(1px); } .jfc-contacts { border:1px solid #e5e5e5; background:#fafafa; padding:12px; font-size:16px; }
.jfc-contacts-title { font-weight:700; margin-bottom:8px; }
.jfc-contacts-list { list-style:none; padding:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.jfc-contacts-list li { display:flex; align-items:center; gap:8px; font-size:16px; }
.jfc-contacts-list i { width:18px; text-align:center; } .jfc-tabs { margin-top:18px; }
.jfc-tabs-nav { display:flex; gap:6px; border-bottom:1px solid #e5e5e5; }
.jfc-tab {
appearance:none; border:none; background:#f5f5f5; padding:8px 12px; cursor:pointer;
border-top-left-radius:6px; border-top-right-radius:6px;
font-weight:600; font-size:14px; color:#333;
}
.jfc-tab[aria-selected="true"] { background:#ffffff; border:1px solid #e5e5e5; border-bottom-color:#ffffff; }
.jfc-panels { border:1px solid #e5e5e5; border-top:none; padding:14px; background:#fff; }
.jfc-panel { font-size:15px; line-height:1.6; }
.jfc-spec-list { margin:0; padding-left:18px; } .jfc-cal-wrapper { overflow-x:auto; }
.jfc-cal { width:100%; border-collapse:collapse; }
.jfc-cal thead th { text-align:left; font-weight:800; color:#333; background:#f6f8fa; padding:10px 12px; border-bottom:1px solid #e5e5e5; }
.jfc-cal tbody td { padding:12px; border-bottom:1px solid #f0f0f0; color:#222; }
.jfc-cal tbody tr:hover { background:#fafafa; } .jfc-mod-timeline { position:relative; margin:8px 0; }
.jfc-mod-item { display:grid; grid-template-columns: 280px 1fr; gap:12px; align-items:flex-start; padding:18px 0; }
.jfc-mod-item + .jfc-mod-item { border-top:1px solid #f0f0f0; }
.jfc-mod-left { text-align:right; padding-right:8px; }
.jfc-mod-title { font-weight:800; color:#333; }
.jfc-mod-hours { color:#666; margin-top:6px; } .jfc-mod-box { background:#f3f5f7; border:1px solid #e5e5e5; border-radius:6px; padding:12px; color:#444; }
@media (max-width: 767px) {
.jfc-mod-item { grid-template-columns: 1fr; }
.jfc-mod-left { text-align:left; padding-right:0; } } .jfc-spec-columns {
display:grid;
grid-template-columns: 1fr 1fr;
gap: 24px;
}
.jfc-spec-column { min-width:0; }
.jfc-spec-title { font-size:18px; font-weight:800; margin:0 0 10px 0; color:#222; }
.jfc-spec-dl { margin:0; }
.jfc-spec-row { display:grid; grid-template-columns: 140px 1fr; gap: 10px; padding:6px 0; border-bottom:1px solid #f0f0f0; }
.jfc-spec-row dt { font-weight:700; color:#333; }
.jfc-spec-row dd { margin:0; color:#222; font-weight:400; } @media (min-width: 768px) {
.jfc-spec-columns { position:relative; }
.jfc-spec-columns::before {
content:""; position:absolute; left:50%; top:0; bottom:0; width:1px; background:#e5e5e5; transform:translateX(-12px);
}
} .jfc-spec-locations { list-style:none; padding-left:0; margin:0; display:flex; flex-direction:column; gap:8px; }
.jfc-spec-locations li { display:flex; align-items:flex-start; gap:8px; }
.jfc-spec-locations i { color:#e0315b; width:18px; text-align:center; margin-top:3px; }
.jfc-loc { display:flex; flex-direction:column; gap:2px; }
.jfc-loc-name { font-weight:700; } @media (max-width: 767px) {
.jfc-spec-columns { grid-template-columns: 1fr; }
.jfc-spec-columns::before { display:none; }
.jfc-spec-row { grid-template-columns: 120px 1fr; }
} @media (max-width: 1023px) {
.jfc-inner { grid-template-columns: 1fr; grid-template-areas: "header" "left" "right"; }
.jfc-image { margin-bottom:8px; }
} .jfc-attachments { margin-top: 8px; }
.jfc-attach-list { list-style: none; margin: 0; padding: 0; }
.jfc-attach-item { margin: 8px 0; }
.jfc-attach-link { color: #1a73e8; text-decoration: none; font-weight: 500; }
.jfc-attach-link:hover, .jfc-attach-link:focus { text-decoration: underline; }
.jfc-attach-desc { font-size: 0.95rem; color: #555; margin-top: 2px; }