/* Módulos: altura fixa, ícones maiores e prévia sem alterar o tamanho das caixas */
        .module-card {
            position: relative;
            height: 250px;
            min-height: 250px;
            padding: 1.4rem 1.15rem;
            display: flex;
            flex-direction: column;
            align-items: center;
            justify-content: center;
            text-align: center;
            overflow: hidden;
            border: 1px solid var(--weet-border);
            border-radius: 1rem;
            background: #fff;
            box-shadow: 0 5px 18px rgba(0,30,43,.04);
            /*cursor: default;*/
            transition: transform .32s ease, box-shadow .32s ease, border-color .32s ease, background-color .32s ease;
        }
        .module-card::before {
            content: "";
            position: absolute;
            width: 170px;
            height: 170px;
            top: -110px;
            right: -105px;
            border-radius: 50%;
            background: rgba(125, 212, 255, .18);
            transform: scale(.65);
            transition: transform .4s ease, background-color .4s ease;
            pointer-events: none;
        }
        .module-card:hover,
        .module-card:focus-visible {
            transform: translateY(-7px);
            border-color: rgba(0,102,135,.42);
            background: linear-gradient(180deg, #ffffff 0%, #f7fcff 100%);
            box-shadow: 0 18px 38px rgba(0, 60, 84, .14);
            outline: none;
        }
        .module-card:hover::before,
        .module-card:focus-visible::before {
            transform: scale(1.25);
            background: rgba(125, 212, 255, .28);
        }
        .module-icon-box {
            position: relative;
            z-index: 1;
            width: 88px;
            height: 88px;
            display: grid;
            place-items: center;
            flex: 0 0 auto;
            margin: 0 auto 1rem;
            border-radius: 1.25rem;
            background: var(--weet-surface-soft);
            box-shadow: inset 0 0 0 1px rgba(0,102,135,.03);
            transition: width .34s ease, height .34s ease, margin .34s ease, border-radius .34s ease, transform .34s ease, background-color .34s ease, box-shadow .34s ease;
        }
        .module-icon {
            width: 54px;
            height: 54px;
            display: block;
            object-fit: contain;
            filter: brightness(0) saturate(100%) invert(31%) sepia(91%) saturate(1200%) hue-rotate(158deg) brightness(88%) contrast(101%);
            transition: width .34s ease, height .34s ease, filter .32s ease, transform .32s ease;
        }
        .module-card:hover .module-icon-box,
        .module-card:focus-visible .module-icon-box {
            width: 62px;
            height: 62px;
            margin-bottom: .7rem;
            border-radius: 1rem;
            background: var(--weet-primary);
            transform: translateY(-2px);
            box-shadow: 0 9px 20px rgba(0,102,135,.24);
        }
        .module-card:hover .module-icon,
        .module-card:focus-visible .module-icon {
            width: 34px;
            height: 34px;
            filter: brightness(0) invert(1);
            transform: rotate(-3deg);
        }
        .module-card h3 {
            position: relative;
            z-index: 1;
            margin: 0;
            color: var(--weet-dark);
            font-size: 1rem;
            line-height: 1.3;
            font-weight: 800;
            transition: color .25s ease, transform .32s ease;
        }
        .module-card:hover h3,
        .module-card:focus-visible h3 {
            color: var(--weet-primary);
            transform: translateY(-1px);
        }
        .module-preview {
            position: relative;
            z-index: 1;
            width: 100%;
            height: 0;
            max-height: 0;
            margin-top: 0;
            opacity: 0;
            overflow: hidden;
            color: var(--weet-muted);
            font-size: .76rem;
            line-height: 1.45;
            transform: translateY(10px);
            transition: height .34s ease, max-height .34s ease, margin-top .34s ease, opacity .25s ease .05s, transform .34s ease;
        }
        .module-card:hover .module-preview,
        .module-card:focus-visible .module-preview {
            height: 55px;
            max-height: 55px;
            margin-top: .55rem;
            opacity: 1;
            transform: translateY(0);
        }
        .module-note {
            display: block;
            color: #6c757d;
            font-size: .75rem;
            font-weight: 500;
        }

        #modulos .modulo-link {
            display: block;
            text-decoration: none;
        }
        