:root{
  --partner-orange:#ff6b22;
  --partner-orange-dark:#e8530b;
  --partner-ink:#10233f;
  --partner-muted:#61728a;
  --partner-line:#dfe8f2;
  --partner-shadow:0 18px 48px rgba(16,35,63,.11);
}

.partner-showcase{
  position:relative;
  overflow:hidden;
  background:
    radial-gradient(circle at 92% 5%,rgba(255,107,34,.14),transparent 24rem),
    linear-gradient(180deg,#fff 0%,#f7f9fc 100%);
}

.partner-showcase::after{
  content:"✈";
  position:absolute;
  top:1.3rem;
  right:clamp(1.25rem,5vw,5rem);
  color:rgba(255,107,34,.13);
  font-size:clamp(5rem,10vw,9rem);
  line-height:1;
  pointer-events:none;
  transform:rotate(-10deg);
}

.partner-showcase .section-heading{
  position:relative;
  z-index:1;
  max-width:820px;
}

.partner-showcase .section-heading .eyebrow{
  display:inline-flex;
  width:auto;
  padding:.45rem .75rem;
  border-radius:999px;
  background:#fff0e8;
  color:#d94d08;
  letter-spacing:.04em;
}

.partner-showcase-grid{
  position:relative;
  z-index:1;
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:1rem;
}

.partner-showcase-card{
  --card-accent:#ff6b22;
  --card-soft:#fff1e9;
  position:relative;
  display:grid;
  grid-template-columns:minmax(0,1fr) 112px;
  min-height:310px;
  gap:1rem;
  padding:1.35rem;
  border:1px solid rgba(16,35,63,.09);
  border-radius:1.55rem;
  background:rgba(255,255,255,.97);
  color:var(--partner-ink);
  text-decoration:none;
  box-shadow:0 10px 30px rgba(16,35,63,.07);
  overflow:hidden;
  isolation:isolate;
  transition:transform .2s ease,border-color .2s ease,box-shadow .2s ease;
}

.partner-showcase-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--card-accent) 38%,#fff);
  box-shadow:var(--partner-shadow);
}

.partner-showcase-card[data-tone="violet"]{--card-accent:#7557e8;--card-soft:#eeeaff}
.partner-showcase-card[data-tone="blue"]{--card-accent:#1479d1;--card-soft:#e8f4ff}
.partner-showcase-card[data-tone="green"]{--card-accent:#218a4b;--card-soft:#eaf8ef}
.partner-showcase-card[data-tone="teal"]{--card-accent:#0d9a9a;--card-soft:#e7f9f8}
.partner-showcase-card[data-tone="gold"]{--card-accent:#e69a00;--card-soft:#fff6dc}
.partner-showcase-card[data-tone="coral"]{--card-accent:#df4d55;--card-soft:#ffecef}

.partner-showcase-content{
  display:flex;
  min-width:0;
  flex-direction:column;
  align-items:flex-start;
}

.partner-showcase-brand{
  display:flex;
  min-width:0;
  align-items:center;
  gap:.65rem;
  margin-bottom:.75rem;
}

.partner-showcase-brand-mark{
  display:grid;
  width:2.6rem;
  height:2.6rem;
  flex:0 0 auto;
  place-items:center;
  border-radius:.9rem;
  background:var(--card-soft);
  color:var(--card-accent);
  font-size:1.35rem;
  font-weight:900;
}

.partner-showcase-brand strong{
  min-width:0;
  font-size:1.2rem;
  font-weight:900;
  line-height:1.18;
  overflow-wrap:anywhere;
}

.partner-showcase-badge{
  display:inline-flex;
  align-items:center;
  align-self:flex-start;
  margin-bottom:.8rem;
  padding:.4rem .65rem;
  border-radius:999px;
  background:var(--card-soft);
  color:var(--card-accent);
  font-size:.78rem;
  font-weight:900;
  line-height:1;
}

.partner-showcase-description{
  margin:0 0 .8rem;
  color:#354963;
  font-size:.98rem;
  line-height:1.5;
}

.partner-showcase-benefits{
  display:grid;
  gap:.42rem;
  margin:0 0 1rem;
  padding:0;
  list-style:none;
  color:#445872;
  font-size:.9rem;
  line-height:1.35;
}

.partner-showcase-benefits li{
  position:relative;
  padding-left:1.25rem;
}

.partner-showcase-benefits li::before{
  content:"✓";
  position:absolute;
  left:0;
  color:var(--partner-orange);
  font-weight:1000;
}

.partner-showcase-cta{
  display:flex;
  width:100%;
  min-height:2.8rem;
  align-items:center;
  justify-content:space-between;
  gap:.75rem;
  margin-top:auto;
  padding:.7rem .9rem;
  border-radius:.85rem;
  background:linear-gradient(135deg,var(--partner-orange),#ff7c35);
  color:#fff;
  font-size:.92rem;
  font-weight:900;
  box-shadow:0 10px 24px rgba(255,107,34,.22);
}

.partner-showcase-visual{
  display:grid;
  min-height:150px;
  align-self:end;
  place-items:center;
  border-radius:1.2rem;
  background:
    radial-gradient(circle at 75% 20%,rgba(255,255,255,.85),transparent 24%),
    linear-gradient(150deg,var(--card-soft),#fff);
  color:var(--card-accent);
  font-size:3.8rem;
  box-shadow:inset 0 0 0 1px color-mix(in srgb,var(--card-accent) 12%,transparent);
}

.partner-showcase-filter{
  position:relative;
  z-index:1;
  display:flex;
  flex-wrap:wrap;
  gap:.65rem;
  margin-top:1rem;
  padding:.8rem;
  border:1px solid rgba(16,35,63,.08);
  border-radius:1.35rem;
  background:rgba(255,255,255,.9);
}

.partner-showcase-filter a{
  display:inline-flex;
  align-items:center;
  gap:.45rem;
  padding:.65rem .85rem;
  border:1px solid var(--partner-line);
  border-radius:.9rem;
  background:#fff;
  color:#31465f;
  font-size:.86rem;
  font-weight:850;
  text-decoration:none;
}

.partner-showcase-filter a:hover{
  border-color:#ffb28c;
  color:#d94d08;
  background:#fff7f2;
}

/* Automaticky vylepšené menší affiliate karty na ostatních stránkách. */
.topic-grid>a.lms-affiliate-card{
  --mini-accent:#ff6b22;
  --mini-soft:#fff1e9;
  position:relative;
  min-height:220px;
  gap:.62rem;
  padding:1.15rem;
  border-color:rgba(16,35,63,.1);
  background:
    radial-gradient(circle at 100% 0,var(--mini-soft),transparent 9rem),
    #fff;
  box-shadow:0 9px 26px rgba(16,35,63,.06);
  overflow:hidden;
}

.topic-grid>a.lms-affiliate-card:hover{
  transform:translateY(-4px);
  border-color:color-mix(in srgb,var(--mini-accent) 35%,#fff);
  box-shadow:0 17px 38px rgba(16,35,63,.11);
}

.lms-affiliate-card[data-partner-category="esim"]{--mini-accent:#7557e8;--mini-soft:#eeeaff}
.lms-affiliate-card[data-partner-category="sim"]{--mini-accent:#1479d1;--mini-soft:#e8f4ff}
.lms-affiliate-card[data-partner-category="stay"]{--mini-accent:#0d9a9a;--mini-soft:#e7f9f8}
.lms-affiliate-card[data-partner-category="tour"]{--mini-accent:#e69a00;--mini-soft:#fff6dc}
.lms-affiliate-card[data-partner-category="activity"]{--mini-accent:#218a4b;--mini-soft:#eaf8ef}
.lms-affiliate-card[data-partner-category="transport"]{--mini-accent:#1e73be;--mini-soft:#e9f4ff}
.lms-affiliate-card[data-partner-category="car"]{--mini-accent:#2463d4;--mini-soft:#ebf1ff}
.lms-affiliate-card[data-partner-category="insurance"]{--mini-accent:#e35454;--mini-soft:#fff0f0}
.lms-affiliate-card[data-partner-category="equipment"]{--mini-accent:#4b9a36;--mini-soft:#eef9ea}

.lms-affiliate-card-top{
  display:flex!important;
  width:100%!important;
  align-items:center;
  justify-content:space-between;
  gap:.7rem;
}

.lms-affiliate-icon{
  display:grid!important;
  width:2.75rem!important;
  height:2.75rem;
  flex:0 0 auto;
  place-items:center;
  border-radius:.9rem;
  background:var(--mini-soft);
  color:var(--mini-accent)!important;
  font-size:1.35rem!important;
  line-height:1!important;
}

.lms-affiliate-badge{
  display:inline-flex!important;
  width:auto!important;
  align-items:center;
  margin-left:auto!important;
  padding:.36rem .58rem;
  border-radius:999px;
  background:var(--mini-soft);
  color:var(--mini-accent)!important;
  font-size:.72rem!important;
  font-weight:900!important;
  line-height:1!important;
}

.topic-grid>a.lms-affiliate-card>strong{
  margin-top:.1rem;
  color:var(--partner-ink);
  font-size:1.08rem;
}

.topic-grid>a.lms-affiliate-card>span:not(.lms-affiliate-card-top):not(.lms-affiliate-cta){
  color:var(--partner-muted);
}

.lms-affiliate-cta{
  display:flex!important;
  width:100%!important;
  min-height:2.65rem;
  align-items:center;
  justify-content:space-between;
  margin-top:auto!important;
  padding:.68rem .8rem;
  border-radius:.78rem;
  background:linear-gradient(135deg,var(--partner-orange),#ff7c35);
  color:#fff!important;
  font-size:.84rem!important;
  font-weight:900!important;
  line-height:1.15!important;
  box-shadow:0 9px 22px rgba(255,107,34,.18);
}

@media(max-width:1050px){
  .partner-showcase-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
}

@media(max-width:680px){
  .partner-showcase-grid{grid-template-columns:1fr}
  .partner-showcase-card{grid-template-columns:minmax(0,1fr) 82px;min-height:280px;padding:1.05rem}
  .partner-showcase-visual{min-height:118px;font-size:2.8rem}
  .partner-showcase-filter{display:grid;grid-template-columns:1fr 1fr}
  .partner-showcase-filter a{justify-content:center;text-align:center}
}

@media(max-width:420px){
  .partner-showcase-card{grid-template-columns:1fr}
  .partner-showcase-visual{display:none}
  .partner-showcase-filter{grid-template-columns:1fr}
}

@media(prefers-reduced-motion:reduce){
  .partner-showcase-card,.topic-grid>a.lms-affiliate-card{transition:none}
}
