.cc-courses-grid {
  --cc-ink: #082f50;
  --cc-accent: #1bb5bd;
  display: grid;
  grid-template-columns: repeat(2, minmax(0, 1fr));
  gap: 28px;
  width: 100%;
  font-family: Montserrat, Arial, sans-serif;
  color: var(--cc-ink);
}
.cc-courses-grid, .cc-courses-grid * { box-sizing: border-box; }
.cc-courses-grid--1 { grid-template-columns: minmax(0, 1fr); }
.cc-courses-grid .cc-course { display: grid; grid-template-columns: minmax(0, 2fr) minmax(0, 1fr); min-width: 0; min-height: 448px; border-radius: 20px; overflow: hidden; background: #fff; box-shadow: 0 6px 10px #0003; }
.cc-course__info { padding: 34px 32px 38px 36px; min-width: 0; }
.cc-course__header { display: flex; align-items: center; gap: 34px; padding-bottom: 26px; margin-bottom: 22px; border-bottom: 1px solid #a9bdc9; }
.cc-course__icon { display: grid; place-items: center; flex: 0 0 104px; width: 104px; height: 104px; padding: 18px; border-radius: 50%; background: #fff; box-shadow: 0 3px 5px #0003; }
.cc-course__icon img { display: block; width: 100%; height: 100%; object-fit: contain; }
.cc-courses-grid .cc-course__title { margin: 0; font-size: 28px; line-height: 1.13; font-weight: 600; color: var(--cc-ink); min-width: 0; overflow-wrap: anywhere; }
.cc-course__number { display: block; font-size: 30px; line-height: 1; font-weight: 700; margin-bottom: 4px; }
.cc-course__description { font-size: 20px; line-height: 1.2; overflow-wrap: anywhere; }
.cc-course__description p { margin: 0; }
.cc-course__description p + p { margin-top: .75em; }
.cc-course__description ul, .cc-course__description ol { padding-left: 22px; margin: 10px 0; }
.cc-course__description img { max-width: 100%; height: auto; }
.cc-course__description a { color: var(--cc-accent); text-decoration: underline; }
.cc-course__description a:focus-visible { outline: 2px solid var(--cc-accent); outline-offset: 3px; }
.cc-course__specialist { margin-top: 26px; font-size: 20px; line-height: 1.2; }
.cc-course__specialist p { margin: 0; }
.cc-course__specialist-label { color: var(--cc-accent); text-transform: uppercase; font-weight: 400; }
.cc-course__specialist-name { margin-top: 2px !important; font-weight: 500; overflow-wrap: anywhere; }
.cc-course__photo { min-width: 0; position: relative; overflow: hidden; }
.cc-course__photo img { display: block; position: absolute; inset: 0; width: 100%; height: 100%; max-width: none; object-fit: cover; object-position: center; }
.cc-course__photo--top img { object-position: center top; }
.cc-course__photo--bottom img { object-position: center bottom; }
.cc-course__photo--left img { object-position: left center; }
.cc-course__photo--right img { object-position: right center; }
.cc-courses-grid .cc-course--no-photo { grid-template-columns: minmax(0, 1fr); }
@media (min-width: 1025px) and (max-width: 1250px) {
  .cc-course__info { padding: 28px 24px; }
  .cc-course__header { gap: 20px; }
  .cc-course__icon { width: 80px; height: 80px; flex-basis: 80px; padding: 15px; }
  .cc-courses-grid .cc-course__title { font-size: 23px; }
  .cc-course__description, .cc-course__specialist { font-size: 17px; line-height: 1.35; }
}
@media (max-width: 1024px) {
  .cc-courses-grid { grid-template-columns: minmax(0, 1fr); gap: 24px; max-width: 760px; margin-inline: auto; }
  .cc-courses-grid .cc-course { min-height: 380px; }
  .cc-course__info { padding: 28px; }
  .cc-course__header { gap: 24px; }
  .cc-courses-grid .cc-course__title { font-size: 25px; }
  .cc-course__description, .cc-course__specialist { font-size: 18px; line-height: 1.35; }
}
@media (max-width: 600px) {
  .cc-courses-grid { max-width: 520px; }
  .cc-courses-grid .cc-course { display: flex; flex-direction: column; min-height: 0; }
  .cc-course__photo { order: -1; height: 210px; flex-shrink: 0; }
  .cc-course__info { padding: 24px 22px 28px; }
  .cc-course__header { gap: 18px; padding-bottom: 20px; margin-bottom: 18px; }
  .cc-course__icon { width: 76px; height: 76px; flex-basis: 76px; padding: 13px; }
  .cc-courses-grid .cc-course__title { font-size: 22px; line-height: 1.2; }
  .cc-course__number { font-size: 25px; }
  .cc-course__description, .cc-course__specialist { font-size: 16px; line-height: 1.45; }
  .cc-course__specialist { margin-top: 22px; }
}
@media (max-width: 360px) {
  .cc-course__info { padding-inline: 18px; }
  .cc-course__header { gap: 14px; }
  .cc-course__icon { width: 64px; height: 64px; flex-basis: 64px; padding: 11px; }
  .cc-courses-grid .cc-course__title { font-size: 20px; }
}
.cc-course__icon {
  overflow: hidden;
  min-width: 0;
  min-height: 0;
}

.cc-courses-grid .cc-course__icon img {
  display: block;
  width: 100% !important;
  height: 100% !important;
  max-width: 100% !important;
  max-height: 100% !important;
  min-width: 0;
  min-height: 0;
  object-fit: contain;
  margin: 0;
}
/* Imagen mobile completa: la altura acompaña la proporción original. */
.cc-course__photo picture { display: block; width: 100%; height: 100%; }
@media (max-width: 600px) {
  .cc-courses-grid .cc-course__photo { height: auto; }
  .cc-courses-grid .cc-course__photo picture { height: auto; }
  .cc-courses-grid .cc-course__photo img {
    position: static;
    inset: auto;
    width: 100%;
    height: 180px;
    max-width: 100%;
    object-fit: cover;
  }
}