/* --- Alpine.js cloak (prevent flash) --- */
[x-cloak]{
  display: none !important;
}

/* --- Fade-in animace při načtení --- */
.animate-fade-in {
  opacity: 0;
  transform: translateY(10px);
  animation: fadeIn 0.8s ease-out forwards;
}

@keyframes fadeIn {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

/* --- Hover efekt pro texty (hero, odstavce) --- */
.animate-fade-in-hover {
  transition: transform 0.4s ease, opacity 0.4s ease;
}

.animate-fade-in-hover:hover {
  transform: translateY(-6px) scale(1.02);
  opacity: 1;
}

/* --- Fade-in + hover efekt pro dlaždice --- */
.tile-fade-in {
  opacity: 0;
  transform: translateY(15px);
  animation: fadeInTile 0.9s ease-out forwards;
}

@keyframes fadeInTile {
  to {
    opacity: 1;
    transform: translateY(0);
  }
}

@keyframes tap-glow {
  0%   { box-shadow: 0 0 0 rgba(0,174,239,0.4); }
  50%  { box-shadow: 0 0 20px rgba(0,174,239,0.3); }
  100% { box-shadow: 0 0 0 rgba(0,174,239,0); }
}

.ipd-card:active {
  animation: tap-glow 0.6s ease-out;
}

.tile-hover {
  transition: transform 0.3s ease, box-shadow 0.3s ease;
}

.tile-hover:hover {
  transform: translateY(-8px) scale(1.03);
  box-shadow: 0 10px 20px rgba(0, 0, 0, 0.1);
}

/* === Tailwind @apply NEFUNGUJE v čistém CSS → přepis na normální CSS === */

/* IPD UI helpers */
.card-ipd{
  display:flex;
  gap:.75rem;
  align-items:flex-start;
  padding:1rem;
  border-radius:.75rem;
  border:1px solid var(--ipd-100);
  background:#fff;
  transition: box-shadow .2s ease, transform .15s ease;
}
.card-ipd:hover{ box-shadow:0 10px 24px rgba(15,23,42,0.08); }

.icon-ipd{ width:1.25rem; height:1.25rem; color: var(--ipd-600); }

.btn-ipd-ghost{
  display:inline-flex;
  align-items:center;
  gap:.5rem;
  padding:.5rem .75rem;
  border-radius:.75rem;
  border:1px solid #cbd5e1;
  border: 2px solid rgba(255,255,255,0.65);
  background:#fff;
  transition: box-shadow .2s ease, transform .15s ease;
}
.btn-ipd-ghost:hover{ box-shadow:0 10px 24px rgba(15,23,42,.08); }

/* === Chybějící styly pro kosik-ipd.html === */
.field{
  display:block;
  width:100%;
  border-radius:.85rem;
  border:1px solid #e5e7eb;
  padding:.65rem .85rem;
  background:#fff;
}
.field:focus{
  outline:none;
  box-shadow:
    0 0 0 3px color-mix(in srgb, var(--ipd-700) 25%, transparent),
    0 10px 20px rgba(16,185,129,0.35);
  border-color: rgba(0,127,174,.4);
}

.btn-soft{
  background: linear-gradient(180deg, rgba(233,249,254,.75), rgba(233,249,254,.35));
  border:1px solid rgba(0,174,239,.25);
  color:#0f172a;
  transition: box-shadow .2s ease, transform .15s ease;
}
.btn-soft:hover{ 
 box-shadow:0 10px 24px rgba(0,174,239,.12); transform: translateY(-1px); }

.btn-primary{
  background: linear-gradient(
    180deg,
    var(--ipd-600) 0%,
    var(--ipd-700) 100%
  );
}

.btn-primary:hover{
  box-shadow:
    0 10px 24px rgba(0,127,174,.25),
    inset 0 1px 0 rgba(255,255,255,.35);
}


.card{
  background: rgba(255,255,255,.82);
  backdrop-filter: blur(6px);
  border: 1px solid var(--ipd-100);
  border-radius: 1rem;
}


img, iframe, video { max-width: 100%; }
* { min-width: 0; }

/* =========================================================
   IPD tokens + Series palette (HSL) + helpers
   ========================================================= */

:root{
  /* IPD base */
  --ipd-50:#E9F9FE;
  --ipd-100:#D4F1FB;
  --ipd-300:#7FD6F5;
  --ipd-500:#00AEEF;
  --ipd-600:#0097CF;
  --ipd-700:#007FAE;

  /* Series palette (HSL) */
  /* Anthogyr */
  --series-2A: 42 96% 42%;

  /* Klockner */
  --series-CA: 41 37% 40%;  /* SK2-NK2 – teplá hnědo-zlatá */
  --series-CB: 41 37% 40%;  /* Essential Cone – světlejší zlatá */
  --series-CC: 41 37% 40%;  /* KLT – tmavší bronz */
  --series-CD: 41 37% 40%;  /* Vega – nejsvětlejší zlatý tón */

 /* Nobel Biocare – blue */
--series-AA: 213 70% 38%;
--series-AB: 211 100% 19%;
--series-AC: 213 70% 38%;
--series-AD: 213 70% 38%;
--series-AE: 213 70% 38%;

  /* UB – DIO */
  --series-UB: 163 24% 40%;

  /* 1A – Global D */
  --series-1A: 243 33% 40%;

  /* YB – Medentis */
  --series-YB: 209 38% 53%;

  /* XA */
  --series-XA: 46 34% 56%;

  /* JA / JB */
  --series-JA: 6 75% 53%;
  --series-JB: 6 75% 53%;

  /* Biomet 3i */
  --series-BA: 143 59% 38%;
  --series-BB: 143 59% 38%;

 /* Straumann – orange */
--series-DA: 21 85% 56%;
--series-DB: 21 85% 56%;
--series-DC: 21 85% 56%;


  /* Astra */
  --series-EA: 12 81% 22%;
  --series-EB: 12 81% 22%;

  /* Zimmer */

--series-FA: 88 47% 53%;
--series-FB: 88 47% 53%;
--series-FC: 88 47% 53%;


  /* BTI */
  --series-GA: 183 57% 45%;
  --series-GB: 183 57% 45%;
  --series-GC: 183 57% 45%;

  /* Microdent */
  --series-HA: 235 32% 49%;
  --series-HB: 235 32% 49%;

  /* Dentsply */
  --series-IA: 336 63% 36%;
  --series-IB: 336 63% 36%;

    /* BioHorizons */
  --series-LB: 195 64% 34%;

  /* Sweden & Martina */
  --series-MA: 174 100% 22%;
  --series-MB: 174 100% 22%;

  /* Phibo */
  --series-NA: 197 71% 53%;

  --series-OB: 21 30% 54%;

  /* Bego */
  --series-SB: 359 64% 50%;

  /* Biotech Dental (QB – olivově zlatá dle katalogu) */
  --series-QB: 54 29% 49%;

  /* Soft helpers tuning */
  --series-MC: 174 100% 22%;
  --series-MD: 174 100% 22%;
  --series-soft-bg: 0.18;
  --series-soft-border: 0.35;
  --series-soft-highlight: 0.12;

  --series-RA: 315 21% 42%; /* vínová / fialová */
  --series-RB: 315 21% 42%;  /* hnědá */
  --series-RC: 315 21% 42%; /* žlutá */
  --series-RD: 315 21% 42%;/* tmavě modrá */
  --series-WA: 30 57% 40%;
  --series-WB: 30 57% 40%;
  --series-TA: 47 100% 43%;
  --series-TB: 47 100% 43%;
  --series-NB: 213 70% 38%;
  --series-MC: 174 100% 22%;
  --series-MD: 174 100% 22%;
  --series-DD: 21 85% 56%;
  --series-PSD: 359 63% 50%;
}


/* =========================================================
   Full (solid) helpers
   ========================================================= */
.series-2A{
  background-color: hsl(var(--series-2A));
  color: hsl(var(--series-2A));
}

/* Nobel Biocare */
.series-AB{ background-color: hsl(var(--series-AB)); color: hsl(var(--series-AB)); }

.series-AA{ background-color: hsl(var(--series-AA)); color: hsl(var(--series-AA)); }
.series-AC{ background-color: hsl(var(--series-AC)); color: hsl(var(--series-AC)); }
.series-AD{ background-color: hsl(var(--series-AD)); color: hsl(var(--series-AD)); }
.series-AE{ background-color: hsl(var(--series-AE)); color: hsl(var(--series-AE)); }

/* Klockner */
.series-CA{ background-color: hsl(var(--series-CA)); color: hsl(var(--series-CA)); }
.series-CB{ background-color: hsl(var(--series-CB)); color: hsl(var(--series-CB)); }
.series-CC{ background-color: hsl(var(--series-CC)); color: hsl(var(--series-CC)); }
.series-CD{ background-color: hsl(var(--series-CD)); color: hsl(var(--series-CD)); }

/* Straumann */
.series-DA{ background-color: hsl(var(--series-DA)); color: hsl(var(--series-DA)); }
.series-DB{ background-color: hsl(var(--series-DB)); color: hsl(var(--series-DB)); }
.series-DC{ background-color: hsl(var(--series-DC)); color: hsl(var(--series-DC)); }

/* Zimmer */
.series-FA{ background-color: hsl(var(--series-FA)); color: hsl(var(--series-FA)); }
.series-FB{ background-color: hsl(var(--series-FB)); color: hsl(var(--series-FB)); }
.series-FC{ background-color: hsl(var(--series-FC)); color: hsl(var(--series-FC)); }

/* Dentsply */
.series-IA{ background-color: hsl(var(--series-IA)); color: hsl(var(--series-IA)); }
.series-IB{ background-color: hsl(var(--series-IB)); color: hsl(var(--series-IB)); }

/* Microdent */
.series-HA{ background-color: hsl(var(--series-HA)); color: hsl(var(--series-HA)); }
.series-HB{ background-color: hsl(var(--series-HB)); color: hsl(var(--series-HB)); }

/* BTI */
.series-GA{ background-color: hsl(var(--series-GA)); color: hsl(var(--series-GA)); }
.series-GB{ background-color: hsl(var(--series-GB)); color: hsl(var(--series-GB)); }
.series-GC{ background-color: hsl(var(--series-GC)); color: hsl(var(--series-GC)); }

/* Camlog */
.series-JA{ background-color: hsl(var(--series-JA)); color: hsl(var(--series-JA)); }
.series-JB{ background-color: hsl(var(--series-JB)); color: hsl(var(--series-JB)); }

/* BioHorizons */
.series-LB{ background-color: hsl(var(--series-LB)); color: hsl(var(--series-LB)); }

/* Biomet 3i */
.series-BA{ background-color: hsl(var(--series-BA)); color: hsl(var(--series-BA)); }
.series-BB{ background-color: hsl(var(--series-BB)); color: hsl(var(--series-BB)); }

/* Astra */
.series-EA{ background-color: hsl(var(--series-EA)); color: hsl(var(--series-EA)); }
.series-EB{ background-color: hsl(var(--series-EB)); color: hsl(var(--series-EB)); }

/* Biotech */
.series-QB{ background-color: hsl(var(--series-QB)); color: hsl(var(--series-QB)); }

/* Sweden & Martina */
.series-MA{ background-color: hsl(var(--series-MA)); color: hsl(var(--series-MA)); }
.series-MB{ background-color: hsl(var(--series-MB)); color: hsl(var(--series-MB)); }

/* Phibo */
.series-NA{ background-color: hsl(var(--series-NA)); color: hsl(var(--series-NA)); }

/* Bego */
.series-SB{ background-color: hsl(var(--series-SB)); color: hsl(var(--series-SB)); }

/* Inno / XA */
.series-XA{ background-color: hsl(var(--series-XA)); color: hsl(var(--series-XA)); }

/* DIO */
.series-UB{ background-color: hsl(var(--series-UB)); color: hsl(var(--series-UB)); }

/* Global D */
.series-1A{ background-color: hsl(var(--series-1A)); color: hsl(var(--series-1A)); }

/* Medentis */
.series-YB{ background-color: hsl(var(--series-YB)); color: hsl(var(--series-YB)); }

/* RA–RD */
.series-RA{ background-color: hsl(var(--series-RA)); color: hsl(var(--series-RA)); }
.series-RB{ background-color: hsl(var(--series-RB)); color: hsl(var(--series-RB)); }
.series-RC{ background-color: hsl(var(--series-RC)); color: hsl(var(--series-RC)); }
.series-RD{ background-color: hsl(var(--series-RD)); color: hsl(var(--series-RD)); }

/* MegaGen */
.series-WA{ background-color: hsl(var(--series-WA)); color: hsl(var(--series-WA)); }
.series-WB{ background-color: hsl(var(--series-WB)); color: hsl(var(--series-WB)); }

/* MIS */
.series-TA{ background-color: hsl(var(--series-TA)); color: hsl(var(--series-TA)); }
.series-TB{ background-color: hsl(var(--series-TB)); color: hsl(var(--series-TB)); }


/* =========================================================
   Soft (cards / buttons) helpers + “luxusní” inset highlight
   ========================================================= */

/* Base premium highlight + unified soft styling for ALL series tiles
   (works with your HTML where the inner <span> has class "series-XX-soft") */
:where(.group) :where([class*="series-"][class*="-soft"]){
  --series-soft-bg: 0.18;
  --series-soft-border: 0.35;
  --series-soft-highlight: 0.32;

  background-color: hsl(var(--series-hsl, 0 0% 0%) / var(--series-soft-bg));
  color: hsl(var(--series-hsl, 0 0% 0%));
  border: 1px solid hsl(var(--series-hsl, 0 0% 0%) / var(--series-soft-border));
  box-shadow: inset 0 1px 0 hsl(0 0% 100% / var(--series-soft-highlight));
  transition: background-color .2s ease, border-color .2s ease, box-shadow .2s ease;
}

:where(.group:hover) :where([class*="series-"][class*="-soft"]){
  background-color: hsl(var(--series-hsl, 0 0% 0%) / var(--series-soft-bg-hover, calc(var(--series-soft-bg) + 0.10)));
  border-color: hsl(var(--series-hsl, 0 0% 0%) / var(--series-soft-border-hover, calc(var(--series-soft-border) + 0.10)));
}

/* Per-series mapping (only assigns --series-hsl; AB also boosts soft strength) */
.series-2A-soft{ --series-hsl: var(--series-2A); }
.series-AA-soft{ --series-hsl: var(--series-AA); }
.series-AB-soft{ --series-hsl: var(--series-AB); --series-soft-bg: 0.20; --series-soft-border: 0.45; }
.series-AC-soft{ --series-hsl: var(--series-AC); }
.series-AD-soft{ --series-hsl: var(--series-AD); }
.series-AE-soft{ --series-hsl: var(--series-AE); }
.series-BA-soft{ --series-hsl: var(--series-BA); }
.series-BB-soft{ --series-hsl: var(--series-BB); }
.series-CA-soft{ --series-hsl: var(--series-CA); }
.series-CB-soft{ --series-hsl: var(--series-CB); }
.series-CC-soft{ --series-hsl: var(--series-CC); }
.series-CD-soft{ --series-hsl: var(--series-CD); }
.series-DA-soft{ --series-hsl: var(--series-DA); }
.series-DB-soft{ --series-hsl: var(--series-DB); }
.series-DC-soft{ --series-hsl: var(--series-DC); }
.series-EA-soft{ --series-hsl: var(--series-EA); }
.series-EB-soft{ --series-hsl: var(--series-EB); }
.series-FA-soft{ --series-hsl: var(--series-FA); }
.series-FB-soft{ --series-hsl: var(--series-FB); }
.series-FC-soft{ --series-hsl: var(--series-FC); }
.series-GA-soft{ --series-hsl: var(--series-GA); }
.series-GB-soft{ --series-hsl: var(--series-GB); }
.series-GC-soft{ --series-hsl: var(--series-GC); }
.series-HA-soft{ --series-hsl: var(--series-HA); }
.series-HB-soft{ --series-hsl: var(--series-HB); }
.series-XA-soft{ --series-hsl: var(--series-XA); }
.series-IA-soft{ --series-hsl: var(--series-IA); }
.series-IB-soft{ --series-hsl: var(--series-IB); }
.series-JA-soft{ --series-hsl: var(--series-JA); }
.series-JB-soft{ --series-hsl: var(--series-JB); }
.series-LB-soft{ --series-hsl: var(--series-LB); }
.series-MA-soft{ --series-hsl: var(--series-MA); }
.series-MB-soft{ --series-hsl: var(--series-MB); }
.series-NA-soft{ --series-hsl: var(--series-NA); }
.series-SB-soft{ --series-hsl: var(--series-SB); }
.series-QB-soft{ --series-hsl: var(--series-QB); }
.series-UB-soft{ --series-hsl: var(--series-UB); }
.series-1A-soft{ --series-hsl: var(--series-1A); }
.series-YB-soft{ --series-hsl: var(--series-YB); }
.series-PSD-soft{ --series-hsl: var(--series-PSD); }
.series-RA-soft{ --series-hsl: var(--series-RA); }
.series-RB-soft{ --series-hsl: var(--series-RB); }
.series-RC-soft{ --series-hsl: var(--series-RC); }
.series-RD-soft{ --series-hsl: var(--series-RD); }
.series-WA-soft{ --series-hsl: var(--series-WA); }
.series-WB-soft{ --series-hsl: var(--series-WB); }
.series-TA-soft{ --series-hsl: var(--series-TA); }
.series-TB-soft{ --series-hsl: var(--series-TB); }

.series-NB{  background-color: hsl(var(--series-NB));  color: hsl(var(--series-NB)); }
.series-MC{  background-color: hsl(var(--series-MC));  color: hsl(var(--series-MC)); }
.series-MD{  background-color: hsl(var(--series-MD));  color: hsl(var(--series-MD)); }
.series-DD{  background-color: hsl(var(--series-DD));  color: hsl(var(--series-DD)); }
.series-PSD{ background-color: hsl(var(--series-PSD)); color: hsl(var(--series-PSD)); }
.series-OB{ background-color: hsl(var(--series-OB)); color: hsl(var(--series-OB)); }

/* Excelence background – sjednoceno s prihlaseni.html */
	.ipd-bg{
        background:
    /* horní světlo */
      radial-gradient(
      900px 500px at 18% 8%,
      rgba(0,174,239,.18),
      transparent 60%
    ),

    /* pravý horní akcent */
    radial-gradient(
      800px 480px at 82% 14%,
      rgba(0,151,207,.14),
      transparent 62%
    ),

    /* spodní „hloubka“ */
    radial-gradient(
      900px 600px at 50% 95%,
      rgba(0,127,174,.16),
      transparent 65%
    ),

    /* jemný základ */
    linear-gradient(
      180deg,
      #f9fbfd 0%,
      #f1f5f9 100%
    );
}