/* Verze 16.6 */

/* --- Lokální definice písem --- */
@font-face {
  font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 400;
  src: url('/fonts/inter-v19-latin-regular.woff2') format('woff2');
}
@font-face {
  font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 600;
  src: url('/fonts/inter-v19-latin-600.woff2') format('woff2');
}
@font-face {
  font-display: swap; font-family: 'Inter'; font-style: normal; font-weight: 700;
  src: url('/fonts/inter-v19-latin-700.woff2') format('woff2');
}

/* --- Základní reset a styly --- */
*,::before,::after{box-sizing:border-box;border-width:0;border-style:solid;border-color:#e5e7eb}html{line-height:1.5;-webkit-text-size-adjust:100%;-moz-tab-size:4;tab-size:4;font-family:Inter,ui-sans-serif,system-ui,sans-serif;scroll-behavior:smooth}body{margin:0;line-height:inherit;font-family:'Inter',sans-serif;background-color:#fff;color:#1f2937;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;}h1,h2,h3,p,a,span,div,ul,li{margin:0;padding:0}h1{font-size:2em}ul{list-style:disc;list-style-position:inside;padding-left:1rem}img{display:block;vertical-align:middle;max-width:100%;height:auto}a{color:inherit;text-decoration:inherit}
/* --- Vlastní styly a pomocné třídy --- */
.container{width:100%;margin-left:auto;margin-right:auto;padding-left:1.5rem;padding-right:1.5rem}@media (min-width:640px){.container{max-width:640px}}@media (min-width:768px){.container{max-width:768px}}@media (min-width:1024px){.container{max-width:1024px;max-width:80rem}}.max-w-full{max-width:100%}.max-w-xl{max-width:36rem}.max-w-5xl{max-width:64rem}.max-w-2xl{max-width:42rem}.max-w-3xl{max-width:48rem}.max-w-4xl{max-width:56rem}.max-w-xs{max-width:20rem}.max-w-md{max-width:28rem}.mx-auto{margin-left:auto;margin-right:auto}.mb-4{margin-bottom:1rem}.mb-6{margin-bottom:1.5rem}.mb-8{margin-bottom:2rem}.mb-12{margin-bottom:3rem}.mt-2{margin-top:.5rem}.mt-4{margin-top:1rem}.mt-8{margin-top:2rem}.mt-12{margin-top:3rem}.mt-16{margin-top:4rem}.mr-2{margin-right:.5rem}.mr-4{margin-right:1rem}.ml-2{margin-left:.5rem}
.flex{display:flex}.inline-flex{display:inline-flex}.flex-col{flex-direction:column}.items-center{align-items:center}.items-start{align-items:flex-start}.justify-center{justify-content:center}.justify-between{justify-content:space-between}.gap-8{gap:2rem}.gap-4{gap:1rem}.gap-3{gap:0.75rem}.gap-2{gap:.5rem}.space-y-4>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1rem * var(--tw-space-y-reverse))}.space-y-6>:not([hidden])~:not([hidden]){--tw-space-y-reverse:0;margin-top:calc(1.5rem * calc(1 - var(--tw-space-y-reverse)));margin-bottom:calc(1.5rem * var(--tw-space-y-reverse))}.space-x-8>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(2rem * var(--tw-space-x-reverse));margin-left:calc(2rem * (1 - var(--tw-space-x-reverse)))}.space-x-6>:not([hidden])~:not([hidden]){--tw-space-x-reverse:0;margin-right:calc(1.5rem * var(--tw-space-x-reverse));margin-left:calc(1.5rem * (1 - var(--tw-space-x-reverse)))}.flex-wrap{flex-wrap:wrap}.flex-shrink-0{flex-shrink:0}
.fixed{position:fixed}.top-0{top:0}.z-10{z-index:10}.z-20{z-index:20}.z-50{z-index:50}.w-full{width:100%}.w-24{width:6rem}.w-20{width:5rem}.w-32{width:8rem}.w-40{width:10rem}.h-24{height:6rem}.h-20{height:5rem}.h-32{height:8rem}.h-40{height:10rem}.w-3{width:.75rem}.h-3{height:.75rem}.w-5{width:1.25rem}.h-5{height:1.25rem}.w-6{width:1.5rem}.h-6{height:1.5rem}.w-8{width:2rem}.h-8{height:2rem}.w-48{width:12rem}.h-48{height:12rem}.w-64{width:16rem}.h-64{height:16rem}.h-auto{height:auto}.inline-block{display:inline-block}
.rounded-full{border-radius:9999px}.rounded-lg{border-radius:.5rem}.rounded-xl{border-radius:.75rem}.rounded-2xl{border-radius:1rem}
.bg-white{background-color:#fff}.bg-white\/80{background-color:rgba(255,255,255,.8)}.bg-gray-800{background-color:#1f2937}.bg-subtle-gray{background-color:#f9fafb}.bg-blue-600{background-color:#2563eb}.bg-blue-100{background-color:#dbeafe}.bg-green-100{background-color:#dcfce7}.bg-green-500{background-color:#22c55e}.bg-purple-100{background-color:#f3e8ff}.bg-yellow-100{background-color:#fef9c3}.bg-red-100{background-color:#fee2e2}.bg-orange-100{background-color:#ffedd5}.bg-pink-100{background-color:#fce7f3}.bg-indigo-100{background-color:#e0e7ff}.bg-gray-200{background-color:#e5e7eb}.bg-gray-100{background-color:#f3f4f6}
.p-1{padding:0.25rem}.p-2{padding:0.5rem}.p-8{padding:2rem}.p-3{padding:.75rem}.p-4{padding:1rem}.pt-20{padding-top:5rem}.pt-16{padding-top:4rem}.pt-8{padding-top:2rem}.pb-8{padding-bottom:2rem}.px-6{padding-left:1.5rem;padding-right:1.5rem}.px-8{padding-left:2rem;padding-right:2rem}.py-4{padding-top:1rem;padding-bottom:1rem}.py-3{padding-top:.75rem;padding-bottom:.75rem}.py-20{padding-top:5rem;padding-bottom:5rem}.py-16{padding-top:4rem;padding-bottom:4rem}.py-12{padding-top:3rem;padding-bottom:3rem}.px-4{padding-left:1rem;padding-right:1rem}.py-2{padding-top:.5rem;padding-bottom:.5rem}.px-5{padding-left:1.25rem;padding-right:1.25rem}.px-3{padding-left:.75rem;padding-right:.75rem}.py-1{padding-top:.25rem;padding-bottom:.25rem}.pl-8{padding-left:2rem}.py-8{padding-top:2rem;padding-bottom:2rem}
.text-center{text-align:center}.text-left{text-align:left}.text-base{font-size:1rem;line-height:1.5rem}.text-xl{font-size:1.25rem;line-height:1.75rem}.text-2xl{font-size:1.5rem;line-height:2rem}.font-bold{font-weight:700}.text-gray-800{color:#1f2937}.text-gray-600{color:#4b5563}.text-white{color:#fff}.text-blue-600{color:#2563eb}.text-blue-400{color:#60a5fa}.text-green-800{color:#166534}.text-gray-900{color:#111827}.font-semibold{font-weight:600}.text-lg{font-size:1.125rem;line-height:1.75rem}.text-3xl{font-size:1.875rem;line-height:2.25rem}.text-gray-700{color:#374151}.text-gray-400{color:#9ca3af}.text-sm{font-size:.875rem;line-height:1.25rem}.font-medium{font-weight:500}.block{display:block}
.whitespace-nowrap{white-space:nowrap}
.shadow-sm{box-shadow:0 1px 2px 0 rgba(0,0,0,.05)}.shadow-lg{box-shadow:0 10px 15px -3px rgba(0,0,0,.1),0 4px 6px -4px rgba(0,0,0,.1)}.shadow-xl{box-shadow:0 20px 25px -5px rgba(0,0,0,.1),0 8px 10px -6px rgba(0,0,0,.1)}
.object-cover{object-fit:cover}.leading-relaxed{line-height:1.625}.relative{position:relative}.absolute{position:absolute}
.transition-all{transition-property:all;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.2s}.transition-colors{transition-property:color,background-color,border-color,text-decoration-color,fill,stroke;transition-timing-function:cubic-bezier(.4,0,.2,1);transition-duration:.15s}
.hover\:text-blue-600:hover{color:#2563eb}.hover\:bg-blue-700:hover{background-color:#1d4ed8}
.hidden{display:none}
.animate-pulse{animation:pulse 2s cubic-bezier(.4, 0, .6, 1) infinite}

/* --- ÚPRAVY A NOVÉ STYLY PRO HERO SEKCI --- */
#hero {
    background-color: #f9fafb;
    overflow: hidden;
    display: flex;
    align-items: center;
    min-height: calc(100vh - 88px);
    padding-top: 2rem;
    padding-bottom: 2rem;
}
.text-hero-fluid {
    font-size: clamp(2.25rem, 5vw + 1rem, 4.5rem);
    background: linear-gradient(45deg, #1e3a8a, #3b82f6);
    -webkit-background-clip: text;
    -webkit-text-fill-color: transparent;
    background-clip: text;
    color: transparent;
}
.hero-image-card {
    position: relative;
    max-width: 384px;
    margin-left: auto;
    margin-right: auto;
}
.hero-image-card::after {
    content: '';
    position: absolute;
    top: 50%;
    left: 50%;
    width: 100%;
    height: 100%;
    background-color: #e0e7ff; 
    border-radius: 60% 40% 30% 70% / 70% 50% 50% 30%;
    z-index: 1;
    animation: morph-hero 10s ease-in-out infinite alternate;
    transform: translate(-50%, -50%);
}
.hero-image-card img {
    position: relative;
    z-index: 2;
}
.hero-feature-item {
    display: flex;
    align-items: flex-start;
    text-align: left;
    padding: 0.5rem;
}
.hero-feature-icon {
    flex-shrink: 0;
    width: 1.25rem;
    height: 1.25rem;
    color: #2563eb;
    margin-top: 0.25rem;
}
.hero-feature-text {
    margin-left: 0.75rem;
    display: flex;
    flex-direction: column;
}
.hero-feature-text span:first-child {
    line-height: 1.25;
}
.hero-feature-text span:last-child {
    font-size: 0.875rem;
    line-height: 1.4;
}
.hero-scroll-wrapper {
    text-align: center;
    margin-top: 2rem;
}
@media (min-width: 768px) {
    .md\:mx-0{margin-left:0;margin-right:0;}
    .md\:flex{display:flex}
    .md\:inline-flex{display:inline-flex}
    .md\:flex-row{flex-direction:row}
    .md\:text-left{text-align:left}
    .md\:text-2xl{font-size:1.5rem;line-height:2rem}
    .md\:w-full{width:100%}
    .md\:w-1\/2{width:50%}
    .md\:mt-0{margin-top:0}
    .md\:items-start{align-items:flex-start}
    .md\:items-center{align-items:center}
    .md\:justify-between{justify-content:space-between}
    .md\:justify-start{justify-content:flex-start}
    .md\:justify-end{justify-content:flex-end}
    .md\:gap-12{gap: 3rem}
    .md\:gap-x-12{column-gap: 3rem}
    .md\:grid-cols-2{grid-template-columns: repeat(2, minmax(0, 1fr))}
    .md\:grid-cols-3{grid-template-columns: repeat(3, minmax(0, 1fr))}
    .md\:col-span-2{grid-column: span 2 / span 2}
    .md\:hidden{display:none}
    .md\:p-8{padding:2rem}
    .md\:pl-12{padding-left:3rem}
    .md\:bg-white{background-color:#fff}
    .md\:rounded-xl{border-radius:.75rem}
    .md\:static-shadow{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
    .timeline-item::before {left: -36px;}
}
@media (min-width: 1024px) { 
    .lg\:gap-x-16{column-gap: 4rem}
    .lg\:grid-cols-3{grid-template-columns:repeat(3,minmax(0,1fr))} 
    .lg\:grid-cols-3 > div:last-child:nth-child(3n + 1) { grid-column-start: 2; }
}

/* --- ANIMACE --- */
@keyframes pulse { 50% { opacity: .5 } }
@keyframes morph-hero {
    0% { border-radius: 60% 40% 30% 70% / 70% 50% 50% 30%; transform: translate(-50%, -50%) rotate(0deg) scale(1.05); }
    100% { border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%; transform: translate(-50%, -50%) rotate(5deg) scale(1); }
}
@keyframes draw-and-morph {
    0% {
        border-radius: 60% 40% 30% 70% / 70% 50% 50% 30%;
        border: 1px solid rgba(37, 99, 235, 0.2);
        background-color: transparent;
        transform: scale(0.95) rotate(-5deg);
    }
    30% { border-color: rgba(37, 99, 235, 0.3); background-color: transparent; }
    40% { border-color: transparent; }
    41% { border-width: 0; }
    100% {
        border-radius: 30% 70% 70% 30% / 30% 30% 70% 70%;
        border-width: 0;
        background-color: #f0f3ff;
        transform: scale(1) rotate(5deg);
    }
}

/* Ostatní styly */
.card-shadow{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1);transition:transform .2s ease,box-shadow .2s ease}
.card-shadow:hover{transform:translateY(-4px);box-shadow:0 10px 15px -3px rgba(37,99,235,.25),0 4px 6px -4px rgba(37,99,235,.1)}
.static-shadow{box-shadow:0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1)}
#header.header-hidden {transform: translateY(-100%) translateZ(0);}
.fade-in-up{opacity:0;transform:translateY(20px);transition:opacity 0.6s ease-out, transform 0.6s ease-out;will-change:opacity,transform}
.fade-in-up.is-visible{opacity:1;transform:translateY(0)}
section[id] { scroll-margin-top: 5rem; }
#header {will-change: transform;transform: translateZ(0);backface-visibility: hidden;}
.border-2{border-width:2px}
.border-blue-600{border-color:#2563eb}
.hover\:bg-gray-100:hover{background-color:#f3f4f6}
.grid{display:grid}
.timeline-item::before{content:'';position:absolute;left:-20px;top:5px;width:10px;height:10px;border-radius:50%;background-color:#2563eb;border:2px solid #f8fafc}
.timeline-list{list-style-position:outside;padding-left:0}
.border-l-2{border-left-width:2px}.border-blue-200{border-color:#bfdbfe}.border-t{border-top-width:1px}.border-gray-700{border-color:#374151}.border{border-width:1px}

/* --- DEKORACE POZADÍ PRO VYBRANÉ SEKCE --- */
#ai-specializace, #about, #cv { 
    position: relative; 
    overflow: hidden;
}
.section-divider-shadow {
    position: relative;
    z-index: 5;
    box-shadow: 0 -10px 25px rgba(0,0,0,0.1), 0 -5px 10px rgba(0,0,0,0.06);
}
#ai-specializace::before, #about::before, #ai-specializace::after, #about::after {
    content: ''; position: absolute; z-index: 0; will-change: transform, border-radius; animation: draw-and-morph 12s ease-in-out infinite alternate;
}
#ai-specializace::before, #about::before { width: 450px; height: 550px; }
#ai-specializace::after, #about::after { width: 500px; height: 500px; animation-delay: -5s; }
#ai-specializace .container, #about .container { position: relative; z-index: 1; }
#about::before { top: 5rem; right: -150px; }
#about::after { top: 3rem; right: -200px; }
#ai-specializace::before { top: 5rem; left: -150px; }
#ai-specializace::after { top: 3rem; left: -200px; }
@media (min-width: 1024px) {
    #about::before { width: 55%; height: 110%; top: -5%; right: -15%; }
    #about::after { width: 60%; height: 100%; top: 5%; right: -25%; }
    #ai-specializace::before { width: 55%; height: 110%; top: -5%; left: -15%; }
    #ai-specializace::after { width: 60%; height: 100%; top: 5%; left: -25%; }
}

/* --- FINÁLNÍ DESIGN PATIČKY --- */
.contact-card {
    background-color: rgba(55, 65, 81, 0.5); /* bg-gray-700/50 */
    border: 1px solid #4b5563; /* border-gray-600 */
    border-radius: 1rem; /* rounded-2xl */
    padding: 2rem;
}
@media (min-width: 768px) {
    .contact-card {
        padding: 3rem;
    }
}
.highlight-bar {
    display: flex;
    align-items: center;
    gap: 1rem;
    background-color: #1f2937; /* bg-gray-800 */
    padding: 1rem;
    border-radius: 0.75rem; /* rounded-xl */
    transition: all 0.3s ease-in-out;
}
.highlight-bar:hover {
    transform: scale(1.03);
    box-shadow: 0 0 25px rgba(37, 99, 235, 0.4);
}
.contact-link {
    display: inline-flex;
    align-items: center;
    gap: 0.75rem;
    font-size: 1.125rem; /* text-lg */
    color: #d1d5db; /* text-gray-300 */
    transition: color 0.2s;
}
.contact-link:hover {
    color: #fff;
}
.contact-link svg {
    flex-shrink: 0;
}
.form-label {
    display: block;
    font-size: 0.875rem;
    font-weight: 500;
    color: #d1d5db;
    margin-bottom: 0.5rem;
}
.form-input {
    width: 100%;
    background-color: #1f2937; /* bg-gray-800 */
    border: 1px solid #4b5563; /* border-gray-600 */
    color: #fff;
    border-radius: 0.5rem;
    padding: 0.75rem 1rem;
    transition: border-color 0.2s, box-shadow 0.2s;
}
.form-input:focus {
    outline: none;
    border-color: #2563eb;
    box-shadow: 0 0 0 3px rgba(37, 99, 235, 0.5);
}
.submit-btn {
    width: 100%;
    background-color: #2563eb;
    color: #fff;
    font-weight: 700;
    padding: 0.75rem 1rem;
    border-radius: 0.5rem;
    transition: background-color 0.2s;
    cursor: pointer;
}
.submit-btn:hover {
    background-color: #1d4ed8;
}

/* --- ÚPRAVY PRO MOBILNÍ ZOBRAZENÍ PATIČKY --- */
.mobile-photo-overlap {
    position: absolute;
    top: 0;
    left: 50%;
    transform: translate(-50%, -50%);
    z-index: 20;
}
@media (max-width: 767px) {
    /* Skryje animovaný blob ze sekce nad patičkou, aby nepřekrýval nadpis */
    #cv::before, #cv::after {
        display: none;
    }
    .contact-card {
        padding-top: 5rem; /* Vytvoří místo pro přesahující fotku */
    }
    .contact-card .grid > div:first-child {
        margin-bottom: 2.5rem; /* 40px */
    }
    #contact {
      padding-top: 7rem; /* Zvětšuje mezeru nad obrázkem v patičce */
    }
}

/* --- STYLY PRO BLOG LISTING --- */
.blog-list {
    display: grid;
    gap: 2.5rem; /* Zvětšená mezera mezi kartami */
}
.blog-card {
    display: block;
    background-color: #fff;
    border-radius: 0.75rem; /* rounded-xl */
    box-shadow: 0 4px 6px -1px rgba(0,0,0,.1),0 2px 4px -2px rgba(0,0,0,.1); /* static-shadow */
    overflow: hidden;
    transition: transform 0.2s ease, box-shadow 0.2s ease;
    text-decoration: none; /* Odstraní podtržení z celého bloku */
}
.blog-card:hover {
    transform: translateY(-5px);
    box-shadow: 0 10px 15px -3px rgba(37,99,235,.2),0 4px 6px -4px rgba(37,99,235,.1);
}
.blog-card-image img {
    width: 100%;
    height: 100%;
    object-fit: cover;
}
.blog-card-content {
    padding: 1.5rem;
}
.group-hover\:text-blue-600 {
    /* Tato třída už nebude potřeba, přecházíme na jiný hover efekt */
}
.group-hover\:underline:hover {
    text-decoration: underline;
}

/* Responzivní chování pro desktop */
@media (min-width: 768px) {
    .blog-card {
        display: grid;
        grid-template-columns: 200px 1fr; /* Pevná šířka obrázku, zbytek text */
        gap: 1.5rem;
    }
    .blog-card-content {
        padding: 1.5rem 1.5rem 1.5rem 0; /* Upravený padding, aby text nebyl nalepený na obrázek */
    }
}