
/* =====================================================
   KONTAKT – KLIDNĚJŠÍ VARIANTA KARET
   - bez zelené přerušované čáry
   - více barevných cákanců místo rámečku
   - stabilní i při větším zoomu / zvětšení textu
   Načítej PO hlavním style.css
===================================================== */

.page-contact .container.contact-page-shell {
    max-width: 1100px;
    padding-top: 28px;
    padding-bottom: 60px;
}

.page-contact .contact-page-content {
    max-width: 980px;
    margin: 0 auto;
}

.page-contact .contact-page-content h1:first-child,
.page-contact .contact-page-content h2:first-child {
    text-align: center;
    color: var(--secondary);
    margin-top: 0;
    margin-bottom: 18px;
}

.page-contact .contact-page-content > p:first-of-type {
    text-align: center;
    max-width: 760px;
    margin-left: auto;
    margin-right: auto;
}

/* ===== KONTAKTNÍ KARTY ===== */
.page-contact .school-cards {
    max-width: 780px;
    margin: 34px auto 0;
    grid-template-columns: 1fr;
    gap: 22px;
    perspective: none;
}

.page-contact .school-card {
    --card-tilt: 0deg;
    position: relative;
    overflow: hidden;
    padding: 12px 12px 16px;
    border-radius: 26px;
    background:
        radial-gradient(circle at 7% 14%, rgba(245,124,33,0.10) 0 18px, transparent 19px),
        radial-gradient(circle at 14% 73%, rgba(123,191,63,0.10) 0 22px, transparent 23px),
        radial-gradient(circle at 88% 18%, rgba(255,197,90,0.14) 0 16px, transparent 17px),
        radial-gradient(circle at 83% 82%, rgba(255,150,95,0.12) 0 24px, transparent 25px),
        radial-gradient(circle at 74% 56%, rgba(120,205,255,0.08) 0 18px, transparent 19px),
        linear-gradient(180deg, rgba(255,255,255,0.98), rgba(255,250,243,0.98));
    border: 1px solid rgba(123,191,63,0.12);
    box-shadow:
        0 14px 32px rgba(0,0,0,0.09),
        0 6px 16px rgba(123,191,63,0.08);
    transition:
        transform 0.28s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
    cursor: default;
}

.page-contact .school-card:hover {
    transform: translateY(-4px) scale(1.006);
    border-color: rgba(123,191,63,0.20);
    box-shadow:
        0 18px 38px rgba(0,0,0,0.11),
        0 8px 18px rgba(123,191,63,0.10);
}

/* místo přerušovaného rámečku jemné cákance po celé kartě */
.page-contact .school-card::before {
    content: "" !important;
    position: absolute !important;
    inset: 0 !important;
    border: none !important;
    background:
        radial-gradient(circle at 8% 10%, rgba(123,191,63,0.20) 0 2px, transparent 3px),
        radial-gradient(circle at 11% 15%, rgba(245,124,33,0.15) 0 3px, transparent 4px),
        radial-gradient(circle at 16% 12%, rgba(255,198,92,0.18) 0 2px, transparent 3px),
        radial-gradient(circle at 92% 14%, rgba(245,124,33,0.18) 0 2px, transparent 3px),
        radial-gradient(circle at 87% 9%, rgba(123,191,63,0.18) 0 3px, transparent 4px),
        radial-gradient(circle at 82% 15%, rgba(120,205,255,0.18) 0 2px, transparent 3px),
        radial-gradient(circle at 12% 88%, rgba(123,191,63,0.18) 0 2px, transparent 3px),
        radial-gradient(circle at 18% 82%, rgba(245,124,33,0.14) 0 3px, transparent 4px),
        radial-gradient(circle at 88% 86%, rgba(245,124,33,0.16) 0 2px, transparent 3px),
        radial-gradient(circle at 82% 80%, rgba(123,191,63,0.17) 0 3px, transparent 4px),
        linear-gradient(115deg, transparent 0 18%, rgba(123,191,63,0.10) 18% 18.7%, transparent 18.7% 100%),
        linear-gradient(70deg, transparent 0 80%, rgba(245,124,33,0.10) 80% 80.7%, transparent 80.7% 100%);
    opacity: 0.95;
    pointer-events: none !important;
    z-index: 1 !important;
}

/* výraznější barevné cákance / puntíky v pravém horním rohu */
.page-contact .school-card::after {
    content: "";
    position: absolute;
    top: 8px;
    right: 8px;
    width: 92px;
    height: 92px;
    border-radius: 50%;
    background:
        radial-gradient(circle at 16% 22%, rgba(245,124,33,0.28) 0 4px, transparent 5px),
        radial-gradient(circle at 38% 14%, rgba(123,191,63,0.24) 0 3px, transparent 4px),
        radial-gradient(circle at 62% 26%, rgba(255,193,79,0.26) 0 4px, transparent 5px),
        radial-gradient(circle at 78% 18%, rgba(120,205,255,0.20) 0 3px, transparent 4px),
        radial-gradient(circle at 49% 52%, rgba(245,124,33,0.15) 0 6px, transparent 7px),
        radial-gradient(circle at 72% 66%, rgba(123,191,63,0.18) 0 5px, transparent 6px),
        radial-gradient(circle at 28% 77%, rgba(255,160,104,0.14) 0 5px, transparent 6px);
    opacity: 0.88;
    z-index: 3;
    pointer-events: none;
}

.page-contact .school-card img {
    position: relative;
    z-index: 2;
    display: block;
    width: calc(100% - 24px);
    height: 214px;
    margin: 12px auto 0;
    object-fit: cover;
    border-radius: 20px;
    border: 5px solid rgba(255,255,255,0.94);
    outline: 1px solid rgba(123,191,63,0.16);
    outline-offset: -8px;
    box-shadow:
        0 12px 24px rgba(0,0,0,0.12),
        0 0 0 8px rgba(255,255,255,0.42);
    transition: transform 0.32s ease, box-shadow 0.32s ease, filter 0.32s ease;
}

.page-contact .school-card:hover img {
    transform: scale(1.02);
    filter: saturate(1.02) brightness(1.01);
    box-shadow:
        0 14px 28px rgba(0,0,0,0.14),
        0 0 0 8px rgba(255,255,255,0.50);
}

.page-contact .school-card .text {
    position: relative;
    padding: 18px 18px 8px;
    text-align: center;
}

.page-contact .school-card .text::before {
    content: "";
    position: absolute;
    left: 50%;
    top: 6px;
    transform: translateX(-50%);
    width: 56px;
    height: 10px;
    border-top: 2px solid rgba(245,124,33,0.28);
    border-radius: 999px;
}

.page-contact .school-card .text::after {
    content: none;
}

.page-contact .school-card .text p {
    margin: 0;
    position: relative;
    z-index: 2;
    font-size: 1.08rem;
    line-height: 1.58;
    font-weight: 600;
    letter-spacing: 0.01em;
    color: #4d4b44;
    text-wrap: balance;
}

.page-contact .school-card .text p::after {
    content: none;
}

/* ===== JEMNÝ SCROLL REVEAL JEN PRO KONTAKT ===== */
.page-contact .school-card.contact-reveal-init {
    opacity: 0;
    transform: translateY(30px) scale(0.975);
    filter: blur(1.5px);
    transition:
        transform 0.65s cubic-bezier(.22,.9,.24,1),
        opacity 0.45s ease,
        filter 0.45s ease,
        box-shadow 0.28s ease,
        border-color 0.28s ease;
}

.page-contact .school-card.contact-reveal-init.is-visible {
    opacity: 1;
    transform: translateY(0) scale(1);
    filter: blur(0);
}

/* ===== SOCIÁLNÍ ODKAZY POD OBSAHEM ===== */
.page-contact .contact-social-wrap {
    margin-top: 34px;
}

.page-contact .contact-social-wrap .card-social {
    margin-bottom: 10px;
}

.page-contact .contact-social-title {
    text-align: center;
    font-weight: 700;
    color: var(--secondary);
    margin: 0 0 12px;
}

@media (max-width: 768px) {
    .page-contact .container.contact-page-shell {
        padding-top: 18px;
        padding-bottom: 42px;
    }

    .page-contact .school-cards {
        gap: 18px;
    }

    .page-contact .school-card {
        padding: 10px 10px 14px;
    }

    .page-contact .school-card img {
        width: calc(100% - 20px);
        height: 198px;
        border-radius: 18px;
    }

    .page-contact .school-card .text {
        padding: 16px 14px 8px;
    }

    .page-contact .school-card .text p {
        font-size: 1.02rem;
        line-height: 1.52;
    }

    .page-contact .school-card::after {
        width: 78px;
        height: 78px;
    }
}

@media (prefers-reduced-motion: reduce) {
    .page-contact .school-card.contact-reveal-init {
        opacity: 1 !important;
        transform: none !important;
        filter: none !important;
        transition: none !important;
    }
}
