/* October card reference: supplied icons and cut-out mascots, scoped to
   cooperation formats. No changes to the carousel or shared service cards. */
.sp-formats-grid {
  align-items: stretch;
  gap: clamp(14px, 1.25vw, 24px);
}
.sp-format {
  --sp-mascot-size: 42%;
  position: relative;
  isolation: isolate;
  overflow: hidden;
  display: flex;
  flex-direction: column;
  gap: 8px;
  padding: clamp(18px, 1.5vw, 28px);
  min-height: clamp(268px, 18vw, 330px);
  border: 0;
  border-radius: clamp(20px, 1.65vw, 30px);
  background: #00ff00;
  color: #080b0d;
  box-shadow: none;
  transition: transform 220ms ease, box-shadow 220ms ease;
}
.sp-format-head {
  display: flex;
  align-items: center;
  gap: 10px;
  min-height: clamp(36px, 3vw, 54px);
}
.sp-format-num,
.sp-format-name {
  color: #fff;
  paint-order: stroke fill;
  -webkit-text-stroke-color: #080b0d;
}
.sp-format-num {
  font-size: clamp(27px, 2.55vw, 44px);
  line-height: 1;
  font-weight: 900;
  letter-spacing: -.045em;
  -webkit-text-stroke-width: clamp(3px, .27vw, 4.5px);
}
.sp-format-ico {
  display: grid;
  place-items: center;
  flex: 0 0 auto;
  width: clamp(40px, 3.8vw, 64px);
  height: clamp(36px, 3.3vw, 58px);
}
.sp-format-ico img {
  display: block;
  width: 100%;
  height: 100%;
  object-fit: contain;
}
.sp-format-name {
  font-size: clamp(16px, 1.45vw, 24px);
  font-weight: 900;
  line-height: 1.14;
  letter-spacing: -.025em;
  -webkit-text-stroke-width: clamp(2.4px, .21vw, 3.5px);
}
.sp-format-desc {
  color: #080b0d;
  font-size: clamp(12px, 1.02vw, 17px);
  font-weight: 500;
  line-height: 1.45;
  padding-bottom: clamp(36px, 2.75vw, 52px);
}
.sp-format-action {
  position: relative;
  z-index: 2;
  display: flex;
  align-items: center;
  align-self: flex-start;
  gap: clamp(6px, .42vw, 8px);
  margin-top: auto;
  color: #080b0d;
  font-size: clamp(10px, .68vw, 12px);
  font-weight: 800;
  line-height: 1.2;
  white-space: nowrap;
}
.sp-format-go {
  flex: 0 0 auto;
  width: clamp(32px, 2.75vw, 46px);
  height: clamp(32px, 2.75vw, 46px);
  border: 2px solid #080b0d;
  color: #080b0d;
}
.sp-format-mascot {
  position: absolute;
  z-index: 1;
  right: -1%;
  bottom: -2px;
  display: block;
  width: var(--sp-mascot-size);
  height: auto;
  pointer-events: none;
  user-select: none;
}
.sp-format:focus-visible { outline: 3px solid #fff; outline-offset: 5px; }
@media (min-width: 1025px) {
  #spolupracaContent > section.sp-formats { padding-bottom: 16px; }
  #spolupracaContent > section.sp-cta { padding-top: 16px; }
}
@media (hover: hover) and (pointer: fine) {
  .sp-format:hover {
    background: #00ff00;
    border-color: transparent;
    transform: translateY(-4px);
    box-shadow: 0 12px 28px rgba(0, 255, 0, .12);
  }
  .sp-format:hover .sp-format-go { border-color: #080b0d; }
}
@media (min-width: 768px) and (max-width: 1199px) {
  .sp-formats-grid { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .sp-format { min-height: 270px; --sp-mascot-size: 43%; }
  .sp-format-name { font-size: clamp(20px, 2.5vw, 26px); }
  .sp-format-desc { font-size: 15px; padding-bottom: 104px; }
  .sp-format-action { font-size: 13px; }
  .sp-format-mascot { height: 160px; object-fit: contain; object-position: right bottom; }
}
@media (max-width: 767px) {
  .sp-formats-grid { gap: 12px; grid-template-columns: minmax(0, 1fr); }
  .sp-format {
    --sp-mascot-size: 36%;
    min-height: 0;
    padding: clamp(16px, 4.2vw, 26px);
    border-radius: 22px;
    gap: 8px;
  }
  .sp-format-head { min-height: 42px; gap: 10px; }
  .sp-format-num { font-size: clamp(30px, 6.7vw, 40px); -webkit-text-stroke-width: 3.5px; }
  .sp-format-ico { width: clamp(46px, 9.5vw, 58px); height: 44px; }
  .sp-format-name { font-size: clamp(18px, 4.6vw, 26px); -webkit-text-stroke-width: 2.6px; }
  .sp-format-desc { font-size: clamp(13px, 3.4vw, 18px); padding-bottom: clamp(62px, 17vw, 100px); }
  .sp-format-mascot {
    height: clamp(104px, 31vw, 174px);
    object-fit: contain;
    object-position: right bottom;
  }
  .sp-format-action { font-size: clamp(12px, 3.15vw, 17px); gap: 10px; }
  .sp-format-go { width: clamp(34px, 7.6vw, 44px); height: clamp(34px, 7.6vw, 44px); }
}
@media (prefers-reduced-motion: reduce) {
  .sp-format { transition: none; }
  .sp-format:hover, .sp-format:active { transform: none; }
}
