/* Custom doplnky k vygenerovanemu design CSS (rucne udrzovane). */

/* Obecny WYSIWYG obsah */
.prose-pozice h2 { font-size: 1.5rem; line-height: 1.2; font-weight: 800; letter-spacing: -.025em; margin-top: 2rem; margin-bottom: .75rem; }
.prose-pozice h2:first-child { margin-top: 0; }
.prose-pozice h3, .prose-pozice h4 { font-size: 1.125rem; font-weight: 700; margin-top: 1.5rem; margin-bottom: .5rem; }
.prose-pozice ul { list-style: disc; padding-left: 1.25rem; display: flex; flex-direction: column; gap: .4rem; margin-bottom: 1rem; }
.prose-pozice li { color: var(--muted-foreground); }
.prose-pozice p { color: var(--muted-foreground); margin-bottom: 1rem; }
.prose-pozice strong { font-weight: 700; color: var(--foreground); }

/* Rozbalovaci karta pozice (nahled) */
.pozice-card .poz-expand { display: none; }
.pozice-card.is-open .poz-expand { display: block; }
.poz-chevron { transition: transform .2s ease; }
.pozice-card.is-open .poz-chevron { transform: rotate(180deg); }

/* Seznam s odskrtnutim (pracovni napln, pozadavky, vyhody, co nabizime) */
.pozice-list ul { list-style: none; padding: 0; margin: 0; display: flex; flex-direction: column; gap: .75rem; }
.pozice-list li { position: relative; padding-left: 2rem; color: var(--foreground); line-height: 1.55; }
.pozice-list li::before {
	content: ""; position: absolute; left: 0; top: .1rem; width: 1.25rem; height: 1.25rem;
	background-repeat: no-repeat; background-size: contain;
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%23616369' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.pozice-list--highlight ul { display: grid; gap: .75rem 1.5rem; }
@media (min-width: 640px) { .pozice-list--highlight ul { grid-template-columns: 1fr 1fr; } }
.pozice-list--highlight li::before {
	background-image: url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 24 24' fill='none' stroke='%230061a7' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'%3E%3Cpath d='M20 6 9 17l-5-5'/%3E%3C/svg%3E");
}
.pozice-list--muted li { color: var(--muted-foreground); }
.pozice-list--muted li::before { opacity: .5; }

/* Hero obsah (nadpis + perex) z WYSIWYG pole content */
.hero-content h1 { font-size: 3rem; line-height: .9; font-weight: 800; letter-spacing: -.05em; text-wrap: balance; }
@media (min-width: 640px) { .hero-content h1 { font-size: 3.75rem; } }
@media (min-width: 768px) { .hero-content h1 { font-size: 6rem; } }
.hero-content h1 em, .hero-content h1 i { color: var(--primary); font-style: italic; }
.hero-content p { font-size: 1.125rem; line-height: 1.5; color: var(--muted-foreground); max-width: 36rem; margin-top: 2rem; text-wrap: pretty; }
@media (min-width: 768px) { .hero-content p { font-size: 1.25rem; } }

/* Nadpis sekce (h2 + perex) z WYSIWYG pole content – stejny princip jako hero */
.section-heading h2 { font-size: 2.25rem; line-height: 1.1; font-weight: 800; letter-spacing: -.05em; text-wrap: balance; }
@media (min-width: 768px) { .section-heading h2 { font-size: 3rem; } }
.section-heading h2 em, .section-heading h2 i { color: var(--primary); font-style: normal; }
.section-heading p { color: var(--muted-foreground); max-width: 24rem; margin-top: 1rem; }

/* Hero stránky O firmě – nadpis + odstavce z jednoho WYSIWYG pole content */
.page-hero-content > * + * { margin-top: 2rem; }
.page-hero-content h1 { font-size: 3rem; line-height: .95; font-weight: 800; letter-spacing: -.05em; text-wrap: balance; }
@media (min-width: 768px) { .page-hero-content h1 { font-size: 4.5rem; } }
.page-hero-content h1 em, .page-hero-content h1 i { color: var(--primary); font-style: italic; }
.page-hero-content p { font-size: 1.125rem; line-height: 1.625; color: var(--muted-foreground); max-width: 36rem; text-wrap: pretty; }

/* FAQ accordion (nativni details) */
.faq-item { border-bottom: 1px solid var(--border); }
.faq-item summary { list-style: none; cursor: pointer; display: flex; justify-content: space-between; align-items: center; gap: 1rem; padding: 1.25rem 0; font-weight: 700; font-size: 1.0625rem; }
.faq-item summary::-webkit-details-marker { display: none; }
.faq-item summary::after { content: "+"; color: var(--primary); font-family: var(--default-mono-font-family); font-size: 1.5rem; line-height: 1; transition: transform .2s ease; }
.faq-item[open] summary::after { transform: rotate(45deg); }
.faq-item .faq-a { padding-bottom: 1.25rem; color: var(--muted-foreground); }

/* Plovoucí kontaktní widget (telefon + e-mail) */
.contact-widget { position: fixed; right: 0; top: 50%; transform: translateY(-50%); z-index: 40; display: flex; flex-direction: column; gap: 12px; align-items: flex-end; animation: cwIn .6s ease-out .8s both; }
@keyframes cwIn { from { transform: translate(100%, -50%); opacity: 0; } to { transform: translate(0, -50%); opacity: 1; } }
.cw-link { display: flex; align-items: center; background: var(--primary); color: var(--primary-foreground); padding: 14px 18px 14px 16px; border-radius: 16px 0 0 16px; box-shadow: 0 10px 28px -6px rgba(0, 97, 167, .4); text-decoration: none; transition: box-shadow .3s ease, transform .3s ease; }
.cw-link:hover { box-shadow: 0 16px 34px -6px rgba(0, 97, 167, .5); }
.cw-icon { width: 20px; height: 20px; flex-shrink: 0; }
.cw-label { max-width: 0; opacity: 0; overflow: hidden; white-space: nowrap; font-size: 13px; font-weight: 700; text-transform: uppercase; letter-spacing: .1em; transition: max-width .45s ease, opacity .45s ease, margin .45s ease; }
.cw-link:hover .cw-label { max-width: 240px; opacity: 1; margin-left: 12px; }
.cw-pulse { animation: cwPulse 2s ease-in-out infinite; }
@keyframes cwPulse { 0%, 100% { opacity: 1; } 50% { opacity: .55; } }

.contact-widget-mobile { display: none; }
@media (max-width: 767px) {
	.contact-widget { display: none; }
	.contact-widget-mobile { display: block; }
	.cw-fab { position: fixed; right: 24px; z-index: 40; width: 56px; height: 56px; border-radius: 50%; background: var(--primary); color: var(--primary-foreground); display: grid; place-items: center; box-shadow: 0 10px 28px -6px rgba(0, 97, 167, .4); }
	.cw-fab .cw-icon { width: 24px; height: 24px; }
	.cw-fab.phone { bottom: 24px; }
	.cw-fab.mail { bottom: 92px; }
}
