/*
 * Tema Magia da campanha de rematrícula.
 * Carregado automaticamente quando inc/theme.php retorna 'magia'.
 */
body.theme-magia { background: #f8fcff; }

.theme-magia .site-header::after {
    content: "";
    position: absolute;
    right: 8%;
    bottom: -1px;
    left: 8%;
    height: 1px;
    background: linear-gradient(90deg, transparent, rgba(49,208,247,0.75), rgba(122,106,255,0.65), transparent);
    box-shadow: 0 0 14px rgba(49,208,247,0.5);
}

.theme-magia .brand img { filter: drop-shadow(0 6px 12px rgba(29,153,201,0.15)); }
.theme-magia .home-hero { isolation: isolate; }
.theme-magia .hero-orbit-one { animation: magic-pulse 6s ease-in-out infinite; }
.theme-magia .hero-orbit-two { animation: magic-drift 7s ease-in-out infinite; }
.theme-magia .hero-visual::before,
.theme-magia .hero-visual::after {
    content: "";
    position: absolute;
    z-index: 3;
    width: 11px;
    height: 11px;
    background: #ffffff;
    border-radius: 50%;
    pointer-events: none;
    box-shadow: 0 0 9px 3px rgba(255,255,255,0.85), 40px 75px 0 -3px #64e7ff, -75px 115px 0 -4px #ffffff, 95px 170px 0 -4px #ffaf83, -125px 215px 0 -3px #8e83ff;
    animation: magic-sparkle 4s ease-in-out infinite;
}
.theme-magia .hero-visual::before { top: 12%; left: 8%; }
.theme-magia .hero-visual::after { right: 11%; bottom: 22%; transform: scale(0.75); animation-delay: -2s; }

.theme-magia .hero-copy h1 {
    text-wrap: balance;
    background: linear-gradient(105deg, #ffffff 18%, #bcefff 48%, #ffffff 70%, #d9d4ff);
    -webkit-background-clip: text;
    background-clip: text;
    color: transparent;
}
.theme-magia .hero-magic-word {
    color: transparent;
    background: linear-gradient(110deg, #ffffff 5%, #96efff 38%, #ffffff 58%, #b8afff 82%, #ffffff);
    -webkit-background-clip: text;
    background-clip: text;
    filter: drop-shadow(0 0 18px rgba(98,225,255,0.34));
}
.theme-magia .hero-magic-message { color: #ffffff; }

.theme-magia .button { letter-spacing: 0.01em; }
.theme-magia .button-primary:hover { box-shadow: 0 15px 36px rgba(255,120,56,0.46), 0 0 30px rgba(255,164,116,0.26); }
.theme-magia .button-secondary:hover { border-color: #71e2ff; box-shadow: 0 0 28px rgba(82,216,250,0.28); }

.theme-magia .section-heading h2,
.theme-magia .prose-block h2 { text-wrap: balance; }
.theme-magia .section-heading::before {
    content: "✦";
    display: block;
    margin-bottom: 6px;
    color: #58cfee;
    font-size: 1.1rem;
    text-shadow: 18px 4px 0 rgba(118,107,255,0.5), -18px 7px 0 rgba(255,120,56,0.45), 0 0 14px rgba(65,203,240,0.5);
}
.theme-magia .section-heading.left::before { text-align: left; }

.theme-magia .notice-card,
.theme-magia .feature-card,
.theme-magia .person-card,
.theme-magia .class-card,
.theme-magia .gallery-card,
.theme-magia .form-panel { position: relative; isolation: isolate; }
.theme-magia .notice-card::after,
.theme-magia .feature-card::before,
.theme-magia .person-card::before,
.theme-magia .class-card::before,
.theme-magia .gallery-card::before {
    content: "";
    position: absolute;
    z-index: 2;
    top: 0;
    right: 20px;
    left: 20px;
    height: 2px;
    background: linear-gradient(90deg, transparent, #35cfee, #8d79ff, transparent);
    box-shadow: 0 0 13px rgba(61,207,240,0.42);
    pointer-events: none;
}
.theme-magia .notice-number,
.theme-magia .feature-card > span { text-shadow: 0 0 13px rgba(31,187,229,0.28); }
.theme-magia .feature-card:hover,
.theme-magia .person-card:hover,
.theme-magia .class-card:hover,
.theme-magia .gallery-card:hover { box-shadow: 0 22px 55px rgba(20,139,187,0.2), 0 0 32px rgba(118,107,255,0.12); }

.theme-magia .staff-section,
.theme-magia .coordination-section {
    overflow: hidden;
    color: #eaf8ff;
    background: radial-gradient(circle at 12% 14%, rgba(49,207,246,0.24), transparent 24%), radial-gradient(circle at 88% 72%, rgba(126,105,255,0.28), transparent 28%), linear-gradient(135deg, #041a34, #0a426b 54%, #171f53);
}
.theme-magia .coordination-section {
    border-top: 1px solid rgba(107,225,255,0.17);
    background: radial-gradient(circle at 82% 14%, rgba(49,207,246,0.22), transparent 24%), radial-gradient(circle at 15% 82%, rgba(126,105,255,0.26), transparent 28%), linear-gradient(225deg, #041a34, #0a3a63 55%, #151e50);
}
.theme-magia .staff-section::before,
.theme-magia .coordination-section::before {
    content: "";
    position: absolute;
    inset: 0;
    opacity: 0.38;
    pointer-events: none;
    background-image: radial-gradient(circle, rgba(255,255,255,0.95) 0 1px, transparent 1.6px), radial-gradient(circle, rgba(87,226,255,0.9) 0 1px, transparent 1.7px);
    background-position: 18px 24px, 78px 92px;
    background-size: 118px 118px, 167px 167px;
}
.theme-magia .staff-section::after,
.theme-magia .coordination-section::after {
    content: "";
    position: absolute;
    width: 520px;
    height: 520px;
    right: -250px;
    bottom: -310px;
    border: 46px solid rgba(93,224,255,0.1);
    border-radius: 50%;
    box-shadow: 0 0 55px rgba(83,219,255,0.18), inset 0 0 45px rgba(126,105,255,0.13);
    pointer-events: none;
}
.theme-magia .coordination-section::after { right: auto; bottom: -330px; left: -250px; }
.theme-magia .staff-section > .container,
.theme-magia .coordination-section > .container { position: relative; z-index: 1; }
.theme-magia .staff-section .section-heading h2,
.theme-magia .coordination-section .section-heading h2 { color: #ffffff; text-shadow: 0 8px 28px rgba(0,0,0,0.28), 0 0 26px rgba(75,213,250,0.16); }
.theme-magia .staff-section .eyebrow,
.theme-magia .coordination-section .eyebrow { color: #ffad82; }
.theme-magia .staff-section .person-card,
.theme-magia .coordination-section .person-card { background: rgba(255,255,255,0.96); border-color: rgba(118,226,255,0.46); box-shadow: 0 20px 48px rgba(0,12,35,0.34), 0 0 24px rgba(76,211,246,0.1); }
.theme-magia .staff-section .person-card:hover,
.theme-magia .coordination-section .person-card:hover { border-color: rgba(142,127,255,0.72); box-shadow: 0 24px 58px rgba(0,12,35,0.42), 0 0 32px rgba(82,218,251,0.2); }
.theme-magia .staff-section .person-photo,
.theme-magia .coordination-section .person-photo { background: #dff5ff; }

.theme-magia .media-card { position: relative; outline: 1px solid rgba(88,220,253,0.34); outline-offset: 5px; }
.theme-magia .climate-banner::before,
.theme-magia .page-hero::before {
    content: "";
    position: absolute;
    width: 480px;
    height: 480px;
    right: -170px;
    top: -260px;
    border: 42px solid rgba(80,220,255,0.12);
    border-radius: 50%;
    box-shadow: 0 0 45px rgba(89,218,255,0.2), inset 0 0 40px rgba(126,104,255,0.13);
}
.theme-magia .activity-list details[open] { background: linear-gradient(90deg, rgba(255,255,255,0.55), rgba(232,248,255,0.6)); }
.theme-magia .activity-list details[open] summary { color: #0c5a86; }
.theme-magia .photo-grid a { box-shadow: 0 10px 28px rgba(5,59,98,0.14); }
.theme-magia .photo-grid a:hover { box-shadow: 0 14px 36px rgba(31,157,205,0.2), 0 0 24px rgba(118,107,255,0.13); }
.theme-magia .whatsapp-float { border: 1px solid rgba(255,255,255,0.42); }

@keyframes magic-pulse {
    0%, 100% { transform: scale(1); opacity: 0.82; }
    50% { transform: scale(1.04); opacity: 1; }
}
@keyframes magic-drift {
    0%, 100% { transform: translate3d(0, 0, 0); }
    50% { transform: translate3d(-12px, -10px, 0); }
}
@keyframes magic-sparkle {
    0%, 100% { opacity: 0.35; }
    50% { opacity: 1; }
}

@media (max-width: 720px) {
    .theme-magia .hero-visual::before,
    .theme-magia .hero-visual::after { transform: scale(0.55); }
    .theme-magia .section-heading::before { margin-bottom: 4px; }
    .theme-magia .staff-section::after,
    .theme-magia .coordination-section::after { width: 360px; height: 360px; }
}

@media (prefers-reduced-motion: reduce) {
    .theme-magia .hero-orbit-one,
    .theme-magia .hero-orbit-two,
    .theme-magia .hero-visual::before,
    .theme-magia .hero-visual::after { animation: none; }
}
